tools/rebuild_pages.sh rebuilds the site within 5 minutes of a change; by hand: python3 -B tools/site.py.1RB0RA_1LC0RE_1LD0LC_1RA0LB_1RA0RF_1LE---
How we proved it never halts
W4-3's proof, from a different start
W4-3's tape is a zebra stripe, 0101…, whose few dozen flaws (two matching neighbours) form a base-3 odometer; its proof follows the odometer from one overflow of its left-end dial to the next. W4-3b is W4-3's table with its state letters renamed, started in the state that is W4-3's B instead of A. Watching it, you see the same stripe, the same odometer and the same long flawless stretches.
Only the opening differs, and the run soon settles into W4-3's pattern. At step 2,629,088,387,088 (about 2.6 trillion, 159,680 steps later than W4-3) it reaches the snapshot W4-3's formal proof starts from, just after a dial overflow. Its flaws then match W4-3's except for one gap deep inside the counter, which is 17 cells long instead of 13.
The longer gap changes nothing. W4-3's argument only needs each deep gap to have the right remainder when divided by 4 and a minimum length, and 17 passes both tests just as 13 does. From that snapshot W4-3's proof applies unchanged: each round of the odometer is a finite run that never reaches the missing instruction and ends in the same family of tapes, so the run never stops.
The Rocq proof (busycoq) keeps W4-3's library word for word, stated for W4-3's table. New are a verified run from this start to the snapshot, in 38 checked pieces, and an entry-by-entry check that this table is W4-3's with the states renamed. So a halt here would be a halt of W4-3's table started in B.

About this picture
The standard picture (bbchallenge.org's Default view): each row is the whole tape at one step, time runs downward, and the head's path draws the pattern.
Overview
In one sentence
The parent's proof is an invariant at the start of each record interval: a left word, a chain of digit blocks all in state U0, and a window (the last chain block and the right region) given exactly as affine functions of u = 9^(e-2). The deep chain gaps are free, apart from residue and minimum, which the encoding builds in. (submission/README.md, Mechanism)
parent W4-3 (740 line 341), killed 2026-10-12
- Upstream
- Kill claimed · PR #17merged 2026-10-14 06:20 UTC by ccz181078 ·
Sk1Class2_v3.v · TM5· on Submissions → - Rocq proof
- check_kill PASS · first Oct 12 21:232,622 lines · 141 KB .v · compile 74.8 s · coqchk pass · 0 axioms · PASS Oct 12 21:23 (re-run Oct 14 15:25)· the .v file
- Automatic review
- 6 of 6 checks passtemplate: W4-3's kill file (kill 20) (twin: parent kill's .v) · details in Proof →
- Class
- Skelet 1-like Class 2
- On the list
- not on
BB6_holdouts_663.txt(line 512 of the previous list) · historical 740 line 512 - Derived from
1RB0RF_W4-3 Kill claimed1RC0RB_ 1LD0RA_ 1LE0LD_ 1RB0LC_ 1LA---
Your calls on file 2
- funded
- option: sync_stage · date: 2026-10-12 · campaign: class2_closeout · stage: 2
- next
- Independent re-verification (audit) of the kill; then post after the parent (submission/discord.md, one message for both siblings).
Mechanism
What to check here: the pictures show the mechanism that the rule table describes.
Figures
The site's view. Fine pair stripes fill a slowly widening bell; the left edge barely moves.
Rows every 100 steps. Black wedges are left sweeps; their left tips are turns. Compare short and long tips.
One row per new rightmost cell; sampling every 8th cell turns each alternating block into one flat colour.
More figures (1)Fig 4: Records view, 1 px = 1 cell
Fig 3's span at full resolution: the right edge grows like sqrt(t), the left edge in rare jumps.
Rules (6/7 validated)1 failing · exact tape rewrites the proof will formalize, each re-checked by simulation
| rule | from ⟶ to | cases | steps | checked |
|---|---|---|---|---|
| S1 B-sweep | B> (01)2n ⟶ (10)2n B> | odd count: B> 01^(2n+1) -> 10^(2n+1) A> in 4n+2 steps (60/60 too) | 4n | ✓60/60 |
| S2 C-sweep | C> (10)2n ⟶ (01)2n C> | — | 4n | ✓60/60 |
| S3/S4 D-sweeps left | (01)2n <D | (10)2n <D ⟶ <D (10)2n | <D (01)2n | 60/60 each | 4n | ✓120/120 |
| P1 A passes a pair | A> 10 ⟶ 10 B> | A> 11 halts (2 steps); C> 111 halts (3 steps) | 4 | ✓62/62 |
| W defect turn (single-turn trips) | E-turn: 00 at x | C-turn: 11 at x ⟶ 11 at x-1 | 00 at x-1; some passed 00-defects reset +2 cells | every single-turn trip from step 2e4 to 3e6; the 1 miss (step 446,473) is at an epoch change; which passed defects reset is not yet derived | — | ✗554/555 |
| Fossils inert mod 4 | run from step 597,279,037 with 4j cells inserted in blocks ⟶ same run; only those block lengths change | 4 random insertions (all blocks / first fossil / X only), compared at the next 2 left records; inserting 2 mod 4 cells changes the run (3/3 negative controls) | +0.2..4.1 M steps over 2.4e9 | ✓4/4 |
| Epoch laws | fossil F_k, mid block X_k ⟶ F_(k+1) = 3 F_k + 72, X_(k+1) = 3 X_k + 8 | F: 2736 -> 8280 -> 24912 -> 74808 (to 1e10); X: 248 -> 752 -> 2264 -> 6800; observed, not derived | epoch time x9.04 | ✓6/6 |
Compressed historythe tape as 0∞ J F_1 .. F_k X Y C> 0∞ (rows: the 3rd left record of each 9-cell group) at 17 moments: where the rules are read off
| step | lo | hi |
|---|---|---|
| 29,330 | -22 | 346 |
| 91,395 | -25 | 586 |
| 442,986 | -28 | 1,152 |
| 647,767 | -31 | 1,394 |
| 1,212,916 | -34 | 2,123 |
| 4,664,921 | -37 | 3,819 |
| 6,952,350 | -40 | 4,608 |
| 12,289,411 | -43 | 6,792 |
| 43,669,198 | -46 | 11,918 |
| 65,532,919 | -49 | 14,320 |
| 114,511,040 | -52 | 20,881 |
| 398,088,769 | -55 | 36,257 |
| 597,235,426 | -58 | 43,526 |
| 1,041,302,739 | -61 | 63,206 |
| 3,599,625,458 | -64 | 109,372 |
| 5,399,920,255 | -67 | 131,214 |
| 9,400,201,940 | -70 | 190,263 |
lolast -70hilast 190,263Template comparisontemplate: partly applies · the nearest solved proof, what carries over, and the transitions that differ
| 0 | 1 | |
|---|---|---|
| A | 1RB | 0RF |
| B | 1RC | 0RB |
| C | 1LD | 0RA |
| D | 1LE | 0LD |
| E | 1RB | 0LC |
| F | 1LA | --- |
- file
- —
- module
- —
- machine
1RB0LE_1RC0RC_1LD0RB_1LA0LE_1LD1LF_1LD---(8 transitions apart)- diff
different table (4-5 transitions from #11/#33 under the best renaming); no shared rules- note
- Nearest proved neighbour: our kill #11 (Sk1C2, SBCv6 TM21 architecture). Its .v has one counter level: shift lemmas S1-S6, window lemmas T1-T14, digit lemmas Lb/Lf/Rb/Ro, the rules M_spec / Mdrop_spec / O_spec, and an abstract INV over one digit list. W4-3 matches only the bottom layer (sweep and turn lemmas). Its counter has unboundedly many levels: fossil defects with 2-3 states, the 3-phase epoch and the left-end counter, and #11 has no analogue of these. The closest open cases are #32/R4 (multi-level counter, parked).
Proof & checks
Kill 21 · Skelet 1-like Class 2 · the kill file 1RB0RA_1LC0RE_1LD0LC_1RA0LB_1RA0RF_1LE---.v: 2622 lines, 451 items · the package submission/
1What is provedCheck: the string, the theorem and every check_kill line are green, and the .v on disk is the one that was checked (same sha256).
1RB0RA_1LC0RE_1LD0LC_1RA0LB_1RA0RF_1LE---sha256 909abd2aaf109979…
| ✓ | 1RB0RA_1LC0RE_1LD0LC_1RA0LB_1RA0RF_1LE---.v | 909abd2aaf109979… = checked |
| ✓ | submission/1RB0RA_1LC0RE_1LD0LC_1RA0LB_1RA0RF_1LE---.v | 909abd2aaf109979… = checked |
All 17 check_kill checks with their one-line results
| ✓ | args | 6x2 machine, framework module Individual62, mode nonhalt |
| ✓ | input | 143971 bytes, 2622 lines, 2454 sentences |
| ✓ | framework | HEAD 0940bb9cf434ba68f0c025dabfde45a219999973 == pin; no tracked changes under verify/ |
| ✓ | framework_build | 13 needed framework .vo files present and fresh, with native code no older than the .vo |
| ✓ | forbidden | none of 30 forbidden patterns occur (ground rule 1's words: anywhere; command words: outside comments and strings; comments never split a token) |
| ✓ | structure | 8 Require name(s) allowed; no top-level Variable/Context; no shadowing; Module/Section balanced |
| ✓ | tm_text | line 45: TM_from_str "1RB0RA_1LC0RE_1LD0LC_1RA0LB_1RA0RF_1LE---" == <tm> (41 bytes) |
| ✓ | theorem_text | line 2575: nonhalt : ~halts tm c0 |
| ✓ | coq | coqc 8.20.1 ([local working file] |
| ✓ | names | halts, c0, TM_from_str resolved inside Individual62 |
| ✓ | compile | compiled in 74.8s with all appended checks |
| ✓ | tm_rocq | BB6Kill.Candidate.tm = BusyCoq.Individual62.TM_from_str "1RB0RA_1LC0RE_1LD0LC_1RA0LB_1RA0RF_1LE---" by eq_refl (in-file and isolated) |
| ✓ | theorem_rocq | nonhalt : ~ halts (TM_from_str "1RB0RA_1LC0RE_1LD0LC_1RA0LB_1RA0RF_1LE---") c0 with absolute names (in-file and isolated) |
| ✓ | isolation | only stock proof plugins loaded; guard/positivity/universe checking on, definitional UIP off |
| ✓ | assumptions | 0 assumption(s), all in the baseline |
| ✓ | coqchk | coqchk -norec BB6Kill.Candidate ok (1571.3s); its context summary lists nothing of the file's own |
| ✓ | integrity | input sha256 and framework HEAD/cleanliness identical before and after |
2Same machine as W4-3?Check: every row of the table is ✓ under the computed renaming (or the listed differences are what status.json's relation says), the two pictures show the same bands, and the trajectory numbers agree with the claimed relation (a twin keeps a fixed small offset; a sibling's gap grows).
status.json names W4-3 as the parent (1RB0RF_1RC0RB_1LD0RA_1LE0LD_1RB0LC_1LA---); label: “W4-3b”; relation: “sibling of W4-3: W4-3's table renamed (phi = A->B, B->C, C->D, D->E, E->A, F->F, no mirror), started in W4-3's state B”; parent_note: “W4-3 (740 line 341), killed 2026-10-12”. Everything below is computed from the two machine strings, not read from notes.
✓ Identical to W4-3's table under the renaming A→E, B→A, C→B, D→C, E→D, F→F (W4-3's state → this machine's), no mirror. This machine starts in W4-3's state B (W4-3 itself starts in A). The only such map.
| W4-3 | W4-3's row (read 0, read 1) | σ | predicted row: renamed by σ | this machine's actual row | ||
|---|---|---|---|---|---|---|
| A | 1RB 0RF | → E | 1RA 0RF | 1RA 0RF | ✓ | start of W4-3 |
| B | 1RC 0RB | → A | 1RB 0RA | 1RB 0RA | ✓ | start of this machine |
| C | 1LD 0RA | → B | 1LC 0RE | 1LC 0RE | ✓ | |
| D | 1LE 0LD | → C | 1LD 0LC | 1LD 0LC | ✓ | |
| E | 1RB 0LC | → D | 1RA 0LB | 1RA 0LB | ✓ | |
| F | 1LA --- | → F | 1LE --- | 1LE --- | ✓ |
Rows aligned by σ: each of W4-3's states X sits next to this machine's state σ(X). ✓ = the actual row equals W4-3's row with every target state renamed by σ; --- (halt) must stay ---. Searched: all 720 renamings × with/without mirror.
Same view, same settings on both sides. Look for the same band structure: it starts in W4-3's state B, not A, so the first steps differ; the numbers below read: trajectory twin, so after the start the bands should match line for line.
The macro behaviour, identical settings on both sides: each picture is its machine's own visited span stretched to 800 px, so compare the shape and order of the bands, not their absolute width. Speed mode samples one cell per column, so a one-cell shift can swap orange and white inside a band; compare band edges, not colours.


Trajectory numbers, from blank (C core)
✓ trajectory twin: within 0.0065% at 1e9 (cells +4, nonzeros +2); the offset stays within 4 at every checkpoint instead of growing
| steps | cells visited (hi − lo + 1) | nonzeros | ||||
|---|---|---|---|---|---|---|
| W4-3 | this | ratio (Δ) | W4-3 | this | ratio (Δ) | |
| 1e5 | 638 | 642 | 1.0063 (+4) | 316 | 318 | 1.0063 (+2) |
| 1e6 | 1,945 | 1,949 | 1.0021 (+4) | 972 | 974 | 1.0021 (+2) |
| 1e7 | 6,104 | 6,108 | 1.0007 (+4) | 3,048 | 3,052 | 1.0013 (+4) |
| 1e8 | 19,464 | 19,468 | 1.0002 (+4) | 9,726 | 9,726 | 1.0000 (+0) |
| 1e9 | 61,951 | 61,955 | 1.0001 (+4) | 30,972 | 30,974 | 1.0001 (+2) |
Each machine from blank in its own start state, sim.py C core. Trajectory twin = cells and nonzeros stay within 16 of the parent's at every checkpoint (a fixed offset from a different start, not a growing gap). Cached in img/vs-parent.json (2026-10-16 10:28 PDT); --force recomputes.
3Where it came fromCheck: the template is the one you expect, and the measured reuse (tiles, the reuse figure, diff) agrees with what the README says was kept and changed (quoted).
The file is the parent's file, verify/Skelet1LikeC2_1RB0RF_1RC0RB.v, with these changes: tm is this machine and the parent's table is tmP (the step notations are on tmP); the base case (cfg28, b28_i, ck_i, init28) and L28 / nus28 are this run's; nonhalt_P, phi, perm_phi and nonhalt are new. All other code is the parent's, verbatim. The parent's file follows verify/SBCv6.v, Module TM21 (shape) and verify/Sk1like_TC_v1.v (the verified simulator idea). This file has 2,622 lines and imports only Individual62 from busycoq. Apart from the usual native-compiler and coqchk-timeout notes, the second TM_from_str literal (tmP) is the only warning of the automated checks.
Top two bars: non-blank lines after the TM string is replaced by <TM> and whitespace is collapsed. Bottom bar: our Definitions/Lemmas/… by name.
Other references found:
- adapted from vendor/busycoq/verify/SBCv6.v Module TM21 (named in 1RB0RA_1LC0RE_1LD0LC_1RA0LB_1RA0RF_1LE---.v line 21)
Side-by-side diff: template (2228 lines) vs ours (2249 lines), 103 lines differ; runs of identical lines and long template-only runs folded
| template | ours | ||
|---|---|---|---|
| 27 | From BusyCoq Require Import Individual62. | 41 | From BusyCoq Require Import Individual62. |
| 28 | Require Import Lia ZifyNat String List Arith NArith ZArith. | 42 | Require Import Lia ZifyNat String List Arith NArith ZArith. |
| 29 | Import ListNotations. | 43 | Import ListNotations. |
| 31 | Definition tm := Eval compute in (TM_from_str "1RB0RF_1RC0RB_1LD0RA_1LE0LD_1RB0LC_1LA---"). | 45 | Definition tm := Eval compute in (TM_from_str "1RB0RA_1LC0RE_1LD0LC_1RA0LB_1RA0RF_1LE---"). |
| 33 | Notation "c --> c'" := (c -[ tm ]-> c') (at level 40). | ||
| 46 | Definition tmP := Eval compute in (TM_from_str "1RB0RF_1RC0RB_1LD0RA_1LE0LD_1RB0LC_1LA---"). | ||
| 34 | Notation "c -->* c'" := (c -[ tm ]->* c') (at level 40). | 48 | Notation "c --> c'" := (c -[ tmP ]-> c') (at level 40). |
| 35 | Notation "c -->+ c'" := (c -[ tm ]->+ c') (at level 40). | 49 | Notation "c -->* c'" := (c -[ tmP ]->* c') (at level 40). |
| 50 | Notation "c -->+ c'" := (c -[ tmP ]->+ c') (at level 40). | ||
| 37 | Open Scope nat_scope. | 52 | Open Scope nat_scope. |
| 39 | (* ===================================================================== *) | 54 | (* ===================================================================== *) |
| ⋯ 100 identical lines (template 40–160, ours 55–175) | |||
| 161 | match pop r with | 176 | match pop r with |
| 162 | | Some (s, r') => | 177 | | Some (s, r') => |
| 163 | match tm (q, s) with | 178 | match tmP (q, s) with |
| 164 | | Some (w, R, q') => Some (Rc q' (push w l) r') | 179 | | Some (w, R, q') => Some (Rc q' (push w l) r') |
| 165 | | Some (w, L, q') => Some (Lc q' l (push w r')) | 180 | | Some (w, L, q') => Some (Lc q' l (push w r')) |
| ⋯ 5 identical lines (template 166–170, ours 181–185) | |||
| 171 | match pop l with | 186 | match pop l with |
| 172 | | Some (s, l') => | 187 | | Some (s, l') => |
| 173 | match tm (q, s) with | 188 | match tmP (q, s) with |
| 174 | | Some (w, R, q') => Some (Rc q' (push w l') r) | 189 | | Some (w, R, q') => Some (Rc q' (push w l') r) |
| 175 | | Some (w, L, q') => Some (Lc q' l' (push w r)) | 190 | | Some (w, L, q') => Some (Lc q' l' (push w r)) |
| ⋯ 165 identical lines (template 176–369, ours 191–384) | |||
| 370 | (i mod 4 = 2 /\ S i mod 4 = 3) \/ (i mod 4 = 3 /\ S i mod 4 = 0). | 385 | (i mod 4 = 2 /\ S i mod 4 = 3) \/ (i mod 4 = 3 /\ S i mod 4 = 0). |
| 371 | Proof. lia. Qed. | 386 | Proof. lia. Qed. |
| 373 | Lemma cR_tm i : tm (cR_st i, cR_bt i) = Some (sneg (cR_bt i), R, cR_st (S i)). | 388 | Lemma cR_tm i : tmP (cR_st i, cR_bt i) = Some (sneg (cR_bt i), R, cR_st (S i)). |
| 374 | Proof. | 389 | Proof. |
| 375 | unfold cR_st, cR_bt. destruct (cR_cases i) as [[H1 H2]|[[H1 H2]|[[H1 H2]|[H1 H2]]]]; | 390 | unfold cR_st, cR_bt. destruct (cR_cases i) as [[H1 H2]|[[H1 H2]|[[H1 H2]|[H1 H2]]]]; |
| ⋯ 5 identical lines (template 376–381, ours 391–396) | |||
| 382 | rewrite H1, H2; reflexivity. | 397 | rewrite H1, H2; reflexivity. |
| 383 | Qed. | 398 | Qed. |
| 385 | Lemma cL_tm i : tm (cL_st i, cL_bt i) = Some (sneg (cL_bt i), L, cL_st (S i)). | 400 | Lemma cL_tm i : tmP (cL_st i, cL_bt i) = Some (sneg (cL_bt i), L, cL_st (S i)). |
| 386 | Proof. | 401 | Proof. |
| 387 | unfold cL_st, cL_bt. destruct (cR_cases i) as [[H1 H2]|[[H1 H2]|[[H1 H2]|[H1 H2]]]]; | 402 | unfold cL_st, cL_bt. destruct (cR_cases i) as [[H1 H2]|[[H1 H2]|[[H1 H2]|[H1 H2]]]]; |
| ⋯ 52 identical lines (template 388–447, ours 403–462) | |||
| 448 | - destruct (pop r) as [[s r']|] eqn:Ep; [|discriminate]. | 463 | - destruct (pop r) as [[s r']|] eqn:Ep; [|discriminate]. |
| 449 | pose proof (pop_spec nu sg r s r' Ep) as Hr. | 464 | pose proof (pop_spec nu sg r s r' Ep) as Hr. |
| 450 | destruct (tm (q, s)) as [[[w [|]] q']|] eqn:Et; intros H; inversion H; subst; clear H; | 465 | destruct (tmP (q, s)) as [[[w [|]] q']|] eqn:Et; intros H; inversion H; subst; clear H; |
| 451 | cbn [ev_cfg]; rewrite Hr, ?push_spec. | 466 | cbn [ev_cfg]; rewrite Hr, ?push_spec. |
| 452 | + exact (step_left Et). | 467 | + exact (step_left Et). |
| 453 | + exact (step_right Et). | 468 | + exact (step_right Et). |
| 454 | - destruct (pop l) as [[s l']|] eqn:Ep; [|discriminate]. | 469 | - destruct (pop l) as [[s l']|] eqn:Ep; [|discriminate]. |
| 455 | pose proof (pop_spec nu sg l s l' Ep) as Hl. | 470 | pose proof (pop_spec nu sg l s l' Ep) as Hl. |
| 456 | destruct (tm (q, s)) as [[[w [|]] q']|] eqn:Et; intros H; inversion H; subst; clear H; | 471 | destruct (tmP (q, s)) as [[[w [|]] q']|] eqn:Et; intros H; inversion H; subst; clear H; |
| 457 | cbn [ev_cfg]; rewrite Hl, ?push_spec. | 472 | cbn [ev_cfg]; rewrite Hl, ?push_spec. |
| 458 | + exact (step_left Et). | 473 | + exact (step_left Et). |
| ⋯ 1542 identical lines (template 459–2232, ours 474–2247) | |||
| 2233 | Qed. | 2248 | Qed. |
| 2235 | (* ===================================================================== *) | 2250 | (* ===================================================================== *) |
| 2236 | (* Base case: the blank tape reaches record exit 28. *) | 2251 | (* Base case: from B;; tape0 to record exit 28. *) |
| 2237 | (* ===================================================================== *) | 2252 | (* ===================================================================== *) |
| 2239 | Definition cfg28 : cfg := | 2254 | Definition cfg28 : cfg := |
| 2240 | Rc B | 2255 | Rc B |
| 2241 | ([(S0, cn 74808); (S1, cn 24912); (S0, cn 8277); (S0, cn 2737); (S0, cn 972); (S1, cn 36); | 2256 | ([(S0, cn 74808); (S1, cn 24912); (S0, cn 8277); (S0, cn 2737); (S0, cn 972); (S1, cn 36); |
| 2242 | (S0, cn 37); (S0, cn 37); (S0, cn 44); (S1, cn 24); (S0, cn 13); (S0, cn 9); | 2257 | (S0, cn 37); (S0, cn 37); (S0, cn 44); (S1, cn 24); (S0, cn 17); (S0, cn 9); |
| 2243 | (S0, cn 4); (S1, cn 4); (S0, cn 1); (S0, cn 5); (S0, cn 4); (S1, cn 4); (S0, cn 1); (S0, cn 5); | 2258 | (S0, cn 4); (S1, cn 4); (S0, cn 1); (S0, cn 5); (S0, cn 4); (S1, cn 4); |
| 2244 | (S0, cn 4); (S1, cn 4); (S0, cn 1); (S0, cn 5); (S0, cn 1); (S0, cn 6); (S1, cn 4); (S0, cn 1); | ||
| 2259 | (S0, cn 1); (S0, cn 5); (S0, cn 4); (S1, cn 4); (S0, cn 1); (S0, cn 5); | ||
| 2245 | (S0, cn 5); (S0, cn 1); (S0, cn 5); (S0, cn 1); (S0, cn 5); (S0, cn 1); (S0, cn 5); (S0, cn 2)], T0) | ||
| 2260 | (S0, cn 1); (S0, cn 6); (S1, cn 4); (S0, cn 1); (S0, cn 5); (S0, cn 1); | ||
| 2261 | (S0, cn 5); (S0, cn 1); (S0, cn 5); (S0, cn 1); (S0, cn 5); (S0, cn 2)], T0) | ||
| 2246 | ([(S1, cn 224495); (S1, cn 673559); (S1, cn 7); (S1, cn 9841); (S1, cn 1942040); (S0, cn 2)], T0). | 2262 | ([(S1, cn 224495); (S1, cn 673559); (S1, cn 7); (S1, cn 9841); (S1, cn 1942040); (S0, cn 2)], T0). |
| 2248 | (* The run from the blank tape to record exit 28, in 38 pieces of at most 500,000 simulator | 2264 | (* The run from B;; tape0 to record exit 28, in 38 pieces of at most 500,000 simulator |
| 2249 | steps (each piece is one computation; intermediate configurations written out). *) | 2265 | steps (each piece is one computation; intermediate configurations written out). *) |
| 2250 | Definition mkc (rc : bool) (q : Q) (l r : list (Sym * N)) : cfg := | 2266 | Definition mkc (rc : bool) (q : Q) (l r : list (Sym * N)) : cfg := |
| 2251 | let f := map (fun x : Sym * N => (fst x, cn (snd x))) in | 2267 | let f := map (fun x : Sym * N => (fst x, cn (snd x))) in |
| 2252 | if rc then Rc q (f l, T0) (f r, T0) else Lc q (f l, T0) (f r, T0). | 2268 | if rc then Rc q (f l, T0) (f r, T0) else Lc q (f l, T0) (f r, T0). |
| 2253 | Definition b28_0 : cfg := mkc true A [] []. | 2269 | Definition b28_0 : cfg := mkc true B [] []. |
| 2254 | Definition b28_1 : cfg := mkc true F [(S0, 1%N); (S0, 5003%N); (S0, 9%N); (S0, 24909%N); (S0, 8281%N); (S0, 2736%N); (S1, 972%N); (S0, 34%N); (S1, 40%N); (S0, 36%N); (S1, 44%N); (S0, 21%N); (S0, 17%N); (S0, 8%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 4%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 2%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 1%N); (S0, 5%N); (S0, 2%N)] [(S0, 34783%N); (S0, 2%N)]. | 2270 | Definition b28_1 : cfg := mkc true A [(S0, 7%N); (S0, 24909%N); (S0, 8281%N); (S0, 2736%N); (S1, 972%N); (S0, 34%N); (S1, 40%N); (S0, 36%N); (S1, 44%N); (S0, 21%N); (S0, 21%N); (S0, 8%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 4%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 2%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 1%N); (S0, 5%N); (S0, 2%N)] [(S1, 5005%N); (S1, 34784%N); (S0, 2%N)]. |
| 2255 | Definition b28_2 : cfg := mkc false C [(S1, 972%N); (S0, 36%N); (S1, 40%N); (S0, 34%N); (S1, 44%N); (S0, 24%N); (S1, 16%N); (S0, 6%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 1%N); (S0, 5%N); (S0, 1%N); (S0, 5%N); (S0, 2%N); (S1, 4%N); (S0, 2%N)] [(S0, 2734%N); (S1, 8280%N); (S0, 24912%N); (S1, 74807%N); (S1, 7%N); (S1, 20408%N); (S0, 18958%N); (S1, 1%N)]. | 2271 | Definition b28_2 : cfg := mkc false D [(S1, 20408%N); (S0, 7%N); (S0, 74807%N); (S0, 24912%N); (S1, 8280%N); (S0, 2734%N); (S1, 972%N); (S0, 36%N); (S1, 40%N); (S0, 34%N); (S1, 44%N); (S0, 24%N); (S1, 20%N); (S0, 6%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 1%N); (S0, 5%N); (S0, 1%N); (S0, 5%N); (S0, 2%N); (S1, 4%N); (S0, 2%N)] [(S0, 18958%N); (S1, 1%N)]. |
| 2256 | Definition b28_3 : cfg := mkc false E [(S0, 24913%N); (S0, 8280%N); (S1, 2736%N); (S0, 969%N); (S0, 37%N); (S0, 40%N); (S1, 36%N); (S0, 41%N); (S0, 25%N); (S0, 16%N); (S1, 8%N); (S0, 2%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 4%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 1%N); (S0, 5%N); (S0, 2%N)] [(S1, 74805%N); (S1, 8%N); (S0, 15237%N); (S0, 102601%N); (S0, 2%N)]. | 2272 | Definition b28_3 : cfg := mkc true C [(S1, 1%N); (S1, 102601%N); (S1, 15237%N); (S1, 8%N); (S0, 74805%N); (S0, 24913%N); (S0, 8280%N); (S1, 2736%N); (S0, 969%N); (S0, 37%N); (S0, 40%N); (S1, 36%N); (S0, 41%N); (S0, 25%N); (S0, 20%N); (S1, 8%N); (S0, 2%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 4%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 1%N); (S0, 5%N); (S0, 2%N)] []. |
| 2257 | Definition b28_4 : cfg := mkc true B [(S1, 8%N); (S0, 3%N); (S0, 3%N); (S0, 4%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 4%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 1%N); (S0, 5%N); (S0, 3%N); (S0, 3%N); (S0, 3%N); (S0, 3%N); (S0, 2%N)] [(S0, 16%N); (S1, 23%N); (S1, 43%N); (S1, 36%N); (S0, 40%N); (S1, 35%N); (S1, 971%N); (S1, 2736%N); (S0, 8280%N); (S1, 24911%N); (S1, 74807%N); (S1, 8%N); (S0, 2576%N); (S1, 203893%N)]. | 2273 | Definition b28_4 : cfg := mkc false D [(S0, 20%N); (S1, 8%N); (S0, 2%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 4%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 1%N); (S0, 5%N); (S0, 3%N); (S0, 3%N); (S0, 3%N); (S0, 3%N); (S0, 2%N)] [(S1, 23%N); (S1, 43%N); (S1, 36%N); (S0, 40%N); (S1, 35%N); (S1, 971%N); (S1, 2736%N); (S0, 8280%N); (S1, 24911%N); (S1, 74807%N); (S1, 8%N); (S0, 2576%N); (S1, 203893%N)]. |
| 2258 | Definition b28_5 : cfg := mkc false D [(S0, 224496%N); (S1, 74808%N); (S0, 24911%N); (S0, 8279%N); (S0, 2736%N); (S1, 972%N); (S0, 33%N); (S0, 41%N); (S0, 36%N); (S1, 44%N); (S0, 23%N); (S0, 15%N); (S0, 8%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 4%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 4%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 2%N)] [(S1, 4%N); (S0, 47814%N); (S1, 1%N)]. | 2274 | Definition b28_5 : cfg := mkc true B [(S1, 74808%N); (S0, 24911%N); (S0, 8279%N); (S0, 2736%N); (S1, 972%N); (S0, 33%N); (S0, 41%N); (S0, 36%N); (S1, 44%N); (S0, 23%N); (S0, 19%N); (S0, 8%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 4%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 4%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 2%N)] [(S0, 224496%N); (S1, 4%N); (S0, 47813%N); (S0, 2%N)]. |
| 2259 | Definition b28_6 : cfg := mkc false D [(S1, 55470%N); (S0, 61233%N); (S0, 7%N); (S0, 224495%N); (S0, 74808%N); (S1, 24912%N); (S0, 8279%N); (S0, 2735%N); (S0, 972%N); (S1, 36%N); (S0, 37%N); (S0, 37%N); (S0, 44%N); (S1, 24%N); (S0, 15%N); (S0, 7%N); (S0, 4%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 4%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 3%N); (S0, 3%N); (S0, 3%N); (S0, 3%N); (S0, 1%N); (S0, 5%N); (S0, 2%N)] [(S1, 1%N)]. | 2275 | Definition b28_6 : cfg := mkc true A [(S0, 55467%N); (S0, 61233%N); (S0, 7%N); (S0, 224495%N); (S0, 74808%N); (S1, 24912%N); (S0, 8279%N); (S0, 2735%N); (S0, 972%N); (S1, 36%N); (S0, 37%N); (S0, 37%N); (S0, 44%N); (S1, 24%N); (S0, 19%N); (S0, 7%N); (S0, 4%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 4%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 3%N); (S0, 3%N); (S0, 3%N); (S0, 3%N); (S0, 1%N); (S0, 5%N); (S0, 2%N)] [(S1, 1%N)]. |
| 2260 | Definition b28_7 : cfg := mkc true B [(S1, 61232%N); (S0, 5%N); (S0, 224497%N); (S0, 74808%N); (S1, 24912%N); (S0, 8279%N); (S0, 2735%N); (S0, 972%N); (S1, 36%N); (S0, 37%N); (S0, 37%N); (S0, 44%N); (S1, 24%N); (S0, 15%N); (S0, 7%N); (S0, 4%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 2%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 3%N); (S0, 3%N); (S0, 2%N)] [(S1, 1%N); (S1, 126903%N); (S1, 1%N)]. | 2276 | Definition b28_7 : cfg := mkc true B [(S1, 224496%N); (S0, 74808%N); (S1, 24912%N); (S0, 8279%N); (S0, 2735%N); (S0, 972%N); (S1, 36%N); (S0, 37%N); (S0, 37%N); (S0, 44%N); (S1, 24%N); (S0, 19%N); (S0, 7%N); (S0, 4%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 2%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 3%N); (S0, 3%N); (S0, 2%N)] [(S1, 1%N); (S1, 5%N); (S1, 61231%N); (S1, 126905%N); (S1, 1%N)]. |
| 2261 | Definition b28_8 : cfg := mkc true A [(S0, 204457%N); (S0, 58637%N); (S0, 9%N); (S0, 224494%N); (S1, 74808%N); (S0, 24912%N); (S1, 8280%N); (S0, 2735%N); (S0, 971%N); (S0, 36%N); (S1, 40%N); (S0, 34%N); (S1, 44%N); (S0, 24%N); (S1, 16%N); (S0, 6%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 4%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 4%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 2%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 1%N); (S0, 5%N); (S0, 2%N)] [(S1, 1%N)]. | 2277 | Definition b28_8 : cfg := mkc false E [(S0, 58639%N); (S0, 9%N); (S0, 224494%N); (S1, 74808%N); (S0, 24912%N); (S1, 8280%N); (S0, 2735%N); (S0, 971%N); (S0, 36%N); (S1, 40%N); (S0, 34%N); (S1, 44%N); (S0, 24%N); (S1, 20%N); (S0, 6%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 4%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 4%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 2%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 1%N); (S0, 5%N); (S0, 2%N)] [(S1, 204454%N); (S0, 2%N)]. |
| 2262 | Definition b28_9 : cfg := mkc true B [(S1, 45980%N); (S0, 9%N); (S0, 224494%N); (S1, 74808%N); (S0, 24912%N); (S1, 8280%N); (S0, 2734%N); (S1, 972%N); (S0, 36%N); (S1, 40%N); (S0, 34%N); (S1, 44%N); (S0, 24%N); (S1, 16%N); (S0, 7%N); (S0, 3%N); (S0, 4%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 4%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 1%N); (S0, 5%N); (S0, 2%N)] [(S1, 1%N); (S1, 305726%N); (S0, 2%N)]. | 2278 | Definition b28_9 : cfg := mkc false A [(S0, 1%N); (S0, 7%N); (S0, 224494%N); (S1, 74808%N); (S0, 24912%N); (S1, 8280%N); (S0, 2734%N); (S1, 972%N); (S0, 36%N); (S1, 40%N); (S0, 34%N); (S1, 44%N); (S0, 24%N); (S1, 20%N); (S0, 7%N); (S0, 3%N); (S0, 4%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 4%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 1%N); (S0, 5%N); (S0, 2%N)] [(S1, 1%N); (S1, 45979%N); (S1, 305728%N); (S0, 2%N)]. |
| 2263 | Definition b28_10 : cfg := mkc true B [(S1, 40%N); (S0, 34%N); (S1, 44%N); (S0, 24%N); (S1, 16%N); (S0, 5%N); (S0, 5%N); (S0, 4%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 4%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 2%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 2%N)] [(S0, 36%N); (S1, 971%N); (S1, 2735%N); (S1, 8280%N); (S0, 24912%N); (S1, 74807%N); (S1, 224495%N); (S1, 8%N); (S0, 33320%N); (S1, 407005%N)]. | 2279 | Definition b28_10 : cfg := mkc false D [(S0, 36%N); (S1, 40%N); (S0, 33%N); (S0, 45%N); (S0, 24%N); (S1, 20%N); (S0, 5%N); (S0, 5%N); (S0, 4%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 4%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 2%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 2%N)] [(S1, 971%N); (S1, 2735%N); (S1, 8280%N); (S0, 24912%N); (S1, 74807%N); (S1, 224495%N); (S1, 8%N); (S0, 33320%N); (S1, 407005%N)]. |
| 2264 | Definition b28_11 : cfg := mkc true B [(S0, 20664%N); (S1, 8%N); (S0, 224495%N); (S0, 74807%N); (S0, 24912%N); (S1, 8280%N); (S0, 2734%N); (S1, 972%N); (S0, 36%N); (S1, 40%N); (S0, 33%N); (S0, 45%N); (S0, 24%N); (S1, 16%N); (S0, 6%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 4%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 2%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 3%N); (S0, 3%N); (S0, 2%N)] [(S1, 508270%N); (S0, 2%N)]. | 2280 | Definition b28_11 : cfg := mkc true B [(S0, 224495%N); (S0, 74807%N); (S0, 24912%N); (S1, 8280%N); (S0, 2734%N); (S1, 972%N); (S0, 36%N); (S1, 40%N); (S0, 33%N); (S0, 45%N); (S0, 24%N); (S1, 20%N); (S0, 6%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 4%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 2%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 3%N); (S0, 3%N); (S0, 2%N)] [(S1, 8%N); (S0, 20662%N); (S1, 508272%N); (S0, 2%N)]. |
| 2265 | Definition b28_12 : cfg := mkc false D [(S1, 8%N); (S0, 224493%N); (S0, 74809%N); (S0, 24912%N); (S1, 8280%N); (S0, 2733%N); (S0, 973%N); (S0, 36%N); (S1, 40%N); (S0, 33%N); (S0, 45%N); (S0, 24%N); (S1, 16%N); (S0, 7%N); (S0, 3%N); (S0, 4%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 1%N); (S0, 5%N); (S0, 3%N); (S0, 3%N); (S0, 3%N); (S0, 3%N); (S0, 2%N)] [(S0, 8001%N); (S0, 609553%N); (S0, 2%N)]. | 2281 | Definition b28_12 : cfg := mkc true A [(S0, 609552%N); (S1, 8001%N); (S1, 8%N); (S0, 224493%N); (S0, 74809%N); (S0, 24912%N); (S1, 8280%N); (S0, 2733%N); (S0, 973%N); (S0, 36%N); (S1, 40%N); (S0, 33%N); (S0, 45%N); (S0, 24%N); (S1, 20%N); (S0, 7%N); (S0, 3%N); (S0, 4%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 1%N); (S0, 5%N); (S0, 3%N); (S0, 3%N); (S0, 3%N); (S0, 3%N); (S0, 2%N)] []. |
| 2266 | Definition b28_13 : cfg := mkc true B [(S1, 224496%N); (S0, 74805%N); (S0, 24913%N); (S0, 8280%N); (S1, 2736%N); (S0, 970%N); (S1, 36%N); (S0, 40%N); (S1, 36%N); (S0, 41%N); (S0, 25%N); (S0, 16%N); (S1, 8%N); (S0, 2%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 4%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 1%N); (S0, 5%N); (S0, 2%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 2%N)] [(S0, 673560%N); (S1, 4%N); (S0, 22085%N); (S0, 2%N)]. | 2282 | Definition b28_13 : cfg := mkc true A [(S0, 24911%N); (S0, 8280%N); (S1, 2736%N); (S0, 970%N); (S1, 36%N); (S0, 40%N); (S1, 36%N); (S0, 41%N); (S0, 25%N); (S0, 20%N); (S1, 8%N); (S0, 2%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 4%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 1%N); (S0, 5%N); (S0, 2%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 2%N)] [(S1, 74807%N); (S1, 224496%N); (S0, 673560%N); (S1, 4%N); (S0, 22085%N); (S0, 2%N)]. |
| 2267 | Definition b28_14 : cfg := mkc false D [(S0, 74806%N); (S1, 24912%N); (S0, 8280%N); (S1, 2736%N); (S0, 971%N); (S0, 35%N); (S0, 40%N); (S1, 36%N); (S0, 43%N); (S0, 23%N); (S0, 16%N); (S1, 8%N); (S0, 1%N); (S0, 5%N); (S0, 4%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 4%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 4%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 2%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 2%N)] [(S1, 224496%N); (S0, 673560%N); (S1, 3%N); (S1, 82093%N); (S1, 1%N)]. | 2283 | Definition b28_14 : cfg := mkc true A [(S0, 1%N); (S0, 3%N); (S0, 673560%N); (S1, 224496%N); (S0, 74806%N); (S1, 24912%N); (S0, 8280%N); (S1, 2736%N); (S0, 971%N); (S0, 35%N); (S0, 40%N); (S1, 36%N); (S0, 43%N); (S0, 23%N); (S0, 20%N); (S1, 8%N); (S0, 1%N); (S0, 5%N); (S0, 4%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 4%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 4%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 2%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 2%N)] [(S0, 82091%N); (S0, 2%N)]. |
| 2268 | Definition b28_15 : cfg := mkc false A [(S0, 1%N); (S0, 24911%N); (S0, 8280%N); (S1, 2736%N); (S0, 970%N); (S1, 36%N); (S0, 40%N); (S1, 36%N); (S0, 43%N); (S0, 23%N); (S0, 16%N); (S1, 8%N); (S0, 1%N); (S0, 5%N); (S0, 4%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 2%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 2%N)] [(S1, 1%N); (S1, 74805%N); (S1, 224496%N); (S0, 673560%N); (S1, 4%N); (S0, 142098%N); (S1, 1%N)]. | 2284 | Definition b28_15 : cfg := mkc true B [(S1, 1%N); (S1, 36%N); (S0, 40%N); (S1, 36%N); (S0, 43%N); (S0, 23%N); (S0, 20%N); (S1, 8%N); (S0, 1%N); (S0, 5%N); (S0, 4%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 2%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 2%N)] [(S1, 969%N); (S1, 2736%N); (S0, 8280%N); (S1, 24911%N); (S1, 74807%N); (S1, 224496%N); (S0, 673560%N); (S1, 4%N); (S0, 142098%N); (S1, 1%N)]. |
| 2269 | Definition b28_16 : cfg := mkc false D [(S1, 183704%N); (S0, 6%N); (S1, 673560%N); (S0, 224496%N); (S1, 74808%N); (S0, 24911%N); (S0, 8279%N); (S0, 2736%N); (S1, 972%N); (S0, 35%N); (S0, 39%N); (S0, 36%N); (S1, 44%N); (S0, 22%N); (S1, 16%N); (S0, 8%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 4%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 1%N); (S0, 5%N); (S0, 2%N)] [(S0, 21909%N); (S0, 2%N)]. | 2285 | Definition b28_16 : cfg := mkc true B [(S1, 1%N); (S1, 183704%N); (S0, 6%N); (S1, 673560%N); (S0, 224496%N); (S1, 74808%N); (S0, 24911%N); (S0, 8279%N); (S0, 2736%N); (S1, 972%N); (S0, 35%N); (S0, 39%N); (S0, 36%N); (S1, 44%N); (S0, 22%N); (S1, 20%N); (S0, 8%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 4%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 1%N); (S0, 5%N); (S0, 2%N)] [(S1, 21907%N)]. |
| 2270 | Definition b28_17 : cfg := mkc true B [(S1, 93339%N); (S1, 183704%N); (S0, 6%N); (S1, 673560%N); (S0, 224496%N); (S1, 74808%N); (S0, 24910%N); (S1, 8280%N); (S0, 2736%N); (S1, 972%N); (S0, 35%N); (S0, 39%N); (S0, 36%N); (S1, 44%N); (S0, 22%N); (S1, 16%N); (S0, 8%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 4%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 4%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 3%N); (S0, 3%N); (S0, 2%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 2%N)] []. | 2286 | Definition b28_17 : cfg := mkc false D [(S0, 5%N); (S0, 673561%N); (S0, 224496%N); (S1, 74808%N); (S0, 24910%N); (S1, 8280%N); (S0, 2736%N); (S1, 972%N); (S0, 35%N); (S0, 39%N); (S0, 36%N); (S1, 44%N); (S0, 22%N); (S1, 20%N); (S0, 8%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 4%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 4%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 3%N); (S0, 3%N); (S0, 2%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 2%N)] [(S1, 183704%N); (S0, 93338%N)]. |
| 2271 | Definition b28_18 : cfg := mkc false A [(S0, 1%N); (S0, 164770%N); (S1, 183704%N); (S0, 6%N); (S1, 673560%N); (S0, 224496%N); (S1, 74808%N); (S0, 24909%N); (S0, 8281%N); (S0, 2736%N); (S1, 972%N); (S0, 35%N); (S0, 39%N); (S0, 36%N); (S1, 44%N); (S0, 22%N); (S1, 16%N); (S0, 8%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 4%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 3%N); (S0, 3%N); (S0, 3%N); (S0, 3%N); (S0, 1%N); (S0, 5%N); (S0, 2%N)] [(S1, 1%N)]. | 2287 | Definition b28_18 : cfg := mkc false E [(S0, 673561%N); (S0, 224496%N); (S1, 74808%N); (S0, 24909%N); (S0, 8281%N); (S0, 2736%N); (S1, 972%N); (S0, 35%N); (S0, 39%N); (S0, 36%N); (S1, 44%N); (S0, 22%N); (S1, 20%N); (S0, 8%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 4%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 3%N); (S0, 3%N); (S0, 3%N); (S0, 3%N); (S0, 1%N); (S0, 5%N); (S0, 2%N)] [(S1, 5%N); (S1, 183704%N); (S0, 164770%N); (S1, 1%N)]. |
| 2272 | Definition b28_19 : cfg := mkc true B [(S0, 5%N); (S0, 673561%N); (S0, 224496%N); (S1, 74808%N); (S0, 24911%N); (S0, 8279%N); (S0, 2736%N); (S1, 972%N); (S0, 34%N); (S1, 40%N); (S0, 36%N); (S1, 44%N); (S0, 22%N); (S1, 16%N); (S0, 8%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 2%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 2%N)] [(S1, 183703%N); (S1, 236201%N); (S1, 1%N)]. | 2288 | Definition b28_19 : cfg := mkc true B [(S0, 224496%N); (S1, 74808%N); (S0, 24911%N); (S0, 8279%N); (S0, 2736%N); (S1, 972%N); (S0, 34%N); (S1, 40%N); (S0, 36%N); (S1, 44%N); (S0, 22%N); (S1, 20%N); (S0, 8%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 2%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 2%N)] [(S1, 673559%N); (S1, 7%N); (S1, 183703%N); (S1, 236201%N); (S1, 1%N)]. |
| 2273 | Definition b28_20 : cfg := mkc false D [(S1, 307633%N); (S1, 183704%N); (S0, 7%N); (S0, 673559%N); (S0, 224496%N); (S1, 74808%N); (S0, 24909%N); (S0, 8281%N); (S0, 2736%N); (S1, 972%N); (S0, 34%N); (S1, 40%N); (S0, 36%N); (S1, 44%N); (S0, 22%N); (S1, 16%N); (S0, 8%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 4%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 2%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 2%N); (S1, 4%N); (S0, 2%N)] [(S1, 1%N)]. | 2289 | Definition b28_20 : cfg := mkc true A [(S0, 307630%N); (S1, 183704%N); (S0, 7%N); (S0, 673559%N); (S0, 224496%N); (S1, 74808%N); (S0, 24909%N); (S0, 8281%N); (S0, 2736%N); (S1, 972%N); (S0, 34%N); (S1, 40%N); (S0, 36%N); (S1, 44%N); (S0, 22%N); (S1, 20%N); (S0, 8%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 4%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 2%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 2%N); (S1, 4%N); (S0, 2%N)] [(S1, 1%N)]. |
| 2274 | Definition b28_21 : cfg := mkc false D [(S1, 74808%N); (S0, 24911%N); (S0, 8279%N); (S0, 2736%N); (S1, 972%N); (S0, 33%N); (S0, 41%N); (S0, 36%N); (S1, 44%N); (S0, 22%N); (S1, 16%N); (S0, 8%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 4%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 4%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 2%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 3%N); (S0, 3%N); (S0, 2%N)] [(S0, 224496%N); (S1, 673559%N); (S1, 7%N); (S1, 183704%N); (S0, 379066%N); (S1, 1%N)]. | 2290 | Definition b28_21 : cfg := mkc true C [(S1, 379065%N); (S1, 183704%N); (S0, 7%N); (S0, 673559%N); (S0, 224496%N); (S1, 74808%N); (S0, 24911%N); (S0, 8279%N); (S0, 2736%N); (S1, 972%N); (S0, 33%N); (S0, 41%N); (S0, 36%N); (S1, 44%N); (S0, 22%N); (S1, 20%N); (S0, 8%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 4%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 4%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 2%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 3%N); (S0, 3%N); (S0, 2%N)] [(S0, 2%N)]. |
| 2275 | Definition b28_22 : cfg := mkc true B [(S0, 7%N); (S0, 673559%N); (S0, 224496%N); (S1, 74808%N); (S0, 24910%N); (S1, 8280%N); (S0, 2736%N); (S1, 972%N); (S0, 33%N); (S0, 41%N); (S0, 36%N); (S1, 44%N); (S0, 22%N); (S1, 16%N); (S0, 8%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 4%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 2%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 2%N)] [(S1, 183703%N); (S1, 450497%N); (S1, 1%N)]. | 2291 | Definition b28_22 : cfg := mkc true C [(S1, 450496%N); (S0, 183703%N); (S0, 6%N); (S1, 673560%N); (S0, 224496%N); (S1, 74808%N); (S0, 24910%N); (S1, 8280%N); (S0, 2736%N); (S1, 972%N); (S0, 33%N); (S0, 41%N); (S0, 36%N); (S1, 44%N); (S0, 22%N); (S1, 20%N); (S0, 8%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 4%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 2%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 2%N)] [(S0, 2%N)]. |
| 2276 | Definition b28_23 : cfg := mkc false D [(S0, 24911%N); (S0, 8279%N); (S0, 2736%N); (S1, 972%N); (S0, 35%N); (S0, 39%N); (S0, 36%N); (S1, 44%N); (S0, 21%N); (S0, 17%N); (S0, 8%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 4%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 1%N); (S0, 6%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 1%N); (S0, 5%N); (S0, 1%N); (S0, 5%N); (S0, 1%N); (S0, 5%N); (S0, 2%N)] [(S1, 74808%N); (S0, 224496%N); (S1, 673559%N); (S1, 7%N); (S1, 183704%N); (S0, 521925%N); (S0, 2%N)]. | 2292 | Definition b28_23 : cfg := mkc false D [(S1, 521925%N); (S1, 183704%N); (S0, 7%N); (S0, 673559%N); (S0, 224496%N); (S1, 74808%N); (S0, 24911%N); (S0, 8279%N); (S0, 2736%N); (S1, 972%N); (S0, 35%N); (S0, 39%N); (S0, 36%N); (S1, 44%N); (S0, 21%N); (S0, 21%N); (S0, 8%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 4%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 1%N); (S0, 6%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 1%N); (S0, 5%N); (S0, 1%N); (S0, 5%N); (S0, 1%N); (S0, 5%N); (S0, 2%N)] [(S0, 2%N)]. |
| 2277 | Definition b28_24 : cfg := mkc false D [(S1, 1%N); (S1, 611006%N); (S0, 176219%N); (S0, 9%N); (S0, 673557%N); (S0, 224497%N); (S0, 74808%N); (S1, 24912%N); (S0, 8278%N); (S1, 2736%N); (S0, 972%N); (S1, 36%N); (S0, 39%N); (S0, 35%N); (S0, 44%N); (S1, 24%N); (S0, 15%N); (S0, 7%N); (S0, 4%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 4%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 4%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 4%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 1%N); (S0, 5%N); (S0, 2%N)] [(S1, 1%N)]. | 2293 | Definition b28_24 : cfg := mkc false D [(S1, 611003%N); (S1, 176220%N); (S0, 9%N); (S0, 673557%N); (S0, 224497%N); (S0, 74808%N); (S1, 24912%N); (S0, 8278%N); (S1, 2736%N); (S0, 972%N); (S1, 36%N); (S0, 39%N); (S0, 35%N); (S0, 44%N); (S1, 24%N); (S0, 19%N); (S0, 7%N); (S0, 4%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 4%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 4%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 4%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 1%N); (S0, 5%N); (S0, 2%N)] [(S1, 1%N)]. |
| 2278 | Definition b28_25 : cfg := mkc true B [(S1, 712274%N); (S0, 163560%N); (S1, 8%N); (S0, 673558%N); (S1, 224496%N); (S0, 74808%N); (S1, 24912%N); (S0, 8279%N); (S0, 2735%N); (S0, 972%N); (S1, 36%N); (S0, 38%N); (S1, 36%N); (S0, 44%N); (S1, 24%N); (S0, 13%N); (S0, 9%N); (S0, 4%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 4%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 4%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 2%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 2%N)] [(S1, 1%N)]. | 2294 | Definition b28_25 : cfg := mkc false D [(S1, 712271%N); (S1, 163561%N); (S1, 8%N); (S0, 673558%N); (S1, 224496%N); (S0, 74808%N); (S1, 24912%N); (S0, 8279%N); (S0, 2735%N); (S0, 972%N); (S1, 36%N); (S0, 38%N); (S1, 36%N); (S0, 44%N); (S1, 24%N); (S0, 17%N); (S0, 9%N); (S0, 4%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 4%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 4%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 2%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 2%N)] [(S1, 1%N); (S1, 1%N)]. |
| 2279 | Definition b28_26 : cfg := mkc true B [(S0, 8278%N); (S1, 2736%N); (S0, 972%N); (S1, 36%N); (S0, 38%N); (S1, 36%N); (S0, 44%N); (S1, 24%N); (S0, 14%N); (S1, 8%N); (S0, 4%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 2%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 2%N)] [(S1, 24912%N); (S0, 74808%N); (S1, 224495%N); (S1, 673559%N); (S1, 8%N); (S0, 150901%N); (S0, 813545%N); (S0, 2%N)]. | 2295 | Definition b28_26 : cfg := mkc false D [(S0, 224495%N); (S0, 74808%N); (S1, 24912%N); (S0, 8277%N); (S0, 2737%N); (S0, 972%N); (S1, 36%N); (S0, 38%N); (S1, 36%N); (S0, 44%N); (S1, 24%N); (S0, 18%N); (S1, 8%N); (S0, 4%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 2%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 2%N)] [(S1, 673559%N); (S1, 8%N); (S0, 150901%N); (S0, 813545%N); (S0, 2%N)]. |
| 2280 | Definition b28_27 : cfg := mkc true B [(S0, 914810%N); (S1, 138244%N); (S0, 9%N); (S0, 673559%N); (S0, 224495%N); (S0, 74808%N); (S1, 24912%N); (S0, 8279%N); (S0, 2735%N); (S0, 972%N); (S1, 36%N); (S0, 37%N); (S0, 37%N); (S0, 44%N); (S1, 24%N); (S0, 15%N); (S0, 7%N); (S0, 4%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 4%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 4%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 1%N); (S0, 5%N); (S0, 2%N)] []. | 2296 | Definition b28_27 : cfg := mkc false E [(S0, 138245%N); (S0, 9%N); (S0, 673559%N); (S0, 224495%N); (S0, 74808%N); (S1, 24912%N); (S0, 8279%N); (S0, 2735%N); (S0, 972%N); (S1, 36%N); (S0, 37%N); (S0, 37%N); (S0, 44%N); (S1, 24%N); (S0, 19%N); (S0, 7%N); (S0, 4%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 4%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 4%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 1%N); (S0, 5%N); (S0, 2%N)] [(S1, 914807%N); (S1, 1%N)]. |
| 2281 | Definition b28_28 : cfg := mkc true B [(S0, 74808%N); (S1, 24912%N); (S0, 8278%N); (S1, 2736%N); (S0, 972%N); (S1, 36%N); (S0, 37%N); (S0, 37%N); (S0, 44%N); (S1, 24%N); (S0, 13%N); (S0, 9%N); (S0, 4%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 4%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 4%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 4%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 1%N); (S0, 5%N); (S0, 2%N); (S1, 4%N); (S0, 2%N)] [(S1, 224495%N); (S1, 673559%N); (S1, 8%N); (S0, 125586%N); (S1, 1016072%N); (S0, 2%N)]. | 2297 | Definition b28_28 : cfg := mkc false D [(S1, 24912%N); (S0, 8277%N); (S0, 2737%N); (S0, 972%N); (S1, 36%N); (S0, 37%N); (S0, 37%N); (S0, 44%N); (S1, 24%N); (S0, 17%N); (S0, 9%N); (S0, 4%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 4%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 4%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 4%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 1%N); (S0, 5%N); (S0, 2%N); (S1, 4%N); (S0, 2%N)] [(S0, 74808%N); (S1, 224495%N); (S1, 673559%N); (S1, 8%N); (S0, 125586%N); (S1, 1016072%N); (S0, 2%N)]. |
| 2282 | Definition b28_29 : cfg := mkc true B [(S0, 673559%N); (S0, 224495%N); (S0, 74808%N); (S1, 24912%N); (S0, 8279%N); (S0, 2735%N); (S0, 972%N); (S1, 36%N); (S0, 39%N); (S0, 35%N); (S0, 44%N); (S1, 24%N); (S0, 13%N); (S0, 9%N); (S0, 4%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 4%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 4%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 3%N); (S0, 3%N); (S0, 1%N); (S0, 5%N); (S0, 2%N); (S1, 4%N); (S0, 2%N)] [(S1, 8%N); (S0, 112925%N); (S0, 1117353%N); (S0, 2%N)]. | 2298 | Definition b28_29 : cfg := mkc false D [(S1, 1117353%N); (S1, 112925%N); (S1, 8%N); (S0, 673558%N); (S1, 224496%N); (S0, 74808%N); (S1, 24912%N); (S0, 8279%N); (S0, 2735%N); (S0, 972%N); (S1, 36%N); (S0, 39%N); (S0, 35%N); (S0, 44%N); (S1, 24%N); (S0, 17%N); (S0, 9%N); (S0, 4%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 4%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 4%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 3%N); (S0, 3%N); (S0, 1%N); (S0, 5%N); (S0, 2%N); (S1, 4%N); (S0, 2%N)] [(S0, 2%N)]. |
| 2283 | Definition b28_30 : cfg := mkc false A [(S0, 1%N); (S0, 7%N); (S0, 673558%N); (S1, 224496%N); (S0, 74808%N); (S1, 24912%N); (S0, 8278%N); (S1, 2736%N); (S0, 972%N); (S1, 36%N); (S0, 39%N); (S0, 35%N); (S0, 44%N); (S1, 24%N); (S0, 14%N); (S1, 8%N); (S0, 4%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 4%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 4%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 2%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 2%N)] [(S1, 1%N); (S1, 100267%N); (S1, 1218616%N); (S0, 2%N)]. | 2299 | Definition b28_30 : cfg := mkc false D [(S0, 673557%N); (S0, 224497%N); (S0, 74808%N); (S1, 24912%N); (S0, 8278%N); (S1, 2736%N); (S0, 972%N); (S1, 36%N); (S0, 39%N); (S0, 35%N); (S0, 44%N); (S1, 24%N); (S0, 18%N); (S1, 8%N); (S0, 4%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 4%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 4%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 2%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 2%N)] [(S1, 7%N); (S1, 100269%N); (S1, 1218616%N); (S0, 2%N)]. |
| 2284 | Definition b28_31 : cfg := mkc true C [(S1, 1%N); (S1, 1319886%N); (S0, 87610%N); (S1, 8%N); (S0, 673559%N); (S0, 224495%N); (S0, 74808%N); (S1, 24912%N); (S0, 8279%N); (S0, 2735%N); (S0, 972%N); (S1, 36%N); (S0, 38%N); (S1, 36%N); (S0, 44%N); (S1, 24%N); (S0, 15%N); (S0, 7%N); (S0, 4%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 4%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 4%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 1%N); (S0, 5%N); (S0, 3%N); (S0, 3%N); (S0, 2%N); (S1, 4%N); (S0, 2%N)] []. | 2300 | Definition b28_31 : cfg := mkc true C [(S1, 1319883%N); (S1, 87611%N); (S1, 8%N); (S0, 673559%N); (S0, 224495%N); (S0, 74808%N); (S1, 24912%N); (S0, 8279%N); (S0, 2735%N); (S0, 972%N); (S1, 36%N); (S0, 38%N); (S1, 36%N); (S0, 44%N); (S1, 24%N); (S0, 19%N); (S0, 7%N); (S0, 4%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 4%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 4%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 1%N); (S0, 5%N); (S0, 3%N); (S0, 3%N); (S0, 2%N); (S1, 4%N); (S0, 2%N)] []. |
| 2285 | Definition b28_32 : cfg := mkc false A [(S0, 1%N); (S0, 1421144%N); (S1, 74952%N); (S0, 9%N); (S0, 673557%N); (S0, 224497%N); (S0, 74808%N); (S1, 24912%N); (S0, 8278%N); (S1, 2736%N); (S0, 972%N); (S1, 36%N); (S0, 38%N); (S1, 36%N); (S0, 44%N); (S1, 24%N); (S0, 13%N); (S0, 9%N); (S0, 4%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 4%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 4%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 4%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 3%N); (S0, 3%N); (S0, 3%N); (S0, 3%N); (S0, 2%N); (S1, 4%N); (S0, 2%N)] [(S1, 1%N)]. | 2301 | Definition b28_32 : cfg := mkc true C [(S1, 1421142%N); (S0, 74953%N); (S0, 9%N); (S0, 673557%N); (S0, 224497%N); (S0, 74808%N); (S1, 24912%N); (S0, 8278%N); (S1, 2736%N); (S0, 972%N); (S1, 36%N); (S0, 38%N); (S1, 36%N); (S0, 44%N); (S1, 24%N); (S0, 17%N); (S0, 9%N); (S0, 4%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 4%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 4%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 4%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 3%N); (S0, 3%N); (S0, 3%N); (S0, 3%N); (S0, 2%N); (S1, 4%N); (S0, 2%N)] [(S0, 2%N)]. |
| 2286 | Definition b28_33 : cfg := mkc false D [(S1, 1522415%N); (S1, 62293%N); (S1, 8%N); (S0, 673558%N); (S1, 224496%N); (S0, 74808%N); (S1, 24912%N); (S0, 8279%N); (S0, 2735%N); (S0, 972%N); (S1, 36%N); (S0, 37%N); (S0, 37%N); (S0, 44%N); (S1, 24%N); (S0, 14%N); (S1, 8%N); (S0, 4%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 4%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 4%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 4%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 2%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 3%N); (S0, 3%N); (S0, 2%N)] [(S1, 1%N); (S1, 1%N)]. | 2302 | Definition b28_33 : cfg := mkc true C [(S1, 1%N); (S1, 1522414%N); (S0, 62294%N); (S1, 8%N); (S0, 673558%N); (S1, 224496%N); (S0, 74808%N); (S1, 24912%N); (S0, 8279%N); (S0, 2735%N); (S0, 972%N); (S1, 36%N); (S0, 37%N); (S0, 37%N); (S0, 44%N); (S1, 24%N); (S0, 18%N); (S1, 8%N); (S0, 4%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 4%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 4%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 4%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 2%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 3%N); (S0, 3%N); (S0, 2%N)] []. |
| 2287 | Definition b28_34 : cfg := mkc false E [(S0, 224497%N); (S0, 74808%N); (S1, 24912%N); (S0, 8278%N); (S1, 2736%N); (S0, 972%N); (S1, 36%N); (S0, 37%N); (S0, 37%N); (S0, 44%N); (S1, 24%N); (S0, 15%N); (S0, 7%N); (S0, 4%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 4%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 4%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 3%N); (S0, 3%N); (S0, 1%N); (S0, 5%N); (S0, 3%N); (S0, 3%N); (S0, 2%N)] [(S1, 673557%N); (S1, 8%N); (S0, 49634%N); (S1, 1623688%N); (S0, 2%N)]. | 2303 | Definition b28_34 : cfg := mkc true B [(S0, 673557%N); (S0, 224497%N); (S0, 74808%N); (S1, 24912%N); (S0, 8278%N); (S1, 2736%N); (S0, 972%N); (S1, 36%N); (S0, 37%N); (S0, 37%N); (S0, 44%N); (S1, 24%N); (S0, 19%N); (S0, 7%N); (S0, 4%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 4%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 4%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 3%N); (S0, 3%N); (S0, 1%N); (S0, 5%N); (S0, 3%N); (S0, 3%N); (S0, 2%N)] [(S1, 8%N); (S0, 49633%N); (S0, 1623689%N); (S0, 2%N)]. |
| 2288 | Definition b28_35 : cfg := mkc true B [(S0, 36974%N); (S1, 8%N); (S0, 673559%N); (S0, 224495%N); (S0, 74808%N); (S1, 24912%N); (S0, 8279%N); (S0, 2735%N); (S0, 972%N); (S1, 36%N); (S0, 39%N); (S0, 35%N); (S0, 44%N); (S1, 24%N); (S0, 15%N); (S0, 7%N); (S0, 4%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 4%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 4%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 2%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 2%N)] [(S1, 1724965%N)]. | 2304 | Definition b28_35 : cfg := mkc true B [(S0, 1724963%N); (S0, 36973%N); (S0, 9%N); (S0, 673559%N); (S0, 224495%N); (S0, 74808%N); (S1, 24912%N); (S0, 8279%N); (S0, 2735%N); (S0, 972%N); (S1, 36%N); (S0, 39%N); (S0, 35%N); (S0, 44%N); (S1, 24%N); (S0, 19%N); (S0, 7%N); (S0, 4%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 4%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 4%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 2%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 2%N)] []. |
| 2289 | Definition b28_36 : cfg := mkc false D [(S1, 1826223%N); (S1, 24317%N); (S1, 8%N); (S0, 673557%N); (S0, 224497%N); (S0, 74808%N); (S1, 24912%N); (S0, 8278%N); (S1, 2736%N); (S0, 972%N); (S1, 36%N); (S0, 39%N); (S0, 35%N); (S0, 44%N); (S1, 24%N); (S0, 13%N); (S0, 9%N); (S0, 4%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 4%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 1%N); (S0, 5%N); (S0, 3%N); (S0, 3%N); (S0, 3%N); (S0, 3%N); (S0, 2%N)] [(S1, 1%N); (S1, 1%N)]. | 2305 | Definition b28_36 : cfg := mkc true C [(S1, 1%N); (S1, 1826222%N); (S0, 24318%N); (S1, 8%N); (S0, 673557%N); (S0, 224497%N); (S0, 74808%N); (S1, 24912%N); (S0, 8278%N); (S1, 2736%N); (S0, 972%N); (S1, 36%N); (S0, 39%N); (S0, 35%N); (S0, 44%N); (S1, 24%N); (S0, 17%N); (S0, 9%N); (S0, 4%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 4%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 1%N); (S0, 5%N); (S0, 3%N); (S0, 3%N); (S0, 3%N); (S0, 3%N); (S0, 2%N)] []. |
| 2290 | Definition b28_37 : cfg := mkc false D [(S0, 2735%N); (S0, 972%N); (S1, 36%N); (S0, 38%N); (S1, 36%N); (S0, 44%N); (S1, 24%N); (S0, 14%N); (S1, 8%N); (S0, 4%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 4%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 3%N); (S0, 3%N); (S0, 3%N); (S0, 3%N); (S0, 3%N); (S0, 3%N); (S0, 2%N)] [(S1, 8279%N); (S1, 24912%N); (S0, 74808%N); (S1, 224495%N); (S1, 673559%N); (S1, 8%N); (S0, 11658%N); (S1, 1927496%N); (S0, 2%N)]. | 2306 | Definition b28_37 : cfg := mkc false D [(S1, 8%N); (S0, 673559%N); (S0, 224495%N); (S0, 74808%N); (S1, 24912%N); (S0, 8279%N); (S0, 2735%N); (S0, 972%N); (S1, 36%N); (S0, 38%N); (S1, 36%N); (S0, 44%N); (S1, 24%N); (S0, 18%N); (S1, 8%N); (S0, 4%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 4%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 3%N); (S0, 3%N); (S0, 3%N); (S0, 3%N); (S0, 3%N); (S0, 3%N); (S0, 2%N)] [(S0, 11658%N); (S1, 1927496%N); (S0, 2%N)]. |
| 2291 | Lemma ck_0 : runp 500000 b28_0 = Some (b28_1, true). | 2307 | Lemma ck_0 : runp 500000 b28_0 = Some (b28_1, true). |
| 2292 | Proof. native_compute. reflexivity. Qed. | 2308 | Proof. native_compute. reflexivity. Qed. |
| ⋯ 70 identical lines (template 2293–2362, ours 2309–2378) | |||
| 2363 | Lemma ck_36 : runp 500000 b28_36 = Some (b28_37, true). | 2379 | Lemma ck_36 : runp 500000 b28_36 = Some (b28_37, true). |
| 2364 | Proof. native_compute. reflexivity. Qed. | 2380 | Proof. native_compute. reflexivity. Qed. |
| 2365 | Lemma ck_37 : runp 71896 b28_37 = Some (cfg28, true). | 2381 | Lemma ck_37 : runp 71902 b28_37 = Some (cfg28, true). |
| 2366 | Proof. native_compute. reflexivity. Qed. | 2382 | Proof. native_compute. reflexivity. Qed. |
| 2367 | Lemma ck_ev p c c' : runp p c = Some (c', true) -> | 2383 | Lemma ck_ev p c c' : runp p c = Some (c', true) -> |
| 2368 | ev_cfg [] (fun _ => const S0) c -->* ev_cfg [] (fun _ => const S0) c'. | 2384 | ev_cfg [] (fun _ => const S0) c -->* ev_cfg [] (fun _ => const S0) c'. |
| 2369 | Proof. intros H. apply progress_evstep. exact (runp_spec [] (fun _ => const S0) _ _ _ _ H). Qed. | 2385 | Proof. intros H. apply progress_evstep. exact (runp_spec [] (fun _ => const S0) _ _ _ _ H). Qed. |
| 2371 | Lemma init28 : c0 -->* ev_cfg [] (fun _ => const S0) cfg28. | 2387 | Lemma init28 : B;; tape0 -->* ev_cfg [] (fun _ => const S0) cfg28. |
| 2372 | Proof. | 2388 | Proof. |
| 2373 | change c0 with (ev_cfg [] (fun _ => const S0) b28_0). | 2389 | change (B;; tape0) with (ev_cfg [] (fun _ => const S0) b28_0). |
| 2374 | eapply evstep_trans; [exact (ck_ev _ _ _ ck_0)|]. | 2390 | eapply evstep_trans; [exact (ck_ev _ _ _ ck_0)|]. |
| 2375 | eapply evstep_trans; [exact (ck_ev _ _ _ ck_1)|]. | 2391 | eapply evstep_trans; [exact (ck_ev _ _ _ ck_1)|]. |
| ⋯ 99 identical lines (template 2376–2484, ours 2392–2500) | |||
| 2486 | Definition L28 : list run := | 2502 | Definition L28 : list run := |
| 2487 | [(S0, cn 74808); (S1, cn 24912); (S0, cn 8277); (S0, cn 2737); (S0, cn 972); (S1, cn 36); | 2503 | [(S0, cn 74808); (S1, cn 24912); (S0, cn 8277); (S0, cn 2737); (S0, cn 972); (S1, cn 36); |
| 2488 | (S0, cn 37); (S0, cn 37); (S0, cn 44); (S1, cn 24); (S0, cn 13); (S0, cn 9); | 2504 | (S0, cn 37); (S0, cn 37); (S0, cn 44); (S1, cn 24); (S0, cn 17); (S0, cn 9); |
| 2489 | (S0, cn 4); (S1, cn 4); (S0, cn 1); (S0, cn 5); (S0, cn 4); (S1, cn 4); (S0, cn 1); (S0, cn 5); | 2505 | (S0, cn 4); (S1, cn 4); (S0, cn 1); (S0, cn 5); (S0, cn 4); (S1, cn 4); |
| 2490 | (S0, cn 4); (S1, cn 4); (S0, cn 1); (S0, cn 5); (S0, cn 1); (S0, cn 6); (S1, cn 4); (S0, cn 1); | ||
| 2506 | (S0, cn 1); (S0, cn 5); (S0, cn 4); (S1, cn 4); (S0, cn 1); (S0, cn 5); | ||
| 2491 | (S0, cn 5); (S0, cn 1); (S0, cn 5); (S0, cn 1); (S0, cn 5); (S0, cn 1); (S0, cn 5); (S0, cn 2)]%N. | ||
| 2507 | (S0, cn 1); (S0, cn 6); (S1, cn 4); (S0, cn 1); (S0, cn 5); (S0, cn 1); | ||
| 2508 | (S0, cn 5); (S0, cn 1); (S0, cn 5); (S0, cn 1); (S0, cn 5); (S0, cn 2)]%N. | ||
| 2492 | Definition R28 : list run := [(S0, cn 224492); (S1, cn 673559); (S1, cn 7); (S1, cn 9841); (S1, cn 1942040); (S0, cn 2)]%N. | 2509 | Definition R28 : list run := [(S0, cn 224492); (S1, cn 673559); (S1, cn 7); (S1, cn 9841); (S1, cn 1942040); (S0, cn 2)]%N. |
| 2494 | Definition nus28 : list (list N) := | 2510 | Definition nus28 : list (list N) := |
| 2495 | [[18701; 6227; 2069; 683]; [242; 8; 9; 8]; [10; 5; 3; 1]; [0; 0; 0; 0]; [0; 0; 0; 0]; [0; 0; 0; 0]]%N. | 2511 | [[18701; 6227; 2069; 683]; [242; 8; 9; 8]; [10; 5; 4; 1]; [0; 0; 0; 0]; [0; 0; 0; 0]; [0; 0; 0; 0]]%N. |
| 2497 | Lemma inv28 : Inv (C5, 2, 0%N, nus28). | 2513 | Lemma inv28 : Inv (C5, 2, 0%N, nus28). |
| 2498 | Proof. | 2514 | Proof. |
| ⋯ 33 identical lines (template 2499–2538, ours 2515–2554) | |||
| 2539 | (* The machine never halts. *) | 2555 | (* The machine never halts. *) |
| 2540 | (* ===================================================================== *) | 2556 | (* ===================================================================== *) |
| 2542 | Lemma nonhalt : ~ halts tm c0. | 2558 | Lemma nonhalt_P : ~ halts tmP (B;; tape0). |
| 2543 | Proof. | 2559 | Proof. |
| 2544 | eapply multistep_nonhalt. | 2560 | eapply multistep_nonhalt. |
| 2545 | - eapply evstep_trans; [apply init28 | exact base28]. | 2561 | - eapply evstep_trans; [apply init28 | exact base28]. |
| 2546 | - apply (progress_nonhalt_cond tm ist (C5, 2, 0%N, nus28) cfgI Inv inv_step inv28). | 2562 | - apply (progress_nonhalt_cond tmP ist (C5, 2, 0%N, nus28) cfgI Inv inv_step inv28). |
| 2563 | Qed. | ||
| 2565 | Definition phi (q : Q) : Q := | ||
| 2566 | match q with A => B | B => C | C => D | D => E | E => A | F => F end. | ||
| 2568 | Lemma perm_phi : Perm tm tmP phi. | ||
| 2569 | Proof. | ||
| 2570 | split. | ||
| 2571 | - intros [] [] H; cbn in *; try discriminate; reflexivity. | ||
| 2572 | - intros [] [] s' d q' H; cbn in *; inversion H; subst; reflexivity. | ||
| 2573 | Qed. | ||
| 2575 | Lemma nonhalt : ~ halts tm c0. | ||
| 2576 | Proof. | ||
| 2577 | intros H. | ||
| 2578 | change (halts tm (A;; tape0)) in H. | ||
| 2579 | exact (nonhalt_P (perm_halts _ _ _ _ _ perm_phi H)). | ||
| 2547 | Qed. | 2580 | Qed. |
| 2551 | (* | 2583 | (* |
| 2552 | ``` | 2584 | ``` |
| 2553 | 1RB0RF_1RC0RB_1LD0RA_1LE0LD_1RB0LC_1LA--- | 2585 | 1RB0RA_1LC0RE_1LD0LC_1RA0LB_1RA0RF_1LE--- |
| 2555 | 0 1 | ||
| 2587 | tm 0 1 tmP 0 1 | ||
| 2556 | A 1RB 0RF | ||
| 2588 | A 1RB 0RA A 1RB 0RF | ||
| 2557 | B 1RC 0RB | ||
| 2589 | B 1LC 0RE B 1RC 0RB | ||
| 2558 | C 1LD 0RA | ||
| 2590 | C 1LD 0LC C 1LD 0RA | ||
| 2559 | D 1LE 0LD | ||
| 2591 | D 1RA 0LB D 1LE 0LD | ||
| 2560 | E 1RB 0LC | ||
| 2592 | E 1RA 0RF E 1RB 0LC | ||
| 2561 | F 1LA --- | ||
| 2593 | F 1LE --- F 1LA --- | ||
| 2595 | tm c0 = 0^inf A> 0^inf <-> tmP from 0^inf B> 0^inf (Perm tm tmP phi, perm_halts) | ||
| 2596 | record exit 28 of this start: 18,571,902 simulator steps; chain gap variables nus28 = | ||
| 2597 | [18701; 6227; 2069; 683] [242; 8; 9; 8] [10; 5; 4; 1] [0; 0; 0; 0] [0; 0; 0; 0] [0; 0; 0; 0] | ||
| 2599 | parent structure (unchanged): | ||
| 2563 | sweep cycles (alternating cells, every cell complemented): | 2601 | sweep cycles (alternating cells, every cell complemented): |
| 2564 | right: B0 C1 A0 B1 (1RC 0RA 1RB 0RB) | 2602 | right: B0 C1 A0 B1 (1RC 0RA 1RB 0RB) |
| ⋯ 15 identical lines (template 2565–2582, ours 2603–2620) | |||
| 2583 | ``` | 2621 | ``` |
| 2584 | *) | 2622 | *) |
4Proof outlineCheck: the new items (green) carry the argument; the names read like the proof.md rules.
451 items in 1RB0RA_1LC0RE_1LD0LC_1RA0LB_1RA0RF_1LE---.v (2622 lines): 230 Lemma, 186 Definition, 28 Fixpoint, 6 Inductive, 1 Record. Tags against the template: identical = same name and same text once each file's own TM string is <TM> (marked "except the TM string" when that is the only difference); adapted = same name, different text; new = no item of that name in the template part.
| # | kind | name | statement (no proof body) | line | vs template |
|---|---|---|---|---|---|
| 1 | Definition | tm | Definition tm := Eval compute in (TM_from_str "1RB0RA_1LC0RE_1LD0LC_1RA0LB_1RA0RF_1LE---"). | L45 | identicalexcept the TM string |
| 2 | Definition | tmP | Definition tmP := Eval compute in (TM_from_str "1RB0RF_1RC0RB_1LD0RA_1LE0LD_1RB0LC_1LA---"). | L46 | new |
| 3 | Definition | sneg | Definition sneg (s : Sym) : Sym := match s with S0 => S1 | S1 => S0 end. | L63 | identical |
| 4 | Definition | seqb | Definition seqb (a b : Sym) : bool := match a, b with S0, S0 | S1, S1 => true | _, _ => false end. | L64 | identical |
| 5 | Record | lf | Record lf := LF { lc : N; lv : list N }. | L67 | identical |
| 6 | Fixpoint | dot | Fixpoint dot (vs nu : list N) : N := match vs, nu with | v :: vs', x :: nu' => (v * x + dot vs' nu')%N | _, _ => 0%N end. | L69 | identical |
| 7 | Definition | ev | Definition ev (nu : list N) (a : lf) : nat := N.to_nat (lc a + dot (lv a) nu). | L75 | identical |
| 8 | Fixpoint | zadd | Fixpoint zadd (a b : list N) : list N := match a, b with | x :: a', y :: b' => (x + y)%N :: zadd a' b' | [], _ => b | _, [] => a end. | L77 | identical |
| 9 | Definition | lf_add | Definition lf_add (a b : lf) : lf := LF (lc a + lc b) (zadd (lv a) (lv b)). | L84 | identical |
| 10 | Definition | lf_S | Definition lf_S (a : lf) : lf := LF (N.succ (lc a)) (lv a). | L85 | identical |
| 11 | Definition | lf_one | Definition lf_one : lf := LF 1 []. | L86 | identical |
| 12 | Definition | allz | Definition allz (vs : list N) : bool := forallb (fun v => N.eqb v 0) vs. | L87 | identical |
| 13 | Definition | all4 | Definition all4 (vs : list N) : bool := forallb (fun v => N.eqb (N.modulo v 4) 0) vs. | L88 | identical |
| 14 | Definition | is_zero | Definition is_zero (a : lf) : bool := andb (N.eqb (lc a) 0) (allz (lv a)). | L89 | identical |
| 15 | Definition | is_one | Definition is_one (a : lf) : bool := andb (N.eqb (lc a) 1) (allz (lv a)). | L90 | identical |
| 16 | Definition | posb | Definition posb (a : lf) : bool := negb (N.eqb (lc a) 0). | L91 | identical |
| 17 | Inductive | tl_ | Inductive tl_ := T0 | TV (k : nat). | L93 | identical |
| 18 | Definition | run | Definition run : Type := (Sym * lf)%type. | L94 | identical |
| 19 | Definition | sd | Definition sd : Type := (list run * tl_)%type. | L95 | identical |
| 20 | Fixpoint | alt | Fixpoint alt (b : Sym) (n : nat) : list Sym := match n with O => [] | S n' => b :: alt (sneg b) n' end. | L97 | identical |
| 21 | Definition | ev_tl | Definition ev_tl (sg : nat -> side) (t : tl_) : side := match t with T0 => const S0 | TV k => sg k end. | L100 | identical |
| 22 | Fixpoint | ev_runs | Fixpoint ev_runs (nu : list N) (rs : list run) (s : side) : side := match rs with | [] => s | (b, n) :: rs' => alt b (ev nu n) *> ev_runs nu rs' s end. | L103 | identical |
| 23 | Definition | ev_sd | Definition ev_sd nu sg (s : sd) : side := ev_runs nu (fst s) (ev_tl sg (snd s)). | L109 | identical |
| 24 | Fixpoint | pop_runs | Fixpoint pop_runs (rs : list run) (t : tl_) : option (Sym * sd) :=
match rs with
| (b, n) :: rs' =>
if is_zero n then pop_runs rs' t
else if posb n then
Some (b, ((if is_one n then rs' else (sneg b, LF (N.pred (lc n)) (lv n)) :: rs'), t))
… +3 lines | L111 | identical |
| 25 | Definition | pop | Definition pop (s : sd) : option (Sym * sd) := pop_runs (fst s) (snd s). | L121 | identical |
| 26 | Definition | push | Definition push (w : Sym) (s : sd) : sd :=
match s with
| ((b0, n0) :: rs, t) =>
if seqb w b0 then ((w, lf_one) :: (b0, n0) :: rs, t)
else ((w, lf_S n0) :: rs, t)
| ([], t) => ([(w, lf_one)], t)
… +1 lines | L123 | identical |
| 27 | Definition | afterb | Definition afterb (c : Sym) (n : lf) : Sym := if N.eqb (N.modulo (lc n) 2) 0 then c else sneg c. | L132 | identical |
| 28 | Definition | push_run | Definition push_run (c : Sym) (n : lf) (s : sd) : sd :=
match s with
| ((b0, n0) :: rs, t) =>
if seqb (afterb c n) b0 then ((c, lf_add n n0) :: rs, t)
else ((c, n) :: (b0, n0) :: rs, t)
| ([], t) => ([(c, n)], t)
… +1 lines | L134 | identical |
| 29 | Definition | cR_st | Definition cR_st (i : nat) : Q := match i mod 4 with 0 => B | 1 => C | 2 => A | _ => B end. | L143 | identical |
| 30 | Definition | cR_bt | Definition cR_bt (i : nat) : Sym := match i mod 4 with 0 => S0 | 1 => S1 | 2 => S0 | _ => S1 end. | L145 | identical |
| 31 | Definition | cR_idx | Definition cR_idx (q : Q) (b : Sym) : option nat := match q, b with | B, S0 => Some 0 | C, S1 => Some 1 | A, S0 => Some 2 | B, S1 => Some 3 | _, _ => None end. | L147 | identical |
| 32 | Definition | cL_st | Definition cL_st (i : nat) : Q := match i mod 4 with 0 => D | 1 => D | 2 => E | _ => C end. | L152 | identical |
| 33 | Definition | cL_bt | Definition cL_bt (i : nat) : Sym := match i mod 4 with 0 => S1 | 1 => S0 | 2 => S1 | _ => S0 end. | L154 | identical |
| 34 | Definition | cL_idx | Definition cL_idx (q : Q) (b : Sym) : option nat := match q, b with | D, S1 => Some 0 | D, S0 => Some 1 | E, S1 => Some 2 | C, S0 => Some 3 | _, _ => None end. | L156 | identical |
| 35 | Definition | lastb | Definition lastb (c : Sym) (n : lf) : Sym := if N.eqb (N.modulo (lc n) 2) 0 then sneg c else c. | L163 | identical |
| 36 | Inductive | cfg | Inductive cfg := Rc (q : Q) (l r : sd) | Lc (q : Q) (l r : sd). | L165 | identical |
| 37 | Definition | ev_cfg | Definition ev_cfg nu sg (c : cfg) : Q * tape :=
match c with
| Rc q l r => (ev_sd nu sg l) {{q}}> (ev_sd nu sg r)
| Lc q l r => (ev_sd nu sg l) <{{q}} (ev_sd nu sg r)
end. | L167 | identical |
| 38 | Definition | single | Definition single (c : cfg) : option cfg :=
match c with
| Rc q l r =>
match pop r with
| Some (s, r') =>
match tmP (q, s) with
… +17 lines | L173 | adapted |
| 39 | Definition | tag | Definition tag (o : option cfg) : option (cfg * bool) := match o with Some c => Some (c, true) | None => None end. | L197 | identical |
| 40 | Definition | sstep | Definition sstep (c : cfg) : option (cfg * bool) :=
match c with
| Rc q l ((b, n) :: rs, t) =>
if is_zero n then Some (Rc q l (rs, t), false) else
match cR_idx q b with
| Some i =>
… +16 lines | L200 | identical |
| 41 | Fixpoint | runp | Fixpoint runp (p : positive) (c : cfg) : option (cfg * bool) :=
match p with
| xH => sstep c
| xO p' =>
match runp p' c with
| Some (c1, b1) => match runp p' c1 with Some (c2, b2) => Some (c2, orb b1 b2) | None => None end
… +12 lines | L224 | identical |
| 42 | Lemma | sneg_neq | Lemma sneg_neq a b : seqb a b = false -> b = sneg a. | L247 | identical |
| 43 | Lemma | seqb_eq | Lemma seqb_eq a b : seqb a b = true -> a = b. | L250 | identical |
| 44 | Lemma | sneg_sneg | Lemma sneg_sneg a : sneg (sneg a) = a. | L253 | identical |
| 45 | Lemma | dot_zadd | Lemma dot_zadd a b nu : dot (zadd a b) nu = (dot a nu + dot b nu)%N. | L256 | identical |
| 46 | Lemma | ev_add | Lemma ev_add nu a b : ev nu (lf_add a b) = ev nu a + ev nu b. | L262 | identical |
| 47 | Lemma | ev_S | Lemma ev_S nu a : ev nu (lf_S a) = S (ev nu a). | L265 | identical |
| 48 | Lemma | allz_dot | Lemma allz_dot vs nu : allz vs = true -> dot vs nu = 0%N. | L268 | identical |
| 49 | Lemma | all4_dot | Lemma all4_dot vs nu : all4 vs = true -> exists k, dot vs nu = (4 * k)%N. | L274 | identical |
| 50 | Lemma | ev_zero | Lemma ev_zero nu a : is_zero a = true -> ev nu a = 0. | L283 | identical |
| 51 | Lemma | ev_one | Lemma ev_one nu a : is_one a = true -> ev nu a = 1. | L289 | identical |
| 52 | Lemma | ev_pos | Lemma ev_pos nu a : posb a = true -> ev nu a = S (ev nu (LF (N.pred (lc a)) (lv a))). | L295 | identical |
| 53 | Lemma | ev_mod4 | Lemma ev_mod4 nu a : all4 (lv a) = true -> exists k, ev nu a = N.to_nat (lc a) + 4 * k. | L300 | identical |
| 54 | Lemma | ev_runs_app | Lemma ev_runs_app nu rs1 rs2 s : ev_runs nu (rs1 ++ rs2) s = ev_runs nu rs1 (ev_runs nu rs2 s). | L306 | identical |
| 55 | Lemma | pop_runs_spec | Lemma pop_runs_spec nu sg rs t b s' : pop_runs rs t = Some (b, s') -> ev_runs nu rs (ev_tl sg t) = b >> ev_sd nu sg s'. | L309 | identical |
| 56 | Lemma | pop_spec | Lemma pop_spec nu sg s b s' : pop s = Some (b, s') -> ev_sd nu sg s = b >> ev_sd nu sg s'. | L323 | identical |
| 57 | Lemma | push_spec | Lemma push_spec nu sg w s : ev_sd nu sg (push w s) = w >> ev_sd nu sg s. | L326 | identical |
| 58 | Definition | afterb_nat | Definition afterb_nat (c : Sym) (n : nat) : Sym := if Nat.eqb (n mod 2) 0 then c else sneg c. | L333 | identical |
| 59 | Lemma | afterb_nat_S | Lemma afterb_nat_S c m : afterb_nat c (S m) = afterb_nat (sneg c) m. | L335 | identical |
| 60 | Lemma | alt_add | Lemma alt_add c m k : alt c (m + k) = alt c m ++ alt (afterb_nat c m) k. | L342 | identical |
| 61 | Lemma | afterb_ev | Lemma afterb_ev nu c n : all4 (lv n) = true -> afterb c n = afterb_nat c (ev nu n). | L349 | identical |
| 62 | Lemma | push_run_spec | Lemma push_run_spec nu sg c n s : all4 (lv n) = true -> ev_sd nu sg (push_run c n s) = alt c (ev nu n) *> ev_sd nu sg s. | L356 | identical |
| 63 | Definition | lastb_nat | Definition lastb_nat (c : Sym) (m : nat) : Sym := if Nat.eqb (m mod 2) 0 then sneg c else c. | L366 | identical |
| 64 | Lemma | lastb_ev | Lemma lastb_ev nu c n : all4 (lv n) = true -> lastb c n = lastb_nat c (ev nu n). | L368 | identical |
| 65 | Lemma | rev_alt | Lemma rev_alt b m (l : side) : alt (sneg (lastb_nat b (S m))) (S m) *> l = alt (sneg (lastb_nat (sneg b) m)) m *> (sneg b >> l). | L375 | identical |
| 66 | Lemma | cR_cases | Lemma cR_cases i : (i mod 4 = 0 /\ S i mod 4 = 1) \/ (i mod 4 = 1 /\ S i mod 4 = 2) \/ (i mod 4 = 2 /\ S i mod 4 = 3) \/ (i mod 4 = 3 /\ S i mod 4 = 0). | L384 | identical |
| 67 | Lemma | cR_tm | Lemma cR_tm i : tmP (cR_st i, cR_bt i) = Some (sneg (cR_bt i), R, cR_st (S i)). | L388 | adapted |
| 68 | Lemma | cR_bt_S | Lemma cR_bt_S i : cR_bt (S i) = sneg (cR_bt i). | L394 | identical |
| 69 | Lemma | cL_tm | Lemma cL_tm i : tmP (cL_st i, cL_bt i) = Some (sneg (cL_bt i), L, cL_st (S i)). | L400 | adapted |
| 70 | Lemma | cL_bt_S | Lemma cL_bt_S i : cL_bt (S i) = sneg (cL_bt i). | L406 | identical |
| 71 | Lemma | accR_step | Lemma accR_step i l X :
(l {{cR_st i}}> (cR_bt i >> X)) --> ((sneg (cR_bt i) >> l) {{cR_st (S i)}}> X). | L412 | identical |
| 72 | Lemma | accL_step | Lemma accL_step i r X :
((cL_bt i >> X) <{{cL_st i}} r) --> (X <{{cL_st (S i)}} (sneg (cL_bt i) >> r)). | L416 | identical |
| 73 | Lemma | accR | Lemma accR m : forall i l r,
(l {{cR_st i}}> (alt (cR_bt i) m *> r)) -->*
((alt (sneg (lastb_nat (cR_bt i) m)) m *> l) {{cR_st (i + m)}}> r). | L420 | identical |
| 74 | Lemma | accR_S | Lemma accR_S m i l r :
(l {{cR_st i}}> (alt (cR_bt i) (S m) *> r)) -->+
((alt (sneg (lastb_nat (cR_bt i) (S m))) (S m) *> l) {{cR_st (i + S m)}}> r). | L431 | identical |
| 75 | Lemma | accL | Lemma accL m : forall i l r,
((alt (cL_bt i) m *> l) <{{cL_st i}} r) -->*
(l <{{cL_st (i + m)}} (alt (sneg (lastb_nat (cL_bt i) m)) m *> r)). | L440 | identical |
| 76 | Lemma | accL_S | Lemma accL_S m i l r :
((alt (cL_bt i) (S m) *> l) <{{cL_st i}} r) -->+
(l <{{cL_st (i + S m)}} (alt (sneg (lastb_nat (cL_bt i) (S m))) (S m) *> r)). | L451 | identical |
| 77 | Lemma | single_spec | Lemma single_spec nu sg c c' : single c = Some c' -> ev_cfg nu sg c --> ev_cfg nu sg c'. | L460 | adapted |
| 78 | Definition | Rel | Definition Rel (b : bool) (c c' : Q * tape) : Prop := if b then c -->+ c' else c -->* c'. | L477 | identical |
| 79 | Lemma | Rel_trans | Lemma Rel_trans b1 b2 c c' c'' : Rel b1 c c' -> Rel b2 c' c'' -> Rel (orb b1 b2) c c''. | L479 | identical |
| 80 | Lemma | tag_spec | Lemma tag_spec nu sg c o c' b : o = single c -> tag o = Some (c', b) -> Rel b (ev_cfg nu sg c) (ev_cfg nu sg c'). | L488 | identical |
| 81 | Lemma | cR_idx_spec | Lemma cR_idx_spec q b i : cR_idx q b = Some i -> q = cR_st i /\ b = cR_bt i. | L494 | identical |
| 82 | Lemma | cL_idx_spec | Lemma cL_idx_spec q b i : cL_idx q b = Some i -> q = cL_st i /\ b = cL_bt i. | L497 | identical |
| 83 | Lemma | cR_st_mod | Lemma cR_st_mod i k : cR_st (i + N.to_nat (N.modulo k 4)) = cR_st (i + N.to_nat k). | L500 | identical |
| 84 | Lemma | cL_st_mod | Lemma cL_st_mod i k : cL_st (i + N.to_nat (N.modulo k 4)) = cL_st (i + N.to_nat k). | L506 | identical |
| 85 | Lemma | cR_st_add4 | Lemma cR_st_add4 i a k : cR_st (i + (a + 4 * k)) = cR_st (i + a). | L512 | identical |
| 86 | Lemma | cL_st_add4 | Lemma cL_st_add4 i a k : cL_st (i + (a + 4 * k)) = cL_st (i + a). | L515 | identical |
| 87 | Lemma | sstep_spec | Lemma sstep_spec nu sg c c' b : sstep c = Some (c', b) -> Rel b (ev_cfg nu sg c) (ev_cfg nu sg c'). | L518 | identical |
| 88 | Lemma | runp_spec | Lemma runp_spec nu sg p : forall c c' b, runp p c = Some (c', b) -> Rel b (ev_cfg nu sg c) (ev_cfg nu sg c'). | L553 | identical |
| 89 | Fixpoint | strip0 | Fixpoint strip0 (vs : list N) : list N := match vs with | [] => [] | v :: vs' => match strip0 vs' with [] => if N.eqb v 0 then [] else [v] | w => v :: w end end. | L573 | identical |
| 90 | Fixpoint | listN_eqb | Fixpoint listN_eqb (a b : list N) : bool := match a, b with | [], [] => true | x :: a', y :: b' => andb (N.eqb x y) (listN_eqb a' b') | _, _ => false end. | L579 | identical |
| 91 | Definition | lf_eqb | Definition lf_eqb (a b : lf) : bool := andb (N.eqb (lc a) (lc b)) (listN_eqb (strip0 (lv a)) (strip0 (lv b))). | L586 | identical |
| 92 | Definition | runs_eqb | Definition runs_eqb (a b : list run) : bool := (fix f (a b : list run) := match a, b with | [], [] => true | (x, n) :: a', (y, m) :: b' => andb (andb (seqb x y) (lf_eqb n m)) (f a' b') | _, _ => false end) a b. | L588 | identical |
| 93 | Definition | tl_eqb | Definition tl_eqb (a b : tl_) : bool := match a, b with T0, T0 => true | TV i, TV j => Nat.eqb i j | _, _ => false end. | L594 | identical |
| 94 | Definition | sd_eqb | Definition sd_eqb (a b : sd) : bool := andb (runs_eqb (fst a) (fst b)) (tl_eqb (snd a) (snd b)). | L597 | identical |
| 95 | Definition | q_eqb | Definition q_eqb (a b : Q) : bool := match a, b with A, A | B, B | C, C | D, D | E, E | F, F => true | _, _ => false end. | L599 | identical |
| 96 | Definition | cfg_eqb | Definition cfg_eqb (a b : cfg) : bool := match a, b with | Rc q l r, Rc q' l' r' => andb (q_eqb q q') (andb (sd_eqb l l') (sd_eqb r r')) | Lc q l r, Lc q' l' r' => andb (q_eqb q q') (andb (sd_eqb l l') (sd_eqb r r')) | _, _ => false end. | L602 | identical |
| 97 | Lemma | dot_strip0 | Lemma dot_strip0 vs nu : dot (strip0 vs) nu = dot vs nu. | L609 | identical |
| 98 | Lemma | listN_eqb_eq | Lemma listN_eqb_eq a b : listN_eqb a b = true -> a = b. | L619 | identical |
| 99 | Lemma | lf_eqb_ev | Lemma lf_eqb_ev nu a b : lf_eqb a b = true -> ev nu a = ev nu b. | L625 | identical |
| 100 | Lemma | runs_eqb_ev | Lemma runs_eqb_ev nu a b s : runs_eqb a b = true -> ev_runs nu a s = ev_runs nu b s. | L632 | identical |
| 101 | Lemma | sd_eqb_ev | Lemma sd_eqb_ev nu sg a b : sd_eqb a b = true -> ev_sd nu sg a = ev_sd nu sg b. | L639 | identical |
| 102 | Lemma | q_eqb_eq | Lemma q_eqb_eq a b : q_eqb a b = true -> a = b. | L648 | identical |
| 103 | Lemma | cfg_eqb_ev | Lemma cfg_eqb_ev nu sg a b : cfg_eqb a b = true -> ev_cfg nu sg a = ev_cfg nu sg b. | L651 | identical |
| 104 | Definition | rstep | Definition rstep (tgt : cfg) (st : cfg * bool * bool) : cfg * bool * bool := let '(c, pr, dn) := st in if dn then st else match sstep c with | Some (c', b) => (c', orb pr b, cfg_eqb c' tgt) | None => st … +1 lines | L659 | identical |
| 105 | Definition | reach | Definition reach (fuel : positive) (c tgt : cfg) : bool := let '(c', pr, dn) := Pos.iter (rstep tgt) (c, false, false) fuel in andb pr dn. | L668 | identical |
| 106 | Lemma | reach_spec | Lemma reach_spec fuel c tgt : reach fuel c tgt = true -> forall nu sg, ev_cfg nu sg c -->+ ev_cfg nu sg tgt. | L671 | identical |
| 107 | Definition | cn | Definition cn (n : N) : lf := LF n []. | L690 | identical |
| 108 | Fixpoint | mkruns | Fixpoint mkruns (b : Sym) (ns : list lf) : list run := match ns with [] => [] | n :: ns' => (b, n) :: mkruns (lastb b n) ns' end. | L696 | identical |
| 109 | Definition | vt | Definition vt c := LF c [4;0;0;0]%N. | L700 | identical |
| 110 | Definition | vs | Definition vs c := LF c [0;4;0;0]%N. | L701 | identical |
| 111 | Definition | va | Definition va c := LF c [0;0;4;0]%N. | L702 | identical |
| 112 | Definition | vl | Definition vl c := LF c [0;0;0;4]%N. | L703 | identical |
| 113 | Inductive | lab | Inductive lab := U0 | U1 | U2 | W0 | W1 | D0 | D1 | D2. | L705 | identical |
| 114 | Definition | lens | Definition lens (s : lab) : list lf := match s with | U0 => [cn 3; vt 4; vs 4; va 1; vl 2] | U1 => [cn 3; vt 4; vs 4; va 2; vl 1] | U2 => [cn 3; vt 4; vs 4; va 3; vl 0] | W0 => [cn 3; vt 1; vs 6; va 4; vl 0] … +5 lines | L707 | identical |
| 115 | Definition | blk | Definition blk (s : lab) : list run := mkruns S0 (lens s). | L718 | identical |
| 116 | Definition | rlens | Definition rlens (s : lab) : list lf := match s with | D0 => [vl 0; va 4; vs 4; vt 3; cn 3] | _ => [vl 0; va 3; vs 4; vt 4; cn 3] end%N. | L721 | identical |
| 117 | Definition | rblk | Definition rblk (s : lab) : list run := mkruns S0 (rlens s). | L726 | identical |
| 118 | Inductive | lab1 | Inductive lab1 := P0 | P1 | PD0 | PD1 | PD2. | L729 | identical |
| 119 | Definition | lens1 | Definition lens1 (s : lab1) : list lf := match s with | P0 => [cn 3; cn 1; cn 3] | P1 => [cn 3; cn 2; cn 2] | PD0 => [cn 3; cn 3; cn 1] | PD1 => [cn 2; cn 4; cn 1] | PD2 => [cn 1; cn 5; cn 1] end%N. | L730 | identical |
| 120 | Definition | blk1 | Definition blk1 (s : lab1) : list run := mkruns S0 (lens1 s). | L735 | identical |
| 121 | Definition | rblk1 | Definition rblk1 : list run := mkruns S1 [cn 1; cn 3; cn 3]%N. | L736 | identical |
| 122 | Definition | stp | Definition stp (p : bool) : Q := if p then A else B. | L739 | identical |
| 123 | Definition | turn | Definition turn (s : lab) : option (lab * bool) := match s with | U0 => Some (U1, true) | U1 => Some (U2, true) | W0 => Some (W1, true) | W1 => Some (D0, true) | D1 => Some (D0, false) | D2 => Some (D1, false) | _ => None end. | L741 | identical |
| 124 | Definition | reset | Definition reset (s : lab) (p : bool) : option (lab * bool) := match s, p with | U2, true => Some (U0, true) | U2, false => Some (W0, true) | D0, false => Some (D2, false) | _, _ => None end. | L746 | identical |
| 125 | Definition | turn1 | Definition turn1 (s : lab1) : option (lab1 * bool) := match s with | P0 => Some (P1, true) | P1 => Some (PD0, true) | PD1 => Some (PD0, false) | PD2 => Some (PD1, false) | PD0 => None end. | L751 | identical |
| 126 | Definition | sg2 | Definition sg2 (L R : side) : nat -> side := fun k => match k with O => L | _ => R end. | L757 | identical |
| 127 | Lemma | reach_LR | Lemma reach_LR fuel q q' l l' nu L R :
reach fuel (Lc q (l, TV 0) ([], TV 1)) (Rc q' (l', TV 0) ([], TV 1)) = true ->
ev_runs nu l L <{{q}} R -->+ ev_runs nu l' L {{q'}}> R. | L759 | identical |
| 128 | Lemma | reach_LL | Lemma reach_LL fuel q q' l r' nu L R :
reach fuel (Lc q (l, TV 0) ([], TV 1)) (Lc q' ([], TV 0) (r', TV 1)) = true ->
ev_runs nu l L <{{q}} R -->+ L <{{q'}} ev_runs nu r' R. | L764 | identical |
| 129 | Lemma | reach_RR | Lemma reach_RR fuel q q' r l' nu L R :
reach fuel (Rc q ([], TV 0) (r, TV 1)) (Rc q' (l', TV 0) ([], TV 1)) = true ->
L {{q}}> ev_runs nu r R -->+ ev_runs nu l' L {{q'}}> R. | L769 | identical |
| 130 | Lemma | blk_turn | Lemma blk_turn s s' p nu L R : turn s = Some (s', p) ->
ev_runs nu (blk s) L <{{D}} R -->+ ev_runs nu (blk s') L {{stp p}}> R. | L774 | identical |
| 131 | Lemma | blk_pass | Lemma blk_pass s nu L R : turn s = None ->
ev_runs nu (blk s) L <{{D}} R -->+ L <{{D}} ev_runs nu (rblk s) R. | L781 | identical |
| 132 | Lemma | blk_reset | Lemma blk_reset s p s' p' nu L R : reset s p = Some (s', p') ->
L {{stp p}}> ev_runs nu (rblk s) R -->+ ev_runs nu (blk s') L {{stp p'}}> R. | L787 | identical |
| 133 | Lemma | blk1_turn | Lemma blk1_turn s s' p L R : turn1 s = Some (s', p) ->
ev_runs [] (blk1 s) L <{{D}} R -->+ ev_runs [] (blk1 s') L {{stp p}}> R. | L794 | identical |
| 134 | Lemma | blk1_pass | Lemma blk1_pass L R : ev_runs [] (blk1 PD0) L <{{D}} R -->+ L <{{E}} ev_runs [] rblk1 R. | L801 | identical |
| 135 | Lemma | blk1_back | Lemma blk1_back L R : L {{B}}> ev_runs [] rblk1 R -->+ ev_runs [] (blk1 PD2) L {{B}}> R. | L804 | identical |
| 136 | Definition | dgr | Definition dgr (v : nat) : list run := match v with | O => [(S0, cn 1); (S0, cn 5)] | S O => [(S0, cn 2); (S1, cn 4)] | _ => [(S0, cn 3); (S0, cn 3)] end%N. | L812 | identical |
| 137 | Definition | lw | Definition lw (i : nat) : list run :=
if Nat.ltb i 81 then
[(S1, cn 3); (S1, cn 4)] ++ dgr (i mod 3) ++ dgr (i / 3 mod 3) ++ dgr (i / 9 mod 3) ++ dgr (i / 27 mod 3)
++ [(S0, cn 2)]
else [(S0, cn 6); (S1, cn 4)] ++ dgr 0 ++ dgr 0 ++ dgr 0 ++ dgr 0 ++ [(S0, cn 2)]. | L819 | identical |
| 138 | Definition | LWs | Definition LWs (i : nat) : side := ev_runs [] (lw i) (const S0). | L825 | identical |
| 139 | Lemma | reach_T0 | Lemma reach_T0 fuel q q' l l' (Y : side) :
reach fuel (Lc q (l, T0) ([], TV 0)) (Rc q' (l', T0) ([], TV 0)) = true ->
ev_runs [] l (const S0) <{{q}} Y -->+ ev_runs [] l' (const S0) {{q'}}> Y. | L827 | identical |
| 140 | Definition | lw_ok | Definition lw_ok (i : nat) : bool := reach 1000 (Lc E (lw i, T0) ([], TV 0)) (Rc B (lw (S i), T0) ([], TV 0)). | L832 | identical |
| 141 | Lemma | lw_all | Lemma lw_all : forallb lw_ok (seq 0 81) = true. | L834 | identical |
| 142 | Lemma | lw_ok_spec | Lemma lw_ok_spec i Y : lw_ok i = true ->
ev_runs [] (lw i) (const S0) <{{E}} Y -->+ ev_runs [] (lw (S i)) (const S0) {{B}}> Y. | L837 | identical |
| 143 | Lemma | lw_ok_lt | Lemma lw_ok_lt i : i < 81 -> lw_ok i = true. | L841 | identical |
| 144 | Lemma | lw_ep | Lemma lw_ep i Y : i < 81 -> LWs i <{{E}} Y -->+ LWs (S i) {{B}}> Y. | L844 | identical |
| 145 | Fixpoint | chs | Fixpoint chs (ls : list lab) (nus : list (list N)) (L : side) : side := match ls, nus with | s :: ls', nu :: nus' => ev_runs nu (blk s) (chs ls' nus' L) | _, _ => L end. | L852 | identical |
| 146 | Fixpoint | rchs | Fixpoint rchs (ls : list lab) (nus : list (list N)) (R : side) : side := match ls, nus with | s :: ls', nu :: nus' => rchs ls' nus' (ev_runs nu (rblk s) R) | _, _ => R end. | L858 | identical |
| 147 | Fixpoint | visit3 | Fixpoint visit3 (ls : list lab) : option (list lab * bool) := match ls with | [] => None | s :: ls' => match turn s with | Some (s', p) => Some (s' :: ls', p) … +7 lines | L864 | identical |
| 148 | Fixpoint | cb | Fixpoint cb (ls : list lab) (p : bool) : option (list lab * bool) := match ls with | [] => Some ([], p) | s :: ls' => match cb ls' p with | Some (ls'', p') => match reset s p' with Some (s'', p'') => Some (s'' :: ls'', p'') | None => None end … +3 lines | L878 | identical |
| 149 | Definition | fullb | Definition fullb (s : lab) : bool := match turn s with None => true | Some _ => false end. | L888 | identical |
| 150 | Lemma | visit3_spec | Lemma visit3_spec ls : forall ls' p nus L R, visit3 ls = Some (ls', p) -> length ls = length nus ->
chs ls nus L <{{D}} R -->+ chs ls' nus L {{stp p}}> R. | L890 | identical |
| 151 | Lemma | pass_spec | Lemma pass_spec ls : forall nus L R, forallb fullb ls = true -> length ls = length nus ->
chs ls nus L <{{D}} R -->* L <{{D}} rchs ls nus R. | L906 | identical |
| 152 | Lemma | cb_spec | Lemma cb_spec ls : forall p ls' p' nus L R, cb ls p = Some (ls', p') -> length ls = length nus ->
L {{stp p}}> rchs ls nus R -->* chs ls' nus L {{stp p'}}> R. | L919 | identical |
| 153 | Lemma | visit3_len | Lemma visit3_len ls : forall ls' p, visit3 ls = Some (ls', p) -> length ls' = length ls. | L933 | identical |
| 154 | Lemma | cb_len | Lemma cb_len ls : forall p ls' p', cb ls p = Some (ls', p') -> length ls' = length ls. | L942 | identical |
| 155 | Definition | vst | Definition vst : Type := (list lab * lab1 * nat)%type. | L954 | identical |
| 156 | Definition | lab1_eqb | Definition lab1_eqb (a b : lab1) : bool := match a, b with P0, P0 | P1, P1 | PD0, PD0 | PD1, PD1 | PD2, PD2 => true | _, _ => false end. | L956 | identical |
| 157 | Definition | vis | Definition vis (st : vst) : option (vst * bool) := let '(ls, b, i) := st in match visit3 ls with | Some (ls', p) => Some ((ls', b, i), p) | None => if forallb fullb ls then … +9 lines | L959 | identical |
| 158 | Definition | b1s | Definition b1s (b : lab1) (X : side) : side := ev_runs [] (blk1 b) X. | L975 | identical |
| 159 | Definition | Gc | Definition Gc (st : vst) (nus : list (list N)) (R : side) : Q * tape :=
let '(ls, b, i) := st in chs ls nus (b1s b (LWs i)) <{{D}} R. | L977 | identical |
| 160 | Definition | Gx | Definition Gx (st : vst) (nus : list (list N)) (p : bool) (R : side) : Q * tape :=
let '(ls, b, i) := st in chs ls nus (b1s b (LWs i)) {{stp p}}> R. | L979 | identical |
| 161 | Definition | vlen | Definition vlen (st : vst) : nat := let '(ls, _, _) := st in length ls. | L982 | identical |
| 162 | Lemma | lab1_eqb_eq | Lemma lab1_eqb_eq a b : lab1_eqb a b = true -> a = b. | L984 | identical |
| 163 | Lemma | vis_spec | Lemma vis_spec st st' p nus R : vis st = Some (st', p) -> vlen st = length nus -> Gc st nus R -->+ Gx st' nus p R /\ vlen st' = vlen st. | L987 | identical |
| 164 | Definition | Ep | Definition Ep (p : bool) (R R' : side) : Prop := forall l, l {{stp p}}> R -->* l <{{D}} R'. | L1017 | identical |
| 165 | Fixpoint | EpSeq | Fixpoint EpSeq (ps : list bool) (R R' : side) : Prop := match ps with | [] => R = R' | p :: ps' => exists R1, Ep p R R1 /\ EpSeq ps' R1 R' end. | L1019 | identical |
| 166 | Fixpoint | runv | Fixpoint runv (n : nat) (st : vst) : option (vst * list bool) := match n with | O => Some (st, []) | S n' => match vis st with | Some (st1, p) => match runv n' st1 with Some (st2, ps) => Some (st2, p :: ps) | None => None end … +3 lines | L1025 | identical |
| 167 | Lemma | runv_spec | Lemma runv_spec n : forall st st' ps nus R R', runv n st = Some (st', ps) -> vlen st = length nus -> EpSeq ps R R' -> Gc st nus R -->* Gc st' nus R'. | L1035 | identical |
| 168 | Lemma | runv_add | Lemma runv_add a : forall b st st1 ps1 st2 ps2, runv a st = Some (st1, ps1) -> runv b st1 = Some (st2, ps2) -> runv (a + b) st = Some (st2, ps1 ++ ps2). | L1056 | identical |
| 169 | Lemma | runv_one | Lemma runv_one st st' p : vis st = Some (st', p) -> runv 1 st = Some (st', [p]). | L1066 | identical |
| 170 | Lemma | vis3 | Lemma vis3 ls ls' p b i : visit3 ls = Some (ls', p) -> vis (ls, b, i) = Some ((ls', b, i), p). | L1069 | identical |
| 171 | Lemma | repeat_add | Lemma repeat_add {X} (x : X) n m : repeat x (n + m) = repeat x n ++ repeat x m. | L1072 | identical |
| 172 | Lemma | repeat_snoc | Lemma repeat_snoc {X} (x : X) n l : repeat x n ++ x :: l = repeat x (S n) ++ l. | L1075 | identical |
| 173 | Lemma | pow3_pos | Lemma pow3_pos j : 1 <= 3 ^ j. | L1078 | identical |
| 174 | Lemma | visit3_U2 | Lemma visit3_U2 j X X' : visit3 X = Some (X', true) -> visit3 (repeat U2 j ++ X) = Some (repeat U0 j ++ X', true). | L1081 | identical |
| 175 | Lemma | cb_U2 | Lemma cb_U2 j X p X' : cb X p = Some (X', true) -> cb (repeat U2 j ++ X) p = Some (repeat U0 j ++ X', true). | L1084 | identical |
| 176 | Lemma | visit3_full | Lemma visit3_full ls : forallb fullb ls = true -> visit3 ls = None. | L1087 | identical |
| 177 | Lemma | fullb_U2 | Lemma fullb_U2 j : forallb fullb (repeat U2 j) = true. | L1094 | identical |
| 178 | Lemma | fullb_D0 | Lemma fullb_D0 j : forallb fullb (repeat D0 j) = true. | L1097 | identical |
| 179 | Lemma | fullb_app | Lemma fullb_app a b : forallb fullb a = true -> forallb fullb b = true -> forallb fullb (a ++ b) = true. | L1100 | identical |
| 180 | Lemma | rep_app | Lemma rep_app {X} (x : X) a b : repeat x a ++ repeat x b = repeat x (a + b). | L1103 | identical |
| 181 | Lemma | CU | Lemma CU j : forall rest b i, runv (3 ^ j - 1) (repeat U0 j ++ rest, b, i) = Some ((repeat U2 j ++ rest, b, i), repeat true (3 ^ j - 1)). | L1107 | identical |
| 182 | Lemma | CW | Lemma CW j : forall rest b i, runv (3 ^ S j - 1) (repeat U0 j ++ W0 :: rest, b, i) = Some ((repeat U2 j ++ D0 :: rest, b, i), repeat true (3 ^ S j - 1)). | L1130 | identical |
| 183 | Fixpoint | tc | Fixpoint tc (j : nat) : nat := match j with | O => 0 | S O => 2 | S j' => 3 ^ j + tc j' end. | L1151 | identical |
| 184 | Lemma | tc_closed | Lemma tc_closed j : 2 * tc (S j) + 5 = 3 ^ S (S j). | L1158 | identical |
| 185 | Lemma | S3 | Lemma S3 j : forall d d' rest b i, turn d = Some (d', false) -> runv (tc (S j) + 1) (repeat U0 j ++ W0 :: d :: rest, b, i) = Some ((D2 :: repeat D1 j ++ d' :: rest, b, i), repeat true (tc (S j)) ++ [false]). | L1165 | identical |
| 186 | Definition | isD | Definition isD (s : lab) : bool := match s with D0 | D1 | D2 => true | _ => false end. | L1191 | identical |
| 187 | Definition | dv | Definition dv (s : lab) : nat := match s with D1 => 1 | D0 => 2 | _ => 0 end. | L1192 | identical |
| 188 | Fixpoint | dval | Fixpoint dval (ls : list lab) : nat := match ls with [] => 0 | s :: ls' => dv s + 3 * dval ls' end. | L1193 | identical |
| 189 | Definition | dv1 | Definition dv1 (b : lab1) : nat := match b with PD1 => 1 | PD0 => 2 | _ => 0 end. | L1194 | identical |
| 190 | Definition | isD1 | Definition isD1 (b : lab1) : bool := match b with PD0 | PD1 | PD2 => true | _ => false end. | L1195 | identical |
| 191 | Lemma | dval_lt | Lemma dval_lt ls : forallb isD ls = true -> dval ls < 3 ^ length ls. | L1197 | identical |
| 192 | Lemma | dval_max | Lemma dval_max ls : forallb isD ls = true -> dval ls + 1 = 3 ^ length ls -> ls = repeat D0 (length ls). | L1203 | identical |
| 193 | Lemma | visit3_D | Lemma visit3_D ls : forallb isD ls = true -> dval ls + 1 < 3 ^ length ls -> exists ls', visit3 ls = Some (ls', false) /\ forallb isD ls' = true /\ dval ls' = dval ls + 1 /\ length ls' = length ls. | L1210 | identical |
| 194 | Lemma | cb_D0 | Lemma cb_D0 j : cb (repeat D0 j) false = Some (repeat D2 j, false). | L1224 | identical |
| 195 | Lemma | isD_D2 | Lemma isD_D2 j : forallb isD (repeat D2 j) = true. | L1227 | identical |
| 196 | Lemma | dval_D2 | Lemma dval_D2 j : dval (repeat D2 j) = 0. | L1230 | identical |
| 197 | Lemma | dval_D1 | Lemma dval_D1 j : 2 * dval (repeat D1 j) + 1 = 3 ^ j. | L1233 | identical |
| 198 | Lemma | isD_D1 | Lemma isD_D1 j : forallb isD (repeat D1 j) = true. | L1236 | identical |
| 199 | Lemma | vis_b1 | Lemma vis_b1 ls b b' p1 ls' p i : forallb fullb ls = true -> turn1 b = Some (b', p1) -> cb ls p1 = Some (ls', p) -> vis (ls, b, i) = Some ((ls', b', i), p). | L1239 | identical |
| 200 | Lemma | vis_co | Lemma vis_co ls ls' p i : forallb fullb ls = true -> i < 80 -> cb ls false = Some (ls', p) -> vis (ls, PD0, i) = Some ((ls', PD2, S i), p). | L1243 | identical |
| 201 | Lemma | allD | Lemma allD n : forall ls b i, forallb isD ls = true -> isD1 b = true -> dval ls + 3 ^ length ls * dv1 b + n + 1 = 3 ^ S (length ls) -> runv n (ls, b, i) = Some ((repeat D0 (length ls), PD0, i), repeat false n). | L1250 | identical |
| 202 | Lemma | cyc | Lemma cyc m i : i < 80 -> runv (3 ^ S m) (repeat D0 m, PD0, i) = Some ((repeat D0 m, PD0, S i), repeat false (3 ^ S m)). | L1272 | identical |
| 203 | Lemma | cycs | Lemma cycs c : forall m i, i + c <= 80 -> runv (c * 3 ^ S m) (repeat D0 m, PD0, i) = Some ((repeat D0 m, PD0, i + c), repeat false (c * 3 ^ S m)). | L1282 | identical |
| 204 | Lemma | rep_app_cons | Lemma rep_app_cons {X} (x : X) a b l : repeat x a ++ (repeat x b ++ l) = repeat x (a + b) ++ l. | L1291 | identical |
| 205 | Lemma | odd_pow3 | Lemma odd_pow3 j : exists k, 3 ^ j = 2 * k + 1. | L1294 | identical |
| 206 | Lemma | half9 | Lemma half9 j : 2 * ((9 * 3 ^ j + 1) / 2) = 9 * 3 ^ j + 1. | L1297 | identical |
| 207 | Lemma | interval | Lemma interval m : 2 <= m -> exists T, 2 * T + 5 = 3 ^ S (S m) /\ runv (81 * 3 ^ S m - 1) (repeat U0 m, P0, 0) = Some ((repeat D0 m, PD0, 80), repeat true T ++ repeat false (81 * 3 ^ S m - 1 - T)). | L1304 | identical |
| 208 | Lemma | interval_tm | Lemma interval_tm m nus R R' : 2 <= m -> length nus = m -> (forall T, 2 * T + 5 = 3 ^ S (S m) -> EpSeq (repeat true T ++ repeat false (81 * 3 ^ S m - 1 - T)) R R') -> Gc (repeat U0 m, P0, 0) nus R -->* Gc (repeat D0 m, PD0, 80) nus R'. | L1378 | identical |
| 209 | Lemma | record_visit | Lemma record_visit m nus R : length nus = m ->
Gc (repeat D0 m, PD0, 80) nus R -->+ chs (repeat D2 m) nus (b1s PD2 (LWs 81)) {{B}}> R. | L1387 | identical |
| 210 | Fixpoint | urun | Fixpoint urun (p : positive) (c : cfg) : cfg * bool := match p with | xH => match sstep c with Some (c', _) => (c', false) | None => (c, true) end | xO p' => let '(c1, s1) := urun p' c in if s1 then (c1, true) else urun p' c1 | xI p' => match sstep c with … +4 lines | L1403 | identical |
| 211 | Lemma | sstep_ev | Lemma sstep_ev nu sg c c' b : sstep c = Some (c', b) -> ev_cfg nu sg c -->* ev_cfg nu sg c'. | L1414 | identical |
| 212 | Lemma | urun_spec | Lemma urun_spec p : forall c nu sg, ev_cfg nu sg c -->* ev_cfg nu sg (fst (urun p c)). | L1419 | identical |
| 213 | Definition | tgtD | Definition tgtD (c : cfg) : option (list run) := match c with | Lc D ([], TV O) (rr, T0) => Some rr | _ => None end. | L1434 | identical |
| 214 | Lemma | tgtD_spec | Lemma tgtD_spec c rr : tgtD c = Some rr -> c = Lc D ([], TV 0) (rr, T0). | L1440 | identical |
| 215 | Definition | evR | Definition evR (nu : list N) (rr : list run) : side := ev_runs nu rr (const S0). | L1448 | identical |
| 216 | Definition | ep_run | Definition ep_run (p : bool) (rr : list run) : option (list run) := tgtD (fst (urun 50000 (Rc (stp p) ([], TV 0) (rr, T0)))). | L1451 | identical |
| 217 | Lemma | ep_run_spec | Lemma ep_run_spec p rr rr' : ep_run p rr = Some rr' -> forall nu, Ep p (evR nu rr) (evR nu rr'). | L1454 | identical |
| 218 | Fixpoint | eps | Fixpoint eps (ps : list bool) (rr : list run) : option (list run) := match ps with | [] => Some rr | p :: ps' => match ep_run p rr with Some rr' => eps ps' rr' | None => None end end. | L1462 | identical |
| 219 | Lemma | eps_spec | Lemma eps_spec ps : forall rr rr', eps ps rr = Some rr' -> forall nu, EpSeq ps (evR nu rr) (evR nu rr'). | L1468 | identical |
| 220 | Lemma | EpSeq_app | Lemma EpSeq_app a : forall b R R1 R2, EpSeq a R R1 -> EpSeq b R1 R2 -> EpSeq (a ++ b) R R2. | L1476 | identical |
| 221 | Definition | evN | Definition evN (nu : list N) (a : lf) : N := (lc a + dot (lv a) nu)%N. | L1485 | identical |
| 222 | Lemma | dot_zadd2 | Lemma dot_zadd2 v : forall a b, dot v (zadd a b) = (dot v a + dot v b)%N. | L1487 | identical |
| 223 | Definition | vscale | Definition vscale (k : N) (w : list N) : list N := map (N.mul k) w. | L1493 | identical |
| 224 | Lemma | dot_vscale | Lemma dot_vscale v : forall k w, dot v (vscale k w) = (k * dot v w)%N. | L1495 | identical |
| 225 | Lemma | ev_runs_dot | Lemma ev_runs_dot nu nu' T X : (forall v, dot v nu = dot v nu') -> ev_runs nu T X = ev_runs nu' T X. | L1498 | identical |
| 226 | Definition | subst_lf | Definition subst_lf (w : list N) (a : lf) : lf := LF (lc a + dot (lv a) w) (lv a). | L1503 | identical |
| 227 | Definition | subst_runs | Definition subst_runs (w : list N) (T : list run) : list run := map (fun r => (fst r, subst_lf w (snd r))) T. | L1504 | identical |
| 228 | Lemma | ev_runs_subst | Lemma ev_runs_subst nu w T X : ev_runs nu (subst_runs w T) X = ev_runs (zadd nu w) T X. | L1506 | identical |
| 229 | Definition | lf_scale | Definition lf_scale (k : N) (a : lf) : lf := LF (k * lc a) (map (N.mul k) (lv a)). | L1512 | identical |
| 230 | Lemma | dot_scale_l | Lemma dot_scale_l vs : forall k nu, dot (map (N.mul k) vs) nu = (k * dot vs nu)%N. | L1514 | identical |
| 231 | Lemma | evN_add | Lemma evN_add nu a b : evN nu (lf_add a b) = (evN nu a + evN nu b)%N. | L1517 | identical |
| 232 | Lemma | evN_scale | Lemma evN_scale nu k a : evN nu (lf_scale k a) = (k * evN nu a)%N. | L1520 | identical |
| 233 | Fixpoint | comp_aux | Fixpoint comp_aux (vs : list N) (sg : list lf) : lf := match vs, sg with | v :: vs', s :: sg' => lf_add (lf_scale v s) (comp_aux vs' sg') | _, _ => LF 0 [] end. | L1523 | identical |
| 234 | Definition | compose_lf | Definition compose_lf (sg : list lf) (a : lf) : lf := lf_add (LF (lc a) []) (comp_aux (lv a) sg). | L1528 | identical |
| 235 | Definition | comp_runs | Definition comp_runs (sg : list lf) (T : list run) : list run := map (fun r => (fst r, compose_lf sg (snd r))) T. | L1529 | identical |
| 236 | Lemma | evN_comp_aux | Lemma evN_comp_aux nu vs : forall sg, evN nu (comp_aux vs sg) = dot vs (map (evN nu) sg). | L1531 | identical |
| 237 | Lemma | evN_compose | Lemma evN_compose nu sg a : evN nu (compose_lf sg a) = evN (map (evN nu) sg) a. | L1537 | identical |
| 238 | Lemma | ev_runs_comp | Lemma ev_runs_comp nu sg T X : ev_runs nu (comp_runs sg T) X = ev_runs (map (evN nu) sg) T X. | L1540 | identical |
| 239 | Lemma | jump_lemma | Lemma jump_lemma T p dec inc :
(forall nu, EpSeq [p; p; p; p] (evR nu (subst_runs dec T)) (evR nu (subst_runs inc T))) ->
forall k nu, EpSeq (repeat p (4 * k)) (evR (zadd nu (vscale (N.of_nat k) dec)) T)
(evR (zadd nu (vscale (N.of_nat k) inc)) T). | L1549 | identical |
| 240 | Definition | uvar | Definition uvar (i : nat) (c : N) : lf := LF c (repeat 0%N i ++ [4%N]). | L1579 | identical |
| 241 | Fixpoint | zsub | Fixpoint zsub (a b : list N) : list N := match a, b with | x :: a', y :: b' => (x - y)%N :: zsub a' b' | _, [] => a | [], _ => [] end. | L1581 | identical |
| 242 | Fixpoint | mk_jump | Fixpoint mk_jump (i : nat) (rr rr4 : list run) (c : lf) : option (list run * list N * list N * list lf) := match rr, rr4 with | [], [] => Some ([], [], [], []) | (b, a) :: rr', (b4, a4) :: rr4' => if negb (seqb b b4) then None else if negb (listN_eqb (strip0 (lv a)) (strip0 (lv a4))) then None else … +19 lines | L1588 | identical |
| 243 | Fixpoint | mapadd | Fixpoint mapadd (c : lf) (sg : list lf) (w : list N) : list lf := match sg, w with | s :: sg', x :: w' => lf_add s (lf_scale x c) :: mapadd c sg' w' | _, _ => [] end. | L1614 | identical |
| 244 | Lemma | mapadd_ev | Lemma mapadd_ev nu c sg : forall w, length sg = length w -> map (evN nu) (mapadd c sg w) = zadd (map (evN nu) sg) (vscale (evN nu c) w). | L1620 | identical |
| 245 | Definition | cyc4 | Definition cyc4 (p : bool) : list bool := [p; p; p; p]. | L1628 | identical |
| 246 | Definition | jump_run | Definition jump_run (p : bool) (c : lf) (rr : list run) : option (list run) := match eps (cyc4 p) rr with | None => None | Some rr4 => match mk_jump 0 rr rr4 c with | None => None … +11 lines | L1630 | identical |
| 247 | Lemma | jump_run_spec | Lemma jump_run_spec p c rr rr' : jump_run p c rr = Some rr' -> forall nu, EpSeq (repeat p (4 * ev nu c)) (evR nu rr) (evR nu rr'). | L1648 | identical |
| 248 | Inductive | instr | Inductive instr := ISingle (p : bool) | IJump (p : bool) (c : lf). | L1671 | identical |
| 249 | Definition | seg | Definition seg : Type := (bool * lf)%type. | L1673 | identical |
| 250 | Fixpoint | segs_ev | Fixpoint segs_ev (nu : list N) (ss : list seg) : list bool := match ss with [] => [] | (p, n) :: ss' => repeat p (ev nu n) ++ segs_ev nu ss' end. | L1675 | identical |
| 251 | Fixpoint | exec | Fixpoint exec (prog : list instr) (rr : list run) : option (list run * list seg) := match prog with | [] => Some (rr, []) | ISingle p :: prog' => match ep_run p rr with | Some rr1 => match exec prog' rr1 with Some (rr2, ss) => Some (rr2, (p, cn 1) :: ss) | None => None end … +8 lines | L1678 | identical |
| 252 | Lemma | ev_scale4 | Lemma ev_scale4 nu c : ev nu (lf_scale 4 c) = 4 * ev nu c. | L1693 | identical |
| 253 | Lemma | exec_spec | Lemma exec_spec prog : forall rr rr' ss, exec prog rr = Some (rr', ss) -> forall nu, EpSeq (segs_ev nu ss) (evR nu rr) (evR nu rr'). | L1697 | identical |
| 254 | Fixpoint | sum_ph | Fixpoint sum_ph (p : bool) (ss : list seg) : lf := match ss with | [] => LF 0 [] | (q, n) :: ss' => if Bool.eqb p q then lf_add n (sum_ph p ss') else sum_ph p ss' end. | L1714 | identical |
| 255 | Fixpoint | split_ok | Fixpoint split_ok (seen_false : bool) (ss : list seg) : bool := match ss with | [] => true | (true, _) :: ss' => andb (negb seen_false) (split_ok false ss') | (false, _) :: ss' => split_ok true ss' end. | L1719 | identical |
| 256 | Lemma | ev_lf_add | Lemma ev_lf_add nu a b : ev nu (lf_add a b) = ev nu a + ev nu b. | L1726 | identical |
| 257 | Lemma | split_false | Lemma split_false ss nu : split_ok true ss = true -> segs_ev nu ss = repeat false (ev nu (sum_ph false ss)). | L1729 | identical |
| 258 | Lemma | sum_false_true | Lemma sum_false_true ss : split_ok true ss = true -> sum_ph true ss = LF 0 [] \/ True. | L1736 | identical |
| 259 | Lemma | split_spec | Lemma split_spec ss nu : split_ok false ss = true -> segs_ev nu ss = repeat true (ev nu (sum_ph true ss)) ++ repeat false (ev nu (sum_ph false ss)). | L1739 | identical |
| 260 | Definition | prog_check | Definition prog_check (prog : list instr) (rs re : list run) (T F : lf) : bool := match exec prog rs with | Some (re', ss) => andb (andb (runs_eqb re' re) (split_ok false ss)) (andb (lf_eqb (sum_ph true ss) T) (lf_eqb (sum_ph false ss) F)) | None => false end. | L1752 | identical |
| 261 | Lemma | prog_check_spec | Lemma prog_check_spec prog rs re T F : prog_check prog rs re T F = true -> forall nu, EpSeq (repeat true (ev nu T) ++ repeat false (ev nu F)) (evR nu rs) (evR nu re). | L1759 | identical |
| 262 | Definition | tl1 | Definition tl1 (c a : N) : lf := LF c [a]. | L1774 | identical |
| 263 | Definition | Rs_r5 | Definition Rs_r5 : list run := mkruns S0 [tl1 224492 1796256; tl1 673559 5388768; cn 8; tl1 9836 78732; tl1 1942069 15536448]%N. | L1775 | identical |
| 264 | Definition | prog_r5 | Definition prog_r5 : list instr := repeat (ISingle true) 4 ++ [IJump true (tl1 817 6561)] ++ repeat (ISingle true) 6 ++ repeat (ISingle false) 13 ++ [IJump false (tl1 43462 347733)] ++ repeat (ISingle false) 7. | L1776 | identical |
| 265 | Definition | Rs_r0 | Definition Rs_r0 : list run := mkruns S0 [tl1 74804 598752; tl1 224495 1796256; tl1 673560 5388768; tl1 2020752 16166304; cn 4; tl1 521610 4172796; cn 1]%N. | L1777 | identical |
| 266 | Definition | prog_r0 | Definition prog_r0 : list instr := repeat (ISingle true) 4 ++ [IJump true (tl1 817 6561)] ++ repeat (ISingle true) 6 ++ repeat (ISingle false) 9 ++ [IJump false (tl1 43463 347733)] ++ repeat (ISingle false) 7. | L1778 | identical |
| 267 | Definition | Rs_r1 | Definition Rs_r1 : list run := mkruns S0 [tl1 2020748 16166304; cn 7; tl1 551120 4408992; tl1 1564809 12518388; cn 2]%N. | L1779 | identical |
| 268 | Definition | prog_r1 | Definition prog_r1 : list instr := repeat (ISingle true) 4 ++ [IJump true (tl1 2457 19683)] ++ repeat (ISingle true) 7 ++ repeat (ISingle false) 5 ++ [IJump false (tl1 130398 1043199)] ++ repeat (ISingle false) 4. | L1780 | identical |
| 269 | Definition | Rs_r2 | Definition Rs_r2 : list run := mkruns S0 [tl1 8276 66528; tl1 24911 199584; tl1 74808 598752; tl1 224496 1796256; tl1 673559 5388768; tl1 2020751 16166304; cn 8; tl1 29514 236196; tl1 5826224 46609344; cn 2]%N. | L1781 | identical |
| 270 | Definition | prog_r2 | Definition prog_r2 : list instr := repeat (ISingle true) 4 ++ [IJump true (tl1 817 6561)] ++ repeat (ISingle true) 6 ++ repeat (ISingle false) 8 ++ [IJump false (tl1 43464 347733)] ++ repeat (ISingle false) 4. | L1782 | identical |
| 271 | Definition | Rs_r3 | Definition Rs_r3 : list run := mkruns S0 [tl1 224492 1796256; tl1 673559 5388768; tl1 2020752 16166304; tl1 6062328 48498912; cn 4; tl1 1564810 12518388]%N. | L1783 | identical |
| 272 | Definition | prog_r3 | Definition prog_r3 : list instr := repeat (ISingle true) 4 ++ [IJump true (tl1 2457 19683)] ++ repeat (ISingle true) 7 ++ repeat (ISingle false) 9 ++ [IJump false (tl1 130397 1043199)] ++ repeat (ISingle false) 4. | L1784 | identical |
| 273 | Definition | Rs_r4 | Definition Rs_r4 : list run := mkruns S0 [tl1 74804 598752; tl1 224495 1796256; tl1 673560 5388768; tl1 2020752 16166304; tl1 6062327 48498912; cn 7; tl1 1653368 13226976; tl1 4694422 37555164; cn 1]%N. | L1785 | identical |
| 274 | Definition | prog_r4 | Definition prog_r4 : list instr := repeat (ISingle true) 4 ++ [IJump true (tl1 2457 19683)] ++ repeat (ISingle true) 7 ++ repeat (ISingle false) 6 ++ [IJump false (tl1 130397 1043199)] ++ repeat (ISingle false) 7. | L1786 | identical |
| 275 | Definition | Re_r5 | Definition Re_r5 : list run := [(S0, tl1 224492 1796256); (S1, tl1 673560 5388768); (S0, tl1 2020752 16166304); (S1, cn 4); (S0, tl1 521602 4172796)]%N. | L1787 | identical |
| 276 | Lemma | int_r5 | Lemma int_r5 : prog_check prog_r5 Rs_r5 Re_r5 (tl1 3278 26244) (tl1 173868 1390932) = true. | L1788 | identical |
| 277 | Definition | Re_r0 | Definition Re_r0 : list run := [(S0, tl1 74804 598752); (S1, tl1 224496 1796256); (S0, tl1 673560 5388768); (S1, tl1 2020751 16166304); (S1, cn 7); (S1, tl1 551120 4408992); (S0, tl1 1564798 12518388); (S1, cn 1)]%N. | L1790 | identical |
| 278 | Lemma | int_r0 | Lemma int_r0 : prog_check prog_r0 Rs_r0 Re_r0 (tl1 3278 26244) (tl1 173868 1390932) = true. | L1791 | identical |
| 279 | Definition | Re_r1 | Definition Re_r1 : list run := [(S0, tl1 2020748 16166304); (S1, cn 8); (S0, tl1 29521 236196); (S0, tl1 5826161 46609344); (S0, cn 2)]%N. | L1793 | identical |
| 280 | Lemma | int_r1 | Lemma int_r1 : prog_check prog_r1 Rs_r1 Re_r1 (tl1 9839 78732) (tl1 521601 4172796) = true. | L1794 | identical |
| 281 | Definition | Re_r2 | Definition Re_r2 : list run := [(S0, tl1 8276 66528); (S1, tl1 24912 199584); (S0, tl1 74808 598752); (S1, tl1 224495 1796256); (S1, tl1 673559 5388768); (S1, tl1 2020752 16166304); (S0, tl1 6062328 48498912); (S1, cn 3); (S1, tl1 1564801 12518388); (S1, cn 1)]%N. | L1796 | identical |
| 282 | Lemma | int_r2 | Lemma int_r2 : prog_check prog_r2 Rs_r2 Re_r2 (tl1 3278 26244) (tl1 173868 1390932) = true. | L1797 | identical |
| 283 | Definition | Re_r3 | Definition Re_r3 : list run := [(S0, tl1 224492 1796256); (S1, tl1 673560 5388768); (S0, tl1 2020752 16166304); (S1, tl1 6062327 48498912); (S1, cn 7); (S1, tl1 1653368 13226976); (S0, tl1 4694397 37555164); (S0, cn 2)]%N. | L1799 | identical |
| 284 | Lemma | int_r3 | Lemma int_r3 : prog_check prog_r3 Rs_r3 Re_r3 (tl1 9839 78732) (tl1 521601 4172796) = true. | L1800 | identical |
| 285 | Definition | Re_r4 | Definition Re_r4 : list run := [(S0, tl1 74804 598752); (S1, tl1 224496 1796256); (S0, tl1 673560 5388768); (S1, tl1 2020751 16166304); (S1, tl1 6062327 48498912); (S1, cn 7); (S1, tl1 88573 708588); (S1, tl1 17478488 139828032); (S0, cn 2)]%N. | L1802 | identical |
| 286 | Lemma | int_r4 | Lemma int_r4 : prog_check prog_r4 Rs_r4 Re_r4 (tl1 9839 78732) (tl1 521601 4172796) = true. | L1803 | identical |
| 287 | Definition | rtop | Definition rtop (qs : list (list N)) (z : N) : N := match qs with [] => z | q :: _ => nth 0 q 0%N end. | L1811 | identical |
| 288 | Fixpoint | rshift | Fixpoint rshift (qs : list (list N)) (z : N) : list (list N) := match qs with | [] => [] | q :: qs' => [nth 1 q 0; nth 2 q 0; nth 3 q 0; rtop qs' z]%N :: rshift qs' z end. | L1814 | identical |
| 289 | Lemma | shift_len | Lemma shift_len qs z : length (rshift qs z) = length qs. | L1820 | identical |
| 290 | Lemma | dot4 | Lemma dot4 (a b c d : N) q : dot [a; b; c; d] q = (a * nth 0 q 0 + b * nth 1 q 0 + c * nth 2 q 0 + d * nth 3 q 0)%N. | L1823 | identical |
| 291 | Lemma | alt_split | Lemma alt_split b m k : Nat.eqb (m mod 2) 0 = true -> alt b (m + k) = alt b m ++ alt b k. | L1827 | identical |
| 292 | Lemma | ev_q | Lemma ev_q nu c a : ev nu (LF c a) = N.to_nat (c + dot a nu). | L1832 | identical |
| 293 | Lemma | regroup | Lemma regroup qs : forall z X X', X = alt S0 1 *> (alt S0 (2 + 4 * N.to_nat z) *> X') -> chs (repeat D2 (length qs)) qs X = alt S0 1 *> (alt S0 (2 + 4 * N.to_nat (rtop qs z)) *> chs (repeat U0 (length qs)) (rshift qs z) X'). | L1835 | identical |
| 294 | Lemma | regroup_b1 | Lemma regroup_b1 : b1s PD2 (LWs 81) = alt S0 1 *> (alt S0 (2 + 4 * N.to_nat 0) *> b1s P0 (LWs 0)). | L1864 | identical |
| 295 | Lemma | drop_step | Lemma drop_step L Re Rs nu X' :
reach 100000 (Rc B (L, TV 0) (Re, T0)) (Lc D ([], TV 0) (Rs, T0)) = true ->
ev_runs nu L X' {{B}}> evR nu Re -->+ X' <{{D}} evR nu Rs. | L1871 | identical |
| 296 | Definition | W5t | Definition W5t (t : N) : N := (18701 + 149688 * t)%N. | L1876 | identical |
| 297 | Definition | W5s | Definition W5s (t : N) : N := (6227 + 49896 * t)%N. | L1877 | identical |
| 298 | Definition | W5a | Definition W5a (t : N) : N := (2069 + 16632 * t)%N. | L1878 | identical |
| 299 | Lemma | rec_r5_ok | Lemma rec_r5_ok : reach 100000 (Rc B ([(S0, cn 1); (S0, tl1 74806 598752)], TV 0) (Re_r5, T0)) (Lc D ([], TV 0) (Rs_r0, T0)) = true. | L1880 | identical |
| 300 | Lemma | step_r5 | Lemma step_r5 t f1 deep :
chs (repeat D2 (S (length deep))) ([W5t t; W5s t; W5a t; f1] :: deep) (b1s PD2 (LWs 81)) {{B}}> evR [t] Re_r5 -->+
Gc (repeat U0 (S (length deep)), P0, 0) ([W5s t; W5a t; f1; rtop deep 0%N] :: rshift deep 0%N) (evR [t] Rs_r0). | L1883 | identical |
| 301 | Lemma | pow_K0 | Lemma pow_K0 k0 e : 2 <= e -> 3 ^ (k0 + 2 * e) = 3 ^ (k0 + 4) * 9 ^ (e - 2). | L1895 | identical |
| 302 | Lemma | S_r5 | Lemma S_r5 e t f1 deep : 2 <= e -> 1 + 8 * N.to_nat t = 9 ^ (e - 2) -> length deep = 1 + 2 * e -> Gc (repeat U0 (S (length deep)), P0, 0) ([W5t t; W5s t; W5a t; f1] :: deep) (evR [t] Rs_r5) -->+ Gc (repeat U0 (S (length deep)), P0, 0) ([W5s t; W5a t; f1; rtop deep 0%N] :: rshift deep 0%N) (evR [t] Rs_r0). | L1902 | identical |
| 303 | Definition | wv | Definition wv (c a t : N) : N := (c + a * t)%N. | L1924 | identical |
| 304 | Lemma | evN_tl1 | Lemma evN_tl1 c a t : evN [t] (tl1 c a) = wv c a t. | L1926 | identical |
| 305 | Lemma | take_step | Lemma take_step L first4 Re' Rs nu sg X' :
reach 100000 (Rc B (L, TV 0) (first4, TV 1)) (Rc A (comp_runs sg (blk U0), TV 0) ([], TV 1)) = true ->
ep_run true Re' = Some Rs ->
ev_runs nu L X' {{B}}> ev_runs nu first4 (evR nu Re') -->+
ev_runs (map (evN nu) sg) (blk U0) X' <{{D}} evR nu Rs. | L1929 | identical |
| 306 | Lemma | split4 | Lemma split4 nu r1 r2 r3 b c v rest X : ev_runs nu (r1 :: r2 :: r3 :: (b, LF (3 + c) v) :: rest) X = ev_runs nu [r1; r2; r3; (b, cn 3)] (ev_runs nu ((sneg b, LF c v) :: rest) X). | L1942 | identical |
| 307 | Definition | W0t | Definition W0t := wv 6227 49896. | L1956 | identical |
| 308 | Definition | W0s | Definition W0s := wv 2069 16632. | L1957 | identical |
| 309 | Definition | W1t | Definition W1t := wv 168389 1347192. | L1958 | identical |
| 310 | Definition | W1s | Definition W1s := wv 56123 449064. | L1959 | identical |
| 311 | Definition | W1a | Definition W1a := wv 18701 149688. | L1960 | identical |
| 312 | Definition | W1I | Definition W1I := wv 6227 49896. | L1961 | identical |
| 313 | Definition | W1u | Definition W1u := wv 2069 16632. | L1962 | identical |
| 314 | Definition | sig01 | Definition sig01 : list lf := [tl1 168389 1347192; tl1 56123 449064; tl1 18701 149688; tl1 6227 49896]%N. | L1964 | identical |
| 315 | Definition | f4_r0 | Definition f4_r0 : list run := [(S0, tl1 74804 598752); (S1, tl1 224496 1796256); (S0, tl1 673560 5388768); (S1, cn 3)]%N. | L1965 | identical |
| 316 | Definition | Rp_r0 | Definition Rp_r0 : list run := [(S0, tl1 2020748 16166304); (S1, cn 7); (S1, tl1 551120 4408992); (S0, tl1 1564798 12518388); (S1, cn 1)]%N. | L1966 | identical |
| 317 | Lemma | rec_r0a | Lemma rec_r0a : reach 100000 (Rc B ([(S0, cn 1); (S0, tl1 24910 199584)], TV 0) (f4_r0, TV 1)) (Rc A (comp_runs sig01 (blk U0), TV 0) ([], TV 1)) = true. | L1968 | identical |
| 318 | Lemma | rec_r0b | Lemma rec_r0b : ep_run true Rp_r0 = Some Rs_r1. | L1971 | identical |
| 319 | Lemma | split_r0 | Lemma split_r0 t : evR [t] Re_r0 = ev_runs [t] f4_r0 (evR [t] Rp_r0). | L1974 | identical |
| 320 | Lemma | step_r0 | Lemma step_r0 t f1 f2 deep :
chs (repeat D2 (S (length deep))) ([W0t t; W0s t; f1; f2] :: deep) (b1s PD2 (LWs 81)) {{B}}> evR [t] Re_r0 -->+
Gc (repeat U0 (S (S (length deep))), P0, 0)
([W1t t; W1s t; W1a t; W1I t] :: [W0s t; f1; f2; rtop deep 0%N] :: rshift deep 0%N) (evR [t] Rs_r1). | L1980 | identical |
| 321 | Definition | W3t | Definition W3t := wv 18701 149688. | L2000 | identical |
| 322 | Lemma | rec_r3_ok | Lemma rec_r3_ok : reach 100000 (Rc B ([(S0, cn 1); (S0, tl1 74806 598752)], TV 0) (Re_r3, T0)) (Lc D ([], TV 0) (Rs_r4, T0)) = true. | L2002 | identical |
| 323 | Lemma | step_r3 | Lemma step_r3 t f1 f2 f3 deep :
chs (repeat D2 (S (length deep))) ([W3t t; f1; f2; f3] :: deep) (b1s PD2 (LWs 81)) {{B}}> evR [t] Re_r3 -->+
Gc (repeat U0 (S (length deep)), P0, 0) ([f1; f2; f3; rtop deep 0%N] :: rshift deep 0%N) (evR [t] Rs_r4). | L2005 | identical |
| 324 | Definition | sig12 | Definition sig12 : list lf := [tl1 56123 449064; tl1 18701 149688; tl1 6227 49896; tl1 2069 16632]%N. | L2019 | identical |
| 325 | Lemma | rec_r1_ok | Lemma rec_r1_ok : reach 100000 (Rc B ([(S0, cn 1); (S0, tl1 673558 5388768)] ++ comp_runs sig12 (blk U0), TV 0) (Re_r1, T0)) (Lc D ([], TV 0) (Rs_r2, T0)) = true. | L2021 | identical |
| 326 | Lemma | step_r1 | Lemma step_r1 t f1 f2 f3 deep :
chs (repeat D2 (S (S (length deep)))) ([W1t t; W1s t; W1a t; W1I t] :: [W1u t; f1; f2; f3] :: deep) (b1s PD2 (LWs 81))
{{B}}> evR [t] Re_r1 -->+
Gc (repeat U0 (S (length deep)), P0, 0) ([f1; f2; f3; rtop deep 0%N] :: rshift deep 0%N) (evR [t] Rs_r2). | L2025 | identical |
| 327 | Definition | xv | Definition xv : lf := LF 2 [0; 4]%N. | L2045 | identical |
| 328 | Definition | sig23 | Definition sig23 : list lf := [tl1 18701 149688; tl1 6227 49896; tl1 2069 16632; LF 0 [0; 1]]%N. | L2046 | identical |
| 329 | Definition | f4_r2 | Definition f4_r2 : list run := [(S0, tl1 8276 66528); (S1, tl1 24912 199584); (S0, tl1 74808 598752); (S1, cn 3)]%N. | L2047 | identical |
| 330 | Definition | Rp_r2 | Definition Rp_r2 : list run := [(S0, tl1 224492 1796256); (S1, tl1 673559 5388768); (S1, tl1 2020752 16166304); (S0, tl1 6062328 48498912); (S1, cn 3); (S1, tl1 1564801 12518388); (S1, cn 1)]%N. | L2048 | identical |
| 331 | Lemma | rec_r2a | Lemma rec_r2a : reach 100000 (Rc B ([(S0, cn 1); (S0, xv)], TV 0) (f4_r2, TV 1)) (Rc A (comp_runs sig23 (blk U0), TV 0) ([], TV 1)) = true. | L2051 | identical |
| 332 | Lemma | rec_r2b | Lemma rec_r2b : ep_run true Rp_r2 = Some Rs_r3. | L2054 | identical |
| 333 | Lemma | split_r2 | Lemma split_r2 nu : evR nu Re_r2 = ev_runs nu f4_r2 (evR nu Rp_r2). | L2057 | identical |
| 334 | Lemma | step_r2 | Lemma step_r2 t q deep :
chs (repeat D2 (S (length deep))) (q :: deep) (b1s PD2 (LWs 81)) {{B}}> evR [t] Re_r2 -->+
Gc (repeat U0 (S (S (length deep))), P0, 0)
([W3t t; wv 6227 49896 t; wv 2069 16632 t; nth 0 q 0%N] :: rshift (q :: deep) 0%N) (evR [t] Rs_r3). | L2063 | identical |
| 335 | Definition | sub9_lf | Definition sub9_lf (l : lf) : lf := match lv l with [a] => LF (lc l + a) [9 * a] | _ => l end%N. | L2086 | identical |
| 336 | Definition | sub9 | Definition sub9 (rs : list run) : list run := map (fun r => (fst r, sub9_lf (snd r))) rs. | L2087 | identical |
| 337 | Lemma | ev_runs_sub9 | Lemma ev_runs_sub9 t rs X : forallb (fun r => Nat.leb (length (lv (snd r))) 1) rs = true -> ev_runs [t] (sub9 rs) X = ev_runs [(1 + 9 * t)%N] rs X. | L2089 | identical |
| 338 | Lemma | evR_sub9_r5 | Lemma evR_sub9_r5 t : evR [t] (sub9 Rs_r5) = evR [(1 + 9 * t)%N] Rs_r5. | L2097 | identical |
| 339 | Definition | sig45 | Definition sig45 : list lf := [tl1 168389 1347192; tl1 56123 449064; tl1 18701 149688; LF 0 [0; 1]]%N. | L2100 | identical |
| 340 | Definition | f4_r4 | Definition f4_r4 : list run := [(S0, tl1 74804 598752); (S1, tl1 224496 1796256); (S0, tl1 673560 5388768); (S1, cn 3)]%N. | L2101 | identical |
| 341 | Definition | Rp_r4 | Definition Rp_r4 : list run := [(S0, tl1 2020748 16166304); (S1, tl1 6062327 48498912); (S1, cn 7); (S1, tl1 88573 708588); (S1, tl1 17478488 139828032); (S0, cn 2)]%N. | L2102 | identical |
| 342 | Lemma | rec_r4a | Lemma rec_r4a : reach 100000 (Rc B ([(S0, cn 1); (S0, xv)], TV 0) (f4_r4, TV 1)) (Rc A (comp_runs sig45 (blk U0), TV 0) ([], TV 1)) = true. | L2105 | identical |
| 343 | Lemma | rec_r4b | Lemma rec_r4b : ep_run true Rp_r4 = Some (sub9 Rs_r5). | L2108 | identical |
| 344 | Lemma | split_r4 | Lemma split_r4 nu : evR nu Re_r4 = ev_runs nu f4_r4 (evR nu Rp_r4). | L2111 | identical |
| 345 | Lemma | step_r4 | Lemma step_r4 t q deep :
chs (repeat D2 (S (length deep))) (q :: deep) (b1s PD2 (LWs 81)) {{B}}> evR [t] Re_r4 -->+
Gc (repeat U0 (S (S (length deep))), P0, 0)
([W5t (1 + 9 * t); W5s (1 + 9 * t); W5a (1 + 9 * t); nth 0 q 0%N] :: rshift (q :: deep) 0%N)
(evR [(1 + 9 * t)%N] Rs_r5). | L2117 | identical |
| 346 | Lemma | S_r0 | Lemma S_r0 e t f1 f2 deep : 2 <= e -> 1 + 8 * N.to_nat t = 9 ^ (e - 2) -> length deep = 1 + 2 * e -> Gc (repeat U0 (S (length deep)), P0, 0) ([W0t t; W0s t; f1; f2] :: deep) (evR [t] Rs_r0) -->+ Gc (repeat U0 (S (S (length deep))), P0, 0) ([W1t t; W1s t; W1a t; W1I t] :: [W0s t; f1; f2; rtop deep 0%N] :: rshift deep 0%N) (evR [t] Rs_r1). | L2140 | identical |
| 347 | Lemma | S_r1 | Lemma S_r1 e t f1 f2 f3 deep : 2 <= e -> 1 + 8 * N.to_nat t = 9 ^ (e - 2) -> length deep = 1 + 2 * e -> Gc (repeat U0 (S (S (length deep))), P0, 0) ([W1t t; W1s t; W1a t; W1I t] :: [W1u t; f1; f2; f3] :: deep) (evR [t] Rs_r1) -->+ Gc (repeat U0 (S (length deep)), P0, 0) ([f1; f2; f3; rtop deep 0%N] :: rshift deep 0%N) (evR [t] Rs_r2). | L2162 | identical |
| 348 | Lemma | S_r2 | Lemma S_r2 e t q deep : 2 <= e -> 1 + 8 * N.to_nat t = 9 ^ (e - 2) -> length deep = 1 + 2 * e -> Gc (repeat U0 (S (length deep)), P0, 0) (q :: deep) (evR [t] Rs_r2) -->+ Gc (repeat U0 (S (S (length deep))), P0, 0) ([W3t t; wv 6227 49896 t; wv 2069 16632 t; nth 0 q 0%N] :: rshift (q :: deep) 0%N) (evR [t] Rs_r3). | L2184 | identical |
| 349 | Lemma | S_r3 | Lemma S_r3 e t f1 f2 f3 deep : 2 <= e -> 1 + 8 * N.to_nat t = 9 ^ (e - 2) -> length deep = 2 + 2 * e -> Gc (repeat U0 (S (length deep)), P0, 0) ([W3t t; f1; f2; f3] :: deep) (evR [t] Rs_r3) -->+ Gc (repeat U0 (S (length deep)), P0, 0) ([f1; f2; f3; rtop deep 0%N] :: rshift deep 0%N) (evR [t] Rs_r4). | L2206 | identical |
| 350 | Lemma | S_r4 | Lemma S_r4 e t q deep : 2 <= e -> 1 + 8 * N.to_nat t = 9 ^ (e - 2) -> length deep = 2 + 2 * e -> Gc (repeat U0 (S (length deep)), P0, 0) (q :: deep) (evR [t] Rs_r4) -->+ Gc (repeat U0 (S (S (length deep))), P0, 0) ([W5t (1 + 9 * t); W5s (1 + 9 * t); W5a (1 + 9 * t); nth 0 q 0%N] :: rshift (q :: deep) 0%N) (evR [(1 + 9 * t)%N] Rs_r5). | L2228 | identical |
| 351 | Definition | cfg28 | Definition cfg28 : cfg :=
Rc B
([(S0, cn 74808); (S1, cn 24912); (S0, cn 8277); (S0, cn 2737); (S0, cn 972); (S1, cn 36);
(S0, cn 37); (S0, cn 37); (S0, cn 44); (S1, cn 24); (S0, cn 17); (S0, cn 9);
(S0, cn 4); (S1, cn 4); (S0, cn 1); (S0, cn 5); (S0, cn 4); (S1, cn 4);
(S0, cn 1); (S0, cn 5); (S0, cn 4); (S1, cn 4); (S0, cn 1); (S0, cn 5);
… +3 lines | L2254 | adapted |
| 352 | Definition | mkc | Definition mkc (rc : bool) (q : Q) (l r : list (Sym * N)) : cfg := let f := map (fun x : Sym * N => (fst x, cn (snd x))) in if rc then Rc q (f l, T0) (f r, T0) else Lc q (f l, T0) (f r, T0). | L2266 | identical |
| 353 | Definition | b28_0 | Definition b28_0 : cfg := mkc true B [] []. | L2269 | adapted |
| 354 | Definition | b28_1 | Definition b28_1 : cfg := mkc true A [(S0, 7%N); (S0, 24909%N); (S0, 8281%N); (S0, 2736%N); (S1, 972%N); (S0, 34%N); (S1, 40%N); (S0, 36%N); (S1, 44%N); (S0, 21%N); (S0, 21%N); (S0, 8%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 4%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 2%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 1%N); (S0, 5%N); (S0, 2%N)] [(S1, 5005%N); (S1, 34784%N); (S0, 2%N)]. | L2270 | adapted |
| 355 | Definition | b28_2 | Definition b28_2 : cfg := mkc false D [(S1, 20408%N); (S0, 7%N); (S0, 74807%N); (S0, 24912%N); (S1, 8280%N); (S0, 2734%N); (S1, 972%N); (S0, 36%N); (S1, 40%N); (S0, 34%N); (S1, 44%N); (S0, 24%N); (S1, 20%N); (S0, 6%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 1%N); (S0, 5%N); (S0, 1%N); (S0, 5%N); (S0, 2%N); (S1, 4%N); (S0, 2%N)] [(S0, 18958%N); (S1, 1%N)]. | L2271 | adapted |
| 356 | Definition | b28_3 | Definition b28_3 : cfg := mkc true C [(S1, 1%N); (S1, 102601%N); (S1, 15237%N); (S1, 8%N); (S0, 74805%N); (S0, 24913%N); (S0, 8280%N); (S1, 2736%N); (S0, 969%N); (S0, 37%N); (S0, 40%N); (S1, 36%N); (S0, 41%N); (S0, 25%N); (S0, 20%N); (S1, 8%N); (S0, 2%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 4%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 1%N); (S0, 5%N); (S0, 2%N)] []. | L2272 | adapted |
| 357 | Definition | b28_4 | Definition b28_4 : cfg := mkc false D [(S0, 20%N); (S1, 8%N); (S0, 2%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 4%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 1%N); (S0, 5%N); (S0, 3%N); (S0, 3%N); (S0, 3%N); (S0, 3%N); (S0, 2%N)] [(S1, 23%N); (S1, 43%N); (S1, 36%N); (S0, 40%N); (S1, 35%N); (S1, 971%N); (S1, 2736%N); (S0, 8280%N); (S1, 24911%N); (S1, 74807%N); (S1, 8%N); (S0, 2576%N); (S1, 203893%N)]. | L2273 | adapted |
| 358 | Definition | b28_5 | Definition b28_5 : cfg := mkc true B [(S1, 74808%N); (S0, 24911%N); (S0, 8279%N); (S0, 2736%N); (S1, 972%N); (S0, 33%N); (S0, 41%N); (S0, 36%N); (S1, 44%N); (S0, 23%N); (S0, 19%N); (S0, 8%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 4%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 4%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 2%N)] [(S0, 224496%N); (S1, 4%N); (S0, 47813%N); (S0, 2%N)]. | L2274 | adapted |
| 359 | Definition | b28_6 | Definition b28_6 : cfg := mkc true A [(S0, 55467%N); (S0, 61233%N); (S0, 7%N); (S0, 224495%N); (S0, 74808%N); (S1, 24912%N); (S0, 8279%N); (S0, 2735%N); (S0, 972%N); (S1, 36%N); (S0, 37%N); (S0, 37%N); (S0, 44%N); (S1, 24%N); (S0, 19%N); (S0, 7%N); (S0, 4%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 4%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 3%N); (S0, 3%N); (S0, 3%N); (S0, 3%N); (S0, 1%N); (S0, 5%N); (S0, 2%N)] [(S1, 1%N)]. | L2275 | adapted |
| 360 | Definition | b28_7 | Definition b28_7 : cfg := mkc true B [(S1, 224496%N); (S0, 74808%N); (S1, 24912%N); (S0, 8279%N); (S0, 2735%N); (S0, 972%N); (S1, 36%N); (S0, 37%N); (S0, 37%N); (S0, 44%N); (S1, 24%N); (S0, 19%N); (S0, 7%N); (S0, 4%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 2%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 3%N); (S0, 3%N); (S0, 2%N)] [(S1, 1%N); (S1, 5%N); (S1, 61231%N); (S1, 126905%N); (S1, 1%N)]. | L2276 | adapted |
| 361 | Definition | b28_8 | Definition b28_8 : cfg := mkc false E [(S0, 58639%N); (S0, 9%N); (S0, 224494%N); (S1, 74808%N); (S0, 24912%N); (S1, 8280%N); (S0, 2735%N); (S0, 971%N); (S0, 36%N); (S1, 40%N); (S0, 34%N); (S1, 44%N); (S0, 24%N); (S1, 20%N); (S0, 6%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 4%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 4%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 2%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 1%N); (S0, 5%N); (S0, 2%N)] [(S1, 204454%N); (S0, 2%N)]. | L2277 | adapted |
| 362 | Definition | b28_9 | Definition b28_9 : cfg := mkc false A [(S0, 1%N); (S0, 7%N); (S0, 224494%N); (S1, 74808%N); (S0, 24912%N); (S1, 8280%N); (S0, 2734%N); (S1, 972%N); (S0, 36%N); (S1, 40%N); (S0, 34%N); (S1, 44%N); (S0, 24%N); (S1, 20%N); (S0, 7%N); (S0, 3%N); (S0, 4%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 4%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 1%N); (S0, 5%N); (S0, 2%N)] [(S1, 1%N); (S1, 45979%N); (S1, 305728%N); (S0, 2%N)]. | L2278 | adapted |
| 363 | Definition | b28_10 | Definition b28_10 : cfg := mkc false D [(S0, 36%N); (S1, 40%N); (S0, 33%N); (S0, 45%N); (S0, 24%N); (S1, 20%N); (S0, 5%N); (S0, 5%N); (S0, 4%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 4%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 2%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 2%N)] [(S1, 971%N); (S1, 2735%N); (S1, 8280%N); (S0, 24912%N); (S1, 74807%N); (S1, 224495%N); (S1, 8%N); (S0, 33320%N); (S1, 407005%N)]. | L2279 | adapted |
| 364 | Definition | b28_11 | Definition b28_11 : cfg := mkc true B [(S0, 224495%N); (S0, 74807%N); (S0, 24912%N); (S1, 8280%N); (S0, 2734%N); (S1, 972%N); (S0, 36%N); (S1, 40%N); (S0, 33%N); (S0, 45%N); (S0, 24%N); (S1, 20%N); (S0, 6%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 4%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 2%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 3%N); (S0, 3%N); (S0, 2%N)] [(S1, 8%N); (S0, 20662%N); (S1, 508272%N); (S0, 2%N)]. | L2280 | adapted |
| 365 | Definition | b28_12 | Definition b28_12 : cfg := mkc true A [(S0, 609552%N); (S1, 8001%N); (S1, 8%N); (S0, 224493%N); (S0, 74809%N); (S0, 24912%N); (S1, 8280%N); (S0, 2733%N); (S0, 973%N); (S0, 36%N); (S1, 40%N); (S0, 33%N); (S0, 45%N); (S0, 24%N); (S1, 20%N); (S0, 7%N); (S0, 3%N); (S0, 4%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 1%N); (S0, 5%N); (S0, 3%N); (S0, 3%N); (S0, 3%N); (S0, 3%N); (S0, 2%N)] []. | L2281 | adapted |
| 366 | Definition | b28_13 | Definition b28_13 : cfg := mkc true A [(S0, 24911%N); (S0, 8280%N); (S1, 2736%N); (S0, 970%N); (S1, 36%N); (S0, 40%N); (S1, 36%N); (S0, 41%N); (S0, 25%N); (S0, 20%N); (S1, 8%N); (S0, 2%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 4%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 1%N); (S0, 5%N); (S0, 2%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 2%N)] [(S1, 74807%N); (S1, 224496%N); (S0, 673560%N); (S1, 4%N); (S0, 22085%N); (S0, 2%N)]. | L2282 | adapted |
| 367 | Definition | b28_14 | Definition b28_14 : cfg := mkc true A [(S0, 1%N); (S0, 3%N); (S0, 673560%N); (S1, 224496%N); (S0, 74806%N); (S1, 24912%N); (S0, 8280%N); (S1, 2736%N); (S0, 971%N); (S0, 35%N); (S0, 40%N); (S1, 36%N); (S0, 43%N); (S0, 23%N); (S0, 20%N); (S1, 8%N); (S0, 1%N); (S0, 5%N); (S0, 4%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 4%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 4%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 2%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 2%N)] [(S0, 82091%N); (S0, 2%N)]. | L2283 | adapted |
| 368 | Definition | b28_15 | Definition b28_15 : cfg := mkc true B [(S1, 1%N); (S1, 36%N); (S0, 40%N); (S1, 36%N); (S0, 43%N); (S0, 23%N); (S0, 20%N); (S1, 8%N); (S0, 1%N); (S0, 5%N); (S0, 4%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 2%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 2%N)] [(S1, 969%N); (S1, 2736%N); (S0, 8280%N); (S1, 24911%N); (S1, 74807%N); (S1, 224496%N); (S0, 673560%N); (S1, 4%N); (S0, 142098%N); (S1, 1%N)]. | L2284 | adapted |
| 369 | Definition | b28_16 | Definition b28_16 : cfg := mkc true B [(S1, 1%N); (S1, 183704%N); (S0, 6%N); (S1, 673560%N); (S0, 224496%N); (S1, 74808%N); (S0, 24911%N); (S0, 8279%N); (S0, 2736%N); (S1, 972%N); (S0, 35%N); (S0, 39%N); (S0, 36%N); (S1, 44%N); (S0, 22%N); (S1, 20%N); (S0, 8%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 4%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 1%N); (S0, 5%N); (S0, 2%N)] [(S1, 21907%N)]. | L2285 | adapted |
| 370 | Definition | b28_17 | Definition b28_17 : cfg := mkc false D [(S0, 5%N); (S0, 673561%N); (S0, 224496%N); (S1, 74808%N); (S0, 24910%N); (S1, 8280%N); (S0, 2736%N); (S1, 972%N); (S0, 35%N); (S0, 39%N); (S0, 36%N); (S1, 44%N); (S0, 22%N); (S1, 20%N); (S0, 8%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 4%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 4%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 3%N); (S0, 3%N); (S0, 2%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 2%N)] [(S1, 183704%N); (S0, 93338%N)]. | L2286 | adapted |
| 371 | Definition | b28_18 | Definition b28_18 : cfg := mkc false E [(S0, 673561%N); (S0, 224496%N); (S1, 74808%N); (S0, 24909%N); (S0, 8281%N); (S0, 2736%N); (S1, 972%N); (S0, 35%N); (S0, 39%N); (S0, 36%N); (S1, 44%N); (S0, 22%N); (S1, 20%N); (S0, 8%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 4%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 3%N); (S0, 3%N); (S0, 3%N); (S0, 3%N); (S0, 1%N); (S0, 5%N); (S0, 2%N)] [(S1, 5%N); (S1, 183704%N); (S0, 164770%N); (S1, 1%N)]. | L2287 | adapted |
| 372 | Definition | b28_19 | Definition b28_19 : cfg := mkc true B [(S0, 224496%N); (S1, 74808%N); (S0, 24911%N); (S0, 8279%N); (S0, 2736%N); (S1, 972%N); (S0, 34%N); (S1, 40%N); (S0, 36%N); (S1, 44%N); (S0, 22%N); (S1, 20%N); (S0, 8%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 2%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 2%N)] [(S1, 673559%N); (S1, 7%N); (S1, 183703%N); (S1, 236201%N); (S1, 1%N)]. | L2288 | adapted |
| 373 | Definition | b28_20 | Definition b28_20 : cfg := mkc true A [(S0, 307630%N); (S1, 183704%N); (S0, 7%N); (S0, 673559%N); (S0, 224496%N); (S1, 74808%N); (S0, 24909%N); (S0, 8281%N); (S0, 2736%N); (S1, 972%N); (S0, 34%N); (S1, 40%N); (S0, 36%N); (S1, 44%N); (S0, 22%N); (S1, 20%N); (S0, 8%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 4%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 2%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 2%N); (S1, 4%N); (S0, 2%N)] [(S1, 1%N)]. | L2289 | adapted |
| 374 | Definition | b28_21 | Definition b28_21 : cfg := mkc true C [(S1, 379065%N); (S1, 183704%N); (S0, 7%N); (S0, 673559%N); (S0, 224496%N); (S1, 74808%N); (S0, 24911%N); (S0, 8279%N); (S0, 2736%N); (S1, 972%N); (S0, 33%N); (S0, 41%N); (S0, 36%N); (S1, 44%N); (S0, 22%N); (S1, 20%N); (S0, 8%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 4%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 4%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 2%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 3%N); (S0, 3%N); (S0, 2%N)] [(S0, 2%N)]. | L2290 | adapted |
| 375 | Definition | b28_22 | Definition b28_22 : cfg := mkc true C [(S1, 450496%N); (S0, 183703%N); (S0, 6%N); (S1, 673560%N); (S0, 224496%N); (S1, 74808%N); (S0, 24910%N); (S1, 8280%N); (S0, 2736%N); (S1, 972%N); (S0, 33%N); (S0, 41%N); (S0, 36%N); (S1, 44%N); (S0, 22%N); (S1, 20%N); (S0, 8%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 4%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 2%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 2%N)] [(S0, 2%N)]. | L2291 | adapted |
| 376 | Definition | b28_23 | Definition b28_23 : cfg := mkc false D [(S1, 521925%N); (S1, 183704%N); (S0, 7%N); (S0, 673559%N); (S0, 224496%N); (S1, 74808%N); (S0, 24911%N); (S0, 8279%N); (S0, 2736%N); (S1, 972%N); (S0, 35%N); (S0, 39%N); (S0, 36%N); (S1, 44%N); (S0, 21%N); (S0, 21%N); (S0, 8%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 4%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 1%N); (S0, 6%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 1%N); (S0, 5%N); (S0, 1%N); (S0, 5%N); (S0, 1%N); (S0, 5%N); (S0, 2%N)] [(S0, 2%N)]. | L2292 | adapted |
| 377 | Definition | b28_24 | Definition b28_24 : cfg := mkc false D [(S1, 611003%N); (S1, 176220%N); (S0, 9%N); (S0, 673557%N); (S0, 224497%N); (S0, 74808%N); (S1, 24912%N); (S0, 8278%N); (S1, 2736%N); (S0, 972%N); (S1, 36%N); (S0, 39%N); (S0, 35%N); (S0, 44%N); (S1, 24%N); (S0, 19%N); (S0, 7%N); (S0, 4%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 4%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 4%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 4%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 1%N); (S0, 5%N); (S0, 2%N)] [(S1, 1%N)]. | L2293 | adapted |
| 378 | Definition | b28_25 | Definition b28_25 : cfg := mkc false D [(S1, 712271%N); (S1, 163561%N); (S1, 8%N); (S0, 673558%N); (S1, 224496%N); (S0, 74808%N); (S1, 24912%N); (S0, 8279%N); (S0, 2735%N); (S0, 972%N); (S1, 36%N); (S0, 38%N); (S1, 36%N); (S0, 44%N); (S1, 24%N); (S0, 17%N); (S0, 9%N); (S0, 4%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 4%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 4%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 2%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 2%N)] [(S1, 1%N); (S1, 1%N)]. | L2294 | adapted |
| 379 | Definition | b28_26 | Definition b28_26 : cfg := mkc false D [(S0, 224495%N); (S0, 74808%N); (S1, 24912%N); (S0, 8277%N); (S0, 2737%N); (S0, 972%N); (S1, 36%N); (S0, 38%N); (S1, 36%N); (S0, 44%N); (S1, 24%N); (S0, 18%N); (S1, 8%N); (S0, 4%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 2%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 2%N)] [(S1, 673559%N); (S1, 8%N); (S0, 150901%N); (S0, 813545%N); (S0, 2%N)]. | L2295 | adapted |
| 380 | Definition | b28_27 | Definition b28_27 : cfg := mkc false E [(S0, 138245%N); (S0, 9%N); (S0, 673559%N); (S0, 224495%N); (S0, 74808%N); (S1, 24912%N); (S0, 8279%N); (S0, 2735%N); (S0, 972%N); (S1, 36%N); (S0, 37%N); (S0, 37%N); (S0, 44%N); (S1, 24%N); (S0, 19%N); (S0, 7%N); (S0, 4%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 4%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 4%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 1%N); (S0, 5%N); (S0, 2%N)] [(S1, 914807%N); (S1, 1%N)]. | L2296 | adapted |
| 381 | Definition | b28_28 | Definition b28_28 : cfg := mkc false D [(S1, 24912%N); (S0, 8277%N); (S0, 2737%N); (S0, 972%N); (S1, 36%N); (S0, 37%N); (S0, 37%N); (S0, 44%N); (S1, 24%N); (S0, 17%N); (S0, 9%N); (S0, 4%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 4%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 4%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 4%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 1%N); (S0, 5%N); (S0, 2%N); (S1, 4%N); (S0, 2%N)] [(S0, 74808%N); (S1, 224495%N); (S1, 673559%N); (S1, 8%N); (S0, 125586%N); (S1, 1016072%N); (S0, 2%N)]. | L2297 | adapted |
| 382 | Definition | b28_29 | Definition b28_29 : cfg := mkc false D [(S1, 1117353%N); (S1, 112925%N); (S1, 8%N); (S0, 673558%N); (S1, 224496%N); (S0, 74808%N); (S1, 24912%N); (S0, 8279%N); (S0, 2735%N); (S0, 972%N); (S1, 36%N); (S0, 39%N); (S0, 35%N); (S0, 44%N); (S1, 24%N); (S0, 17%N); (S0, 9%N); (S0, 4%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 4%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 4%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 3%N); (S0, 3%N); (S0, 1%N); (S0, 5%N); (S0, 2%N); (S1, 4%N); (S0, 2%N)] [(S0, 2%N)]. | L2298 | adapted |
| 383 | Definition | b28_30 | Definition b28_30 : cfg := mkc false D [(S0, 673557%N); (S0, 224497%N); (S0, 74808%N); (S1, 24912%N); (S0, 8278%N); (S1, 2736%N); (S0, 972%N); (S1, 36%N); (S0, 39%N); (S0, 35%N); (S0, 44%N); (S1, 24%N); (S0, 18%N); (S1, 8%N); (S0, 4%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 4%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 4%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 2%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 2%N)] [(S1, 7%N); (S1, 100269%N); (S1, 1218616%N); (S0, 2%N)]. | L2299 | adapted |
| 384 | Definition | b28_31 | Definition b28_31 : cfg := mkc true C [(S1, 1319883%N); (S1, 87611%N); (S1, 8%N); (S0, 673559%N); (S0, 224495%N); (S0, 74808%N); (S1, 24912%N); (S0, 8279%N); (S0, 2735%N); (S0, 972%N); (S1, 36%N); (S0, 38%N); (S1, 36%N); (S0, 44%N); (S1, 24%N); (S0, 19%N); (S0, 7%N); (S0, 4%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 4%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 4%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 1%N); (S0, 5%N); (S0, 3%N); (S0, 3%N); (S0, 2%N); (S1, 4%N); (S0, 2%N)] []. | L2300 | adapted |
| 385 | Definition | b28_32 | Definition b28_32 : cfg := mkc true C [(S1, 1421142%N); (S0, 74953%N); (S0, 9%N); (S0, 673557%N); (S0, 224497%N); (S0, 74808%N); (S1, 24912%N); (S0, 8278%N); (S1, 2736%N); (S0, 972%N); (S1, 36%N); (S0, 38%N); (S1, 36%N); (S0, 44%N); (S1, 24%N); (S0, 17%N); (S0, 9%N); (S0, 4%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 4%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 4%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 4%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 3%N); (S0, 3%N); (S0, 3%N); (S0, 3%N); (S0, 2%N); (S1, 4%N); (S0, 2%N)] [(S0, 2%N)]. | L2301 | adapted |
| 386 | Definition | b28_33 | Definition b28_33 : cfg := mkc true C [(S1, 1%N); (S1, 1522414%N); (S0, 62294%N); (S1, 8%N); (S0, 673558%N); (S1, 224496%N); (S0, 74808%N); (S1, 24912%N); (S0, 8279%N); (S0, 2735%N); (S0, 972%N); (S1, 36%N); (S0, 37%N); (S0, 37%N); (S0, 44%N); (S1, 24%N); (S0, 18%N); (S1, 8%N); (S0, 4%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 4%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 4%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 4%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 2%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 3%N); (S0, 3%N); (S0, 2%N)] []. | L2302 | adapted |
| 387 | Definition | b28_34 | Definition b28_34 : cfg := mkc true B [(S0, 673557%N); (S0, 224497%N); (S0, 74808%N); (S1, 24912%N); (S0, 8278%N); (S1, 2736%N); (S0, 972%N); (S1, 36%N); (S0, 37%N); (S0, 37%N); (S0, 44%N); (S1, 24%N); (S0, 19%N); (S0, 7%N); (S0, 4%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 4%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 4%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 3%N); (S0, 3%N); (S0, 1%N); (S0, 5%N); (S0, 3%N); (S0, 3%N); (S0, 2%N)] [(S1, 8%N); (S0, 49633%N); (S0, 1623689%N); (S0, 2%N)]. | L2303 | adapted |
| 388 | Definition | b28_35 | Definition b28_35 : cfg := mkc true B [(S0, 1724963%N); (S0, 36973%N); (S0, 9%N); (S0, 673559%N); (S0, 224495%N); (S0, 74808%N); (S1, 24912%N); (S0, 8279%N); (S0, 2735%N); (S0, 972%N); (S1, 36%N); (S0, 39%N); (S0, 35%N); (S0, 44%N); (S1, 24%N); (S0, 19%N); (S0, 7%N); (S0, 4%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 4%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 4%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 2%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 2%N)] []. | L2304 | adapted |
| 389 | Definition | b28_36 | Definition b28_36 : cfg := mkc true C [(S1, 1%N); (S1, 1826222%N); (S0, 24318%N); (S1, 8%N); (S0, 673557%N); (S0, 224497%N); (S0, 74808%N); (S1, 24912%N); (S0, 8278%N); (S1, 2736%N); (S0, 972%N); (S1, 36%N); (S0, 39%N); (S0, 35%N); (S0, 44%N); (S1, 24%N); (S0, 17%N); (S0, 9%N); (S0, 4%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 4%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 1%N); (S0, 5%N); (S0, 3%N); (S0, 3%N); (S0, 3%N); (S0, 3%N); (S0, 2%N)] []. | L2305 | adapted |
| 390 | Definition | b28_37 | Definition b28_37 : cfg := mkc false D [(S1, 8%N); (S0, 673559%N); (S0, 224495%N); (S0, 74808%N); (S1, 24912%N); (S0, 8279%N); (S0, 2735%N); (S0, 972%N); (S1, 36%N); (S0, 38%N); (S1, 36%N); (S0, 44%N); (S1, 24%N); (S0, 18%N); (S1, 8%N); (S0, 4%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 2%N); (S1, 4%N); (S0, 4%N); (S1, 4%N); (S0, 1%N); (S0, 5%N); (S0, 4%N); (S1, 4%N); (S0, 3%N); (S0, 3%N); (S0, 3%N); (S0, 3%N); (S0, 3%N); (S0, 3%N); (S0, 3%N); (S0, 3%N); (S0, 2%N)] [(S0, 11658%N); (S1, 1927496%N); (S0, 2%N)]. | L2306 | adapted |
| 391 | Lemma | ck_0 | Lemma ck_0 : runp 500000 b28_0 = Some (b28_1, true). | L2307 | identical |
| 392 | Lemma | ck_1 | Lemma ck_1 : runp 500000 b28_1 = Some (b28_2, true). | L2309 | identical |
| 393 | Lemma | ck_2 | Lemma ck_2 : runp 500000 b28_2 = Some (b28_3, true). | L2311 | identical |
| 394 | Lemma | ck_3 | Lemma ck_3 : runp 500000 b28_3 = Some (b28_4, true). | L2313 | identical |
| 395 | Lemma | ck_4 | Lemma ck_4 : runp 500000 b28_4 = Some (b28_5, true). | L2315 | identical |
| 396 | Lemma | ck_5 | Lemma ck_5 : runp 500000 b28_5 = Some (b28_6, true). | L2317 | identical |
| 397 | Lemma | ck_6 | Lemma ck_6 : runp 500000 b28_6 = Some (b28_7, true). | L2319 | identical |
| 398 | Lemma | ck_7 | Lemma ck_7 : runp 500000 b28_7 = Some (b28_8, true). | L2321 | identical |
| 399 | Lemma | ck_8 | Lemma ck_8 : runp 500000 b28_8 = Some (b28_9, true). | L2323 | identical |
| 400 | Lemma | ck_9 | Lemma ck_9 : runp 500000 b28_9 = Some (b28_10, true). | L2325 | identical |
| 401 | Lemma | ck_10 | Lemma ck_10 : runp 500000 b28_10 = Some (b28_11, true). | L2327 | identical |
| 402 | Lemma | ck_11 | Lemma ck_11 : runp 500000 b28_11 = Some (b28_12, true). | L2329 | identical |
| 403 | Lemma | ck_12 | Lemma ck_12 : runp 500000 b28_12 = Some (b28_13, true). | L2331 | identical |
| 404 | Lemma | ck_13 | Lemma ck_13 : runp 500000 b28_13 = Some (b28_14, true). | L2333 | identical |
| 405 | Lemma | ck_14 | Lemma ck_14 : runp 500000 b28_14 = Some (b28_15, true). | L2335 | identical |
| 406 | Lemma | ck_15 | Lemma ck_15 : runp 500000 b28_15 = Some (b28_16, true). | L2337 | identical |
| 407 | Lemma | ck_16 | Lemma ck_16 : runp 500000 b28_16 = Some (b28_17, true). | L2339 | identical |
| 408 | Lemma | ck_17 | Lemma ck_17 : runp 500000 b28_17 = Some (b28_18, true). | L2341 | identical |
| 409 | Lemma | ck_18 | Lemma ck_18 : runp 500000 b28_18 = Some (b28_19, true). | L2343 | identical |
| 410 | Lemma | ck_19 | Lemma ck_19 : runp 500000 b28_19 = Some (b28_20, true). | L2345 | identical |
| 411 | Lemma | ck_20 | Lemma ck_20 : runp 500000 b28_20 = Some (b28_21, true). | L2347 | identical |
| 412 | Lemma | ck_21 | Lemma ck_21 : runp 500000 b28_21 = Some (b28_22, true). | L2349 | identical |
| 413 | Lemma | ck_22 | Lemma ck_22 : runp 500000 b28_22 = Some (b28_23, true). | L2351 | identical |
| 414 | Lemma | ck_23 | Lemma ck_23 : runp 500000 b28_23 = Some (b28_24, true). | L2353 | identical |
| 415 | Lemma | ck_24 | Lemma ck_24 : runp 500000 b28_24 = Some (b28_25, true). | L2355 | identical |
| 416 | Lemma | ck_25 | Lemma ck_25 : runp 500000 b28_25 = Some (b28_26, true). | L2357 | identical |
| 417 | Lemma | ck_26 | Lemma ck_26 : runp 500000 b28_26 = Some (b28_27, true). | L2359 | identical |
| 418 | Lemma | ck_27 | Lemma ck_27 : runp 500000 b28_27 = Some (b28_28, true). | L2361 | identical |
| 419 | Lemma | ck_28 | Lemma ck_28 : runp 500000 b28_28 = Some (b28_29, true). | L2363 | identical |
| 420 | Lemma | ck_29 | Lemma ck_29 : runp 500000 b28_29 = Some (b28_30, true). | L2365 | identical |
| 421 | Lemma | ck_30 | Lemma ck_30 : runp 500000 b28_30 = Some (b28_31, true). | L2367 | identical |
| 422 | Lemma | ck_31 | Lemma ck_31 : runp 500000 b28_31 = Some (b28_32, true). | L2369 | identical |
| 423 | Lemma | ck_32 | Lemma ck_32 : runp 500000 b28_32 = Some (b28_33, true). | L2371 | identical |
| 424 | Lemma | ck_33 | Lemma ck_33 : runp 500000 b28_33 = Some (b28_34, true). | L2373 | identical |
| 425 | Lemma | ck_34 | Lemma ck_34 : runp 500000 b28_34 = Some (b28_35, true). | L2375 | identical |
| 426 | Lemma | ck_35 | Lemma ck_35 : runp 500000 b28_35 = Some (b28_36, true). | L2377 | identical |
| 427 | Lemma | ck_36 | Lemma ck_36 : runp 500000 b28_36 = Some (b28_37, true). | L2379 | identical |
| 428 | Lemma | ck_37 | Lemma ck_37 : runp 71902 b28_37 = Some (cfg28, true). | L2381 | adapted |
| 429 | Lemma | ck_ev | Lemma ck_ev p c c' : runp p c = Some (c', true) -> ev_cfg [] (fun _ => const S0) c -->* ev_cfg [] (fun _ => const S0) c'. | L2383 | identical |
| 430 | Lemma | init28 | Lemma init28 : B;; tape0 -->* ev_cfg [] (fun _ => const S0) cfg28. | L2387 | adapted |
| 431 | Inductive | cls | Inductive cls := C5 | C0 | C1 | C2 | C3 | C4. | L2435 | identical |
| 432 | Definition | Rs | Definition Rs (r : cls) : list run := match r with C5 => Rs_r5 | C0 => Rs_r0 | C1 => Rs_r1 | C2 => Rs_r2 | C3 => Rs_r3 | C4 => Rs_r4 end. | L2437 | identical |
| 433 | Definition | ist | Definition ist : Type := (cls * nat * N * list (list N))%type. | L2440 | identical |
| 434 | Definition | cfgI | Definition cfgI (s : ist) : Q * tape := let '(r, e, t, nus) := s in Gc (repeat U0 (length nus), P0, 0) nus (evR [t] (Rs r)). | L2442 | identical |
| 435 | Definition | win | Definition win (r : cls) (e : nat) (t : N) (nus : list (list N)) : Prop :=
match r with
| C5 => exists f1 deep, nus = [W5t t; W5s t; W5a t; f1] :: deep /\ length deep = 1 + 2 * e
| C0 => exists f1 f2 deep, nus = [W0t t; W0s t; f1; f2] :: deep /\ length deep = 1 + 2 * e
| C1 => exists f1 f2 f3 deep, nus = [W1t t; W1s t; W1a t; W1I t] :: [W1u t; f1; f2; f3] :: deep /\
length deep = 1 + 2 * e
… +4 lines | L2445 | identical |
| 436 | Definition | Inv | Definition Inv (s : ist) : Prop := let '(r, e, t, nus) := s in 2 <= e /\ 1 + 8 * N.to_nat t = 9 ^ (e - 2) /\ win r e t nus. | L2456 | identical |
| 437 | Lemma | inv_step | Lemma inv_step s : Inv s -> exists s', cfgI s -->+ cfgI s' /\ Inv s'. | L2459 | identical |
| 438 | Definition | L28 | Definition L28 : list run :=
[(S0, cn 74808); (S1, cn 24912); (S0, cn 8277); (S0, cn 2737); (S0, cn 972); (S1, cn 36);
(S0, cn 37); (S0, cn 37); (S0, cn 44); (S1, cn 24); (S0, cn 17); (S0, cn 9);
(S0, cn 4); (S1, cn 4); (S0, cn 1); (S0, cn 5); (S0, cn 4); (S1, cn 4);
(S0, cn 1); (S0, cn 5); (S0, cn 4); (S1, cn 4); (S0, cn 1); (S0, cn 5);
(S0, cn 1); (S0, cn 6); (S1, cn 4); (S0, cn 1); (S0, cn 5); (S0, cn 1);
… +1 lines | L2502 | adapted |
| 439 | Definition | R28 | Definition R28 : list run := [(S0, cn 224492); (S1, cn 673559); (S1, cn 7); (S1, cn 9841); (S1, cn 1942040); (S0, cn 2)]%N. | L2509 | identical |
| 440 | Definition | nus28 | Definition nus28 : list (list N) := [[18701; 6227; 2069; 683]; [242; 8; 9; 8]; [10; 5; 4; 1]; [0; 0; 0; 0]; [0; 0; 0; 0]; [0; 0; 0; 0]]%N. | L2510 | adapted |
| 441 | Lemma | inv28 | Lemma inv28 : Inv (C5, 2, 0%N, nus28). | L2513 | identical |
| 442 | Lemma | split1 | Lemma split1 nu b c v rest X : ev_runs nu ((b, LF (3 + c) v) :: rest) X = ev_runs nu [(b, cn 3)] (ev_runs nu ((sneg b, LF c v) :: rest) X). | L2519 | identical |
| 443 | Lemma | b28a | Lemma b28a : reach 1000 (Rc B (L28, T0) ([(S1, cn 3)], TV 1)) (Rc A ((S0, cn 3) :: L28, T0) ([], TV 1)) = true. | L2527 | identical |
| 444 | Lemma | b28b | Lemma b28b : ep_run true R28 = Some (map (fun r => (fst r, cn (evN [0%N] (snd r)))) Rs_r5). | L2530 | identical |
| 445 | Lemma | b28_chain | Lemma b28_chain : ev_runs [] ((S0, cn 3) :: L28) (const S0) = chs (repeat U0 6) nus28 (b1s P0 (LWs 0)). | L2533 | identical |
| 446 | Lemma | b28_right | Lemma b28_right : evR [] (map (fun r => (fst r, cn (evN [0%N] (snd r)))) Rs_r5) = evR [0%N] Rs_r5. | L2536 | identical |
| 447 | Lemma | base28 | Lemma base28 :
ev_runs [] L28 (const S0) {{B}}> ev_runs [] ((S1, cn 224495) :: tl R28) (const S0) -->*
cfgI (C5, 2, 0%N, nus28). | L2539 | identical |
| 448 | Lemma | nonhalt_P | Lemma nonhalt_P : ~ halts tmP (B;; tape0). | L2558 | new |
| 449 | Definition | phi | Definition phi (q : Q) : Q := match q with A => B | B => C | C => D | D => E | E => A | F => F end. | L2565 | new |
| 450 | Lemma | perm_phi | Lemma perm_phi : Perm tm tmP phi. | L2568 | new |
| 451 | Lemma | nonhalt | Lemma nonhalt : ~ halts tm c0. | L2575 | adapted |
5What a maintainer readsCheck: the rule table below is what the .v proves, and proof.md / README read cleanly for a maintainer.
- submission/proof.md · informal proof (submitted copy)
- submission/README.md · the package README
- submission/discord.md · Discord draft (not posted)
- submission/parent-proof.md · the parent's proof, as shipped
- proof.md (working copy) · differs from the submitted copy
No heading with "rule", "carries over" or "unchanged" in proof.md.
6FamilyCheck: related machines are killed together or have a reason to be left open.
3 machines, 3 killed, 0 not. Family links: status.json parent, same transition table with another start (tools/dashboard.py), targeting.md follow-on rows, ledger "= twin" notes. A machine string named in a .v header / proof.md / notes.md is listed but does not make a family.
| who | machine | status | relation to this kill |
|---|---|---|---|
| W4-3 kill 20 | 1RB0RF_1RC0RB_1LD0RA_1LE0LD_1RB0LC_1LA--- | ✓Killed: never halts | parent link; = W4-3b's table, run from state E; named in W4-3b's .v header; named in W4-3b's proof.md; named in W4-3b's notes.md; named in W4-3's proof.md; named in W4-3's notes.md · review · compared side by side above · mechanism |
| W4-3b kill 21 | 1RB0RA_1LC0RE_1LD0LC_1RA0LB_1RA0RF_1LE--- | ✓Killed: never halts | this kill |
| W4-3c kill 22 | 1RB---_1LC0LA_1LD0LC_1RE0LB_1RF0RE_1LC0RD | ✓Killed: never halts | = W4-3b's table mirrored, run from state F · review |
7ChecklistCheck: every ✓ is computed; the two ○ are yours to decide; an amber ! is an optional check that did not finish.
- ✓Machine string exactthe .v literal == holdout list line 543 byte for byte
- ✓Statement is
~halts tm c0parsed from the .v and confirmed by check_kill (theorem_text, theorem_rocq) - ✓No axioms beyond baseline0 assumption(s); tools/assumptions_baseline.txt allows only functional_extensionality_dep
- ✓coqchk finished (optional)coqchk pass in 1571.34 s
- ✓.v hash matches the checked hash.v = checked sha256 909abd2aaf10…; submission/ copy = checked sha256 909abd2aaf10…
- ✓No repo-local paths in the .vcomments name no path of ours (vendor/, machines/, tools/, rocq/, scripts/, reports/, atlas/, data/, journal/, /home/); busycoq's own
verify/X.vis fine: none in the .v or the submission/ copy - ✓Public write-up is cleantools/writeup_lint.py on
submission/proof.md: 0 error(s) - ○proof.md reviewed by Dennis (Checkpoint B)no Checkpoint B note from Dennis found
- notes.md L57: **Result: proof.md complete and validated (Checkpoint B content). check_proof.py 30/30 PASS (44 s), --full 32/32.**
- notes.md L83: - **Open:** Dennis's Checkpoint B read (non-blocking); independent re-run of check_kill (formalization stage's `next`).
- proof.md L23: - **Status:** the informal delta is complete and validated (Checkpoint B).
- ○Family posted together?2 other kill(s) in the family: W4-3, W4-3c; the Discord draft names 2 of them
Generated by tools/killreview.py at 2026-10-16 13:29 PDT in 0.3 s from the files linked above; nothing in this review is hand-written except the box “How we proved it never halts” (above), which quotes how_proved.md. Re-run: python3 -B tools/killreview.py 1RB0RA_1LC0RE_1LD0LC_1RA0LB_1RA0RF_1LE---
Files
machines/<tm>/: 13 entries · raw notes, status, scripts, images
| name | size | changed |
|---|---|---|
| notes.md ↓ | 7.4 KB | 2026-10-12 21:28 |
| proof.md ↓ | 15 KB | 2026-10-12 21:28 |
| how_proved.md ↓ | 1.4 KB | 2026-10-14 10:51 |
| status.json ↓ | 1.8 KB | 2026-10-14 09:08 |
| 1RB0RA_1LC0RE_1LD0LC_1RA0LB_1RA0RF_1LE---.v ↓ | 141 KB | 2026-10-13 18:01 |
| check_kill.txt ↓ | 11 KB | 2026-10-14 15:25 |
| img/ | 5 items | 2026-10-16 10:28 |
| rocq/ | 10 items | 2026-10-13 10:49 |
| scripts/ | 1 item | 2026-10-12 21:12 |
| submission/ | 6 items | 2026-10-14 10:21 |
| check_proof.out ↓ | 7.0 KB | 2026-10-12 21:27 |
| check_proof.py ↓ | 29 KB | 2026-10-13 10:22 |
| check_proof_full.out ↓ | 8.0 KB | 2026-10-12 21:30 |
status.json in full
{
"tm": "1RB0RA_1LC0RE_1LD0LC_1RA0LB_1RA0RF_1LE---",
"label": "W4-3b",
"status": "KILLED_NONHALT",
"stage": "done",
"updated": "2026-10-13",
"reason": "check_kill PASS, independently re-verified",
"check_kill": {
"result": "PASS",
"mode": "nonhalt",
"sha256": "a3afc5e3745e1b144d773acf56b19010f03ddd4158df30c1f073aaf395c2eb2c",
"compile_s": 75.0,
"coqchk": "timeout",
"coqchk_cap_s": 600,
"assumptions": [],
"log": "submission/check_kill.txt",
"checked_at": "2026-10-13T17:37:10Z",
"raw": [
"rocq/check_kill_2026-10-13_fix1.out"
]
},
"parent": "1RB0RF_1RC0RB_1LD0RA_1LE0LD_1RB0LC_1LA---",
"parent_note": "W4-3 (740 line 341), killed 2026-10-12",
"relation": "sibling of W4-3: W4-3's table renamed (phi = A->B, B->C, C->D, D->E, E->A, F->F, no mirror), started in W4-3's state B",
"holdout_line_740": 512,
"funded": {
"option": "sync_stage",
"date": "2026-10-12",
"campaign": "class2_closeout",
"stage": 2
},
"next": "Independent re-verification (audit) of the kill; then post after the parent (submission/discord.md, one message for both siblings).",
"proof_md": "proof.md: delta proof from W4-3 (relation, opening run to record exit 28 at step 2,629,088,387,088, C_r5(2) holds there; one deep chain gap +4), complete and validated (Checkpoint B content, 2026-10-12)",
"check_proof": {
"result": "PASS",
"claims": "30/30 default (44 s), 32/32 --full",
"out": [
"check_proof.out",
"check_proof_full.out"
]
},
"workflow_name": "W4-3-sib1",
"pr": "https://github.com/ccz181078/busycoq/pull/17",
"pr_state": "merged",
"pr_comments": 0,
"posted": "2026-10-13 (bbchallenge Discord, by Dennis)",
"pr_file": "verify/Skelet1LikeC2_1RB0RA_1LC0RE.v",
"pr_merged_at": "2026-10-14T06:20:18Z",
"pr_merged_by": "ccz181078",
"pr_merge_commit": "a036ccd"
}




