diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ac46a0c5..14ea04ca 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -43,6 +43,7 @@ jobs: python3 scripts/audit_rational_band_obstruction.py python3 scripts/audit_wider_band_clock.py python3 scripts/audit_six_band_prefixes.py + python3 scripts/audit_eleven_halves_clock.py - name: Check exact first-descent intervals run: | diff --git a/Collatz.lean b/Collatz.lean index 3b2d9e75..15756bf4 100644 --- a/Collatz.lean +++ b/Collatz.lean @@ -2113,3 +2113,4 @@ import Collatz.Exploration.FiveBandClock import Collatz.Exploration.RationalBandObstruction import Collatz.Exploration.WiderBandClock import Collatz.Exploration.SixBandPrefixes +import Collatz.Exploration.ElevenHalvesFamily diff --git a/Collatz/Exploration/BandClock.lean b/Collatz/Exploration/BandClock.lean index ad238635..85d9887d 100644 --- a/Collatz/Exploration/BandClock.lean +++ b/Collatz/Exploration/BandClock.lean @@ -8,6 +8,21 @@ open BarrierKernel def ExitClock (P Q K : Nat) : Prop := ∀ b n : Nat, 1 < b → ∃ k, k ≤ K ∧ (orbit k n < b ∨ P*b < Q*orbit k n) +/-- A proved clock transfers to every narrower positive-denominator band. -/ +theorem narrower_ratio {P Q A B K : Nat} (hc : ExitClock P Q K) + (hB : 0 < B) (hcross : A*Q ≤ P*B) : ExitClock A B K := by + intro b n hb + obtain ⟨k,hk,hl | hu⟩ := hc b n hb + · exact ⟨k,hk,Or.inl hl⟩ + · refine ⟨k,hk,Or.inr ?_⟩ + have hm : Q*(A*b) < Q*(B*orbit k n) := calc + Q*(A*b) = (A*Q)*b := by ac_rfl + _ ≤ (P*B)*b := Nat.mul_le_mul_right b hcross + _ = B*(P*b) := by ac_rfl + _ < B*(Q*orbit k n) := Nat.mul_lt_mul_of_pos_left hu hB + _ = Q*(B*orbit k n) := by ac_rfl + exact Nat.lt_of_mul_lt_mul_left hm + theorem no_band_through {P Q K b n : Nat} (hc : ExitClock P Q K) (hb : 1 < b) (h : ∀ k, k ≤ K → b ≤ orbit k n ∧ Q*orbit k n ≤ P*b) : False := by obtain ⟨k,hk,hl | hu⟩ := hc b n hb diff --git a/Collatz/Exploration/ElevenHalvesArithmetic.lean b/Collatz/Exploration/ElevenHalvesArithmetic.lean new file mode 100644 index 00000000..a7a2b602 --- /dev/null +++ b/Collatz/Exploration/ElevenHalvesArithmetic.lean @@ -0,0 +1,1247 @@ +import Collatz.Exploration.ElevenHalvesArithmetic.Part20 + +/-! Generated residue-and-affine certificates for the inclusive ratio-11/2 band. +Every branch and arithmetic conclusion is independently checked by Lean. -/ +namespace Collatz.Exploration.ElevenHalvesArithmetic + +set_option maxHeartbeats 2000000 +set_option linter.unusedVariables false + +theorem impossible_trace + (b x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 x26 x27 x28 x29 x30 : Nat) (hb : 1 < b) + (h0 : b ≤ x0 ∧ 2*x0 ≤ 11*b) + (h1 : b ≤ x1 ∧ 2*x1 ≤ 11*b) + (h2 : b ≤ x2 ∧ 2*x2 ≤ 11*b) + (h3 : b ≤ x3 ∧ 2*x3 ≤ 11*b) + (h4 : b ≤ x4 ∧ 2*x4 ≤ 11*b) + (h5 : b ≤ x5 ∧ 2*x5 ≤ 11*b) + (h6 : b ≤ x6 ∧ 2*x6 ≤ 11*b) + (h7 : b ≤ x7 ∧ 2*x7 ≤ 11*b) + (h8 : b ≤ x8 ∧ 2*x8 ≤ 11*b) + (h9 : b ≤ x9 ∧ 2*x9 ≤ 11*b) + (h10 : b ≤ x10 ∧ 2*x10 ≤ 11*b) + (h11 : b ≤ x11 ∧ 2*x11 ≤ 11*b) + (h12 : b ≤ x12 ∧ 2*x12 ≤ 11*b) + (h13 : b ≤ x13 ∧ 2*x13 ≤ 11*b) + (h14 : b ≤ x14 ∧ 2*x14 ≤ 11*b) + (h15 : b ≤ x15 ∧ 2*x15 ≤ 11*b) + (h16 : b ≤ x16 ∧ 2*x16 ≤ 11*b) + (h17 : b ≤ x17 ∧ 2*x17 ≤ 11*b) + (h18 : b ≤ x18 ∧ 2*x18 ≤ 11*b) + (h19 : b ≤ x19 ∧ 2*x19 ≤ 11*b) + (h20 : b ≤ x20 ∧ 2*x20 ≤ 11*b) + (h21 : b ≤ x21 ∧ 2*x21 ≤ 11*b) + (h22 : b ≤ x22 ∧ 2*x22 ≤ 11*b) + (h23 : b ≤ x23 ∧ 2*x23 ≤ 11*b) + (h24 : b ≤ x24 ∧ 2*x24 ≤ 11*b) + (h25 : b ≤ x25 ∧ 2*x25 ≤ 11*b) + (h26 : b ≤ x26 ∧ 2*x26 ≤ 11*b) + (h27 : b ≤ x27 ∧ 2*x27 ≤ 11*b) + (h28 : b ≤ x28 ∧ 2*x28 ≤ 11*b) + (h29 : b ≤ x29 ∧ 2*x29 ≤ 11*b) + (h30 : b ≤ x30 ∧ 2*x30 ≤ 11*b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0) ∨ (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0) ∨ (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0) ∨ (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0) ∨ (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0) ∨ (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0) ∨ (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0) ∨ (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0) ∨ (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0) ∨ (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0) ∨ (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0) ∨ (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0) ∨ (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0) ∨ (x13 = 3*x12+1 ∧ x12%2 = 1)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0) ∨ (x14 = 3*x13+1 ∧ x13%2 = 1)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0) ∨ (x15 = 3*x14+1 ∧ x14%2 = 1)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0) ∨ (x16 = 3*x15+1 ∧ x15%2 = 1)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0) ∨ (x17 = 3*x16+1 ∧ x16%2 = 1)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0) ∨ (x18 = 3*x17+1 ∧ x17%2 = 1)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0) ∨ (x19 = 3*x18+1 ∧ x18%2 = 1)) + (r19 : (2*x20 = x19 ∧ x19%2 = 0) ∨ (x20 = 3*x19+1 ∧ x19%2 = 1)) + (r20 : (2*x21 = x20 ∧ x20%2 = 0) ∨ (x21 = 3*x20+1 ∧ x20%2 = 1)) + (r21 : (2*x22 = x21 ∧ x21%2 = 0) ∨ (x22 = 3*x21+1 ∧ x21%2 = 1)) + (r22 : (2*x23 = x22 ∧ x22%2 = 0) ∨ (x23 = 3*x22+1 ∧ x22%2 = 1)) + (r23 : (2*x24 = x23 ∧ x23%2 = 0) ∨ (x24 = 3*x23+1 ∧ x23%2 = 1)) + (r24 : (2*x25 = x24 ∧ x24%2 = 0) ∨ (x25 = 3*x24+1 ∧ x24%2 = 1)) + (r25 : (2*x26 = x25 ∧ x25%2 = 0) ∨ (x26 = 3*x25+1 ∧ x25%2 = 1)) + (r26 : (2*x27 = x26 ∧ x26%2 = 0) ∨ (x27 = 3*x26+1 ∧ x26%2 = 1)) + (r27 : (2*x28 = x27 ∧ x27%2 = 0) ∨ (x28 = 3*x27+1 ∧ x27%2 = 1)) + (r28 : (2*x29 = x28 ∧ x28%2 = 0) ∨ (x29 = 3*x28+1 ∧ x28%2 = 1)) + (r29 : (2*x30 = x29 ∧ x29%2 = 0) ∨ (x30 = 3*x29+1 ∧ x29%2 = 1)) + : False := by + revert r29 r28 r27 r26 r25 r24 r23 r22 r21 r20 r19 r18 r17 r16 r15 r14 r13 r12 r11 r10 r9 r8 r7 r6 r5 r4 r3 r2 r1 r0 + intro r0 + rcases r0 with r0 | r0 + · -- branch 0 at time 0 + intro r1 + rcases r1 with r1 | r1 + · -- branch 0 at time 1 + intro r2 + rcases r2 with r2 | r2 + · -- branch 0 at time 2 + exact False.elim (exclude_000 x0 x1 x2 x3 b hb h0 h3 r0 r1 r2) + · -- branch 1 at time 2 + intro r3 + rcases r3 with r3 | r3 + · -- branch 0 at time 3 + intro r4 + rcases r4 with r4 | r4 + · -- branch 0 at time 4 + intro r5 + rcases r5 with r5 | r5 + · -- branch 0 at time 5 + exact False.elim (exclude_001000 x0 x1 x2 x3 x4 x5 x6 b hb h0 h6 r0 r1 r2 r3 r4 r5) + · -- branch 1 at time 5 + intro r6 + rcases r6 with r6 | r6 + · -- branch 0 at time 6 + intro r7 + rcases r7 with r7 | r7 + · -- branch 0 at time 7 + exact False.elim (exclude_00100100 x0 x1 x2 x3 x4 x5 x6 x7 x8 b hb h0 h8 r0 r1 r2 r3 r4 r5 r6 r7) + · -- branch 1 at time 7 + intro r8 + rcases r8 with r8 | r8 + · -- branch 0 at time 8 + intro r9 + rcases r9 with r9 | r9 + · -- branch 0 at time 9 + intro r10 + rcases r10 with r10 | r10 + · -- branch 0 at time 10 + exact False.elim (exclude_00100101000 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 b hb h0 h11 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10) + · -- branch 1 at time 10 + intro r11 + rcases r11 with r11 | r11 + · -- branch 0 at time 11 + intro r12 + rcases r12 with r12 | r12 + · -- branch 0 at time 12 + exact False.elim (exclude_0010010100100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 b hb h0 h13 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12) + · -- branch 1 at time 12 + intro r13 + rcases r13 with r13 | r13 + · -- branch 0 at time 13 + intro r14 + rcases r14 with r14 | r14 + · -- branch 0 at time 14 + intro r15 + rcases r15 with r15 | r15 + · -- branch 0 at time 15 + exact False.elim (exclude_0010010100101000 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 b hb h0 h16 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15) + · -- branch 1 at time 15 + intro r16 + rcases r16 with r16 | r16 + · -- branch 0 at time 16 + intro r17 + rcases r17 with r17 | r17 + · -- branch 0 at time 17 + exact False.elim (exclude_001001010010100100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 b hb h0 h18 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17) + · -- branch 1 at time 17 + exact False.elim (exclude_001001010010100101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 b hb h5 h18 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17) + · -- branch 1 at time 16 + exact False.elim (exclude_00100101001010011 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 b hb r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16) + · -- branch 1 at time 14 + exact False.elim (exclude_001001010010101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 b hb h2 h15 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14) + · -- branch 1 at time 13 + exact False.elim (exclude_00100101001011 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 b hb r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13) + · -- branch 1 at time 11 + exact False.elim (exclude_001001010011 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 b hb r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11) + · -- branch 1 at time 9 + exact False.elim (exclude_0010010101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 b hb h5 h10 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9) + · -- branch 1 at time 8 + exact False.elim (exclude_001001011 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 b hb r0 r1 r2 r3 r4 r5 r6 r7 r8) + · -- branch 1 at time 6 + exact False.elim (exclude_0010011 x0 x1 x2 x3 x4 x5 x6 x7 b hb r0 r1 r2 r3 r4 r5 r6) + · -- branch 1 at time 4 + intro r5 + rcases r5 with r5 | r5 + · -- branch 0 at time 5 + intro r6 + rcases r6 with r6 | r6 + · -- branch 0 at time 6 + intro r7 + rcases r7 with r7 | r7 + · -- branch 0 at time 7 + exact False.elim (exclude_00101000 x0 x1 x2 x3 x4 x5 x6 x7 x8 b hb h0 h8 r0 r1 r2 r3 r4 r5 r6 r7) + · -- branch 1 at time 7 + intro r8 + rcases r8 with r8 | r8 + · -- branch 0 at time 8 + intro r9 + rcases r9 with r9 | r9 + · -- branch 0 at time 9 + intro r10 + rcases r10 with r10 | r10 + · -- branch 0 at time 10 + exact False.elim (exclude_00101001000 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 b hb h0 h11 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10) + · -- branch 1 at time 10 + intro r11 + rcases r11 with r11 | r11 + · -- branch 0 at time 11 + intro r12 + rcases r12 with r12 | r12 + · -- branch 0 at time 12 + exact False.elim (exclude_0010100100100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 b hb h0 h13 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12) + · -- branch 1 at time 12 + intro r13 + rcases r13 with r13 | r13 + · -- branch 0 at time 13 + intro r14 + rcases r14 with r14 | r14 + · -- branch 0 at time 14 + intro r15 + rcases r15 with r15 | r15 + · -- branch 0 at time 15 + exact False.elim (exclude_0010100100101000 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 b hb h0 h16 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15) + · -- branch 1 at time 15 + intro r16 + rcases r16 with r16 | r16 + · -- branch 0 at time 16 + intro r17 + rcases r17 with r17 | r17 + · -- branch 0 at time 17 + exact False.elim (exclude_001010010010100100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 b hb h0 h18 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17) + · -- branch 1 at time 17 + intro r18 + rcases r18 with r18 | r18 + · -- branch 0 at time 18 + intro r19 + rcases r19 with r19 | r19 + · -- branch 0 at time 19 + intro r20 + rcases r20 with r20 | r20 + · -- branch 0 at time 20 + exact False.elim (exclude_001010010010100101000 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 b hb h0 h21 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20) + · -- branch 1 at time 20 + intro r21 + rcases r21 with r21 | r21 + · -- branch 0 at time 21 + intro r22 + rcases r22 with r22 | r22 + · -- branch 0 at time 22 + exact False.elim (exclude_00101001001010010100100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 b hb h5 h23 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22) + · -- branch 1 at time 22 + exact False.elim (exclude_00101001001010010100101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 b hb h10 h23 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22) + · -- branch 1 at time 21 + exact False.elim (exclude_0010100100101001010011 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 b hb r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21) + · -- branch 1 at time 19 + exact False.elim (exclude_00101001001010010101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 b hb h2 h20 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19) + · -- branch 1 at time 18 + exact False.elim (exclude_0010100100101001011 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 b hb r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18) + · -- branch 1 at time 16 + exact False.elim (exclude_00101001001010011 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 b hb r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16) + · -- branch 1 at time 14 + exact False.elim (exclude_001010010010101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 b hb h2 h15 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14) + · -- branch 1 at time 13 + exact False.elim (exclude_00101001001011 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 b hb r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13) + · -- branch 1 at time 11 + exact False.elim (exclude_001010010011 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 b hb r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11) + · -- branch 1 at time 9 + intro r10 + rcases r10 with r10 | r10 + · -- branch 0 at time 10 + intro r11 + rcases r11 with r11 | r11 + · -- branch 0 at time 11 + intro r12 + rcases r12 with r12 | r12 + · -- branch 0 at time 12 + exact False.elim (exclude_0010100101000 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 b hb h0 h13 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12) + · -- branch 1 at time 12 + intro r13 + rcases r13 with r13 | r13 + · -- branch 0 at time 13 + intro r14 + rcases r14 with r14 | r14 + · -- branch 0 at time 14 + intro r15 + rcases r15 with r15 | r15 + · -- branch 0 at time 15 + exact False.elim (exclude_0010100101001000 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 b hb h0 h16 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15) + · -- branch 1 at time 15 + intro r16 + rcases r16 with r16 | r16 + · -- branch 0 at time 16 + intro r17 + rcases r17 with r17 | r17 + · -- branch 0 at time 17 + exact False.elim (exclude_001010010100100100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 b hb h0 h18 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17) + · -- branch 1 at time 17 + intro r18 + rcases r18 with r18 | r18 + · -- branch 0 at time 18 + intro r19 + rcases r19 with r19 | r19 + · -- branch 0 at time 19 + intro r20 + rcases r20 with r20 | r20 + · -- branch 0 at time 20 + exact False.elim (exclude_001010010100100101000 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 b hb h0 h21 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20) + · -- branch 1 at time 20 + intro r21 + rcases r21 with r21 | r21 + · -- branch 0 at time 21 + intro r22 + rcases r22 with r22 | r22 + · -- branch 0 at time 22 + exact False.elim (exclude_00101001010010010100100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 b hb h5 h23 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22) + · -- branch 1 at time 22 + intro r23 + rcases r23 with r23 | r23 + · -- branch 0 at time 23 + intro r24 + rcases r24 with r24 | r24 + · -- branch 0 at time 24 + intro r25 + rcases r25 with r25 | r25 + · -- branch 0 at time 25 + exact False.elim (exclude_00101001010010010100101000 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 x26 b hb h0 h26 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 r25) + · -- branch 1 at time 25 + intro r26 + rcases r26 with r26 | r26 + · -- branch 0 at time 26 + intro r27 + rcases r27 with r27 | r27 + · -- branch 0 at time 27 + exact False.elim (exclude_0010100101001001010010100100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 x26 x27 x28 b hb h10 h28 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 r25 r26 r27) + · -- branch 1 at time 27 + exact False.elim (exclude_0010100101001001010010100101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 x26 x27 x28 b hb h15 h28 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 r25 r26 r27) + · -- branch 1 at time 26 + exact False.elim (exclude_001010010100100101001010011 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 x26 x27 b hb r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 r25 r26) + · -- branch 1 at time 24 + exact False.elim (exclude_0010100101001001010010101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 b hb h2 h25 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24) + · -- branch 1 at time 23 + exact False.elim (exclude_001010010100100101001011 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 b hb r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23) + · -- branch 1 at time 21 + exact False.elim (exclude_0010100101001001010011 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 b hb r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21) + · -- branch 1 at time 19 + exact False.elim (exclude_00101001010010010101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 b hb h2 h20 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19) + · -- branch 1 at time 18 + exact False.elim (exclude_0010100101001001011 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 b hb r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18) + · -- branch 1 at time 16 + exact False.elim (exclude_00101001010010011 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 b hb r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16) + · -- branch 1 at time 14 + exact False.elim (exclude_001010010100101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 b hb h2 h15 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14) + · -- branch 1 at time 13 + exact False.elim (exclude_00101001010011 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 b hb r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13) + · -- branch 1 at time 11 + exact False.elim (exclude_001010010101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 b hb h2 h12 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11) + · -- branch 1 at time 10 + exact False.elim (exclude_00101001011 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 b hb r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10) + · -- branch 1 at time 8 + exact False.elim (exclude_001010011 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 b hb r0 r1 r2 r3 r4 r5 r6 r7 r8) + · -- branch 1 at time 6 + exact False.elim (exclude_0010101 x0 x1 x2 x3 x4 x5 x6 x7 b hb h2 h7 r0 r1 r2 r3 r4 r5 r6) + · -- branch 1 at time 5 + exact False.elim (exclude_001011 x0 x1 x2 x3 x4 x5 x6 b hb r0 r1 r2 r3 r4 r5) + · -- branch 1 at time 3 + exact False.elim (exclude_0011 x0 x1 x2 x3 x4 b hb r0 r1 r2 r3) + · -- branch 1 at time 1 + intro r2 + rcases r2 with r2 | r2 + · -- branch 0 at time 2 + intro r3 + rcases r3 with r3 | r3 + · -- branch 0 at time 3 + intro r4 + rcases r4 with r4 | r4 + · -- branch 0 at time 4 + exact False.elim (exclude_01000 x0 x1 x2 x3 x4 x5 b hb h2 h5 r0 r1 r2 r3 r4) + · -- branch 1 at time 4 + intro r5 + rcases r5 with r5 | r5 + · -- branch 0 at time 5 + intro r6 + rcases r6 with r6 | r6 + · -- branch 0 at time 6 + intro r7 + rcases r7 with r7 | r7 + · -- branch 0 at time 7 + exact False.elim (exclude_01001000 x0 x1 x2 x3 x4 x5 x6 x7 x8 b hb h0 h8 r0 r1 r2 r3 r4 r5 r6 r7) + · -- branch 1 at time 7 + intro r8 + rcases r8 with r8 | r8 + · -- branch 0 at time 8 + intro r9 + rcases r9 with r9 | r9 + · -- branch 0 at time 9 + exact False.elim (exclude_0100100100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 b hb h2 h10 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9) + · -- branch 1 at time 9 + intro r10 + rcases r10 with r10 | r10 + · -- branch 0 at time 10 + intro r11 + rcases r11 with r11 | r11 + · -- branch 0 at time 11 + intro r12 + rcases r12 with r12 | r12 + · -- branch 0 at time 12 + exact False.elim (exclude_0100100101000 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 b hb h0 h13 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12) + · -- branch 1 at time 12 + intro r13 + rcases r13 with r13 | r13 + · -- branch 0 at time 13 + intro r14 + rcases r14 with r14 | r14 + · -- branch 0 at time 14 + exact False.elim (exclude_010010010100100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 b hb h2 h15 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14) + · -- branch 1 at time 14 + intro r15 + rcases r15 with r15 | r15 + · -- branch 0 at time 15 + intro r16 + rcases r16 with r16 | r16 + · -- branch 0 at time 16 + intro r17 + rcases r17 with r17 | r17 + · -- branch 0 at time 17 + exact False.elim (exclude_010010010100101000 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 b hb h0 h18 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17) + · -- branch 1 at time 17 + intro r18 + rcases r18 with r18 | r18 + · -- branch 0 at time 18 + intro r19 + rcases r19 with r19 | r19 + · -- branch 0 at time 19 + exact False.elim (exclude_01001001010010100100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 b hb h2 h20 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19) + · -- branch 1 at time 19 + exact False.elim (exclude_01001001010010100101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 b hb h7 h20 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19) + · -- branch 1 at time 18 + exact False.elim (exclude_0100100101001010011 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 b hb r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18) + · -- branch 1 at time 16 + exact False.elim (exclude_01001001010010101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 b hb h4 h17 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16) + · -- branch 1 at time 15 + exact False.elim (exclude_0100100101001011 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 b hb r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15) + · -- branch 1 at time 13 + exact False.elim (exclude_01001001010011 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 b hb r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13) + · -- branch 1 at time 11 + exact False.elim (exclude_010010010101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 b hb h7 h12 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11) + · -- branch 1 at time 10 + exact False.elim (exclude_01001001011 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 b hb r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10) + · -- branch 1 at time 8 + exact False.elim (exclude_010010011 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 b hb r0 r1 r2 r3 r4 r5 r6 r7 r8) + · -- branch 1 at time 6 + intro r7 + rcases r7 with r7 | r7 + · -- branch 0 at time 7 + intro r8 + rcases r8 with r8 | r8 + · -- branch 0 at time 8 + intro r9 + rcases r9 with r9 | r9 + · -- branch 0 at time 9 + exact False.elim (exclude_0100101000 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 b hb h2 h10 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9) + · -- branch 1 at time 9 + intro r10 + rcases r10 with r10 | r10 + · -- branch 0 at time 10 + intro r11 + rcases r11 with r11 | r11 + · -- branch 0 at time 11 + intro r12 + rcases r12 with r12 | r12 + · -- branch 0 at time 12 + exact False.elim (exclude_0100101001000 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 b hb h0 h13 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12) + · -- branch 1 at time 12 + intro r13 + rcases r13 with r13 | r13 + · -- branch 0 at time 13 + intro r14 + rcases r14 with r14 | r14 + · -- branch 0 at time 14 + exact False.elim (exclude_010010100100100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 b hb h2 h15 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14) + · -- branch 1 at time 14 + intro r15 + rcases r15 with r15 | r15 + · -- branch 0 at time 15 + intro r16 + rcases r16 with r16 | r16 + · -- branch 0 at time 16 + intro r17 + rcases r17 with r17 | r17 + · -- branch 0 at time 17 + exact False.elim (exclude_010010100100101000 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 b hb h0 h18 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17) + · -- branch 1 at time 17 + intro r18 + rcases r18 with r18 | r18 + · -- branch 0 at time 18 + intro r19 + rcases r19 with r19 | r19 + · -- branch 0 at time 19 + exact False.elim (exclude_01001010010010100100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 b hb h2 h20 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19) + · -- branch 1 at time 19 + intro r20 + rcases r20 with r20 | r20 + · -- branch 0 at time 20 + intro r21 + rcases r21 with r21 | r21 + · -- branch 0 at time 21 + intro r22 + rcases r22 with r22 | r22 + · -- branch 0 at time 22 + exact False.elim (exclude_01001010010010100101000 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 b hb h2 h23 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22) + · -- branch 1 at time 22 + intro r23 + rcases r23 with r23 | r23 + · -- branch 0 at time 23 + intro r24 + rcases r24 with r24 | r24 + · -- branch 0 at time 24 + exact False.elim (exclude_0100101001001010010100100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 b hb h7 h25 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24) + · -- branch 1 at time 24 + exact False.elim (exclude_0100101001001010010100101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 b hb h12 h25 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24) + · -- branch 1 at time 23 + exact False.elim (exclude_010010100100101001010011 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 b hb r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23) + · -- branch 1 at time 21 + exact False.elim (exclude_0100101001001010010101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 b hb h4 h22 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21) + · -- branch 1 at time 20 + exact False.elim (exclude_010010100100101001011 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 b hb r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20) + · -- branch 1 at time 18 + exact False.elim (exclude_0100101001001010011 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 b hb r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18) + · -- branch 1 at time 16 + exact False.elim (exclude_01001010010010101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 b hb h4 h17 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16) + · -- branch 1 at time 15 + exact False.elim (exclude_0100101001001011 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 b hb r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15) + · -- branch 1 at time 13 + exact False.elim (exclude_01001010010011 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 b hb r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13) + · -- branch 1 at time 11 + intro r12 + rcases r12 with r12 | r12 + · -- branch 0 at time 12 + intro r13 + rcases r13 with r13 | r13 + · -- branch 0 at time 13 + intro r14 + rcases r14 with r14 | r14 + · -- branch 0 at time 14 + exact False.elim (exclude_010010100101000 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 b hb h2 h15 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14) + · -- branch 1 at time 14 + intro r15 + rcases r15 with r15 | r15 + · -- branch 0 at time 15 + intro r16 + rcases r16 with r16 | r16 + · -- branch 0 at time 16 + intro r17 + rcases r17 with r17 | r17 + · -- branch 0 at time 17 + exact False.elim (exclude_010010100101001000 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 b hb h0 h18 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17) + · -- branch 1 at time 17 + intro r18 + rcases r18 with r18 | r18 + · -- branch 0 at time 18 + intro r19 + rcases r19 with r19 | r19 + · -- branch 0 at time 19 + exact False.elim (exclude_01001010010100100100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 b hb h2 h20 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19) + · -- branch 1 at time 19 + intro r20 + rcases r20 with r20 | r20 + · -- branch 0 at time 20 + intro r21 + rcases r21 with r21 | r21 + · -- branch 0 at time 21 + intro r22 + rcases r22 with r22 | r22 + · -- branch 0 at time 22 + exact False.elim (exclude_01001010010100100101000 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 b hb h2 h23 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22) + · -- branch 1 at time 22 + intro r23 + rcases r23 with r23 | r23 + · -- branch 0 at time 23 + intro r24 + rcases r24 with r24 | r24 + · -- branch 0 at time 24 + exact False.elim (exclude_0100101001010010010100100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 b hb h7 h25 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24) + · -- branch 1 at time 24 + intro r25 + rcases r25 with r25 | r25 + · -- branch 0 at time 25 + intro r26 + rcases r26 with r26 | r26 + · -- branch 0 at time 26 + intro r27 + rcases r27 with r27 | r27 + · -- branch 0 at time 27 + exact False.elim (exclude_0100101001010010010100101000 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 x26 x27 x28 b hb h2 h28 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 r25 r26 r27) + · -- branch 1 at time 27 + intro r28 + rcases r28 with r28 | r28 + · -- branch 0 at time 28 + intro r29 + rcases r29 with r29 | r29 + · -- branch 0 at time 29 + exact False.elim (exclude_010010100101001001010010100100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 x26 x27 x28 x29 x30 b hb h12 h30 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 r25 r26 r27 r28 r29) + · -- branch 1 at time 29 + exact False.elim (exclude_010010100101001001010010100101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 x26 x27 x28 x29 x30 b hb h17 h30 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 r25 r26 r27 r28 r29) + · -- branch 1 at time 28 + exact False.elim (exclude_01001010010100100101001010011 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 x26 x27 x28 x29 b hb r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 r25 r26 r27 r28) + · -- branch 1 at time 26 + exact False.elim (exclude_010010100101001001010010101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 x26 x27 b hb h4 h27 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 r25 r26) + · -- branch 1 at time 25 + exact False.elim (exclude_01001010010100100101001011 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 x26 b hb r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 r25) + · -- branch 1 at time 23 + exact False.elim (exclude_010010100101001001010011 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 b hb r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23) + · -- branch 1 at time 21 + exact False.elim (exclude_0100101001010010010101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 b hb h4 h22 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21) + · -- branch 1 at time 20 + exact False.elim (exclude_010010100101001001011 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 b hb r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20) + · -- branch 1 at time 18 + exact False.elim (exclude_0100101001010010011 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 b hb r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18) + · -- branch 1 at time 16 + exact False.elim (exclude_01001010010100101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 b hb h4 h17 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16) + · -- branch 1 at time 15 + exact False.elim (exclude_0100101001010011 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 b hb r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15) + · -- branch 1 at time 13 + exact False.elim (exclude_01001010010101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 b hb h1 h14 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13) + · -- branch 1 at time 12 + exact False.elim (exclude_0100101001011 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 b hb r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12) + · -- branch 1 at time 10 + exact False.elim (exclude_01001010011 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 b hb r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10) + · -- branch 1 at time 8 + exact False.elim (exclude_010010101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 b hb h4 h9 r0 r1 r2 r3 r4 r5 r6 r7 r8) + · -- branch 1 at time 7 + exact False.elim (exclude_01001011 x0 x1 x2 x3 x4 x5 x6 x7 x8 b hb r0 r1 r2 r3 r4 r5 r6 r7) + · -- branch 1 at time 5 + exact False.elim (exclude_010011 x0 x1 x2 x3 x4 x5 x6 b hb r0 r1 r2 r3 r4 r5) + · -- branch 1 at time 3 + intro r4 + rcases r4 with r4 | r4 + · -- branch 0 at time 4 + intro r5 + rcases r5 with r5 | r5 + · -- branch 0 at time 5 + intro r6 + rcases r6 with r6 | r6 + · -- branch 0 at time 6 + exact False.elim (exclude_0101000 x0 x1 x2 x3 x4 x5 x6 x7 b hb h4 h7 r0 r1 r2 r3 r4 r5 r6) + · -- branch 1 at time 6 + intro r7 + rcases r7 with r7 | r7 + · -- branch 0 at time 7 + intro r8 + rcases r8 with r8 | r8 + · -- branch 0 at time 8 + intro r9 + rcases r9 with r9 | r9 + · -- branch 0 at time 9 + exact False.elim (exclude_0101001000 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 b hb h2 h10 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9) + · -- branch 1 at time 9 + intro r10 + rcases r10 with r10 | r10 + · -- branch 0 at time 10 + intro r11 + rcases r11 with r11 | r11 + · -- branch 0 at time 11 + exact False.elim (exclude_010100100100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 b hb h4 h12 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11) + · -- branch 1 at time 11 + intro r12 + rcases r12 with r12 | r12 + · -- branch 0 at time 12 + intro r13 + rcases r13 with r13 | r13 + · -- branch 0 at time 13 + intro r14 + rcases r14 with r14 | r14 + · -- branch 0 at time 14 + exact False.elim (exclude_010100100101000 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 b hb h2 h15 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14) + · -- branch 1 at time 14 + intro r15 + rcases r15 with r15 | r15 + · -- branch 0 at time 15 + intro r16 + rcases r16 with r16 | r16 + · -- branch 0 at time 16 + exact False.elim (exclude_01010010010100100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 b hb h4 h17 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16) + · -- branch 1 at time 16 + intro r17 + rcases r17 with r17 | r17 + · -- branch 0 at time 17 + intro r18 + rcases r18 with r18 | r18 + · -- branch 0 at time 18 + intro r19 + rcases r19 with r19 | r19 + · -- branch 0 at time 19 + exact False.elim (exclude_01010010010100101000 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 b hb h2 h20 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19) + · -- branch 1 at time 19 + intro r20 + rcases r20 with r20 | r20 + · -- branch 0 at time 20 + intro r21 + rcases r21 with r21 | r21 + · -- branch 0 at time 21 + exact False.elim (exclude_0101001001010010100100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 b hb h4 h22 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21) + · -- branch 1 at time 21 + exact False.elim (exclude_0101001001010010100101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 b hb h9 h22 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21) + · -- branch 1 at time 20 + exact False.elim (exclude_010100100101001010011 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 b hb r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20) + · -- branch 1 at time 18 + exact False.elim (exclude_0101001001010010101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 b hb h1 h19 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18) + · -- branch 1 at time 17 + exact False.elim (exclude_010100100101001011 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 b hb r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17) + · -- branch 1 at time 15 + exact False.elim (exclude_0101001001010011 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 b hb r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15) + · -- branch 1 at time 13 + exact False.elim (exclude_01010010010101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 b hb h1 h14 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13) + · -- branch 1 at time 12 + exact False.elim (exclude_0101001001011 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 b hb r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12) + · -- branch 1 at time 10 + exact False.elim (exclude_01010010011 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 b hb r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10) + · -- branch 1 at time 8 + intro r9 + rcases r9 with r9 | r9 + · -- branch 0 at time 9 + intro r10 + rcases r10 with r10 | r10 + · -- branch 0 at time 10 + intro r11 + rcases r11 with r11 | r11 + · -- branch 0 at time 11 + exact False.elim (exclude_010100101000 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 b hb h4 h12 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11) + · -- branch 1 at time 11 + intro r12 + rcases r12 with r12 | r12 + · -- branch 0 at time 12 + intro r13 + rcases r13 with r13 | r13 + · -- branch 0 at time 13 + intro r14 + rcases r14 with r14 | r14 + · -- branch 0 at time 14 + exact False.elim (exclude_010100101001000 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 b hb h2 h15 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14) + · -- branch 1 at time 14 + intro r15 + rcases r15 with r15 | r15 + · -- branch 0 at time 15 + intro r16 + rcases r16 with r16 | r16 + · -- branch 0 at time 16 + exact False.elim (exclude_01010010100100100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 b hb h4 h17 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16) + · -- branch 1 at time 16 + intro r17 + rcases r17 with r17 | r17 + · -- branch 0 at time 17 + intro r18 + rcases r18 with r18 | r18 + · -- branch 0 at time 18 + intro r19 + rcases r19 with r19 | r19 + · -- branch 0 at time 19 + exact False.elim (exclude_01010010100100101000 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 b hb h2 h20 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19) + · -- branch 1 at time 19 + intro r20 + rcases r20 with r20 | r20 + · -- branch 0 at time 20 + intro r21 + rcases r21 with r21 | r21 + · -- branch 0 at time 21 + exact False.elim (exclude_0101001010010010100100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 b hb h4 h22 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21) + · -- branch 1 at time 21 + intro r22 + rcases r22 with r22 | r22 + · -- branch 0 at time 22 + intro r23 + rcases r23 with r23 | r23 + · -- branch 0 at time 23 + intro r24 + rcases r24 with r24 | r24 + · -- branch 0 at time 24 + exact False.elim (exclude_0101001010010010100101000 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 b hb h4 h25 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24) + · -- branch 1 at time 24 + intro r25 + rcases r25 with r25 | r25 + · -- branch 0 at time 25 + intro r26 + rcases r26 with r26 | r26 + · -- branch 0 at time 26 + exact False.elim (exclude_010100101001001010010100100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 x26 x27 b hb h9 h27 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 r25 r26) + · -- branch 1 at time 26 + exact False.elim (exclude_010100101001001010010100101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 x26 x27 b hb h14 h27 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 r25 r26) + · -- branch 1 at time 25 + exact False.elim (exclude_01010010100100101001010011 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 x26 b hb r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 r25) + · -- branch 1 at time 23 + exact False.elim (exclude_010100101001001010010101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 b hb h1 h24 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23) + · -- branch 1 at time 22 + exact False.elim (exclude_01010010100100101001011 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 b hb r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22) + · -- branch 1 at time 20 + exact False.elim (exclude_010100101001001010011 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 b hb r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20) + · -- branch 1 at time 18 + exact False.elim (exclude_0101001010010010101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 b hb h1 h19 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18) + · -- branch 1 at time 17 + exact False.elim (exclude_010100101001001011 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 b hb r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17) + · -- branch 1 at time 15 + exact False.elim (exclude_0101001010010011 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 b hb r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15) + · -- branch 1 at time 13 + exact False.elim (exclude_01010010100101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 b hb h1 h14 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13) + · -- branch 1 at time 12 + exact False.elim (exclude_0101001010011 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 b hb r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12) + · -- branch 1 at time 10 + exact False.elim (exclude_01010010101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 b hb h1 h11 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10) + · -- branch 1 at time 9 + exact False.elim (exclude_0101001011 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 b hb r0 r1 r2 r3 r4 r5 r6 r7 r8 r9) + · -- branch 1 at time 7 + exact False.elim (exclude_01010011 x0 x1 x2 x3 x4 x5 x6 x7 x8 b hb r0 r1 r2 r3 r4 r5 r6 r7) + · -- branch 1 at time 5 + exact False.elim (exclude_010101 x0 x1 x2 x3 x4 x5 x6 b hb h1 h6 r0 r1 r2 r3 r4 r5) + · -- branch 1 at time 4 + exact False.elim (exclude_01011 x0 x1 x2 x3 x4 x5 b hb r0 r1 r2 r3 r4) + · -- branch 1 at time 2 + exact False.elim (exclude_011 x0 x1 x2 x3 b hb r0 r1 r2) + · -- branch 1 at time 0 + intro r1 + rcases r1 with r1 | r1 + · -- branch 0 at time 1 + intro r2 + rcases r2 with r2 | r2 + · -- branch 0 at time 2 + intro r3 + rcases r3 with r3 | r3 + · -- branch 0 at time 3 + exact False.elim (exclude_1000 x0 x1 x2 x3 x4 b hb h1 h4 r0 r1 r2 r3) + · -- branch 1 at time 3 + intro r4 + rcases r4 with r4 | r4 + · -- branch 0 at time 4 + intro r5 + rcases r5 with r5 | r5 + · -- branch 0 at time 5 + intro r6 + rcases r6 with r6 | r6 + · -- branch 0 at time 6 + exact False.elim (exclude_1001000 x0 x1 x2 x3 x4 x5 x6 x7 b hb h1 h7 r0 r1 r2 r3 r4 r5 r6) + · -- branch 1 at time 6 + intro r7 + rcases r7 with r7 | r7 + · -- branch 0 at time 7 + intro r8 + rcases r8 with r8 | r8 + · -- branch 0 at time 8 + exact False.elim (exclude_100100100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 b hb h1 h9 r0 r1 r2 r3 r4 r5 r6 r7 r8) + · -- branch 1 at time 8 + intro r9 + rcases r9 with r9 | r9 + · -- branch 0 at time 9 + intro r10 + rcases r10 with r10 | r10 + · -- branch 0 at time 10 + intro r11 + rcases r11 with r11 | r11 + · -- branch 0 at time 11 + exact False.elim (exclude_100100101000 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 b hb h1 h12 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11) + · -- branch 1 at time 11 + intro r12 + rcases r12 with r12 | r12 + · -- branch 0 at time 12 + intro r13 + rcases r13 with r13 | r13 + · -- branch 0 at time 13 + exact False.elim (exclude_10010010100100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 b hb h1 h14 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13) + · -- branch 1 at time 13 + intro r14 + rcases r14 with r14 | r14 + · -- branch 0 at time 14 + intro r15 + rcases r15 with r15 | r15 + · -- branch 0 at time 15 + intro r16 + rcases r16 with r16 | r16 + · -- branch 0 at time 16 + exact False.elim (exclude_10010010100101000 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 b hb h1 h17 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16) + · -- branch 1 at time 16 + intro r17 + rcases r17 with r17 | r17 + · -- branch 0 at time 17 + intro r18 + rcases r18 with r18 | r18 + · -- branch 0 at time 18 + exact False.elim (exclude_1001001010010100100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 b hb h1 h19 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18) + · -- branch 1 at time 18 + exact False.elim (exclude_1001001010010100101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 b hb h6 h19 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18) + · -- branch 1 at time 17 + exact False.elim (exclude_100100101001010011 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 b hb r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17) + · -- branch 1 at time 15 + exact False.elim (exclude_1001001010010101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 b hb h3 h16 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15) + · -- branch 1 at time 14 + exact False.elim (exclude_100100101001011 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 b hb r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14) + · -- branch 1 at time 12 + exact False.elim (exclude_1001001010011 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 b hb r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12) + · -- branch 1 at time 10 + exact False.elim (exclude_10010010101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 b hb h6 h11 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10) + · -- branch 1 at time 9 + exact False.elim (exclude_1001001011 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 b hb r0 r1 r2 r3 r4 r5 r6 r7 r8 r9) + · -- branch 1 at time 7 + exact False.elim (exclude_10010011 x0 x1 x2 x3 x4 x5 x6 x7 x8 b hb r0 r1 r2 r3 r4 r5 r6 r7) + · -- branch 1 at time 5 + intro r6 + rcases r6 with r6 | r6 + · -- branch 0 at time 6 + intro r7 + rcases r7 with r7 | r7 + · -- branch 0 at time 7 + intro r8 + rcases r8 with r8 | r8 + · -- branch 0 at time 8 + exact False.elim (exclude_100101000 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 b hb h1 h9 r0 r1 r2 r3 r4 r5 r6 r7 r8) + · -- branch 1 at time 8 + intro r9 + rcases r9 with r9 | r9 + · -- branch 0 at time 9 + intro r10 + rcases r10 with r10 | r10 + · -- branch 0 at time 10 + intro r11 + rcases r11 with r11 | r11 + · -- branch 0 at time 11 + exact False.elim (exclude_100101001000 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 b hb h1 h12 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11) + · -- branch 1 at time 11 + intro r12 + rcases r12 with r12 | r12 + · -- branch 0 at time 12 + intro r13 + rcases r13 with r13 | r13 + · -- branch 0 at time 13 + exact False.elim (exclude_10010100100100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 b hb h1 h14 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13) + · -- branch 1 at time 13 + intro r14 + rcases r14 with r14 | r14 + · -- branch 0 at time 14 + intro r15 + rcases r15 with r15 | r15 + · -- branch 0 at time 15 + intro r16 + rcases r16 with r16 | r16 + · -- branch 0 at time 16 + exact False.elim (exclude_10010100100101000 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 b hb h1 h17 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16) + · -- branch 1 at time 16 + intro r17 + rcases r17 with r17 | r17 + · -- branch 0 at time 17 + intro r18 + rcases r18 with r18 | r18 + · -- branch 0 at time 18 + exact False.elim (exclude_1001010010010100100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 b hb h1 h19 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18) + · -- branch 1 at time 18 + intro r19 + rcases r19 with r19 | r19 + · -- branch 0 at time 19 + intro r20 + rcases r20 with r20 | r20 + · -- branch 0 at time 20 + intro r21 + rcases r21 with r21 | r21 + · -- branch 0 at time 21 + exact False.elim (exclude_1001010010010100101000 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 b hb h1 h22 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21) + · -- branch 1 at time 21 + intro r22 + rcases r22 with r22 | r22 + · -- branch 0 at time 22 + intro r23 + rcases r23 with r23 | r23 + · -- branch 0 at time 23 + exact False.elim (exclude_100101001001010010100100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 b hb h6 h24 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23) + · -- branch 1 at time 23 + exact False.elim (exclude_100101001001010010100101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 b hb h11 h24 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23) + · -- branch 1 at time 22 + exact False.elim (exclude_10010100100101001010011 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 b hb r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22) + · -- branch 1 at time 20 + exact False.elim (exclude_100101001001010010101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 b hb h3 h21 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20) + · -- branch 1 at time 19 + exact False.elim (exclude_10010100100101001011 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 b hb r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19) + · -- branch 1 at time 17 + exact False.elim (exclude_100101001001010011 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 b hb r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17) + · -- branch 1 at time 15 + exact False.elim (exclude_1001010010010101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 b hb h3 h16 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15) + · -- branch 1 at time 14 + exact False.elim (exclude_100101001001011 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 b hb r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14) + · -- branch 1 at time 12 + exact False.elim (exclude_1001010010011 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 b hb r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12) + · -- branch 1 at time 10 + intro r11 + rcases r11 with r11 | r11 + · -- branch 0 at time 11 + intro r12 + rcases r12 with r12 | r12 + · -- branch 0 at time 12 + intro r13 + rcases r13 with r13 | r13 + · -- branch 0 at time 13 + exact False.elim (exclude_10010100101000 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 b hb h1 h14 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13) + · -- branch 1 at time 13 + intro r14 + rcases r14 with r14 | r14 + · -- branch 0 at time 14 + intro r15 + rcases r15 with r15 | r15 + · -- branch 0 at time 15 + intro r16 + rcases r16 with r16 | r16 + · -- branch 0 at time 16 + exact False.elim (exclude_10010100101001000 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 b hb h1 h17 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16) + · -- branch 1 at time 16 + intro r17 + rcases r17 with r17 | r17 + · -- branch 0 at time 17 + intro r18 + rcases r18 with r18 | r18 + · -- branch 0 at time 18 + exact False.elim (exclude_1001010010100100100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 b hb h1 h19 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18) + · -- branch 1 at time 18 + intro r19 + rcases r19 with r19 | r19 + · -- branch 0 at time 19 + intro r20 + rcases r20 with r20 | r20 + · -- branch 0 at time 20 + intro r21 + rcases r21 with r21 | r21 + · -- branch 0 at time 21 + exact False.elim (exclude_1001010010100100101000 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 b hb h1 h22 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21) + · -- branch 1 at time 21 + intro r22 + rcases r22 with r22 | r22 + · -- branch 0 at time 22 + intro r23 + rcases r23 with r23 | r23 + · -- branch 0 at time 23 + exact False.elim (exclude_100101001010010010100100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 b hb h6 h24 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23) + · -- branch 1 at time 23 + intro r24 + rcases r24 with r24 | r24 + · -- branch 0 at time 24 + intro r25 + rcases r25 with r25 | r25 + · -- branch 0 at time 25 + intro r26 + rcases r26 with r26 | r26 + · -- branch 0 at time 26 + exact False.elim (exclude_100101001010010010100101000 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 x26 x27 b hb h1 h27 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 r25 r26) + · -- branch 1 at time 26 + intro r27 + rcases r27 with r27 | r27 + · -- branch 0 at time 27 + intro r28 + rcases r28 with r28 | r28 + · -- branch 0 at time 28 + exact False.elim (exclude_10010100101001001010010100100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 x26 x27 x28 x29 b hb h11 h29 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 r25 r26 r27 r28) + · -- branch 1 at time 28 + exact False.elim (exclude_10010100101001001010010100101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 x26 x27 x28 x29 b hb h16 h29 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 r25 r26 r27 r28) + · -- branch 1 at time 27 + exact False.elim (exclude_1001010010100100101001010011 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 x26 x27 x28 b hb r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 r25 r26 r27) + · -- branch 1 at time 25 + exact False.elim (exclude_10010100101001001010010101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 x26 b hb h3 h26 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 r25) + · -- branch 1 at time 24 + exact False.elim (exclude_1001010010100100101001011 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 b hb r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24) + · -- branch 1 at time 22 + exact False.elim (exclude_10010100101001001010011 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 b hb r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22) + · -- branch 1 at time 20 + exact False.elim (exclude_100101001010010010101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 b hb h3 h21 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20) + · -- branch 1 at time 19 + exact False.elim (exclude_10010100101001001011 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 b hb r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19) + · -- branch 1 at time 17 + exact False.elim (exclude_100101001010010011 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 b hb r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17) + · -- branch 1 at time 15 + exact False.elim (exclude_1001010010100101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 b hb h3 h16 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15) + · -- branch 1 at time 14 + exact False.elim (exclude_100101001010011 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 b hb r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14) + · -- branch 1 at time 12 + exact False.elim (exclude_1001010010101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 b hb h0 h13 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12) + · -- branch 1 at time 11 + exact False.elim (exclude_100101001011 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 b hb r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11) + · -- branch 1 at time 9 + exact False.elim (exclude_1001010011 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 b hb r0 r1 r2 r3 r4 r5 r6 r7 r8 r9) + · -- branch 1 at time 7 + exact False.elim (exclude_10010101 x0 x1 x2 x3 x4 x5 x6 x7 x8 b hb h3 h8 r0 r1 r2 r3 r4 r5 r6 r7) + · -- branch 1 at time 6 + exact False.elim (exclude_1001011 x0 x1 x2 x3 x4 x5 x6 x7 b hb r0 r1 r2 r3 r4 r5 r6) + · -- branch 1 at time 4 + exact False.elim (exclude_10011 x0 x1 x2 x3 x4 x5 b hb r0 r1 r2 r3 r4) + · -- branch 1 at time 2 + intro r3 + rcases r3 with r3 | r3 + · -- branch 0 at time 3 + intro r4 + rcases r4 with r4 | r4 + · -- branch 0 at time 4 + intro r5 + rcases r5 with r5 | r5 + · -- branch 0 at time 5 + exact False.elim (exclude_101000 x0 x1 x2 x3 x4 x5 x6 b hb h3 h6 r0 r1 r2 r3 r4 r5) + · -- branch 1 at time 5 + intro r6 + rcases r6 with r6 | r6 + · -- branch 0 at time 6 + intro r7 + rcases r7 with r7 | r7 + · -- branch 0 at time 7 + intro r8 + rcases r8 with r8 | r8 + · -- branch 0 at time 8 + exact False.elim (exclude_101001000 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 b hb h1 h9 r0 r1 r2 r3 r4 r5 r6 r7 r8) + · -- branch 1 at time 8 + intro r9 + rcases r9 with r9 | r9 + · -- branch 0 at time 9 + intro r10 + rcases r10 with r10 | r10 + · -- branch 0 at time 10 + exact False.elim (exclude_10100100100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 b hb h3 h11 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10) + · -- branch 1 at time 10 + intro r11 + rcases r11 with r11 | r11 + · -- branch 0 at time 11 + intro r12 + rcases r12 with r12 | r12 + · -- branch 0 at time 12 + intro r13 + rcases r13 with r13 | r13 + · -- branch 0 at time 13 + exact False.elim (exclude_10100100101000 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 b hb h1 h14 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13) + · -- branch 1 at time 13 + intro r14 + rcases r14 with r14 | r14 + · -- branch 0 at time 14 + intro r15 + rcases r15 with r15 | r15 + · -- branch 0 at time 15 + exact False.elim (exclude_1010010010100100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 b hb h3 h16 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15) + · -- branch 1 at time 15 + intro r16 + rcases r16 with r16 | r16 + · -- branch 0 at time 16 + intro r17 + rcases r17 with r17 | r17 + · -- branch 0 at time 17 + intro r18 + rcases r18 with r18 | r18 + · -- branch 0 at time 18 + exact False.elim (exclude_1010010010100101000 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 b hb h1 h19 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18) + · -- branch 1 at time 18 + intro r19 + rcases r19 with r19 | r19 + · -- branch 0 at time 19 + intro r20 + rcases r20 with r20 | r20 + · -- branch 0 at time 20 + exact False.elim (exclude_101001001010010100100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 b hb h3 h21 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20) + · -- branch 1 at time 20 + exact False.elim (exclude_101001001010010100101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 b hb h8 h21 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20) + · -- branch 1 at time 19 + exact False.elim (exclude_10100100101001010011 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 b hb r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19) + · -- branch 1 at time 17 + exact False.elim (exclude_101001001010010101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 b hb h0 h18 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17) + · -- branch 1 at time 16 + exact False.elim (exclude_10100100101001011 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 b hb r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16) + · -- branch 1 at time 14 + exact False.elim (exclude_101001001010011 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 b hb r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14) + · -- branch 1 at time 12 + exact False.elim (exclude_1010010010101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 b hb h0 h13 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12) + · -- branch 1 at time 11 + exact False.elim (exclude_101001001011 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 b hb r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11) + · -- branch 1 at time 9 + exact False.elim (exclude_1010010011 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 b hb r0 r1 r2 r3 r4 r5 r6 r7 r8 r9) + · -- branch 1 at time 7 + intro r8 + rcases r8 with r8 | r8 + · -- branch 0 at time 8 + intro r9 + rcases r9 with r9 | r9 + · -- branch 0 at time 9 + intro r10 + rcases r10 with r10 | r10 + · -- branch 0 at time 10 + exact False.elim (exclude_10100101000 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 b hb h3 h11 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10) + · -- branch 1 at time 10 + intro r11 + rcases r11 with r11 | r11 + · -- branch 0 at time 11 + intro r12 + rcases r12 with r12 | r12 + · -- branch 0 at time 12 + intro r13 + rcases r13 with r13 | r13 + · -- branch 0 at time 13 + exact False.elim (exclude_10100101001000 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 b hb h1 h14 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13) + · -- branch 1 at time 13 + intro r14 + rcases r14 with r14 | r14 + · -- branch 0 at time 14 + intro r15 + rcases r15 with r15 | r15 + · -- branch 0 at time 15 + exact False.elim (exclude_1010010100100100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 b hb h3 h16 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15) + · -- branch 1 at time 15 + intro r16 + rcases r16 with r16 | r16 + · -- branch 0 at time 16 + intro r17 + rcases r17 with r17 | r17 + · -- branch 0 at time 17 + intro r18 + rcases r18 with r18 | r18 + · -- branch 0 at time 18 + exact False.elim (exclude_1010010100100101000 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 b hb h1 h19 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18) + · -- branch 1 at time 18 + intro r19 + rcases r19 with r19 | r19 + · -- branch 0 at time 19 + intro r20 + rcases r20 with r20 | r20 + · -- branch 0 at time 20 + exact False.elim (exclude_101001010010010100100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 b hb h3 h21 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20) + · -- branch 1 at time 20 + intro r21 + rcases r21 with r21 | r21 + · -- branch 0 at time 21 + intro r22 + rcases r22 with r22 | r22 + · -- branch 0 at time 22 + intro r23 + rcases r23 with r23 | r23 + · -- branch 0 at time 23 + exact False.elim (exclude_101001010010010100101000 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 b hb h3 h24 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23) + · -- branch 1 at time 23 + intro r24 + rcases r24 with r24 | r24 + · -- branch 0 at time 24 + intro r25 + rcases r25 with r25 | r25 + · -- branch 0 at time 25 + exact False.elim (exclude_10100101001001010010100100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 x26 b hb h8 h26 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 r25) + · -- branch 1 at time 25 + exact False.elim (exclude_10100101001001010010100101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 x26 b hb h13 h26 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 r25) + · -- branch 1 at time 24 + exact False.elim (exclude_1010010100100101001010011 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 b hb r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24) + · -- branch 1 at time 22 + exact False.elim (exclude_10100101001001010010101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 b hb h0 h23 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22) + · -- branch 1 at time 21 + exact False.elim (exclude_1010010100100101001011 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 b hb r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21) + · -- branch 1 at time 19 + exact False.elim (exclude_10100101001001010011 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 b hb r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19) + · -- branch 1 at time 17 + exact False.elim (exclude_101001010010010101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 b hb h0 h18 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17) + · -- branch 1 at time 16 + exact False.elim (exclude_10100101001001011 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 b hb r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16) + · -- branch 1 at time 14 + exact False.elim (exclude_101001010010011 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 b hb r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14) + · -- branch 1 at time 12 + exact False.elim (exclude_1010010100101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 b hb h0 h13 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12) + · -- branch 1 at time 11 + exact False.elim (exclude_101001010011 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 b hb r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11) + · -- branch 1 at time 9 + exact False.elim (exclude_1010010101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 b hb h0 h10 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9) + · -- branch 1 at time 8 + exact False.elim (exclude_101001011 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 b hb r0 r1 r2 r3 r4 r5 r6 r7 r8) + · -- branch 1 at time 6 + exact False.elim (exclude_1010011 x0 x1 x2 x3 x4 x5 x6 x7 b hb r0 r1 r2 r3 r4 r5 r6) + · -- branch 1 at time 4 + exact False.elim (exclude_10101 x0 x1 x2 x3 x4 x5 b hb h0 h5 r0 r1 r2 r3 r4) + · -- branch 1 at time 3 + exact False.elim (exclude_1011 x0 x1 x2 x3 x4 b hb r0 r1 r2 r3) + · -- branch 1 at time 1 + exact False.elim (exclude_11 x0 x1 x2 b hb r0 r1) + +end Collatz.Exploration.ElevenHalvesArithmetic diff --git a/Collatz/Exploration/ElevenHalvesArithmetic/Part00.lean b/Collatz/Exploration/ElevenHalvesArithmetic/Part00.lean new file mode 100644 index 00000000..89d1912a --- /dev/null +++ b/Collatz/Exploration/ElevenHalvesArithmetic/Part00.lean @@ -0,0 +1,1186 @@ +import Collatz.Basic + +namespace Collatz.Exploration.ElevenHalvesArithmetic + +set_option maxHeartbeats 2000000 +set_option linter.unusedVariables false + +/-- Lift one affine identity across a source residue refinement. -/ +theorem lift_affine {x q a c e : Nat} (hx : x = a*q+c) + (hq : q = 2*(q/2)+e) : x = (2*a)*(q/2)+(a*e+c) := by + calc + x = a*q+c := hx + _ = a*(2*(q/2)+e)+c := congrArg (fun u => a*u+c) hq + _ = (2*a)*(q/2)+(a*e+c) := by + simp only [Nat.mul_add] + ac_rfl + +/-- Exact source residue and full affine trace for branch `0`. -/ +theorem parameters_0 + (x0 x1 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + : ∃ q : Nat, x0 = 2*q+0 ∧ x1 = 1*q+0 := by + let q := x0 + have p0 : x0 = 1*q+0 := by omega + have hstep := r0.1 + have hparity := r0.2 + clear r0 + have hq : q = 2*(q/2)+0 := by + clear hstep + omega + clear hparity + refine ⟨q/2,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · omega + +/-- Exact source residue and full affine trace for branch `1`. -/ +theorem parameters_1 + (x0 x1 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + : ∃ q : Nat, x0 = 2*q+1 ∧ x1 = 6*q+4 := by + let q := x0 + have p0 : x0 = 1*q+0 := by omega + have hstep := r0.1 + have hparity := r0.2 + clear r0 + have hq : q = 2*(q/2)+1 := by + clear hstep + omega + clear hparity + refine ⟨q/2,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · omega + +/-- Exact source residue and full affine trace for branch `00`. -/ +theorem parameters_00 + (x0 x1 x2 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + : ∃ q : Nat, x0 = 4*q+0 ∧ x1 = 2*q+0 ∧ x2 = 1*q+0 := by + obtain ⟨q,p0,p1⟩ := parameters_0 x0 x1 r0 + have hstep := r1.1 + have hparity := r1.2 + clear r0 r1 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 + omega + clear hparity + refine ⟨q/2,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · clear p0 + omega + +/-- Exact source residue and full affine trace for branch `01`. -/ +theorem parameters_01 + (x0 x1 x2 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + : ∃ q : Nat, x0 = 4*q+2 ∧ x1 = 2*q+1 ∧ x2 = 6*q+4 := by + obtain ⟨q,p0,p1⟩ := parameters_0 x0 x1 r0 + have hstep := r1.1 + have hparity := r1.2 + clear r0 r1 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 + omega + clear hparity + refine ⟨q/2,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · clear p0 + omega + +/-- Exact source residue and full affine trace for branch `10`. -/ +theorem parameters_10 + (x0 x1 x2 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + : ∃ q : Nat, x0 = 2*q+1 ∧ x1 = 6*q+4 ∧ x2 = 3*q+2 := by + obtain ⟨q,p0,p1⟩ := parameters_1 x0 x1 r0 + have hstep := r1.1 + have hparity := r1.2 + clear r0 r1 + clear hparity + refine ⟨q,?_,?_,?_⟩ + · exact p0 + · exact p1 + · clear p0 + omega + +/-- Exact source residue and full affine trace for branch `000`. -/ +theorem parameters_000 + (x0 x1 x2 x3 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + : ∃ q : Nat, x0 = 8*q+0 ∧ x1 = 4*q+0 ∧ x2 = 2*q+0 ∧ x3 = 1*q+0 := by + obtain ⟨q,p0,p1,p2⟩ := parameters_00 x0 x1 x2 r0 r1 + have hstep := r2.1 + have hparity := r2.2 + clear r0 r1 r2 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · clear p0 p1 + omega + +/-- Exact source residue and full affine trace for branch `001`. -/ +theorem parameters_001 + (x0 x1 x2 x3 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + : ∃ q : Nat, x0 = 8*q+4 ∧ x1 = 4*q+2 ∧ x2 = 2*q+1 ∧ x3 = 6*q+4 := by + obtain ⟨q,p0,p1,p2⟩ := parameters_00 x0 x1 x2 r0 r1 + have hstep := r2.1 + have hparity := r2.2 + clear r0 r1 r2 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · clear p0 p1 + omega + +/-- Exact source residue and full affine trace for branch `010`. -/ +theorem parameters_010 + (x0 x1 x2 x3 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + : ∃ q : Nat, x0 = 4*q+2 ∧ x1 = 2*q+1 ∧ x2 = 6*q+4 ∧ x3 = 3*q+2 := by + obtain ⟨q,p0,p1,p2⟩ := parameters_01 x0 x1 x2 r0 r1 + have hstep := r2.1 + have hparity := r2.2 + clear r0 r1 r2 + clear hparity + refine ⟨q,?_,?_,?_,?_⟩ + · exact p0 + · exact p1 + · exact p2 + · clear p0 p1 + omega + +/-- Exact source residue and full affine trace for branch `100`. -/ +theorem parameters_100 + (x0 x1 x2 x3 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + : ∃ q : Nat, x0 = 4*q+1 ∧ x1 = 12*q+4 ∧ x2 = 6*q+2 ∧ x3 = 3*q+1 := by + obtain ⟨q,p0,p1,p2⟩ := parameters_10 x0 x1 x2 r0 r1 + have hstep := r2.1 + have hparity := r2.2 + clear r0 r1 r2 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · clear p0 p1 + omega + +/-- Exact source residue and full affine trace for branch `101`. -/ +theorem parameters_101 + (x0 x1 x2 x3 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + : ∃ q : Nat, x0 = 4*q+3 ∧ x1 = 12*q+10 ∧ x2 = 6*q+5 ∧ x3 = 18*q+16 := by + obtain ⟨q,p0,p1,p2⟩ := parameters_10 x0 x1 x2 r0 r1 + have hstep := r2.1 + have hparity := r2.2 + clear r0 r1 r2 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · clear p0 p1 + omega + +/-- Exact source residue and full affine trace for branch `0010`. -/ +theorem parameters_0010 + (x0 x1 x2 x3 x4 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + : ∃ q : Nat, x0 = 8*q+4 ∧ x1 = 4*q+2 ∧ x2 = 2*q+1 ∧ x3 = 6*q+4 ∧ x4 = 3*q+2 := by + obtain ⟨q,p0,p1,p2,p3⟩ := parameters_001 x0 x1 x2 x3 r0 r1 r2 + have hstep := r3.1 + have hparity := r3.2 + clear r0 r1 r2 r3 + clear hparity + refine ⟨q,?_,?_,?_,?_,?_⟩ + · exact p0 + · exact p1 + · exact p2 + · exact p3 + · clear p0 p1 p2 + omega + +/-- Exact source residue and full affine trace for branch `0100`. -/ +theorem parameters_0100 + (x0 x1 x2 x3 x4 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + : ∃ q : Nat, x0 = 8*q+2 ∧ x1 = 4*q+1 ∧ x2 = 12*q+4 ∧ x3 = 6*q+2 ∧ x4 = 3*q+1 := by + obtain ⟨q,p0,p1,p2,p3⟩ := parameters_010 x0 x1 x2 x3 r0 r1 r2 + have hstep := r3.1 + have hparity := r3.2 + clear r0 r1 r2 r3 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · clear p0 p1 p2 + omega + +/-- Exact source residue and full affine trace for branch `0101`. -/ +theorem parameters_0101 + (x0 x1 x2 x3 x4 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + : ∃ q : Nat, x0 = 8*q+6 ∧ x1 = 4*q+3 ∧ x2 = 12*q+10 ∧ x3 = 6*q+5 ∧ x4 = 18*q+16 := by + obtain ⟨q,p0,p1,p2,p3⟩ := parameters_010 x0 x1 x2 x3 r0 r1 r2 + have hstep := r3.1 + have hparity := r3.2 + clear r0 r1 r2 r3 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · clear p0 p1 p2 + omega + +/-- Exact source residue and full affine trace for branch `1000`. -/ +theorem parameters_1000 + (x0 x1 x2 x3 x4 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + : ∃ q : Nat, x0 = 8*q+5 ∧ x1 = 24*q+16 ∧ x2 = 12*q+8 ∧ x3 = 6*q+4 ∧ x4 = 3*q+2 := by + obtain ⟨q,p0,p1,p2,p3⟩ := parameters_100 x0 x1 x2 x3 r0 r1 r2 + have hstep := r3.1 + have hparity := r3.2 + clear r0 r1 r2 r3 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · clear p0 p1 p2 + omega + +/-- Exact source residue and full affine trace for branch `1001`. -/ +theorem parameters_1001 + (x0 x1 x2 x3 x4 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + : ∃ q : Nat, x0 = 8*q+1 ∧ x1 = 24*q+4 ∧ x2 = 12*q+2 ∧ x3 = 6*q+1 ∧ x4 = 18*q+4 := by + obtain ⟨q,p0,p1,p2,p3⟩ := parameters_100 x0 x1 x2 x3 r0 r1 r2 + have hstep := r3.1 + have hparity := r3.2 + clear r0 r1 r2 r3 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · clear p0 p1 p2 + omega + +/-- Exact source residue and full affine trace for branch `1010`. -/ +theorem parameters_1010 + (x0 x1 x2 x3 x4 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + : ∃ q : Nat, x0 = 4*q+3 ∧ x1 = 12*q+10 ∧ x2 = 6*q+5 ∧ x3 = 18*q+16 ∧ x4 = 9*q+8 := by + obtain ⟨q,p0,p1,p2,p3⟩ := parameters_101 x0 x1 x2 x3 r0 r1 r2 + have hstep := r3.1 + have hparity := r3.2 + clear r0 r1 r2 r3 + clear hparity + refine ⟨q,?_,?_,?_,?_,?_⟩ + · exact p0 + · exact p1 + · exact p2 + · exact p3 + · clear p0 p1 p2 + omega + +/-- Exact source residue and full affine trace for branch `00100`. -/ +theorem parameters_00100 + (x0 x1 x2 x3 x4 x5 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + : ∃ q : Nat, x0 = 16*q+4 ∧ x1 = 8*q+2 ∧ x2 = 4*q+1 ∧ x3 = 12*q+4 ∧ x4 = 6*q+2 ∧ x5 = 3*q+1 := by + obtain ⟨q,p0,p1,p2,p3,p4⟩ := parameters_0010 x0 x1 x2 x3 x4 r0 r1 r2 r3 + have hstep := r4.1 + have hparity := r4.2 + clear r0 r1 r2 r3 r4 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · clear p0 p1 p2 p3 + omega + +/-- Exact source residue and full affine trace for branch `00101`. -/ +theorem parameters_00101 + (x0 x1 x2 x3 x4 x5 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + : ∃ q : Nat, x0 = 16*q+12 ∧ x1 = 8*q+6 ∧ x2 = 4*q+3 ∧ x3 = 12*q+10 ∧ x4 = 6*q+5 ∧ x5 = 18*q+16 := by + obtain ⟨q,p0,p1,p2,p3,p4⟩ := parameters_0010 x0 x1 x2 x3 x4 r0 r1 r2 r3 + have hstep := r4.1 + have hparity := r4.2 + clear r0 r1 r2 r3 r4 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · clear p0 p1 p2 p3 + omega + +/-- Exact source residue and full affine trace for branch `01000`. -/ +theorem parameters_01000 + (x0 x1 x2 x3 x4 x5 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + : ∃ q : Nat, x0 = 16*q+10 ∧ x1 = 8*q+5 ∧ x2 = 24*q+16 ∧ x3 = 12*q+8 ∧ x4 = 6*q+4 ∧ x5 = 3*q+2 := by + obtain ⟨q,p0,p1,p2,p3,p4⟩ := parameters_0100 x0 x1 x2 x3 x4 r0 r1 r2 r3 + have hstep := r4.1 + have hparity := r4.2 + clear r0 r1 r2 r3 r4 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · clear p0 p1 p2 p3 + omega + +/-- Exact source residue and full affine trace for branch `01001`. -/ +theorem parameters_01001 + (x0 x1 x2 x3 x4 x5 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + : ∃ q : Nat, x0 = 16*q+2 ∧ x1 = 8*q+1 ∧ x2 = 24*q+4 ∧ x3 = 12*q+2 ∧ x4 = 6*q+1 ∧ x5 = 18*q+4 := by + obtain ⟨q,p0,p1,p2,p3,p4⟩ := parameters_0100 x0 x1 x2 x3 x4 r0 r1 r2 r3 + have hstep := r4.1 + have hparity := r4.2 + clear r0 r1 r2 r3 r4 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · clear p0 p1 p2 p3 + omega + +/-- Exact source residue and full affine trace for branch `01010`. -/ +theorem parameters_01010 + (x0 x1 x2 x3 x4 x5 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + : ∃ q : Nat, x0 = 8*q+6 ∧ x1 = 4*q+3 ∧ x2 = 12*q+10 ∧ x3 = 6*q+5 ∧ x4 = 18*q+16 ∧ x5 = 9*q+8 := by + obtain ⟨q,p0,p1,p2,p3,p4⟩ := parameters_0101 x0 x1 x2 x3 x4 r0 r1 r2 r3 + have hstep := r4.1 + have hparity := r4.2 + clear r0 r1 r2 r3 r4 + clear hparity + refine ⟨q,?_,?_,?_,?_,?_,?_⟩ + · exact p0 + · exact p1 + · exact p2 + · exact p3 + · exact p4 + · clear p0 p1 p2 p3 + omega + +/-- Exact source residue and full affine trace for branch `10010`. -/ +theorem parameters_10010 + (x0 x1 x2 x3 x4 x5 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + : ∃ q : Nat, x0 = 8*q+1 ∧ x1 = 24*q+4 ∧ x2 = 12*q+2 ∧ x3 = 6*q+1 ∧ x4 = 18*q+4 ∧ x5 = 9*q+2 := by + obtain ⟨q,p0,p1,p2,p3,p4⟩ := parameters_1001 x0 x1 x2 x3 x4 r0 r1 r2 r3 + have hstep := r4.1 + have hparity := r4.2 + clear r0 r1 r2 r3 r4 + clear hparity + refine ⟨q,?_,?_,?_,?_,?_,?_⟩ + · exact p0 + · exact p1 + · exact p2 + · exact p3 + · exact p4 + · clear p0 p1 p2 p3 + omega + +/-- Exact source residue and full affine trace for branch `10100`. -/ +theorem parameters_10100 + (x0 x1 x2 x3 x4 x5 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + : ∃ q : Nat, x0 = 8*q+3 ∧ x1 = 24*q+10 ∧ x2 = 12*q+5 ∧ x3 = 36*q+16 ∧ x4 = 18*q+8 ∧ x5 = 9*q+4 := by + obtain ⟨q,p0,p1,p2,p3,p4⟩ := parameters_1010 x0 x1 x2 x3 x4 r0 r1 r2 r3 + have hstep := r4.1 + have hparity := r4.2 + clear r0 r1 r2 r3 r4 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · clear p0 p1 p2 p3 + omega + +/-- Exact source residue and full affine trace for branch `10101`. -/ +theorem parameters_10101 + (x0 x1 x2 x3 x4 x5 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + : ∃ q : Nat, x0 = 8*q+7 ∧ x1 = 24*q+22 ∧ x2 = 12*q+11 ∧ x3 = 36*q+34 ∧ x4 = 18*q+17 ∧ x5 = 54*q+52 := by + obtain ⟨q,p0,p1,p2,p3,p4⟩ := parameters_1010 x0 x1 x2 x3 x4 r0 r1 r2 r3 + have hstep := r4.1 + have hparity := r4.2 + clear r0 r1 r2 r3 r4 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · clear p0 p1 p2 p3 + omega + +/-- Exact source residue and full affine trace for branch `001000`. -/ +theorem parameters_001000 + (x0 x1 x2 x3 x4 x5 x6 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + : ∃ q : Nat, x0 = 32*q+20 ∧ x1 = 16*q+10 ∧ x2 = 8*q+5 ∧ x3 = 24*q+16 ∧ x4 = 12*q+8 ∧ x5 = 6*q+4 ∧ x6 = 3*q+2 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5⟩ := parameters_00100 x0 x1 x2 x3 x4 x5 r0 r1 r2 r3 r4 + have hstep := r5.1 + have hparity := r5.2 + clear r0 r1 r2 r3 r4 r5 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · clear p0 p1 p2 p3 p4 + omega + +/-- Exact source residue and full affine trace for branch `001001`. -/ +theorem parameters_001001 + (x0 x1 x2 x3 x4 x5 x6 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + : ∃ q : Nat, x0 = 32*q+4 ∧ x1 = 16*q+2 ∧ x2 = 8*q+1 ∧ x3 = 24*q+4 ∧ x4 = 12*q+2 ∧ x5 = 6*q+1 ∧ x6 = 18*q+4 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5⟩ := parameters_00100 x0 x1 x2 x3 x4 x5 r0 r1 r2 r3 r4 + have hstep := r5.1 + have hparity := r5.2 + clear r0 r1 r2 r3 r4 r5 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · clear p0 p1 p2 p3 p4 + omega + +/-- Exact source residue and full affine trace for branch `001010`. -/ +theorem parameters_001010 + (x0 x1 x2 x3 x4 x5 x6 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + : ∃ q : Nat, x0 = 16*q+12 ∧ x1 = 8*q+6 ∧ x2 = 4*q+3 ∧ x3 = 12*q+10 ∧ x4 = 6*q+5 ∧ x5 = 18*q+16 ∧ x6 = 9*q+8 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5⟩ := parameters_00101 x0 x1 x2 x3 x4 x5 r0 r1 r2 r3 r4 + have hstep := r5.1 + have hparity := r5.2 + clear r0 r1 r2 r3 r4 r5 + clear hparity + refine ⟨q,?_,?_,?_,?_,?_,?_,?_⟩ + · exact p0 + · exact p1 + · exact p2 + · exact p3 + · exact p4 + · exact p5 + · clear p0 p1 p2 p3 p4 + omega + +/-- Exact source residue and full affine trace for branch `010010`. -/ +theorem parameters_010010 + (x0 x1 x2 x3 x4 x5 x6 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + : ∃ q : Nat, x0 = 16*q+2 ∧ x1 = 8*q+1 ∧ x2 = 24*q+4 ∧ x3 = 12*q+2 ∧ x4 = 6*q+1 ∧ x5 = 18*q+4 ∧ x6 = 9*q+2 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5⟩ := parameters_01001 x0 x1 x2 x3 x4 x5 r0 r1 r2 r3 r4 + have hstep := r5.1 + have hparity := r5.2 + clear r0 r1 r2 r3 r4 r5 + clear hparity + refine ⟨q,?_,?_,?_,?_,?_,?_,?_⟩ + · exact p0 + · exact p1 + · exact p2 + · exact p3 + · exact p4 + · exact p5 + · clear p0 p1 p2 p3 p4 + omega + +/-- Exact source residue and full affine trace for branch `010100`. -/ +theorem parameters_010100 + (x0 x1 x2 x3 x4 x5 x6 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + : ∃ q : Nat, x0 = 16*q+6 ∧ x1 = 8*q+3 ∧ x2 = 24*q+10 ∧ x3 = 12*q+5 ∧ x4 = 36*q+16 ∧ x5 = 18*q+8 ∧ x6 = 9*q+4 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5⟩ := parameters_01010 x0 x1 x2 x3 x4 x5 r0 r1 r2 r3 r4 + have hstep := r5.1 + have hparity := r5.2 + clear r0 r1 r2 r3 r4 r5 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · clear p0 p1 p2 p3 p4 + omega + +/-- Exact source residue and full affine trace for branch `010101`. -/ +theorem parameters_010101 + (x0 x1 x2 x3 x4 x5 x6 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + : ∃ q : Nat, x0 = 16*q+14 ∧ x1 = 8*q+7 ∧ x2 = 24*q+22 ∧ x3 = 12*q+11 ∧ x4 = 36*q+34 ∧ x5 = 18*q+17 ∧ x6 = 54*q+52 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5⟩ := parameters_01010 x0 x1 x2 x3 x4 x5 r0 r1 r2 r3 r4 + have hstep := r5.1 + have hparity := r5.2 + clear r0 r1 r2 r3 r4 r5 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · clear p0 p1 p2 p3 p4 + omega + +/-- Exact source residue and full affine trace for branch `100100`. -/ +theorem parameters_100100 + (x0 x1 x2 x3 x4 x5 x6 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + : ∃ q : Nat, x0 = 16*q+1 ∧ x1 = 48*q+4 ∧ x2 = 24*q+2 ∧ x3 = 12*q+1 ∧ x4 = 36*q+4 ∧ x5 = 18*q+2 ∧ x6 = 9*q+1 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5⟩ := parameters_10010 x0 x1 x2 x3 x4 x5 r0 r1 r2 r3 r4 + have hstep := r5.1 + have hparity := r5.2 + clear r0 r1 r2 r3 r4 r5 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · clear p0 p1 p2 p3 p4 + omega + +/-- Exact source residue and full affine trace for branch `100101`. -/ +theorem parameters_100101 + (x0 x1 x2 x3 x4 x5 x6 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + : ∃ q : Nat, x0 = 16*q+9 ∧ x1 = 48*q+28 ∧ x2 = 24*q+14 ∧ x3 = 12*q+7 ∧ x4 = 36*q+22 ∧ x5 = 18*q+11 ∧ x6 = 54*q+34 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5⟩ := parameters_10010 x0 x1 x2 x3 x4 x5 r0 r1 r2 r3 r4 + have hstep := r5.1 + have hparity := r5.2 + clear r0 r1 r2 r3 r4 r5 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · clear p0 p1 p2 p3 p4 + omega + +/-- Exact source residue and full affine trace for branch `101000`. -/ +theorem parameters_101000 + (x0 x1 x2 x3 x4 x5 x6 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + : ∃ q : Nat, x0 = 16*q+3 ∧ x1 = 48*q+10 ∧ x2 = 24*q+5 ∧ x3 = 72*q+16 ∧ x4 = 36*q+8 ∧ x5 = 18*q+4 ∧ x6 = 9*q+2 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5⟩ := parameters_10100 x0 x1 x2 x3 x4 x5 r0 r1 r2 r3 r4 + have hstep := r5.1 + have hparity := r5.2 + clear r0 r1 r2 r3 r4 r5 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · clear p0 p1 p2 p3 p4 + omega + +/-- Exact source residue and full affine trace for branch `101001`. -/ +theorem parameters_101001 + (x0 x1 x2 x3 x4 x5 x6 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + : ∃ q : Nat, x0 = 16*q+11 ∧ x1 = 48*q+34 ∧ x2 = 24*q+17 ∧ x3 = 72*q+52 ∧ x4 = 36*q+26 ∧ x5 = 18*q+13 ∧ x6 = 54*q+40 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5⟩ := parameters_10100 x0 x1 x2 x3 x4 x5 r0 r1 r2 r3 r4 + have hstep := r5.1 + have hparity := r5.2 + clear r0 r1 r2 r3 r4 r5 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · clear p0 p1 p2 p3 p4 + omega + +/-- Exact source residue and full affine trace for branch `0010010`. -/ +theorem parameters_0010010 + (x0 x1 x2 x3 x4 x5 x6 x7 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + : ∃ q : Nat, x0 = 32*q+4 ∧ x1 = 16*q+2 ∧ x2 = 8*q+1 ∧ x3 = 24*q+4 ∧ x4 = 12*q+2 ∧ x5 = 6*q+1 ∧ x6 = 18*q+4 ∧ x7 = 9*q+2 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6⟩ := parameters_001001 x0 x1 x2 x3 x4 x5 x6 r0 r1 r2 r3 r4 r5 + have hstep := r6.1 + have hparity := r6.2 + clear r0 r1 r2 r3 r4 r5 r6 + clear hparity + refine ⟨q,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · exact p0 + · exact p1 + · exact p2 + · exact p3 + · exact p4 + · exact p5 + · exact p6 + · clear p0 p1 p2 p3 p4 p5 + omega + +/-- Exact source residue and full affine trace for branch `0010100`. -/ +theorem parameters_0010100 + (x0 x1 x2 x3 x4 x5 x6 x7 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + : ∃ q : Nat, x0 = 32*q+12 ∧ x1 = 16*q+6 ∧ x2 = 8*q+3 ∧ x3 = 24*q+10 ∧ x4 = 12*q+5 ∧ x5 = 36*q+16 ∧ x6 = 18*q+8 ∧ x7 = 9*q+4 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6⟩ := parameters_001010 x0 x1 x2 x3 x4 x5 x6 r0 r1 r2 r3 r4 r5 + have hstep := r6.1 + have hparity := r6.2 + clear r0 r1 r2 r3 r4 r5 r6 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 p5 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · clear p0 p1 p2 p3 p4 p5 + omega + +/-- Exact source residue and full affine trace for branch `0010101`. -/ +theorem parameters_0010101 + (x0 x1 x2 x3 x4 x5 x6 x7 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + : ∃ q : Nat, x0 = 32*q+28 ∧ x1 = 16*q+14 ∧ x2 = 8*q+7 ∧ x3 = 24*q+22 ∧ x4 = 12*q+11 ∧ x5 = 36*q+34 ∧ x6 = 18*q+17 ∧ x7 = 54*q+52 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6⟩ := parameters_001010 x0 x1 x2 x3 x4 x5 x6 r0 r1 r2 r3 r4 r5 + have hstep := r6.1 + have hparity := r6.2 + clear r0 r1 r2 r3 r4 r5 r6 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 p5 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · clear p0 p1 p2 p3 p4 p5 + omega + +/-- Exact source residue and full affine trace for branch `0100100`. -/ +theorem parameters_0100100 + (x0 x1 x2 x3 x4 x5 x6 x7 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + : ∃ q : Nat, x0 = 32*q+2 ∧ x1 = 16*q+1 ∧ x2 = 48*q+4 ∧ x3 = 24*q+2 ∧ x4 = 12*q+1 ∧ x5 = 36*q+4 ∧ x6 = 18*q+2 ∧ x7 = 9*q+1 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6⟩ := parameters_010010 x0 x1 x2 x3 x4 x5 x6 r0 r1 r2 r3 r4 r5 + have hstep := r6.1 + have hparity := r6.2 + clear r0 r1 r2 r3 r4 r5 r6 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 p5 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · clear p0 p1 p2 p3 p4 p5 + omega + +/-- Exact source residue and full affine trace for branch `0100101`. -/ +theorem parameters_0100101 + (x0 x1 x2 x3 x4 x5 x6 x7 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + : ∃ q : Nat, x0 = 32*q+18 ∧ x1 = 16*q+9 ∧ x2 = 48*q+28 ∧ x3 = 24*q+14 ∧ x4 = 12*q+7 ∧ x5 = 36*q+22 ∧ x6 = 18*q+11 ∧ x7 = 54*q+34 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6⟩ := parameters_010010 x0 x1 x2 x3 x4 x5 x6 r0 r1 r2 r3 r4 r5 + have hstep := r6.1 + have hparity := r6.2 + clear r0 r1 r2 r3 r4 r5 r6 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 p5 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · clear p0 p1 p2 p3 p4 p5 + omega + +/-- Exact source residue and full affine trace for branch `0101000`. -/ +theorem parameters_0101000 + (x0 x1 x2 x3 x4 x5 x6 x7 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + : ∃ q : Nat, x0 = 32*q+6 ∧ x1 = 16*q+3 ∧ x2 = 48*q+10 ∧ x3 = 24*q+5 ∧ x4 = 72*q+16 ∧ x5 = 36*q+8 ∧ x6 = 18*q+4 ∧ x7 = 9*q+2 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6⟩ := parameters_010100 x0 x1 x2 x3 x4 x5 x6 r0 r1 r2 r3 r4 r5 + have hstep := r6.1 + have hparity := r6.2 + clear r0 r1 r2 r3 r4 r5 r6 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 p5 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · clear p0 p1 p2 p3 p4 p5 + omega + +/-- Exact source residue and full affine trace for branch `0101001`. -/ +theorem parameters_0101001 + (x0 x1 x2 x3 x4 x5 x6 x7 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + : ∃ q : Nat, x0 = 32*q+22 ∧ x1 = 16*q+11 ∧ x2 = 48*q+34 ∧ x3 = 24*q+17 ∧ x4 = 72*q+52 ∧ x5 = 36*q+26 ∧ x6 = 18*q+13 ∧ x7 = 54*q+40 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6⟩ := parameters_010100 x0 x1 x2 x3 x4 x5 x6 r0 r1 r2 r3 r4 r5 + have hstep := r6.1 + have hparity := r6.2 + clear r0 r1 r2 r3 r4 r5 r6 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 p5 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · clear p0 p1 p2 p3 p4 p5 + omega + +/-- Exact source residue and full affine trace for branch `1001000`. -/ +theorem parameters_1001000 + (x0 x1 x2 x3 x4 x5 x6 x7 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + : ∃ q : Nat, x0 = 32*q+17 ∧ x1 = 96*q+52 ∧ x2 = 48*q+26 ∧ x3 = 24*q+13 ∧ x4 = 72*q+40 ∧ x5 = 36*q+20 ∧ x6 = 18*q+10 ∧ x7 = 9*q+5 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6⟩ := parameters_100100 x0 x1 x2 x3 x4 x5 x6 r0 r1 r2 r3 r4 r5 + have hstep := r6.1 + have hparity := r6.2 + clear r0 r1 r2 r3 r4 r5 r6 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 p5 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · clear p0 p1 p2 p3 p4 p5 + omega + +/-- Exact source residue and full affine trace for branch `1001001`. -/ +theorem parameters_1001001 + (x0 x1 x2 x3 x4 x5 x6 x7 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + : ∃ q : Nat, x0 = 32*q+1 ∧ x1 = 96*q+4 ∧ x2 = 48*q+2 ∧ x3 = 24*q+1 ∧ x4 = 72*q+4 ∧ x5 = 36*q+2 ∧ x6 = 18*q+1 ∧ x7 = 54*q+4 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6⟩ := parameters_100100 x0 x1 x2 x3 x4 x5 x6 r0 r1 r2 r3 r4 r5 + have hstep := r6.1 + have hparity := r6.2 + clear r0 r1 r2 r3 r4 r5 r6 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 p5 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · clear p0 p1 p2 p3 p4 p5 + omega + +/-- Exact source residue and full affine trace for branch `1001010`. -/ +theorem parameters_1001010 + (x0 x1 x2 x3 x4 x5 x6 x7 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + : ∃ q : Nat, x0 = 16*q+9 ∧ x1 = 48*q+28 ∧ x2 = 24*q+14 ∧ x3 = 12*q+7 ∧ x4 = 36*q+22 ∧ x5 = 18*q+11 ∧ x6 = 54*q+34 ∧ x7 = 27*q+17 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6⟩ := parameters_100101 x0 x1 x2 x3 x4 x5 x6 r0 r1 r2 r3 r4 r5 + have hstep := r6.1 + have hparity := r6.2 + clear r0 r1 r2 r3 r4 r5 r6 + clear hparity + refine ⟨q,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · exact p0 + · exact p1 + · exact p2 + · exact p3 + · exact p4 + · exact p5 + · exact p6 + · clear p0 p1 p2 p3 p4 p5 + omega + +/-- Exact source residue and full affine trace for branch `1010010`. -/ +theorem parameters_1010010 + (x0 x1 x2 x3 x4 x5 x6 x7 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + : ∃ q : Nat, x0 = 16*q+11 ∧ x1 = 48*q+34 ∧ x2 = 24*q+17 ∧ x3 = 72*q+52 ∧ x4 = 36*q+26 ∧ x5 = 18*q+13 ∧ x6 = 54*q+40 ∧ x7 = 27*q+20 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6⟩ := parameters_101001 x0 x1 x2 x3 x4 x5 x6 r0 r1 r2 r3 r4 r5 + have hstep := r6.1 + have hparity := r6.2 + clear r0 r1 r2 r3 r4 r5 r6 + clear hparity + refine ⟨q,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · exact p0 + · exact p1 + · exact p2 + · exact p3 + · exact p4 + · exact p5 + · exact p6 + · clear p0 p1 p2 p3 p4 p5 + omega + +/-- Exact source residue and full affine trace for branch `00100100`. -/ +theorem parameters_00100100 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + : ∃ q : Nat, x0 = 64*q+4 ∧ x1 = 32*q+2 ∧ x2 = 16*q+1 ∧ x3 = 48*q+4 ∧ x4 = 24*q+2 ∧ x5 = 12*q+1 ∧ x6 = 36*q+4 ∧ x7 = 18*q+2 ∧ x8 = 9*q+1 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7⟩ := parameters_0010010 x0 x1 x2 x3 x4 x5 x6 x7 r0 r1 r2 r3 r4 r5 r6 + have hstep := r7.1 + have hparity := r7.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · clear p0 p1 p2 p3 p4 p5 p6 + omega + + +end Collatz.Exploration.ElevenHalvesArithmetic diff --git a/Collatz/Exploration/ElevenHalvesArithmetic/Part01.lean b/Collatz/Exploration/ElevenHalvesArithmetic/Part01.lean new file mode 100644 index 00000000..4c693aa1 --- /dev/null +++ b/Collatz/Exploration/ElevenHalvesArithmetic/Part01.lean @@ -0,0 +1,1208 @@ +import Collatz.Exploration.ElevenHalvesArithmetic.Part00 + +namespace Collatz.Exploration.ElevenHalvesArithmetic + +set_option maxHeartbeats 2000000 +set_option linter.unusedVariables false + +/-- Exact source residue and full affine trace for branch `00100101`. -/ +theorem parameters_00100101 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + : ∃ q : Nat, x0 = 64*q+36 ∧ x1 = 32*q+18 ∧ x2 = 16*q+9 ∧ x3 = 48*q+28 ∧ x4 = 24*q+14 ∧ x5 = 12*q+7 ∧ x6 = 36*q+22 ∧ x7 = 18*q+11 ∧ x8 = 54*q+34 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7⟩ := parameters_0010010 x0 x1 x2 x3 x4 x5 x6 x7 r0 r1 r2 r3 r4 r5 r6 + have hstep := r7.1 + have hparity := r7.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · clear p0 p1 p2 p3 p4 p5 p6 + omega + +/-- Exact source residue and full affine trace for branch `00101000`. -/ +theorem parameters_00101000 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + : ∃ q : Nat, x0 = 64*q+12 ∧ x1 = 32*q+6 ∧ x2 = 16*q+3 ∧ x3 = 48*q+10 ∧ x4 = 24*q+5 ∧ x5 = 72*q+16 ∧ x6 = 36*q+8 ∧ x7 = 18*q+4 ∧ x8 = 9*q+2 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7⟩ := parameters_0010100 x0 x1 x2 x3 x4 x5 x6 x7 r0 r1 r2 r3 r4 r5 r6 + have hstep := r7.1 + have hparity := r7.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · clear p0 p1 p2 p3 p4 p5 p6 + omega + +/-- Exact source residue and full affine trace for branch `00101001`. -/ +theorem parameters_00101001 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + : ∃ q : Nat, x0 = 64*q+44 ∧ x1 = 32*q+22 ∧ x2 = 16*q+11 ∧ x3 = 48*q+34 ∧ x4 = 24*q+17 ∧ x5 = 72*q+52 ∧ x6 = 36*q+26 ∧ x7 = 18*q+13 ∧ x8 = 54*q+40 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7⟩ := parameters_0010100 x0 x1 x2 x3 x4 x5 x6 x7 r0 r1 r2 r3 r4 r5 r6 + have hstep := r7.1 + have hparity := r7.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · clear p0 p1 p2 p3 p4 p5 p6 + omega + +/-- Exact source residue and full affine trace for branch `01001000`. -/ +theorem parameters_01001000 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + : ∃ q : Nat, x0 = 64*q+34 ∧ x1 = 32*q+17 ∧ x2 = 96*q+52 ∧ x3 = 48*q+26 ∧ x4 = 24*q+13 ∧ x5 = 72*q+40 ∧ x6 = 36*q+20 ∧ x7 = 18*q+10 ∧ x8 = 9*q+5 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7⟩ := parameters_0100100 x0 x1 x2 x3 x4 x5 x6 x7 r0 r1 r2 r3 r4 r5 r6 + have hstep := r7.1 + have hparity := r7.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · clear p0 p1 p2 p3 p4 p5 p6 + omega + +/-- Exact source residue and full affine trace for branch `01001001`. -/ +theorem parameters_01001001 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + : ∃ q : Nat, x0 = 64*q+2 ∧ x1 = 32*q+1 ∧ x2 = 96*q+4 ∧ x3 = 48*q+2 ∧ x4 = 24*q+1 ∧ x5 = 72*q+4 ∧ x6 = 36*q+2 ∧ x7 = 18*q+1 ∧ x8 = 54*q+4 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7⟩ := parameters_0100100 x0 x1 x2 x3 x4 x5 x6 x7 r0 r1 r2 r3 r4 r5 r6 + have hstep := r7.1 + have hparity := r7.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · clear p0 p1 p2 p3 p4 p5 p6 + omega + +/-- Exact source residue and full affine trace for branch `01001010`. -/ +theorem parameters_01001010 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + : ∃ q : Nat, x0 = 32*q+18 ∧ x1 = 16*q+9 ∧ x2 = 48*q+28 ∧ x3 = 24*q+14 ∧ x4 = 12*q+7 ∧ x5 = 36*q+22 ∧ x6 = 18*q+11 ∧ x7 = 54*q+34 ∧ x8 = 27*q+17 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7⟩ := parameters_0100101 x0 x1 x2 x3 x4 x5 x6 x7 r0 r1 r2 r3 r4 r5 r6 + have hstep := r7.1 + have hparity := r7.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 + clear hparity + refine ⟨q,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · exact p0 + · exact p1 + · exact p2 + · exact p3 + · exact p4 + · exact p5 + · exact p6 + · exact p7 + · clear p0 p1 p2 p3 p4 p5 p6 + omega + +/-- Exact source residue and full affine trace for branch `01010010`. -/ +theorem parameters_01010010 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + : ∃ q : Nat, x0 = 32*q+22 ∧ x1 = 16*q+11 ∧ x2 = 48*q+34 ∧ x3 = 24*q+17 ∧ x4 = 72*q+52 ∧ x5 = 36*q+26 ∧ x6 = 18*q+13 ∧ x7 = 54*q+40 ∧ x8 = 27*q+20 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7⟩ := parameters_0101001 x0 x1 x2 x3 x4 x5 x6 x7 r0 r1 r2 r3 r4 r5 r6 + have hstep := r7.1 + have hparity := r7.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 + clear hparity + refine ⟨q,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · exact p0 + · exact p1 + · exact p2 + · exact p3 + · exact p4 + · exact p5 + · exact p6 + · exact p7 + · clear p0 p1 p2 p3 p4 p5 p6 + omega + +/-- Exact source residue and full affine trace for branch `10010010`. -/ +theorem parameters_10010010 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + : ∃ q : Nat, x0 = 32*q+1 ∧ x1 = 96*q+4 ∧ x2 = 48*q+2 ∧ x3 = 24*q+1 ∧ x4 = 72*q+4 ∧ x5 = 36*q+2 ∧ x6 = 18*q+1 ∧ x7 = 54*q+4 ∧ x8 = 27*q+2 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7⟩ := parameters_1001001 x0 x1 x2 x3 x4 x5 x6 x7 r0 r1 r2 r3 r4 r5 r6 + have hstep := r7.1 + have hparity := r7.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 + clear hparity + refine ⟨q,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · exact p0 + · exact p1 + · exact p2 + · exact p3 + · exact p4 + · exact p5 + · exact p6 + · exact p7 + · clear p0 p1 p2 p3 p4 p5 p6 + omega + +/-- Exact source residue and full affine trace for branch `10010100`. -/ +theorem parameters_10010100 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + : ∃ q : Nat, x0 = 32*q+25 ∧ x1 = 96*q+76 ∧ x2 = 48*q+38 ∧ x3 = 24*q+19 ∧ x4 = 72*q+58 ∧ x5 = 36*q+29 ∧ x6 = 108*q+88 ∧ x7 = 54*q+44 ∧ x8 = 27*q+22 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7⟩ := parameters_1001010 x0 x1 x2 x3 x4 x5 x6 x7 r0 r1 r2 r3 r4 r5 r6 + have hstep := r7.1 + have hparity := r7.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · clear p0 p1 p2 p3 p4 p5 p6 + omega + +/-- Exact source residue and full affine trace for branch `10010101`. -/ +theorem parameters_10010101 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + : ∃ q : Nat, x0 = 32*q+9 ∧ x1 = 96*q+28 ∧ x2 = 48*q+14 ∧ x3 = 24*q+7 ∧ x4 = 72*q+22 ∧ x5 = 36*q+11 ∧ x6 = 108*q+34 ∧ x7 = 54*q+17 ∧ x8 = 162*q+52 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7⟩ := parameters_1001010 x0 x1 x2 x3 x4 x5 x6 x7 r0 r1 r2 r3 r4 r5 r6 + have hstep := r7.1 + have hparity := r7.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · clear p0 p1 p2 p3 p4 p5 p6 + omega + +/-- Exact source residue and full affine trace for branch `10100100`. -/ +theorem parameters_10100100 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + : ∃ q : Nat, x0 = 32*q+11 ∧ x1 = 96*q+34 ∧ x2 = 48*q+17 ∧ x3 = 144*q+52 ∧ x4 = 72*q+26 ∧ x5 = 36*q+13 ∧ x6 = 108*q+40 ∧ x7 = 54*q+20 ∧ x8 = 27*q+10 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7⟩ := parameters_1010010 x0 x1 x2 x3 x4 x5 x6 x7 r0 r1 r2 r3 r4 r5 r6 + have hstep := r7.1 + have hparity := r7.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · clear p0 p1 p2 p3 p4 p5 p6 + omega + +/-- Exact source residue and full affine trace for branch `10100101`. -/ +theorem parameters_10100101 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + : ∃ q : Nat, x0 = 32*q+27 ∧ x1 = 96*q+82 ∧ x2 = 48*q+41 ∧ x3 = 144*q+124 ∧ x4 = 72*q+62 ∧ x5 = 36*q+31 ∧ x6 = 108*q+94 ∧ x7 = 54*q+47 ∧ x8 = 162*q+142 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7⟩ := parameters_1010010 x0 x1 x2 x3 x4 x5 x6 x7 r0 r1 r2 r3 r4 r5 r6 + have hstep := r7.1 + have hparity := r7.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · clear p0 p1 p2 p3 p4 p5 p6 + omega + +/-- Exact source residue and full affine trace for branch `001001010`. -/ +theorem parameters_001001010 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + : ∃ q : Nat, x0 = 64*q+36 ∧ x1 = 32*q+18 ∧ x2 = 16*q+9 ∧ x3 = 48*q+28 ∧ x4 = 24*q+14 ∧ x5 = 12*q+7 ∧ x6 = 36*q+22 ∧ x7 = 18*q+11 ∧ x8 = 54*q+34 ∧ x9 = 27*q+17 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8⟩ := parameters_00100101 x0 x1 x2 x3 x4 x5 x6 x7 x8 r0 r1 r2 r3 r4 r5 r6 r7 + have hstep := r8.1 + have hparity := r8.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 + clear hparity + refine ⟨q,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · exact p0 + · exact p1 + · exact p2 + · exact p3 + · exact p4 + · exact p5 + · exact p6 + · exact p7 + · exact p8 + · clear p0 p1 p2 p3 p4 p5 p6 p7 + omega + +/-- Exact source residue and full affine trace for branch `001010010`. -/ +theorem parameters_001010010 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + : ∃ q : Nat, x0 = 64*q+44 ∧ x1 = 32*q+22 ∧ x2 = 16*q+11 ∧ x3 = 48*q+34 ∧ x4 = 24*q+17 ∧ x5 = 72*q+52 ∧ x6 = 36*q+26 ∧ x7 = 18*q+13 ∧ x8 = 54*q+40 ∧ x9 = 27*q+20 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8⟩ := parameters_00101001 x0 x1 x2 x3 x4 x5 x6 x7 x8 r0 r1 r2 r3 r4 r5 r6 r7 + have hstep := r8.1 + have hparity := r8.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 + clear hparity + refine ⟨q,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · exact p0 + · exact p1 + · exact p2 + · exact p3 + · exact p4 + · exact p5 + · exact p6 + · exact p7 + · exact p8 + · clear p0 p1 p2 p3 p4 p5 p6 p7 + omega + +/-- Exact source residue and full affine trace for branch `010010010`. -/ +theorem parameters_010010010 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + : ∃ q : Nat, x0 = 64*q+2 ∧ x1 = 32*q+1 ∧ x2 = 96*q+4 ∧ x3 = 48*q+2 ∧ x4 = 24*q+1 ∧ x5 = 72*q+4 ∧ x6 = 36*q+2 ∧ x7 = 18*q+1 ∧ x8 = 54*q+4 ∧ x9 = 27*q+2 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8⟩ := parameters_01001001 x0 x1 x2 x3 x4 x5 x6 x7 x8 r0 r1 r2 r3 r4 r5 r6 r7 + have hstep := r8.1 + have hparity := r8.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 + clear hparity + refine ⟨q,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · exact p0 + · exact p1 + · exact p2 + · exact p3 + · exact p4 + · exact p5 + · exact p6 + · exact p7 + · exact p8 + · clear p0 p1 p2 p3 p4 p5 p6 p7 + omega + +/-- Exact source residue and full affine trace for branch `010010100`. -/ +theorem parameters_010010100 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + : ∃ q : Nat, x0 = 64*q+50 ∧ x1 = 32*q+25 ∧ x2 = 96*q+76 ∧ x3 = 48*q+38 ∧ x4 = 24*q+19 ∧ x5 = 72*q+58 ∧ x6 = 36*q+29 ∧ x7 = 108*q+88 ∧ x8 = 54*q+44 ∧ x9 = 27*q+22 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8⟩ := parameters_01001010 x0 x1 x2 x3 x4 x5 x6 x7 x8 r0 r1 r2 r3 r4 r5 r6 r7 + have hstep := r8.1 + have hparity := r8.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 + omega + +/-- Exact source residue and full affine trace for branch `010010101`. -/ +theorem parameters_010010101 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + : ∃ q : Nat, x0 = 64*q+18 ∧ x1 = 32*q+9 ∧ x2 = 96*q+28 ∧ x3 = 48*q+14 ∧ x4 = 24*q+7 ∧ x5 = 72*q+22 ∧ x6 = 36*q+11 ∧ x7 = 108*q+34 ∧ x8 = 54*q+17 ∧ x9 = 162*q+52 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8⟩ := parameters_01001010 x0 x1 x2 x3 x4 x5 x6 x7 x8 r0 r1 r2 r3 r4 r5 r6 r7 + have hstep := r8.1 + have hparity := r8.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 + omega + +/-- Exact source residue and full affine trace for branch `010100100`. -/ +theorem parameters_010100100 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + : ∃ q : Nat, x0 = 64*q+22 ∧ x1 = 32*q+11 ∧ x2 = 96*q+34 ∧ x3 = 48*q+17 ∧ x4 = 144*q+52 ∧ x5 = 72*q+26 ∧ x6 = 36*q+13 ∧ x7 = 108*q+40 ∧ x8 = 54*q+20 ∧ x9 = 27*q+10 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8⟩ := parameters_01010010 x0 x1 x2 x3 x4 x5 x6 x7 x8 r0 r1 r2 r3 r4 r5 r6 r7 + have hstep := r8.1 + have hparity := r8.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 + omega + +/-- Exact source residue and full affine trace for branch `010100101`. -/ +theorem parameters_010100101 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + : ∃ q : Nat, x0 = 64*q+54 ∧ x1 = 32*q+27 ∧ x2 = 96*q+82 ∧ x3 = 48*q+41 ∧ x4 = 144*q+124 ∧ x5 = 72*q+62 ∧ x6 = 36*q+31 ∧ x7 = 108*q+94 ∧ x8 = 54*q+47 ∧ x9 = 162*q+142 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8⟩ := parameters_01010010 x0 x1 x2 x3 x4 x5 x6 x7 x8 r0 r1 r2 r3 r4 r5 r6 r7 + have hstep := r8.1 + have hparity := r8.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 + omega + +/-- Exact source residue and full affine trace for branch `100100100`. -/ +theorem parameters_100100100 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + : ∃ q : Nat, x0 = 64*q+1 ∧ x1 = 192*q+4 ∧ x2 = 96*q+2 ∧ x3 = 48*q+1 ∧ x4 = 144*q+4 ∧ x5 = 72*q+2 ∧ x6 = 36*q+1 ∧ x7 = 108*q+4 ∧ x8 = 54*q+2 ∧ x9 = 27*q+1 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8⟩ := parameters_10010010 x0 x1 x2 x3 x4 x5 x6 x7 x8 r0 r1 r2 r3 r4 r5 r6 r7 + have hstep := r8.1 + have hparity := r8.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 + omega + +/-- Exact source residue and full affine trace for branch `100100101`. -/ +theorem parameters_100100101 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + : ∃ q : Nat, x0 = 64*q+33 ∧ x1 = 192*q+100 ∧ x2 = 96*q+50 ∧ x3 = 48*q+25 ∧ x4 = 144*q+76 ∧ x5 = 72*q+38 ∧ x6 = 36*q+19 ∧ x7 = 108*q+58 ∧ x8 = 54*q+29 ∧ x9 = 162*q+88 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8⟩ := parameters_10010010 x0 x1 x2 x3 x4 x5 x6 x7 x8 r0 r1 r2 r3 r4 r5 r6 r7 + have hstep := r8.1 + have hparity := r8.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 + omega + +/-- Exact source residue and full affine trace for branch `100101000`. -/ +theorem parameters_100101000 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + : ∃ q : Nat, x0 = 64*q+25 ∧ x1 = 192*q+76 ∧ x2 = 96*q+38 ∧ x3 = 48*q+19 ∧ x4 = 144*q+58 ∧ x5 = 72*q+29 ∧ x6 = 216*q+88 ∧ x7 = 108*q+44 ∧ x8 = 54*q+22 ∧ x9 = 27*q+11 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8⟩ := parameters_10010100 x0 x1 x2 x3 x4 x5 x6 x7 x8 r0 r1 r2 r3 r4 r5 r6 r7 + have hstep := r8.1 + have hparity := r8.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 + omega + +/-- Exact source residue and full affine trace for branch `100101001`. -/ +theorem parameters_100101001 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + : ∃ q : Nat, x0 = 64*q+57 ∧ x1 = 192*q+172 ∧ x2 = 96*q+86 ∧ x3 = 48*q+43 ∧ x4 = 144*q+130 ∧ x5 = 72*q+65 ∧ x6 = 216*q+196 ∧ x7 = 108*q+98 ∧ x8 = 54*q+49 ∧ x9 = 162*q+148 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8⟩ := parameters_10010100 x0 x1 x2 x3 x4 x5 x6 x7 x8 r0 r1 r2 r3 r4 r5 r6 r7 + have hstep := r8.1 + have hparity := r8.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 + omega + +/-- Exact source residue and full affine trace for branch `101001000`. -/ +theorem parameters_101001000 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + : ∃ q : Nat, x0 = 64*q+11 ∧ x1 = 192*q+34 ∧ x2 = 96*q+17 ∧ x3 = 288*q+52 ∧ x4 = 144*q+26 ∧ x5 = 72*q+13 ∧ x6 = 216*q+40 ∧ x7 = 108*q+20 ∧ x8 = 54*q+10 ∧ x9 = 27*q+5 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8⟩ := parameters_10100100 x0 x1 x2 x3 x4 x5 x6 x7 x8 r0 r1 r2 r3 r4 r5 r6 r7 + have hstep := r8.1 + have hparity := r8.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 + omega + +/-- Exact source residue and full affine trace for branch `101001001`. -/ +theorem parameters_101001001 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + : ∃ q : Nat, x0 = 64*q+43 ∧ x1 = 192*q+130 ∧ x2 = 96*q+65 ∧ x3 = 288*q+196 ∧ x4 = 144*q+98 ∧ x5 = 72*q+49 ∧ x6 = 216*q+148 ∧ x7 = 108*q+74 ∧ x8 = 54*q+37 ∧ x9 = 162*q+112 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8⟩ := parameters_10100100 x0 x1 x2 x3 x4 x5 x6 x7 x8 r0 r1 r2 r3 r4 r5 r6 r7 + have hstep := r8.1 + have hparity := r8.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 + omega + +/-- Exact source residue and full affine trace for branch `101001010`. -/ +theorem parameters_101001010 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + : ∃ q : Nat, x0 = 32*q+27 ∧ x1 = 96*q+82 ∧ x2 = 48*q+41 ∧ x3 = 144*q+124 ∧ x4 = 72*q+62 ∧ x5 = 36*q+31 ∧ x6 = 108*q+94 ∧ x7 = 54*q+47 ∧ x8 = 162*q+142 ∧ x9 = 81*q+71 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8⟩ := parameters_10100101 x0 x1 x2 x3 x4 x5 x6 x7 x8 r0 r1 r2 r3 r4 r5 r6 r7 + have hstep := r8.1 + have hparity := r8.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 + clear hparity + refine ⟨q,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · exact p0 + · exact p1 + · exact p2 + · exact p3 + · exact p4 + · exact p5 + · exact p6 + · exact p7 + · exact p8 + · clear p0 p1 p2 p3 p4 p5 p6 p7 + omega + +/-- Exact source residue and full affine trace for branch `0010010100`. -/ +theorem parameters_0010010100 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + : ∃ q : Nat, x0 = 128*q+100 ∧ x1 = 64*q+50 ∧ x2 = 32*q+25 ∧ x3 = 96*q+76 ∧ x4 = 48*q+38 ∧ x5 = 24*q+19 ∧ x6 = 72*q+58 ∧ x7 = 36*q+29 ∧ x8 = 108*q+88 ∧ x9 = 54*q+44 ∧ x10 = 27*q+22 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9⟩ := parameters_001001010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 r0 r1 r2 r3 r4 r5 r6 r7 r8 + have hstep := r9.1 + have hparity := r9.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 + omega + +/-- Exact source residue and full affine trace for branch `0010010101`. -/ +theorem parameters_0010010101 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + : ∃ q : Nat, x0 = 128*q+36 ∧ x1 = 64*q+18 ∧ x2 = 32*q+9 ∧ x3 = 96*q+28 ∧ x4 = 48*q+14 ∧ x5 = 24*q+7 ∧ x6 = 72*q+22 ∧ x7 = 36*q+11 ∧ x8 = 108*q+34 ∧ x9 = 54*q+17 ∧ x10 = 162*q+52 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9⟩ := parameters_001001010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 r0 r1 r2 r3 r4 r5 r6 r7 r8 + have hstep := r9.1 + have hparity := r9.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 + omega + +/-- Exact source residue and full affine trace for branch `0010100100`. -/ +theorem parameters_0010100100 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + : ∃ q : Nat, x0 = 128*q+44 ∧ x1 = 64*q+22 ∧ x2 = 32*q+11 ∧ x3 = 96*q+34 ∧ x4 = 48*q+17 ∧ x5 = 144*q+52 ∧ x6 = 72*q+26 ∧ x7 = 36*q+13 ∧ x8 = 108*q+40 ∧ x9 = 54*q+20 ∧ x10 = 27*q+10 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9⟩ := parameters_001010010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 r0 r1 r2 r3 r4 r5 r6 r7 r8 + have hstep := r9.1 + have hparity := r9.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 + omega + +/-- Exact source residue and full affine trace for branch `0010100101`. -/ +theorem parameters_0010100101 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + : ∃ q : Nat, x0 = 128*q+108 ∧ x1 = 64*q+54 ∧ x2 = 32*q+27 ∧ x3 = 96*q+82 ∧ x4 = 48*q+41 ∧ x5 = 144*q+124 ∧ x6 = 72*q+62 ∧ x7 = 36*q+31 ∧ x8 = 108*q+94 ∧ x9 = 54*q+47 ∧ x10 = 162*q+142 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9⟩ := parameters_001010010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 r0 r1 r2 r3 r4 r5 r6 r7 r8 + have hstep := r9.1 + have hparity := r9.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 + omega + +/-- Exact source residue and full affine trace for branch `0100100100`. -/ +theorem parameters_0100100100 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + : ∃ q : Nat, x0 = 128*q+2 ∧ x1 = 64*q+1 ∧ x2 = 192*q+4 ∧ x3 = 96*q+2 ∧ x4 = 48*q+1 ∧ x5 = 144*q+4 ∧ x6 = 72*q+2 ∧ x7 = 36*q+1 ∧ x8 = 108*q+4 ∧ x9 = 54*q+2 ∧ x10 = 27*q+1 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9⟩ := parameters_010010010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 r0 r1 r2 r3 r4 r5 r6 r7 r8 + have hstep := r9.1 + have hparity := r9.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 + omega + +/-- Exact source residue and full affine trace for branch `0100100101`. -/ +theorem parameters_0100100101 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + : ∃ q : Nat, x0 = 128*q+66 ∧ x1 = 64*q+33 ∧ x2 = 192*q+100 ∧ x3 = 96*q+50 ∧ x4 = 48*q+25 ∧ x5 = 144*q+76 ∧ x6 = 72*q+38 ∧ x7 = 36*q+19 ∧ x8 = 108*q+58 ∧ x9 = 54*q+29 ∧ x10 = 162*q+88 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9⟩ := parameters_010010010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 r0 r1 r2 r3 r4 r5 r6 r7 r8 + have hstep := r9.1 + have hparity := r9.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 + omega + +/-- Exact source residue and full affine trace for branch `0100101000`. -/ +theorem parameters_0100101000 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + : ∃ q : Nat, x0 = 128*q+50 ∧ x1 = 64*q+25 ∧ x2 = 192*q+76 ∧ x3 = 96*q+38 ∧ x4 = 48*q+19 ∧ x5 = 144*q+58 ∧ x6 = 72*q+29 ∧ x7 = 216*q+88 ∧ x8 = 108*q+44 ∧ x9 = 54*q+22 ∧ x10 = 27*q+11 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9⟩ := parameters_010010100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 r0 r1 r2 r3 r4 r5 r6 r7 r8 + have hstep := r9.1 + have hparity := r9.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 + omega + +/-- Exact source residue and full affine trace for branch `0100101001`. -/ +theorem parameters_0100101001 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + : ∃ q : Nat, x0 = 128*q+114 ∧ x1 = 64*q+57 ∧ x2 = 192*q+172 ∧ x3 = 96*q+86 ∧ x4 = 48*q+43 ∧ x5 = 144*q+130 ∧ x6 = 72*q+65 ∧ x7 = 216*q+196 ∧ x8 = 108*q+98 ∧ x9 = 54*q+49 ∧ x10 = 162*q+148 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9⟩ := parameters_010010100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 r0 r1 r2 r3 r4 r5 r6 r7 r8 + have hstep := r9.1 + have hparity := r9.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 + omega + +/-- Exact source residue and full affine trace for branch `0101001000`. -/ +theorem parameters_0101001000 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + : ∃ q : Nat, x0 = 128*q+22 ∧ x1 = 64*q+11 ∧ x2 = 192*q+34 ∧ x3 = 96*q+17 ∧ x4 = 288*q+52 ∧ x5 = 144*q+26 ∧ x6 = 72*q+13 ∧ x7 = 216*q+40 ∧ x8 = 108*q+20 ∧ x9 = 54*q+10 ∧ x10 = 27*q+5 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9⟩ := parameters_010100100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 r0 r1 r2 r3 r4 r5 r6 r7 r8 + have hstep := r9.1 + have hparity := r9.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 + omega + +/-- Exact source residue and full affine trace for branch `0101001001`. -/ +theorem parameters_0101001001 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + : ∃ q : Nat, x0 = 128*q+86 ∧ x1 = 64*q+43 ∧ x2 = 192*q+130 ∧ x3 = 96*q+65 ∧ x4 = 288*q+196 ∧ x5 = 144*q+98 ∧ x6 = 72*q+49 ∧ x7 = 216*q+148 ∧ x8 = 108*q+74 ∧ x9 = 54*q+37 ∧ x10 = 162*q+112 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9⟩ := parameters_010100100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 r0 r1 r2 r3 r4 r5 r6 r7 r8 + have hstep := r9.1 + have hparity := r9.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 + omega + + +end Collatz.Exploration.ElevenHalvesArithmetic diff --git a/Collatz/Exploration/ElevenHalvesArithmetic/Part02.lean b/Collatz/Exploration/ElevenHalvesArithmetic/Part02.lean new file mode 100644 index 00000000..b5c738e1 --- /dev/null +++ b/Collatz/Exploration/ElevenHalvesArithmetic/Part02.lean @@ -0,0 +1,1199 @@ +import Collatz.Exploration.ElevenHalvesArithmetic.Part01 + +namespace Collatz.Exploration.ElevenHalvesArithmetic + +set_option maxHeartbeats 2000000 +set_option linter.unusedVariables false + +/-- Exact source residue and full affine trace for branch `0101001010`. -/ +theorem parameters_0101001010 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + : ∃ q : Nat, x0 = 64*q+54 ∧ x1 = 32*q+27 ∧ x2 = 96*q+82 ∧ x3 = 48*q+41 ∧ x4 = 144*q+124 ∧ x5 = 72*q+62 ∧ x6 = 36*q+31 ∧ x7 = 108*q+94 ∧ x8 = 54*q+47 ∧ x9 = 162*q+142 ∧ x10 = 81*q+71 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9⟩ := parameters_010100101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 r0 r1 r2 r3 r4 r5 r6 r7 r8 + have hstep := r9.1 + have hparity := r9.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 + clear hparity + refine ⟨q,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · exact p0 + · exact p1 + · exact p2 + · exact p3 + · exact p4 + · exact p5 + · exact p6 + · exact p7 + · exact p8 + · exact p9 + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 + omega + +/-- Exact source residue and full affine trace for branch `1001001010`. -/ +theorem parameters_1001001010 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + : ∃ q : Nat, x0 = 64*q+33 ∧ x1 = 192*q+100 ∧ x2 = 96*q+50 ∧ x3 = 48*q+25 ∧ x4 = 144*q+76 ∧ x5 = 72*q+38 ∧ x6 = 36*q+19 ∧ x7 = 108*q+58 ∧ x8 = 54*q+29 ∧ x9 = 162*q+88 ∧ x10 = 81*q+44 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9⟩ := parameters_100100101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 r0 r1 r2 r3 r4 r5 r6 r7 r8 + have hstep := r9.1 + have hparity := r9.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 + clear hparity + refine ⟨q,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · exact p0 + · exact p1 + · exact p2 + · exact p3 + · exact p4 + · exact p5 + · exact p6 + · exact p7 + · exact p8 + · exact p9 + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 + omega + +/-- Exact source residue and full affine trace for branch `1001010010`. -/ +theorem parameters_1001010010 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + : ∃ q : Nat, x0 = 64*q+57 ∧ x1 = 192*q+172 ∧ x2 = 96*q+86 ∧ x3 = 48*q+43 ∧ x4 = 144*q+130 ∧ x5 = 72*q+65 ∧ x6 = 216*q+196 ∧ x7 = 108*q+98 ∧ x8 = 54*q+49 ∧ x9 = 162*q+148 ∧ x10 = 81*q+74 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9⟩ := parameters_100101001 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 r0 r1 r2 r3 r4 r5 r6 r7 r8 + have hstep := r9.1 + have hparity := r9.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 + clear hparity + refine ⟨q,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · exact p0 + · exact p1 + · exact p2 + · exact p3 + · exact p4 + · exact p5 + · exact p6 + · exact p7 + · exact p8 + · exact p9 + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 + omega + +/-- Exact source residue and full affine trace for branch `1010010010`. -/ +theorem parameters_1010010010 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + : ∃ q : Nat, x0 = 64*q+43 ∧ x1 = 192*q+130 ∧ x2 = 96*q+65 ∧ x3 = 288*q+196 ∧ x4 = 144*q+98 ∧ x5 = 72*q+49 ∧ x6 = 216*q+148 ∧ x7 = 108*q+74 ∧ x8 = 54*q+37 ∧ x9 = 162*q+112 ∧ x10 = 81*q+56 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9⟩ := parameters_101001001 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 r0 r1 r2 r3 r4 r5 r6 r7 r8 + have hstep := r9.1 + have hparity := r9.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 + clear hparity + refine ⟨q,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · exact p0 + · exact p1 + · exact p2 + · exact p3 + · exact p4 + · exact p5 + · exact p6 + · exact p7 + · exact p8 + · exact p9 + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 + omega + +/-- Exact source residue and full affine trace for branch `1010010100`. -/ +theorem parameters_1010010100 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + : ∃ q : Nat, x0 = 64*q+59 ∧ x1 = 192*q+178 ∧ x2 = 96*q+89 ∧ x3 = 288*q+268 ∧ x4 = 144*q+134 ∧ x5 = 72*q+67 ∧ x6 = 216*q+202 ∧ x7 = 108*q+101 ∧ x8 = 324*q+304 ∧ x9 = 162*q+152 ∧ x10 = 81*q+76 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9⟩ := parameters_101001010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 r0 r1 r2 r3 r4 r5 r6 r7 r8 + have hstep := r9.1 + have hparity := r9.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 + omega + +/-- Exact source residue and full affine trace for branch `1010010101`. -/ +theorem parameters_1010010101 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + : ∃ q : Nat, x0 = 64*q+27 ∧ x1 = 192*q+82 ∧ x2 = 96*q+41 ∧ x3 = 288*q+124 ∧ x4 = 144*q+62 ∧ x5 = 72*q+31 ∧ x6 = 216*q+94 ∧ x7 = 108*q+47 ∧ x8 = 324*q+142 ∧ x9 = 162*q+71 ∧ x10 = 486*q+214 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9⟩ := parameters_101001010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 r0 r1 r2 r3 r4 r5 r6 r7 r8 + have hstep := r9.1 + have hparity := r9.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 + omega + +/-- Exact source residue and full affine trace for branch `00100101000`. -/ +theorem parameters_00100101000 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + : ∃ q : Nat, x0 = 256*q+100 ∧ x1 = 128*q+50 ∧ x2 = 64*q+25 ∧ x3 = 192*q+76 ∧ x4 = 96*q+38 ∧ x5 = 48*q+19 ∧ x6 = 144*q+58 ∧ x7 = 72*q+29 ∧ x8 = 216*q+88 ∧ x9 = 108*q+44 ∧ x10 = 54*q+22 ∧ x11 = 27*q+11 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10⟩ := parameters_0010010100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 + have hstep := r10.1 + have hparity := r10.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 + omega + +/-- Exact source residue and full affine trace for branch `00100101001`. -/ +theorem parameters_00100101001 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + : ∃ q : Nat, x0 = 256*q+228 ∧ x1 = 128*q+114 ∧ x2 = 64*q+57 ∧ x3 = 192*q+172 ∧ x4 = 96*q+86 ∧ x5 = 48*q+43 ∧ x6 = 144*q+130 ∧ x7 = 72*q+65 ∧ x8 = 216*q+196 ∧ x9 = 108*q+98 ∧ x10 = 54*q+49 ∧ x11 = 162*q+148 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10⟩ := parameters_0010010100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 + have hstep := r10.1 + have hparity := r10.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 + omega + +/-- Exact source residue and full affine trace for branch `00101001000`. -/ +theorem parameters_00101001000 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + : ∃ q : Nat, x0 = 256*q+44 ∧ x1 = 128*q+22 ∧ x2 = 64*q+11 ∧ x3 = 192*q+34 ∧ x4 = 96*q+17 ∧ x5 = 288*q+52 ∧ x6 = 144*q+26 ∧ x7 = 72*q+13 ∧ x8 = 216*q+40 ∧ x9 = 108*q+20 ∧ x10 = 54*q+10 ∧ x11 = 27*q+5 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10⟩ := parameters_0010100100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 + have hstep := r10.1 + have hparity := r10.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 + omega + +/-- Exact source residue and full affine trace for branch `00101001001`. -/ +theorem parameters_00101001001 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + : ∃ q : Nat, x0 = 256*q+172 ∧ x1 = 128*q+86 ∧ x2 = 64*q+43 ∧ x3 = 192*q+130 ∧ x4 = 96*q+65 ∧ x5 = 288*q+196 ∧ x6 = 144*q+98 ∧ x7 = 72*q+49 ∧ x8 = 216*q+148 ∧ x9 = 108*q+74 ∧ x10 = 54*q+37 ∧ x11 = 162*q+112 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10⟩ := parameters_0010100100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 + have hstep := r10.1 + have hparity := r10.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 + omega + +/-- Exact source residue and full affine trace for branch `00101001010`. -/ +theorem parameters_00101001010 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + : ∃ q : Nat, x0 = 128*q+108 ∧ x1 = 64*q+54 ∧ x2 = 32*q+27 ∧ x3 = 96*q+82 ∧ x4 = 48*q+41 ∧ x5 = 144*q+124 ∧ x6 = 72*q+62 ∧ x7 = 36*q+31 ∧ x8 = 108*q+94 ∧ x9 = 54*q+47 ∧ x10 = 162*q+142 ∧ x11 = 81*q+71 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10⟩ := parameters_0010100101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 + have hstep := r10.1 + have hparity := r10.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 + clear hparity + refine ⟨q,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · exact p0 + · exact p1 + · exact p2 + · exact p3 + · exact p4 + · exact p5 + · exact p6 + · exact p7 + · exact p8 + · exact p9 + · exact p10 + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 + omega + +/-- Exact source residue and full affine trace for branch `01001001010`. -/ +theorem parameters_01001001010 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + : ∃ q : Nat, x0 = 128*q+66 ∧ x1 = 64*q+33 ∧ x2 = 192*q+100 ∧ x3 = 96*q+50 ∧ x4 = 48*q+25 ∧ x5 = 144*q+76 ∧ x6 = 72*q+38 ∧ x7 = 36*q+19 ∧ x8 = 108*q+58 ∧ x9 = 54*q+29 ∧ x10 = 162*q+88 ∧ x11 = 81*q+44 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10⟩ := parameters_0100100101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 + have hstep := r10.1 + have hparity := r10.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 + clear hparity + refine ⟨q,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · exact p0 + · exact p1 + · exact p2 + · exact p3 + · exact p4 + · exact p5 + · exact p6 + · exact p7 + · exact p8 + · exact p9 + · exact p10 + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 + omega + +/-- Exact source residue and full affine trace for branch `01001010010`. -/ +theorem parameters_01001010010 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + : ∃ q : Nat, x0 = 128*q+114 ∧ x1 = 64*q+57 ∧ x2 = 192*q+172 ∧ x3 = 96*q+86 ∧ x4 = 48*q+43 ∧ x5 = 144*q+130 ∧ x6 = 72*q+65 ∧ x7 = 216*q+196 ∧ x8 = 108*q+98 ∧ x9 = 54*q+49 ∧ x10 = 162*q+148 ∧ x11 = 81*q+74 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10⟩ := parameters_0100101001 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 + have hstep := r10.1 + have hparity := r10.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 + clear hparity + refine ⟨q,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · exact p0 + · exact p1 + · exact p2 + · exact p3 + · exact p4 + · exact p5 + · exact p6 + · exact p7 + · exact p8 + · exact p9 + · exact p10 + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 + omega + +/-- Exact source residue and full affine trace for branch `01010010010`. -/ +theorem parameters_01010010010 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + : ∃ q : Nat, x0 = 128*q+86 ∧ x1 = 64*q+43 ∧ x2 = 192*q+130 ∧ x3 = 96*q+65 ∧ x4 = 288*q+196 ∧ x5 = 144*q+98 ∧ x6 = 72*q+49 ∧ x7 = 216*q+148 ∧ x8 = 108*q+74 ∧ x9 = 54*q+37 ∧ x10 = 162*q+112 ∧ x11 = 81*q+56 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10⟩ := parameters_0101001001 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 + have hstep := r10.1 + have hparity := r10.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 + clear hparity + refine ⟨q,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · exact p0 + · exact p1 + · exact p2 + · exact p3 + · exact p4 + · exact p5 + · exact p6 + · exact p7 + · exact p8 + · exact p9 + · exact p10 + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 + omega + +/-- Exact source residue and full affine trace for branch `01010010100`. -/ +theorem parameters_01010010100 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + : ∃ q : Nat, x0 = 128*q+118 ∧ x1 = 64*q+59 ∧ x2 = 192*q+178 ∧ x3 = 96*q+89 ∧ x4 = 288*q+268 ∧ x5 = 144*q+134 ∧ x6 = 72*q+67 ∧ x7 = 216*q+202 ∧ x8 = 108*q+101 ∧ x9 = 324*q+304 ∧ x10 = 162*q+152 ∧ x11 = 81*q+76 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10⟩ := parameters_0101001010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 + have hstep := r10.1 + have hparity := r10.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 + omega + +/-- Exact source residue and full affine trace for branch `01010010101`. -/ +theorem parameters_01010010101 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + : ∃ q : Nat, x0 = 128*q+54 ∧ x1 = 64*q+27 ∧ x2 = 192*q+82 ∧ x3 = 96*q+41 ∧ x4 = 288*q+124 ∧ x5 = 144*q+62 ∧ x6 = 72*q+31 ∧ x7 = 216*q+94 ∧ x8 = 108*q+47 ∧ x9 = 324*q+142 ∧ x10 = 162*q+71 ∧ x11 = 486*q+214 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10⟩ := parameters_0101001010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 + have hstep := r10.1 + have hparity := r10.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 + omega + +/-- Exact source residue and full affine trace for branch `10010010100`. -/ +theorem parameters_10010010100 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + : ∃ q : Nat, x0 = 128*q+33 ∧ x1 = 384*q+100 ∧ x2 = 192*q+50 ∧ x3 = 96*q+25 ∧ x4 = 288*q+76 ∧ x5 = 144*q+38 ∧ x6 = 72*q+19 ∧ x7 = 216*q+58 ∧ x8 = 108*q+29 ∧ x9 = 324*q+88 ∧ x10 = 162*q+44 ∧ x11 = 81*q+22 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10⟩ := parameters_1001001010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 + have hstep := r10.1 + have hparity := r10.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 + omega + +/-- Exact source residue and full affine trace for branch `10010010101`. -/ +theorem parameters_10010010101 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + : ∃ q : Nat, x0 = 128*q+97 ∧ x1 = 384*q+292 ∧ x2 = 192*q+146 ∧ x3 = 96*q+73 ∧ x4 = 288*q+220 ∧ x5 = 144*q+110 ∧ x6 = 72*q+55 ∧ x7 = 216*q+166 ∧ x8 = 108*q+83 ∧ x9 = 324*q+250 ∧ x10 = 162*q+125 ∧ x11 = 486*q+376 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10⟩ := parameters_1001001010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 + have hstep := r10.1 + have hparity := r10.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 + omega + +/-- Exact source residue and full affine trace for branch `10010100100`. -/ +theorem parameters_10010100100 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + : ∃ q : Nat, x0 = 128*q+57 ∧ x1 = 384*q+172 ∧ x2 = 192*q+86 ∧ x3 = 96*q+43 ∧ x4 = 288*q+130 ∧ x5 = 144*q+65 ∧ x6 = 432*q+196 ∧ x7 = 216*q+98 ∧ x8 = 108*q+49 ∧ x9 = 324*q+148 ∧ x10 = 162*q+74 ∧ x11 = 81*q+37 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10⟩ := parameters_1001010010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 + have hstep := r10.1 + have hparity := r10.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 + omega + +/-- Exact source residue and full affine trace for branch `10010100101`. -/ +theorem parameters_10010100101 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + : ∃ q : Nat, x0 = 128*q+121 ∧ x1 = 384*q+364 ∧ x2 = 192*q+182 ∧ x3 = 96*q+91 ∧ x4 = 288*q+274 ∧ x5 = 144*q+137 ∧ x6 = 432*q+412 ∧ x7 = 216*q+206 ∧ x8 = 108*q+103 ∧ x9 = 324*q+310 ∧ x10 = 162*q+155 ∧ x11 = 486*q+466 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10⟩ := parameters_1001010010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 + have hstep := r10.1 + have hparity := r10.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 + omega + +/-- Exact source residue and full affine trace for branch `10100100100`. -/ +theorem parameters_10100100100 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + : ∃ q : Nat, x0 = 128*q+43 ∧ x1 = 384*q+130 ∧ x2 = 192*q+65 ∧ x3 = 576*q+196 ∧ x4 = 288*q+98 ∧ x5 = 144*q+49 ∧ x6 = 432*q+148 ∧ x7 = 216*q+74 ∧ x8 = 108*q+37 ∧ x9 = 324*q+112 ∧ x10 = 162*q+56 ∧ x11 = 81*q+28 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10⟩ := parameters_1010010010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 + have hstep := r10.1 + have hparity := r10.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 + omega + +/-- Exact source residue and full affine trace for branch `10100100101`. -/ +theorem parameters_10100100101 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + : ∃ q : Nat, x0 = 128*q+107 ∧ x1 = 384*q+322 ∧ x2 = 192*q+161 ∧ x3 = 576*q+484 ∧ x4 = 288*q+242 ∧ x5 = 144*q+121 ∧ x6 = 432*q+364 ∧ x7 = 216*q+182 ∧ x8 = 108*q+91 ∧ x9 = 324*q+274 ∧ x10 = 162*q+137 ∧ x11 = 486*q+412 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10⟩ := parameters_1010010010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 + have hstep := r10.1 + have hparity := r10.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 + omega + +/-- Exact source residue and full affine trace for branch `10100101000`. -/ +theorem parameters_10100101000 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + : ∃ q : Nat, x0 = 128*q+59 ∧ x1 = 384*q+178 ∧ x2 = 192*q+89 ∧ x3 = 576*q+268 ∧ x4 = 288*q+134 ∧ x5 = 144*q+67 ∧ x6 = 432*q+202 ∧ x7 = 216*q+101 ∧ x8 = 648*q+304 ∧ x9 = 324*q+152 ∧ x10 = 162*q+76 ∧ x11 = 81*q+38 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10⟩ := parameters_1010010100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 + have hstep := r10.1 + have hparity := r10.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 + omega + +/-- Exact source residue and full affine trace for branch `10100101001`. -/ +theorem parameters_10100101001 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + : ∃ q : Nat, x0 = 128*q+123 ∧ x1 = 384*q+370 ∧ x2 = 192*q+185 ∧ x3 = 576*q+556 ∧ x4 = 288*q+278 ∧ x5 = 144*q+139 ∧ x6 = 432*q+418 ∧ x7 = 216*q+209 ∧ x8 = 648*q+628 ∧ x9 = 324*q+314 ∧ x10 = 162*q+157 ∧ x11 = 486*q+472 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10⟩ := parameters_1010010100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 + have hstep := r10.1 + have hparity := r10.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 + omega + +/-- Exact source residue and full affine trace for branch `001001010010`. -/ +theorem parameters_001001010010 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + : ∃ q : Nat, x0 = 256*q+228 ∧ x1 = 128*q+114 ∧ x2 = 64*q+57 ∧ x3 = 192*q+172 ∧ x4 = 96*q+86 ∧ x5 = 48*q+43 ∧ x6 = 144*q+130 ∧ x7 = 72*q+65 ∧ x8 = 216*q+196 ∧ x9 = 108*q+98 ∧ x10 = 54*q+49 ∧ x11 = 162*q+148 ∧ x12 = 81*q+74 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11⟩ := parameters_00100101001 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 + have hstep := r11.1 + have hparity := r11.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 + clear hparity + refine ⟨q,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · exact p0 + · exact p1 + · exact p2 + · exact p3 + · exact p4 + · exact p5 + · exact p6 + · exact p7 + · exact p8 + · exact p9 + · exact p10 + · exact p11 + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 + omega + +/-- Exact source residue and full affine trace for branch `001010010010`. -/ +theorem parameters_001010010010 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + : ∃ q : Nat, x0 = 256*q+172 ∧ x1 = 128*q+86 ∧ x2 = 64*q+43 ∧ x3 = 192*q+130 ∧ x4 = 96*q+65 ∧ x5 = 288*q+196 ∧ x6 = 144*q+98 ∧ x7 = 72*q+49 ∧ x8 = 216*q+148 ∧ x9 = 108*q+74 ∧ x10 = 54*q+37 ∧ x11 = 162*q+112 ∧ x12 = 81*q+56 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11⟩ := parameters_00101001001 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 + have hstep := r11.1 + have hparity := r11.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 + clear hparity + refine ⟨q,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · exact p0 + · exact p1 + · exact p2 + · exact p3 + · exact p4 + · exact p5 + · exact p6 + · exact p7 + · exact p8 + · exact p9 + · exact p10 + · exact p11 + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 + omega + +/-- Exact source residue and full affine trace for branch `001010010100`. -/ +theorem parameters_001010010100 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + : ∃ q : Nat, x0 = 256*q+236 ∧ x1 = 128*q+118 ∧ x2 = 64*q+59 ∧ x3 = 192*q+178 ∧ x4 = 96*q+89 ∧ x5 = 288*q+268 ∧ x6 = 144*q+134 ∧ x7 = 72*q+67 ∧ x8 = 216*q+202 ∧ x9 = 108*q+101 ∧ x10 = 324*q+304 ∧ x11 = 162*q+152 ∧ x12 = 81*q+76 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11⟩ := parameters_00101001010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 + have hstep := r11.1 + have hparity := r11.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 + omega + +/-- Exact source residue and full affine trace for branch `001010010101`. -/ +theorem parameters_001010010101 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + : ∃ q : Nat, x0 = 256*q+108 ∧ x1 = 128*q+54 ∧ x2 = 64*q+27 ∧ x3 = 192*q+82 ∧ x4 = 96*q+41 ∧ x5 = 288*q+124 ∧ x6 = 144*q+62 ∧ x7 = 72*q+31 ∧ x8 = 216*q+94 ∧ x9 = 108*q+47 ∧ x10 = 324*q+142 ∧ x11 = 162*q+71 ∧ x12 = 486*q+214 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11⟩ := parameters_00101001010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 + have hstep := r11.1 + have hparity := r11.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 + omega + +/-- Exact source residue and full affine trace for branch `010010010100`. -/ +theorem parameters_010010010100 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + : ∃ q : Nat, x0 = 256*q+66 ∧ x1 = 128*q+33 ∧ x2 = 384*q+100 ∧ x3 = 192*q+50 ∧ x4 = 96*q+25 ∧ x5 = 288*q+76 ∧ x6 = 144*q+38 ∧ x7 = 72*q+19 ∧ x8 = 216*q+58 ∧ x9 = 108*q+29 ∧ x10 = 324*q+88 ∧ x11 = 162*q+44 ∧ x12 = 81*q+22 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11⟩ := parameters_01001001010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 + have hstep := r11.1 + have hparity := r11.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 + omega + +/-- Exact source residue and full affine trace for branch `010010010101`. -/ +theorem parameters_010010010101 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + : ∃ q : Nat, x0 = 256*q+194 ∧ x1 = 128*q+97 ∧ x2 = 384*q+292 ∧ x3 = 192*q+146 ∧ x4 = 96*q+73 ∧ x5 = 288*q+220 ∧ x6 = 144*q+110 ∧ x7 = 72*q+55 ∧ x8 = 216*q+166 ∧ x9 = 108*q+83 ∧ x10 = 324*q+250 ∧ x11 = 162*q+125 ∧ x12 = 486*q+376 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11⟩ := parameters_01001001010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 + have hstep := r11.1 + have hparity := r11.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 + omega + +/-- Exact source residue and full affine trace for branch `010010100100`. -/ +theorem parameters_010010100100 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + : ∃ q : Nat, x0 = 256*q+114 ∧ x1 = 128*q+57 ∧ x2 = 384*q+172 ∧ x3 = 192*q+86 ∧ x4 = 96*q+43 ∧ x5 = 288*q+130 ∧ x6 = 144*q+65 ∧ x7 = 432*q+196 ∧ x8 = 216*q+98 ∧ x9 = 108*q+49 ∧ x10 = 324*q+148 ∧ x11 = 162*q+74 ∧ x12 = 81*q+37 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11⟩ := parameters_01001010010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 + have hstep := r11.1 + have hparity := r11.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 + omega + +/-- Exact source residue and full affine trace for branch `010010100101`. -/ +theorem parameters_010010100101 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + : ∃ q : Nat, x0 = 256*q+242 ∧ x1 = 128*q+121 ∧ x2 = 384*q+364 ∧ x3 = 192*q+182 ∧ x4 = 96*q+91 ∧ x5 = 288*q+274 ∧ x6 = 144*q+137 ∧ x7 = 432*q+412 ∧ x8 = 216*q+206 ∧ x9 = 108*q+103 ∧ x10 = 324*q+310 ∧ x11 = 162*q+155 ∧ x12 = 486*q+466 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11⟩ := parameters_01001010010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 + have hstep := r11.1 + have hparity := r11.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 + omega + + +end Collatz.Exploration.ElevenHalvesArithmetic diff --git a/Collatz/Exploration/ElevenHalvesArithmetic/Part03.lean b/Collatz/Exploration/ElevenHalvesArithmetic/Part03.lean new file mode 100644 index 00000000..eefa0d4a --- /dev/null +++ b/Collatz/Exploration/ElevenHalvesArithmetic/Part03.lean @@ -0,0 +1,1181 @@ +import Collatz.Exploration.ElevenHalvesArithmetic.Part02 + +namespace Collatz.Exploration.ElevenHalvesArithmetic + +set_option maxHeartbeats 2000000 +set_option linter.unusedVariables false + +/-- Exact source residue and full affine trace for branch `010100100100`. -/ +theorem parameters_010100100100 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + : ∃ q : Nat, x0 = 256*q+86 ∧ x1 = 128*q+43 ∧ x2 = 384*q+130 ∧ x3 = 192*q+65 ∧ x4 = 576*q+196 ∧ x5 = 288*q+98 ∧ x6 = 144*q+49 ∧ x7 = 432*q+148 ∧ x8 = 216*q+74 ∧ x9 = 108*q+37 ∧ x10 = 324*q+112 ∧ x11 = 162*q+56 ∧ x12 = 81*q+28 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11⟩ := parameters_01010010010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 + have hstep := r11.1 + have hparity := r11.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 + omega + +/-- Exact source residue and full affine trace for branch `010100100101`. -/ +theorem parameters_010100100101 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + : ∃ q : Nat, x0 = 256*q+214 ∧ x1 = 128*q+107 ∧ x2 = 384*q+322 ∧ x3 = 192*q+161 ∧ x4 = 576*q+484 ∧ x5 = 288*q+242 ∧ x6 = 144*q+121 ∧ x7 = 432*q+364 ∧ x8 = 216*q+182 ∧ x9 = 108*q+91 ∧ x10 = 324*q+274 ∧ x11 = 162*q+137 ∧ x12 = 486*q+412 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11⟩ := parameters_01010010010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 + have hstep := r11.1 + have hparity := r11.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 + omega + +/-- Exact source residue and full affine trace for branch `010100101000`. -/ +theorem parameters_010100101000 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + : ∃ q : Nat, x0 = 256*q+118 ∧ x1 = 128*q+59 ∧ x2 = 384*q+178 ∧ x3 = 192*q+89 ∧ x4 = 576*q+268 ∧ x5 = 288*q+134 ∧ x6 = 144*q+67 ∧ x7 = 432*q+202 ∧ x8 = 216*q+101 ∧ x9 = 648*q+304 ∧ x10 = 324*q+152 ∧ x11 = 162*q+76 ∧ x12 = 81*q+38 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11⟩ := parameters_01010010100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 + have hstep := r11.1 + have hparity := r11.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 + omega + +/-- Exact source residue and full affine trace for branch `010100101001`. -/ +theorem parameters_010100101001 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + : ∃ q : Nat, x0 = 256*q+246 ∧ x1 = 128*q+123 ∧ x2 = 384*q+370 ∧ x3 = 192*q+185 ∧ x4 = 576*q+556 ∧ x5 = 288*q+278 ∧ x6 = 144*q+139 ∧ x7 = 432*q+418 ∧ x8 = 216*q+209 ∧ x9 = 648*q+628 ∧ x10 = 324*q+314 ∧ x11 = 162*q+157 ∧ x12 = 486*q+472 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11⟩ := parameters_01010010100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 + have hstep := r11.1 + have hparity := r11.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 + omega + +/-- Exact source residue and full affine trace for branch `100100101000`. -/ +theorem parameters_100100101000 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + : ∃ q : Nat, x0 = 256*q+33 ∧ x1 = 768*q+100 ∧ x2 = 384*q+50 ∧ x3 = 192*q+25 ∧ x4 = 576*q+76 ∧ x5 = 288*q+38 ∧ x6 = 144*q+19 ∧ x7 = 432*q+58 ∧ x8 = 216*q+29 ∧ x9 = 648*q+88 ∧ x10 = 324*q+44 ∧ x11 = 162*q+22 ∧ x12 = 81*q+11 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11⟩ := parameters_10010010100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 + have hstep := r11.1 + have hparity := r11.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 + omega + +/-- Exact source residue and full affine trace for branch `100100101001`. -/ +theorem parameters_100100101001 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + : ∃ q : Nat, x0 = 256*q+161 ∧ x1 = 768*q+484 ∧ x2 = 384*q+242 ∧ x3 = 192*q+121 ∧ x4 = 576*q+364 ∧ x5 = 288*q+182 ∧ x6 = 144*q+91 ∧ x7 = 432*q+274 ∧ x8 = 216*q+137 ∧ x9 = 648*q+412 ∧ x10 = 324*q+206 ∧ x11 = 162*q+103 ∧ x12 = 486*q+310 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11⟩ := parameters_10010010100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 + have hstep := r11.1 + have hparity := r11.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 + omega + +/-- Exact source residue and full affine trace for branch `100101001000`. -/ +theorem parameters_100101001000 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + : ∃ q : Nat, x0 = 256*q+185 ∧ x1 = 768*q+556 ∧ x2 = 384*q+278 ∧ x3 = 192*q+139 ∧ x4 = 576*q+418 ∧ x5 = 288*q+209 ∧ x6 = 864*q+628 ∧ x7 = 432*q+314 ∧ x8 = 216*q+157 ∧ x9 = 648*q+472 ∧ x10 = 324*q+236 ∧ x11 = 162*q+118 ∧ x12 = 81*q+59 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11⟩ := parameters_10010100100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 + have hstep := r11.1 + have hparity := r11.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 + omega + +/-- Exact source residue and full affine trace for branch `100101001001`. -/ +theorem parameters_100101001001 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + : ∃ q : Nat, x0 = 256*q+57 ∧ x1 = 768*q+172 ∧ x2 = 384*q+86 ∧ x3 = 192*q+43 ∧ x4 = 576*q+130 ∧ x5 = 288*q+65 ∧ x6 = 864*q+196 ∧ x7 = 432*q+98 ∧ x8 = 216*q+49 ∧ x9 = 648*q+148 ∧ x10 = 324*q+74 ∧ x11 = 162*q+37 ∧ x12 = 486*q+112 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11⟩ := parameters_10010100100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 + have hstep := r11.1 + have hparity := r11.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 + omega + +/-- Exact source residue and full affine trace for branch `100101001010`. -/ +theorem parameters_100101001010 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + : ∃ q : Nat, x0 = 128*q+121 ∧ x1 = 384*q+364 ∧ x2 = 192*q+182 ∧ x3 = 96*q+91 ∧ x4 = 288*q+274 ∧ x5 = 144*q+137 ∧ x6 = 432*q+412 ∧ x7 = 216*q+206 ∧ x8 = 108*q+103 ∧ x9 = 324*q+310 ∧ x10 = 162*q+155 ∧ x11 = 486*q+466 ∧ x12 = 243*q+233 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11⟩ := parameters_10010100101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 + have hstep := r11.1 + have hparity := r11.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 + clear hparity + refine ⟨q,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · exact p0 + · exact p1 + · exact p2 + · exact p3 + · exact p4 + · exact p5 + · exact p6 + · exact p7 + · exact p8 + · exact p9 + · exact p10 + · exact p11 + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 + omega + +/-- Exact source residue and full affine trace for branch `101001001010`. -/ +theorem parameters_101001001010 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + : ∃ q : Nat, x0 = 128*q+107 ∧ x1 = 384*q+322 ∧ x2 = 192*q+161 ∧ x3 = 576*q+484 ∧ x4 = 288*q+242 ∧ x5 = 144*q+121 ∧ x6 = 432*q+364 ∧ x7 = 216*q+182 ∧ x8 = 108*q+91 ∧ x9 = 324*q+274 ∧ x10 = 162*q+137 ∧ x11 = 486*q+412 ∧ x12 = 243*q+206 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11⟩ := parameters_10100100101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 + have hstep := r11.1 + have hparity := r11.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 + clear hparity + refine ⟨q,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · exact p0 + · exact p1 + · exact p2 + · exact p3 + · exact p4 + · exact p5 + · exact p6 + · exact p7 + · exact p8 + · exact p9 + · exact p10 + · exact p11 + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 + omega + +/-- Exact source residue and full affine trace for branch `101001010010`. -/ +theorem parameters_101001010010 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + : ∃ q : Nat, x0 = 128*q+123 ∧ x1 = 384*q+370 ∧ x2 = 192*q+185 ∧ x3 = 576*q+556 ∧ x4 = 288*q+278 ∧ x5 = 144*q+139 ∧ x6 = 432*q+418 ∧ x7 = 216*q+209 ∧ x8 = 648*q+628 ∧ x9 = 324*q+314 ∧ x10 = 162*q+157 ∧ x11 = 486*q+472 ∧ x12 = 243*q+236 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11⟩ := parameters_10100101001 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 + have hstep := r11.1 + have hparity := r11.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 + clear hparity + refine ⟨q,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · exact p0 + · exact p1 + · exact p2 + · exact p3 + · exact p4 + · exact p5 + · exact p6 + · exact p7 + · exact p8 + · exact p9 + · exact p10 + · exact p11 + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 + omega + +/-- Exact source residue and full affine trace for branch `0010010100100`. -/ +theorem parameters_0010010100100 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + : ∃ q : Nat, x0 = 512*q+228 ∧ x1 = 256*q+114 ∧ x2 = 128*q+57 ∧ x3 = 384*q+172 ∧ x4 = 192*q+86 ∧ x5 = 96*q+43 ∧ x6 = 288*q+130 ∧ x7 = 144*q+65 ∧ x8 = 432*q+196 ∧ x9 = 216*q+98 ∧ x10 = 108*q+49 ∧ x11 = 324*q+148 ∧ x12 = 162*q+74 ∧ x13 = 81*q+37 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12⟩ := parameters_001001010010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 + have hstep := r12.1 + have hparity := r12.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 + omega + +/-- Exact source residue and full affine trace for branch `0010010100101`. -/ +theorem parameters_0010010100101 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + : ∃ q : Nat, x0 = 512*q+484 ∧ x1 = 256*q+242 ∧ x2 = 128*q+121 ∧ x3 = 384*q+364 ∧ x4 = 192*q+182 ∧ x5 = 96*q+91 ∧ x6 = 288*q+274 ∧ x7 = 144*q+137 ∧ x8 = 432*q+412 ∧ x9 = 216*q+206 ∧ x10 = 108*q+103 ∧ x11 = 324*q+310 ∧ x12 = 162*q+155 ∧ x13 = 486*q+466 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12⟩ := parameters_001001010010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 + have hstep := r12.1 + have hparity := r12.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 + omega + +/-- Exact source residue and full affine trace for branch `0010100100100`. -/ +theorem parameters_0010100100100 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + : ∃ q : Nat, x0 = 512*q+172 ∧ x1 = 256*q+86 ∧ x2 = 128*q+43 ∧ x3 = 384*q+130 ∧ x4 = 192*q+65 ∧ x5 = 576*q+196 ∧ x6 = 288*q+98 ∧ x7 = 144*q+49 ∧ x8 = 432*q+148 ∧ x9 = 216*q+74 ∧ x10 = 108*q+37 ∧ x11 = 324*q+112 ∧ x12 = 162*q+56 ∧ x13 = 81*q+28 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12⟩ := parameters_001010010010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 + have hstep := r12.1 + have hparity := r12.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 + omega + +/-- Exact source residue and full affine trace for branch `0010100100101`. -/ +theorem parameters_0010100100101 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + : ∃ q : Nat, x0 = 512*q+428 ∧ x1 = 256*q+214 ∧ x2 = 128*q+107 ∧ x3 = 384*q+322 ∧ x4 = 192*q+161 ∧ x5 = 576*q+484 ∧ x6 = 288*q+242 ∧ x7 = 144*q+121 ∧ x8 = 432*q+364 ∧ x9 = 216*q+182 ∧ x10 = 108*q+91 ∧ x11 = 324*q+274 ∧ x12 = 162*q+137 ∧ x13 = 486*q+412 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12⟩ := parameters_001010010010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 + have hstep := r12.1 + have hparity := r12.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 + omega + +/-- Exact source residue and full affine trace for branch `0010100101000`. -/ +theorem parameters_0010100101000 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + : ∃ q : Nat, x0 = 512*q+236 ∧ x1 = 256*q+118 ∧ x2 = 128*q+59 ∧ x3 = 384*q+178 ∧ x4 = 192*q+89 ∧ x5 = 576*q+268 ∧ x6 = 288*q+134 ∧ x7 = 144*q+67 ∧ x8 = 432*q+202 ∧ x9 = 216*q+101 ∧ x10 = 648*q+304 ∧ x11 = 324*q+152 ∧ x12 = 162*q+76 ∧ x13 = 81*q+38 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12⟩ := parameters_001010010100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 + have hstep := r12.1 + have hparity := r12.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 + omega + +/-- Exact source residue and full affine trace for branch `0010100101001`. -/ +theorem parameters_0010100101001 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + : ∃ q : Nat, x0 = 512*q+492 ∧ x1 = 256*q+246 ∧ x2 = 128*q+123 ∧ x3 = 384*q+370 ∧ x4 = 192*q+185 ∧ x5 = 576*q+556 ∧ x6 = 288*q+278 ∧ x7 = 144*q+139 ∧ x8 = 432*q+418 ∧ x9 = 216*q+209 ∧ x10 = 648*q+628 ∧ x11 = 324*q+314 ∧ x12 = 162*q+157 ∧ x13 = 486*q+472 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12⟩ := parameters_001010010100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 + have hstep := r12.1 + have hparity := r12.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 + omega + +/-- Exact source residue and full affine trace for branch `0100100101000`. -/ +theorem parameters_0100100101000 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + : ∃ q : Nat, x0 = 512*q+66 ∧ x1 = 256*q+33 ∧ x2 = 768*q+100 ∧ x3 = 384*q+50 ∧ x4 = 192*q+25 ∧ x5 = 576*q+76 ∧ x6 = 288*q+38 ∧ x7 = 144*q+19 ∧ x8 = 432*q+58 ∧ x9 = 216*q+29 ∧ x10 = 648*q+88 ∧ x11 = 324*q+44 ∧ x12 = 162*q+22 ∧ x13 = 81*q+11 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12⟩ := parameters_010010010100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 + have hstep := r12.1 + have hparity := r12.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 + omega + +/-- Exact source residue and full affine trace for branch `0100100101001`. -/ +theorem parameters_0100100101001 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + : ∃ q : Nat, x0 = 512*q+322 ∧ x1 = 256*q+161 ∧ x2 = 768*q+484 ∧ x3 = 384*q+242 ∧ x4 = 192*q+121 ∧ x5 = 576*q+364 ∧ x6 = 288*q+182 ∧ x7 = 144*q+91 ∧ x8 = 432*q+274 ∧ x9 = 216*q+137 ∧ x10 = 648*q+412 ∧ x11 = 324*q+206 ∧ x12 = 162*q+103 ∧ x13 = 486*q+310 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12⟩ := parameters_010010010100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 + have hstep := r12.1 + have hparity := r12.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 + omega + +/-- Exact source residue and full affine trace for branch `0100101001000`. -/ +theorem parameters_0100101001000 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + : ∃ q : Nat, x0 = 512*q+370 ∧ x1 = 256*q+185 ∧ x2 = 768*q+556 ∧ x3 = 384*q+278 ∧ x4 = 192*q+139 ∧ x5 = 576*q+418 ∧ x6 = 288*q+209 ∧ x7 = 864*q+628 ∧ x8 = 432*q+314 ∧ x9 = 216*q+157 ∧ x10 = 648*q+472 ∧ x11 = 324*q+236 ∧ x12 = 162*q+118 ∧ x13 = 81*q+59 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12⟩ := parameters_010010100100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 + have hstep := r12.1 + have hparity := r12.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 + omega + +/-- Exact source residue and full affine trace for branch `0100101001001`. -/ +theorem parameters_0100101001001 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + : ∃ q : Nat, x0 = 512*q+114 ∧ x1 = 256*q+57 ∧ x2 = 768*q+172 ∧ x3 = 384*q+86 ∧ x4 = 192*q+43 ∧ x5 = 576*q+130 ∧ x6 = 288*q+65 ∧ x7 = 864*q+196 ∧ x8 = 432*q+98 ∧ x9 = 216*q+49 ∧ x10 = 648*q+148 ∧ x11 = 324*q+74 ∧ x12 = 162*q+37 ∧ x13 = 486*q+112 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12⟩ := parameters_010010100100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 + have hstep := r12.1 + have hparity := r12.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 + omega + +/-- Exact source residue and full affine trace for branch `0100101001010`. -/ +theorem parameters_0100101001010 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + : ∃ q : Nat, x0 = 256*q+242 ∧ x1 = 128*q+121 ∧ x2 = 384*q+364 ∧ x3 = 192*q+182 ∧ x4 = 96*q+91 ∧ x5 = 288*q+274 ∧ x6 = 144*q+137 ∧ x7 = 432*q+412 ∧ x8 = 216*q+206 ∧ x9 = 108*q+103 ∧ x10 = 324*q+310 ∧ x11 = 162*q+155 ∧ x12 = 486*q+466 ∧ x13 = 243*q+233 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12⟩ := parameters_010010100101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 + have hstep := r12.1 + have hparity := r12.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 + clear hparity + refine ⟨q,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · exact p0 + · exact p1 + · exact p2 + · exact p3 + · exact p4 + · exact p5 + · exact p6 + · exact p7 + · exact p8 + · exact p9 + · exact p10 + · exact p11 + · exact p12 + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 + omega + +/-- Exact source residue and full affine trace for branch `0101001001010`. -/ +theorem parameters_0101001001010 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + : ∃ q : Nat, x0 = 256*q+214 ∧ x1 = 128*q+107 ∧ x2 = 384*q+322 ∧ x3 = 192*q+161 ∧ x4 = 576*q+484 ∧ x5 = 288*q+242 ∧ x6 = 144*q+121 ∧ x7 = 432*q+364 ∧ x8 = 216*q+182 ∧ x9 = 108*q+91 ∧ x10 = 324*q+274 ∧ x11 = 162*q+137 ∧ x12 = 486*q+412 ∧ x13 = 243*q+206 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12⟩ := parameters_010100100101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 + have hstep := r12.1 + have hparity := r12.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 + clear hparity + refine ⟨q,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · exact p0 + · exact p1 + · exact p2 + · exact p3 + · exact p4 + · exact p5 + · exact p6 + · exact p7 + · exact p8 + · exact p9 + · exact p10 + · exact p11 + · exact p12 + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 + omega + +/-- Exact source residue and full affine trace for branch `0101001010010`. -/ +theorem parameters_0101001010010 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + : ∃ q : Nat, x0 = 256*q+246 ∧ x1 = 128*q+123 ∧ x2 = 384*q+370 ∧ x3 = 192*q+185 ∧ x4 = 576*q+556 ∧ x5 = 288*q+278 ∧ x6 = 144*q+139 ∧ x7 = 432*q+418 ∧ x8 = 216*q+209 ∧ x9 = 648*q+628 ∧ x10 = 324*q+314 ∧ x11 = 162*q+157 ∧ x12 = 486*q+472 ∧ x13 = 243*q+236 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12⟩ := parameters_010100101001 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 + have hstep := r12.1 + have hparity := r12.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 + clear hparity + refine ⟨q,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · exact p0 + · exact p1 + · exact p2 + · exact p3 + · exact p4 + · exact p5 + · exact p6 + · exact p7 + · exact p8 + · exact p9 + · exact p10 + · exact p11 + · exact p12 + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 + omega + +/-- Exact source residue and full affine trace for branch `1001001010010`. -/ +theorem parameters_1001001010010 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + : ∃ q : Nat, x0 = 256*q+161 ∧ x1 = 768*q+484 ∧ x2 = 384*q+242 ∧ x3 = 192*q+121 ∧ x4 = 576*q+364 ∧ x5 = 288*q+182 ∧ x6 = 144*q+91 ∧ x7 = 432*q+274 ∧ x8 = 216*q+137 ∧ x9 = 648*q+412 ∧ x10 = 324*q+206 ∧ x11 = 162*q+103 ∧ x12 = 486*q+310 ∧ x13 = 243*q+155 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12⟩ := parameters_100100101001 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 + have hstep := r12.1 + have hparity := r12.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 + clear hparity + refine ⟨q,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · exact p0 + · exact p1 + · exact p2 + · exact p3 + · exact p4 + · exact p5 + · exact p6 + · exact p7 + · exact p8 + · exact p9 + · exact p10 + · exact p11 + · exact p12 + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 + omega + +/-- Exact source residue and full affine trace for branch `1001010010010`. -/ +theorem parameters_1001010010010 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + : ∃ q : Nat, x0 = 256*q+57 ∧ x1 = 768*q+172 ∧ x2 = 384*q+86 ∧ x3 = 192*q+43 ∧ x4 = 576*q+130 ∧ x5 = 288*q+65 ∧ x6 = 864*q+196 ∧ x7 = 432*q+98 ∧ x8 = 216*q+49 ∧ x9 = 648*q+148 ∧ x10 = 324*q+74 ∧ x11 = 162*q+37 ∧ x12 = 486*q+112 ∧ x13 = 243*q+56 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12⟩ := parameters_100101001001 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 + have hstep := r12.1 + have hparity := r12.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 + clear hparity + refine ⟨q,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · exact p0 + · exact p1 + · exact p2 + · exact p3 + · exact p4 + · exact p5 + · exact p6 + · exact p7 + · exact p8 + · exact p9 + · exact p10 + · exact p11 + · exact p12 + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 + omega + +/-- Exact source residue and full affine trace for branch `1001010010100`. -/ +theorem parameters_1001010010100 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + : ∃ q : Nat, x0 = 256*q+249 ∧ x1 = 768*q+748 ∧ x2 = 384*q+374 ∧ x3 = 192*q+187 ∧ x4 = 576*q+562 ∧ x5 = 288*q+281 ∧ x6 = 864*q+844 ∧ x7 = 432*q+422 ∧ x8 = 216*q+211 ∧ x9 = 648*q+634 ∧ x10 = 324*q+317 ∧ x11 = 972*q+952 ∧ x12 = 486*q+476 ∧ x13 = 243*q+238 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12⟩ := parameters_100101001010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 + have hstep := r12.1 + have hparity := r12.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 + omega + +/-- Exact source residue and full affine trace for branch `1001010010101`. -/ +theorem parameters_1001010010101 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + : ∃ q : Nat, x0 = 256*q+121 ∧ x1 = 768*q+364 ∧ x2 = 384*q+182 ∧ x3 = 192*q+91 ∧ x4 = 576*q+274 ∧ x5 = 288*q+137 ∧ x6 = 864*q+412 ∧ x7 = 432*q+206 ∧ x8 = 216*q+103 ∧ x9 = 648*q+310 ∧ x10 = 324*q+155 ∧ x11 = 972*q+466 ∧ x12 = 486*q+233 ∧ x13 = 1458*q+700 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12⟩ := parameters_100101001010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 + have hstep := r12.1 + have hparity := r12.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 + omega + +/-- Exact source residue and full affine trace for branch `1010010010100`. -/ +theorem parameters_1010010010100 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + : ∃ q : Nat, x0 = 256*q+107 ∧ x1 = 768*q+322 ∧ x2 = 384*q+161 ∧ x3 = 1152*q+484 ∧ x4 = 576*q+242 ∧ x5 = 288*q+121 ∧ x6 = 864*q+364 ∧ x7 = 432*q+182 ∧ x8 = 216*q+91 ∧ x9 = 648*q+274 ∧ x10 = 324*q+137 ∧ x11 = 972*q+412 ∧ x12 = 486*q+206 ∧ x13 = 243*q+103 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12⟩ := parameters_101001001010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 + have hstep := r12.1 + have hparity := r12.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 + omega + + +end Collatz.Exploration.ElevenHalvesArithmetic diff --git a/Collatz/Exploration/ElevenHalvesArithmetic/Part04.lean b/Collatz/Exploration/ElevenHalvesArithmetic/Part04.lean new file mode 100644 index 00000000..d5581d04 --- /dev/null +++ b/Collatz/Exploration/ElevenHalvesArithmetic/Part04.lean @@ -0,0 +1,1182 @@ +import Collatz.Exploration.ElevenHalvesArithmetic.Part03 + +namespace Collatz.Exploration.ElevenHalvesArithmetic + +set_option maxHeartbeats 2000000 +set_option linter.unusedVariables false + +/-- Exact source residue and full affine trace for branch `1010010010101`. -/ +theorem parameters_1010010010101 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + : ∃ q : Nat, x0 = 256*q+235 ∧ x1 = 768*q+706 ∧ x2 = 384*q+353 ∧ x3 = 1152*q+1060 ∧ x4 = 576*q+530 ∧ x5 = 288*q+265 ∧ x6 = 864*q+796 ∧ x7 = 432*q+398 ∧ x8 = 216*q+199 ∧ x9 = 648*q+598 ∧ x10 = 324*q+299 ∧ x11 = 972*q+898 ∧ x12 = 486*q+449 ∧ x13 = 1458*q+1348 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12⟩ := parameters_101001001010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 + have hstep := r12.1 + have hparity := r12.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 + omega + +/-- Exact source residue and full affine trace for branch `1010010100100`. -/ +theorem parameters_1010010100100 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + : ∃ q : Nat, x0 = 256*q+123 ∧ x1 = 768*q+370 ∧ x2 = 384*q+185 ∧ x3 = 1152*q+556 ∧ x4 = 576*q+278 ∧ x5 = 288*q+139 ∧ x6 = 864*q+418 ∧ x7 = 432*q+209 ∧ x8 = 1296*q+628 ∧ x9 = 648*q+314 ∧ x10 = 324*q+157 ∧ x11 = 972*q+472 ∧ x12 = 486*q+236 ∧ x13 = 243*q+118 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12⟩ := parameters_101001010010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 + have hstep := r12.1 + have hparity := r12.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 + omega + +/-- Exact source residue and full affine trace for branch `1010010100101`. -/ +theorem parameters_1010010100101 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + : ∃ q : Nat, x0 = 256*q+251 ∧ x1 = 768*q+754 ∧ x2 = 384*q+377 ∧ x3 = 1152*q+1132 ∧ x4 = 576*q+566 ∧ x5 = 288*q+283 ∧ x6 = 864*q+850 ∧ x7 = 432*q+425 ∧ x8 = 1296*q+1276 ∧ x9 = 648*q+638 ∧ x10 = 324*q+319 ∧ x11 = 972*q+958 ∧ x12 = 486*q+479 ∧ x13 = 1458*q+1438 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12⟩ := parameters_101001010010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 + have hstep := r12.1 + have hparity := r12.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 + omega + +/-- Exact source residue and full affine trace for branch `00100101001010`. -/ +theorem parameters_00100101001010 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + : ∃ q : Nat, x0 = 512*q+484 ∧ x1 = 256*q+242 ∧ x2 = 128*q+121 ∧ x3 = 384*q+364 ∧ x4 = 192*q+182 ∧ x5 = 96*q+91 ∧ x6 = 288*q+274 ∧ x7 = 144*q+137 ∧ x8 = 432*q+412 ∧ x9 = 216*q+206 ∧ x10 = 108*q+103 ∧ x11 = 324*q+310 ∧ x12 = 162*q+155 ∧ x13 = 486*q+466 ∧ x14 = 243*q+233 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13⟩ := parameters_0010010100101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 + have hstep := r13.1 + have hparity := r13.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 + clear hparity + refine ⟨q,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · exact p0 + · exact p1 + · exact p2 + · exact p3 + · exact p4 + · exact p5 + · exact p6 + · exact p7 + · exact p8 + · exact p9 + · exact p10 + · exact p11 + · exact p12 + · exact p13 + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 + omega + +/-- Exact source residue and full affine trace for branch `00101001001010`. -/ +theorem parameters_00101001001010 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + : ∃ q : Nat, x0 = 512*q+428 ∧ x1 = 256*q+214 ∧ x2 = 128*q+107 ∧ x3 = 384*q+322 ∧ x4 = 192*q+161 ∧ x5 = 576*q+484 ∧ x6 = 288*q+242 ∧ x7 = 144*q+121 ∧ x8 = 432*q+364 ∧ x9 = 216*q+182 ∧ x10 = 108*q+91 ∧ x11 = 324*q+274 ∧ x12 = 162*q+137 ∧ x13 = 486*q+412 ∧ x14 = 243*q+206 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13⟩ := parameters_0010100100101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 + have hstep := r13.1 + have hparity := r13.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 + clear hparity + refine ⟨q,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · exact p0 + · exact p1 + · exact p2 + · exact p3 + · exact p4 + · exact p5 + · exact p6 + · exact p7 + · exact p8 + · exact p9 + · exact p10 + · exact p11 + · exact p12 + · exact p13 + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 + omega + +/-- Exact source residue and full affine trace for branch `00101001010010`. -/ +theorem parameters_00101001010010 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + : ∃ q : Nat, x0 = 512*q+492 ∧ x1 = 256*q+246 ∧ x2 = 128*q+123 ∧ x3 = 384*q+370 ∧ x4 = 192*q+185 ∧ x5 = 576*q+556 ∧ x6 = 288*q+278 ∧ x7 = 144*q+139 ∧ x8 = 432*q+418 ∧ x9 = 216*q+209 ∧ x10 = 648*q+628 ∧ x11 = 324*q+314 ∧ x12 = 162*q+157 ∧ x13 = 486*q+472 ∧ x14 = 243*q+236 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13⟩ := parameters_0010100101001 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 + have hstep := r13.1 + have hparity := r13.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 + clear hparity + refine ⟨q,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · exact p0 + · exact p1 + · exact p2 + · exact p3 + · exact p4 + · exact p5 + · exact p6 + · exact p7 + · exact p8 + · exact p9 + · exact p10 + · exact p11 + · exact p12 + · exact p13 + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 + omega + +/-- Exact source residue and full affine trace for branch `01001001010010`. -/ +theorem parameters_01001001010010 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + : ∃ q : Nat, x0 = 512*q+322 ∧ x1 = 256*q+161 ∧ x2 = 768*q+484 ∧ x3 = 384*q+242 ∧ x4 = 192*q+121 ∧ x5 = 576*q+364 ∧ x6 = 288*q+182 ∧ x7 = 144*q+91 ∧ x8 = 432*q+274 ∧ x9 = 216*q+137 ∧ x10 = 648*q+412 ∧ x11 = 324*q+206 ∧ x12 = 162*q+103 ∧ x13 = 486*q+310 ∧ x14 = 243*q+155 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13⟩ := parameters_0100100101001 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 + have hstep := r13.1 + have hparity := r13.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 + clear hparity + refine ⟨q,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · exact p0 + · exact p1 + · exact p2 + · exact p3 + · exact p4 + · exact p5 + · exact p6 + · exact p7 + · exact p8 + · exact p9 + · exact p10 + · exact p11 + · exact p12 + · exact p13 + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 + omega + +/-- Exact source residue and full affine trace for branch `01001010010010`. -/ +theorem parameters_01001010010010 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + : ∃ q : Nat, x0 = 512*q+114 ∧ x1 = 256*q+57 ∧ x2 = 768*q+172 ∧ x3 = 384*q+86 ∧ x4 = 192*q+43 ∧ x5 = 576*q+130 ∧ x6 = 288*q+65 ∧ x7 = 864*q+196 ∧ x8 = 432*q+98 ∧ x9 = 216*q+49 ∧ x10 = 648*q+148 ∧ x11 = 324*q+74 ∧ x12 = 162*q+37 ∧ x13 = 486*q+112 ∧ x14 = 243*q+56 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13⟩ := parameters_0100101001001 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 + have hstep := r13.1 + have hparity := r13.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 + clear hparity + refine ⟨q,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · exact p0 + · exact p1 + · exact p2 + · exact p3 + · exact p4 + · exact p5 + · exact p6 + · exact p7 + · exact p8 + · exact p9 + · exact p10 + · exact p11 + · exact p12 + · exact p13 + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 + omega + +/-- Exact source residue and full affine trace for branch `01001010010100`. -/ +theorem parameters_01001010010100 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + : ∃ q : Nat, x0 = 512*q+498 ∧ x1 = 256*q+249 ∧ x2 = 768*q+748 ∧ x3 = 384*q+374 ∧ x4 = 192*q+187 ∧ x5 = 576*q+562 ∧ x6 = 288*q+281 ∧ x7 = 864*q+844 ∧ x8 = 432*q+422 ∧ x9 = 216*q+211 ∧ x10 = 648*q+634 ∧ x11 = 324*q+317 ∧ x12 = 972*q+952 ∧ x13 = 486*q+476 ∧ x14 = 243*q+238 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13⟩ := parameters_0100101001010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 + have hstep := r13.1 + have hparity := r13.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 + omega + +/-- Exact source residue and full affine trace for branch `01001010010101`. -/ +theorem parameters_01001010010101 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + : ∃ q : Nat, x0 = 512*q+242 ∧ x1 = 256*q+121 ∧ x2 = 768*q+364 ∧ x3 = 384*q+182 ∧ x4 = 192*q+91 ∧ x5 = 576*q+274 ∧ x6 = 288*q+137 ∧ x7 = 864*q+412 ∧ x8 = 432*q+206 ∧ x9 = 216*q+103 ∧ x10 = 648*q+310 ∧ x11 = 324*q+155 ∧ x12 = 972*q+466 ∧ x13 = 486*q+233 ∧ x14 = 1458*q+700 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13⟩ := parameters_0100101001010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 + have hstep := r13.1 + have hparity := r13.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 + omega + +/-- Exact source residue and full affine trace for branch `01010010010100`. -/ +theorem parameters_01010010010100 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + : ∃ q : Nat, x0 = 512*q+214 ∧ x1 = 256*q+107 ∧ x2 = 768*q+322 ∧ x3 = 384*q+161 ∧ x4 = 1152*q+484 ∧ x5 = 576*q+242 ∧ x6 = 288*q+121 ∧ x7 = 864*q+364 ∧ x8 = 432*q+182 ∧ x9 = 216*q+91 ∧ x10 = 648*q+274 ∧ x11 = 324*q+137 ∧ x12 = 972*q+412 ∧ x13 = 486*q+206 ∧ x14 = 243*q+103 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13⟩ := parameters_0101001001010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 + have hstep := r13.1 + have hparity := r13.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 + omega + +/-- Exact source residue and full affine trace for branch `01010010010101`. -/ +theorem parameters_01010010010101 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + : ∃ q : Nat, x0 = 512*q+470 ∧ x1 = 256*q+235 ∧ x2 = 768*q+706 ∧ x3 = 384*q+353 ∧ x4 = 1152*q+1060 ∧ x5 = 576*q+530 ∧ x6 = 288*q+265 ∧ x7 = 864*q+796 ∧ x8 = 432*q+398 ∧ x9 = 216*q+199 ∧ x10 = 648*q+598 ∧ x11 = 324*q+299 ∧ x12 = 972*q+898 ∧ x13 = 486*q+449 ∧ x14 = 1458*q+1348 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13⟩ := parameters_0101001001010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 + have hstep := r13.1 + have hparity := r13.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 + omega + +/-- Exact source residue and full affine trace for branch `01010010100100`. -/ +theorem parameters_01010010100100 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + : ∃ q : Nat, x0 = 512*q+246 ∧ x1 = 256*q+123 ∧ x2 = 768*q+370 ∧ x3 = 384*q+185 ∧ x4 = 1152*q+556 ∧ x5 = 576*q+278 ∧ x6 = 288*q+139 ∧ x7 = 864*q+418 ∧ x8 = 432*q+209 ∧ x9 = 1296*q+628 ∧ x10 = 648*q+314 ∧ x11 = 324*q+157 ∧ x12 = 972*q+472 ∧ x13 = 486*q+236 ∧ x14 = 243*q+118 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13⟩ := parameters_0101001010010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 + have hstep := r13.1 + have hparity := r13.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 + omega + +/-- Exact source residue and full affine trace for branch `01010010100101`. -/ +theorem parameters_01010010100101 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + : ∃ q : Nat, x0 = 512*q+502 ∧ x1 = 256*q+251 ∧ x2 = 768*q+754 ∧ x3 = 384*q+377 ∧ x4 = 1152*q+1132 ∧ x5 = 576*q+566 ∧ x6 = 288*q+283 ∧ x7 = 864*q+850 ∧ x8 = 432*q+425 ∧ x9 = 1296*q+1276 ∧ x10 = 648*q+638 ∧ x11 = 324*q+319 ∧ x12 = 972*q+958 ∧ x13 = 486*q+479 ∧ x14 = 1458*q+1438 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13⟩ := parameters_0101001010010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 + have hstep := r13.1 + have hparity := r13.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 + omega + +/-- Exact source residue and full affine trace for branch `10010010100100`. -/ +theorem parameters_10010010100100 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + : ∃ q : Nat, x0 = 512*q+417 ∧ x1 = 1536*q+1252 ∧ x2 = 768*q+626 ∧ x3 = 384*q+313 ∧ x4 = 1152*q+940 ∧ x5 = 576*q+470 ∧ x6 = 288*q+235 ∧ x7 = 864*q+706 ∧ x8 = 432*q+353 ∧ x9 = 1296*q+1060 ∧ x10 = 648*q+530 ∧ x11 = 324*q+265 ∧ x12 = 972*q+796 ∧ x13 = 486*q+398 ∧ x14 = 243*q+199 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13⟩ := parameters_1001001010010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 + have hstep := r13.1 + have hparity := r13.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 + omega + +/-- Exact source residue and full affine trace for branch `10010010100101`. -/ +theorem parameters_10010010100101 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + : ∃ q : Nat, x0 = 512*q+161 ∧ x1 = 1536*q+484 ∧ x2 = 768*q+242 ∧ x3 = 384*q+121 ∧ x4 = 1152*q+364 ∧ x5 = 576*q+182 ∧ x6 = 288*q+91 ∧ x7 = 864*q+274 ∧ x8 = 432*q+137 ∧ x9 = 1296*q+412 ∧ x10 = 648*q+206 ∧ x11 = 324*q+103 ∧ x12 = 972*q+310 ∧ x13 = 486*q+155 ∧ x14 = 1458*q+466 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13⟩ := parameters_1001001010010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 + have hstep := r13.1 + have hparity := r13.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 + omega + +/-- Exact source residue and full affine trace for branch `10010100100100`. -/ +theorem parameters_10010100100100 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + : ∃ q : Nat, x0 = 512*q+57 ∧ x1 = 1536*q+172 ∧ x2 = 768*q+86 ∧ x3 = 384*q+43 ∧ x4 = 1152*q+130 ∧ x5 = 576*q+65 ∧ x6 = 1728*q+196 ∧ x7 = 864*q+98 ∧ x8 = 432*q+49 ∧ x9 = 1296*q+148 ∧ x10 = 648*q+74 ∧ x11 = 324*q+37 ∧ x12 = 972*q+112 ∧ x13 = 486*q+56 ∧ x14 = 243*q+28 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13⟩ := parameters_1001010010010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 + have hstep := r13.1 + have hparity := r13.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 + omega + +/-- Exact source residue and full affine trace for branch `10010100100101`. -/ +theorem parameters_10010100100101 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + : ∃ q : Nat, x0 = 512*q+313 ∧ x1 = 1536*q+940 ∧ x2 = 768*q+470 ∧ x3 = 384*q+235 ∧ x4 = 1152*q+706 ∧ x5 = 576*q+353 ∧ x6 = 1728*q+1060 ∧ x7 = 864*q+530 ∧ x8 = 432*q+265 ∧ x9 = 1296*q+796 ∧ x10 = 648*q+398 ∧ x11 = 324*q+199 ∧ x12 = 972*q+598 ∧ x13 = 486*q+299 ∧ x14 = 1458*q+898 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13⟩ := parameters_1001010010010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 + have hstep := r13.1 + have hparity := r13.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 + omega + +/-- Exact source residue and full affine trace for branch `10010100101000`. -/ +theorem parameters_10010100101000 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + : ∃ q : Nat, x0 = 512*q+249 ∧ x1 = 1536*q+748 ∧ x2 = 768*q+374 ∧ x3 = 384*q+187 ∧ x4 = 1152*q+562 ∧ x5 = 576*q+281 ∧ x6 = 1728*q+844 ∧ x7 = 864*q+422 ∧ x8 = 432*q+211 ∧ x9 = 1296*q+634 ∧ x10 = 648*q+317 ∧ x11 = 1944*q+952 ∧ x12 = 972*q+476 ∧ x13 = 486*q+238 ∧ x14 = 243*q+119 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13⟩ := parameters_1001010010100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 + have hstep := r13.1 + have hparity := r13.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 + omega + +/-- Exact source residue and full affine trace for branch `10010100101001`. -/ +theorem parameters_10010100101001 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + : ∃ q : Nat, x0 = 512*q+505 ∧ x1 = 1536*q+1516 ∧ x2 = 768*q+758 ∧ x3 = 384*q+379 ∧ x4 = 1152*q+1138 ∧ x5 = 576*q+569 ∧ x6 = 1728*q+1708 ∧ x7 = 864*q+854 ∧ x8 = 432*q+427 ∧ x9 = 1296*q+1282 ∧ x10 = 648*q+641 ∧ x11 = 1944*q+1924 ∧ x12 = 972*q+962 ∧ x13 = 486*q+481 ∧ x14 = 1458*q+1444 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13⟩ := parameters_1001010010100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 + have hstep := r13.1 + have hparity := r13.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 + omega + +/-- Exact source residue and full affine trace for branch `10100100101000`. -/ +theorem parameters_10100100101000 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + : ∃ q : Nat, x0 = 512*q+363 ∧ x1 = 1536*q+1090 ∧ x2 = 768*q+545 ∧ x3 = 2304*q+1636 ∧ x4 = 1152*q+818 ∧ x5 = 576*q+409 ∧ x6 = 1728*q+1228 ∧ x7 = 864*q+614 ∧ x8 = 432*q+307 ∧ x9 = 1296*q+922 ∧ x10 = 648*q+461 ∧ x11 = 1944*q+1384 ∧ x12 = 972*q+692 ∧ x13 = 486*q+346 ∧ x14 = 243*q+173 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13⟩ := parameters_1010010010100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 + have hstep := r13.1 + have hparity := r13.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 + omega + +/-- Exact source residue and full affine trace for branch `10100100101001`. -/ +theorem parameters_10100100101001 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + : ∃ q : Nat, x0 = 512*q+107 ∧ x1 = 1536*q+322 ∧ x2 = 768*q+161 ∧ x3 = 2304*q+484 ∧ x4 = 1152*q+242 ∧ x5 = 576*q+121 ∧ x6 = 1728*q+364 ∧ x7 = 864*q+182 ∧ x8 = 432*q+91 ∧ x9 = 1296*q+274 ∧ x10 = 648*q+137 ∧ x11 = 1944*q+412 ∧ x12 = 972*q+206 ∧ x13 = 486*q+103 ∧ x14 = 1458*q+310 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13⟩ := parameters_1010010010100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 + have hstep := r13.1 + have hparity := r13.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 + omega + +/-- Exact source residue and full affine trace for branch `10100101001000`. -/ +theorem parameters_10100101001000 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + : ∃ q : Nat, x0 = 512*q+123 ∧ x1 = 1536*q+370 ∧ x2 = 768*q+185 ∧ x3 = 2304*q+556 ∧ x4 = 1152*q+278 ∧ x5 = 576*q+139 ∧ x6 = 1728*q+418 ∧ x7 = 864*q+209 ∧ x8 = 2592*q+628 ∧ x9 = 1296*q+314 ∧ x10 = 648*q+157 ∧ x11 = 1944*q+472 ∧ x12 = 972*q+236 ∧ x13 = 486*q+118 ∧ x14 = 243*q+59 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13⟩ := parameters_1010010100100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 + have hstep := r13.1 + have hparity := r13.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 + omega + +/-- Exact source residue and full affine trace for branch `10100101001001`. -/ +theorem parameters_10100101001001 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + : ∃ q : Nat, x0 = 512*q+379 ∧ x1 = 1536*q+1138 ∧ x2 = 768*q+569 ∧ x3 = 2304*q+1708 ∧ x4 = 1152*q+854 ∧ x5 = 576*q+427 ∧ x6 = 1728*q+1282 ∧ x7 = 864*q+641 ∧ x8 = 2592*q+1924 ∧ x9 = 1296*q+962 ∧ x10 = 648*q+481 ∧ x11 = 1944*q+1444 ∧ x12 = 972*q+722 ∧ x13 = 486*q+361 ∧ x14 = 1458*q+1084 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13⟩ := parameters_1010010100100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 + have hstep := r13.1 + have hparity := r13.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 + omega + +/-- Exact source residue and full affine trace for branch `001001010010100`. -/ +theorem parameters_001001010010100 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + : ∃ q : Nat, x0 = 1024*q+996 ∧ x1 = 512*q+498 ∧ x2 = 256*q+249 ∧ x3 = 768*q+748 ∧ x4 = 384*q+374 ∧ x5 = 192*q+187 ∧ x6 = 576*q+562 ∧ x7 = 288*q+281 ∧ x8 = 864*q+844 ∧ x9 = 432*q+422 ∧ x10 = 216*q+211 ∧ x11 = 648*q+634 ∧ x12 = 324*q+317 ∧ x13 = 972*q+952 ∧ x14 = 486*q+476 ∧ x15 = 243*q+238 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14⟩ := parameters_00100101001010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 + have hstep := r14.1 + have hparity := r14.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 + omega + +/-- Exact source residue and full affine trace for branch `001001010010101`. -/ +theorem parameters_001001010010101 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + : ∃ q : Nat, x0 = 1024*q+484 ∧ x1 = 512*q+242 ∧ x2 = 256*q+121 ∧ x3 = 768*q+364 ∧ x4 = 384*q+182 ∧ x5 = 192*q+91 ∧ x6 = 576*q+274 ∧ x7 = 288*q+137 ∧ x8 = 864*q+412 ∧ x9 = 432*q+206 ∧ x10 = 216*q+103 ∧ x11 = 648*q+310 ∧ x12 = 324*q+155 ∧ x13 = 972*q+466 ∧ x14 = 486*q+233 ∧ x15 = 1458*q+700 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14⟩ := parameters_00100101001010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 + have hstep := r14.1 + have hparity := r14.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 + omega + +/-- Exact source residue and full affine trace for branch `001010010010100`. -/ +theorem parameters_001010010010100 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + : ∃ q : Nat, x0 = 1024*q+428 ∧ x1 = 512*q+214 ∧ x2 = 256*q+107 ∧ x3 = 768*q+322 ∧ x4 = 384*q+161 ∧ x5 = 1152*q+484 ∧ x6 = 576*q+242 ∧ x7 = 288*q+121 ∧ x8 = 864*q+364 ∧ x9 = 432*q+182 ∧ x10 = 216*q+91 ∧ x11 = 648*q+274 ∧ x12 = 324*q+137 ∧ x13 = 972*q+412 ∧ x14 = 486*q+206 ∧ x15 = 243*q+103 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14⟩ := parameters_00101001001010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 + have hstep := r14.1 + have hparity := r14.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 + omega + + +end Collatz.Exploration.ElevenHalvesArithmetic diff --git a/Collatz/Exploration/ElevenHalvesArithmetic/Part05.lean b/Collatz/Exploration/ElevenHalvesArithmetic/Part05.lean new file mode 100644 index 00000000..467405a2 --- /dev/null +++ b/Collatz/Exploration/ElevenHalvesArithmetic/Part05.lean @@ -0,0 +1,1200 @@ +import Collatz.Exploration.ElevenHalvesArithmetic.Part04 + +namespace Collatz.Exploration.ElevenHalvesArithmetic + +set_option maxHeartbeats 2000000 +set_option linter.unusedVariables false + +/-- Exact source residue and full affine trace for branch `001010010010101`. -/ +theorem parameters_001010010010101 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + : ∃ q : Nat, x0 = 1024*q+940 ∧ x1 = 512*q+470 ∧ x2 = 256*q+235 ∧ x3 = 768*q+706 ∧ x4 = 384*q+353 ∧ x5 = 1152*q+1060 ∧ x6 = 576*q+530 ∧ x7 = 288*q+265 ∧ x8 = 864*q+796 ∧ x9 = 432*q+398 ∧ x10 = 216*q+199 ∧ x11 = 648*q+598 ∧ x12 = 324*q+299 ∧ x13 = 972*q+898 ∧ x14 = 486*q+449 ∧ x15 = 1458*q+1348 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14⟩ := parameters_00101001001010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 + have hstep := r14.1 + have hparity := r14.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 + omega + +/-- Exact source residue and full affine trace for branch `001010010100100`. -/ +theorem parameters_001010010100100 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + : ∃ q : Nat, x0 = 1024*q+492 ∧ x1 = 512*q+246 ∧ x2 = 256*q+123 ∧ x3 = 768*q+370 ∧ x4 = 384*q+185 ∧ x5 = 1152*q+556 ∧ x6 = 576*q+278 ∧ x7 = 288*q+139 ∧ x8 = 864*q+418 ∧ x9 = 432*q+209 ∧ x10 = 1296*q+628 ∧ x11 = 648*q+314 ∧ x12 = 324*q+157 ∧ x13 = 972*q+472 ∧ x14 = 486*q+236 ∧ x15 = 243*q+118 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14⟩ := parameters_00101001010010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 + have hstep := r14.1 + have hparity := r14.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 + omega + +/-- Exact source residue and full affine trace for branch `001010010100101`. -/ +theorem parameters_001010010100101 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + : ∃ q : Nat, x0 = 1024*q+1004 ∧ x1 = 512*q+502 ∧ x2 = 256*q+251 ∧ x3 = 768*q+754 ∧ x4 = 384*q+377 ∧ x5 = 1152*q+1132 ∧ x6 = 576*q+566 ∧ x7 = 288*q+283 ∧ x8 = 864*q+850 ∧ x9 = 432*q+425 ∧ x10 = 1296*q+1276 ∧ x11 = 648*q+638 ∧ x12 = 324*q+319 ∧ x13 = 972*q+958 ∧ x14 = 486*q+479 ∧ x15 = 1458*q+1438 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14⟩ := parameters_00101001010010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 + have hstep := r14.1 + have hparity := r14.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 + omega + +/-- Exact source residue and full affine trace for branch `010010010100100`. -/ +theorem parameters_010010010100100 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + : ∃ q : Nat, x0 = 1024*q+834 ∧ x1 = 512*q+417 ∧ x2 = 1536*q+1252 ∧ x3 = 768*q+626 ∧ x4 = 384*q+313 ∧ x5 = 1152*q+940 ∧ x6 = 576*q+470 ∧ x7 = 288*q+235 ∧ x8 = 864*q+706 ∧ x9 = 432*q+353 ∧ x10 = 1296*q+1060 ∧ x11 = 648*q+530 ∧ x12 = 324*q+265 ∧ x13 = 972*q+796 ∧ x14 = 486*q+398 ∧ x15 = 243*q+199 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14⟩ := parameters_01001001010010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 + have hstep := r14.1 + have hparity := r14.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 + omega + +/-- Exact source residue and full affine trace for branch `010010010100101`. -/ +theorem parameters_010010010100101 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + : ∃ q : Nat, x0 = 1024*q+322 ∧ x1 = 512*q+161 ∧ x2 = 1536*q+484 ∧ x3 = 768*q+242 ∧ x4 = 384*q+121 ∧ x5 = 1152*q+364 ∧ x6 = 576*q+182 ∧ x7 = 288*q+91 ∧ x8 = 864*q+274 ∧ x9 = 432*q+137 ∧ x10 = 1296*q+412 ∧ x11 = 648*q+206 ∧ x12 = 324*q+103 ∧ x13 = 972*q+310 ∧ x14 = 486*q+155 ∧ x15 = 1458*q+466 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14⟩ := parameters_01001001010010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 + have hstep := r14.1 + have hparity := r14.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 + omega + +/-- Exact source residue and full affine trace for branch `010010100100100`. -/ +theorem parameters_010010100100100 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + : ∃ q : Nat, x0 = 1024*q+114 ∧ x1 = 512*q+57 ∧ x2 = 1536*q+172 ∧ x3 = 768*q+86 ∧ x4 = 384*q+43 ∧ x5 = 1152*q+130 ∧ x6 = 576*q+65 ∧ x7 = 1728*q+196 ∧ x8 = 864*q+98 ∧ x9 = 432*q+49 ∧ x10 = 1296*q+148 ∧ x11 = 648*q+74 ∧ x12 = 324*q+37 ∧ x13 = 972*q+112 ∧ x14 = 486*q+56 ∧ x15 = 243*q+28 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14⟩ := parameters_01001010010010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 + have hstep := r14.1 + have hparity := r14.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 + omega + +/-- Exact source residue and full affine trace for branch `010010100100101`. -/ +theorem parameters_010010100100101 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + : ∃ q : Nat, x0 = 1024*q+626 ∧ x1 = 512*q+313 ∧ x2 = 1536*q+940 ∧ x3 = 768*q+470 ∧ x4 = 384*q+235 ∧ x5 = 1152*q+706 ∧ x6 = 576*q+353 ∧ x7 = 1728*q+1060 ∧ x8 = 864*q+530 ∧ x9 = 432*q+265 ∧ x10 = 1296*q+796 ∧ x11 = 648*q+398 ∧ x12 = 324*q+199 ∧ x13 = 972*q+598 ∧ x14 = 486*q+299 ∧ x15 = 1458*q+898 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14⟩ := parameters_01001010010010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 + have hstep := r14.1 + have hparity := r14.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 + omega + +/-- Exact source residue and full affine trace for branch `010010100101000`. -/ +theorem parameters_010010100101000 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + : ∃ q : Nat, x0 = 1024*q+498 ∧ x1 = 512*q+249 ∧ x2 = 1536*q+748 ∧ x3 = 768*q+374 ∧ x4 = 384*q+187 ∧ x5 = 1152*q+562 ∧ x6 = 576*q+281 ∧ x7 = 1728*q+844 ∧ x8 = 864*q+422 ∧ x9 = 432*q+211 ∧ x10 = 1296*q+634 ∧ x11 = 648*q+317 ∧ x12 = 1944*q+952 ∧ x13 = 972*q+476 ∧ x14 = 486*q+238 ∧ x15 = 243*q+119 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14⟩ := parameters_01001010010100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 + have hstep := r14.1 + have hparity := r14.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 + omega + +/-- Exact source residue and full affine trace for branch `010010100101001`. -/ +theorem parameters_010010100101001 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + : ∃ q : Nat, x0 = 1024*q+1010 ∧ x1 = 512*q+505 ∧ x2 = 1536*q+1516 ∧ x3 = 768*q+758 ∧ x4 = 384*q+379 ∧ x5 = 1152*q+1138 ∧ x6 = 576*q+569 ∧ x7 = 1728*q+1708 ∧ x8 = 864*q+854 ∧ x9 = 432*q+427 ∧ x10 = 1296*q+1282 ∧ x11 = 648*q+641 ∧ x12 = 1944*q+1924 ∧ x13 = 972*q+962 ∧ x14 = 486*q+481 ∧ x15 = 1458*q+1444 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14⟩ := parameters_01001010010100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 + have hstep := r14.1 + have hparity := r14.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 + omega + +/-- Exact source residue and full affine trace for branch `010100100101000`. -/ +theorem parameters_010100100101000 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + : ∃ q : Nat, x0 = 1024*q+726 ∧ x1 = 512*q+363 ∧ x2 = 1536*q+1090 ∧ x3 = 768*q+545 ∧ x4 = 2304*q+1636 ∧ x5 = 1152*q+818 ∧ x6 = 576*q+409 ∧ x7 = 1728*q+1228 ∧ x8 = 864*q+614 ∧ x9 = 432*q+307 ∧ x10 = 1296*q+922 ∧ x11 = 648*q+461 ∧ x12 = 1944*q+1384 ∧ x13 = 972*q+692 ∧ x14 = 486*q+346 ∧ x15 = 243*q+173 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14⟩ := parameters_01010010010100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 + have hstep := r14.1 + have hparity := r14.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 + omega + +/-- Exact source residue and full affine trace for branch `010100100101001`. -/ +theorem parameters_010100100101001 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + : ∃ q : Nat, x0 = 1024*q+214 ∧ x1 = 512*q+107 ∧ x2 = 1536*q+322 ∧ x3 = 768*q+161 ∧ x4 = 2304*q+484 ∧ x5 = 1152*q+242 ∧ x6 = 576*q+121 ∧ x7 = 1728*q+364 ∧ x8 = 864*q+182 ∧ x9 = 432*q+91 ∧ x10 = 1296*q+274 ∧ x11 = 648*q+137 ∧ x12 = 1944*q+412 ∧ x13 = 972*q+206 ∧ x14 = 486*q+103 ∧ x15 = 1458*q+310 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14⟩ := parameters_01010010010100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 + have hstep := r14.1 + have hparity := r14.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 + omega + +/-- Exact source residue and full affine trace for branch `010100101001000`. -/ +theorem parameters_010100101001000 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + : ∃ q : Nat, x0 = 1024*q+246 ∧ x1 = 512*q+123 ∧ x2 = 1536*q+370 ∧ x3 = 768*q+185 ∧ x4 = 2304*q+556 ∧ x5 = 1152*q+278 ∧ x6 = 576*q+139 ∧ x7 = 1728*q+418 ∧ x8 = 864*q+209 ∧ x9 = 2592*q+628 ∧ x10 = 1296*q+314 ∧ x11 = 648*q+157 ∧ x12 = 1944*q+472 ∧ x13 = 972*q+236 ∧ x14 = 486*q+118 ∧ x15 = 243*q+59 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14⟩ := parameters_01010010100100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 + have hstep := r14.1 + have hparity := r14.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 + omega + +/-- Exact source residue and full affine trace for branch `010100101001001`. -/ +theorem parameters_010100101001001 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + : ∃ q : Nat, x0 = 1024*q+758 ∧ x1 = 512*q+379 ∧ x2 = 1536*q+1138 ∧ x3 = 768*q+569 ∧ x4 = 2304*q+1708 ∧ x5 = 1152*q+854 ∧ x6 = 576*q+427 ∧ x7 = 1728*q+1282 ∧ x8 = 864*q+641 ∧ x9 = 2592*q+1924 ∧ x10 = 1296*q+962 ∧ x11 = 648*q+481 ∧ x12 = 1944*q+1444 ∧ x13 = 972*q+722 ∧ x14 = 486*q+361 ∧ x15 = 1458*q+1084 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14⟩ := parameters_01010010100100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 + have hstep := r14.1 + have hparity := r14.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 + omega + +/-- Exact source residue and full affine trace for branch `100100101001010`. -/ +theorem parameters_100100101001010 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + : ∃ q : Nat, x0 = 512*q+161 ∧ x1 = 1536*q+484 ∧ x2 = 768*q+242 ∧ x3 = 384*q+121 ∧ x4 = 1152*q+364 ∧ x5 = 576*q+182 ∧ x6 = 288*q+91 ∧ x7 = 864*q+274 ∧ x8 = 432*q+137 ∧ x9 = 1296*q+412 ∧ x10 = 648*q+206 ∧ x11 = 324*q+103 ∧ x12 = 972*q+310 ∧ x13 = 486*q+155 ∧ x14 = 1458*q+466 ∧ x15 = 729*q+233 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14⟩ := parameters_10010010100101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 + have hstep := r14.1 + have hparity := r14.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 + clear hparity + refine ⟨q,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · exact p0 + · exact p1 + · exact p2 + · exact p3 + · exact p4 + · exact p5 + · exact p6 + · exact p7 + · exact p8 + · exact p9 + · exact p10 + · exact p11 + · exact p12 + · exact p13 + · exact p14 + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 + omega + +/-- Exact source residue and full affine trace for branch `100101001001010`. -/ +theorem parameters_100101001001010 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + : ∃ q : Nat, x0 = 512*q+313 ∧ x1 = 1536*q+940 ∧ x2 = 768*q+470 ∧ x3 = 384*q+235 ∧ x4 = 1152*q+706 ∧ x5 = 576*q+353 ∧ x6 = 1728*q+1060 ∧ x7 = 864*q+530 ∧ x8 = 432*q+265 ∧ x9 = 1296*q+796 ∧ x10 = 648*q+398 ∧ x11 = 324*q+199 ∧ x12 = 972*q+598 ∧ x13 = 486*q+299 ∧ x14 = 1458*q+898 ∧ x15 = 729*q+449 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14⟩ := parameters_10010100100101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 + have hstep := r14.1 + have hparity := r14.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 + clear hparity + refine ⟨q,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · exact p0 + · exact p1 + · exact p2 + · exact p3 + · exact p4 + · exact p5 + · exact p6 + · exact p7 + · exact p8 + · exact p9 + · exact p10 + · exact p11 + · exact p12 + · exact p13 + · exact p14 + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 + omega + +/-- Exact source residue and full affine trace for branch `100101001010010`. -/ +theorem parameters_100101001010010 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + : ∃ q : Nat, x0 = 512*q+505 ∧ x1 = 1536*q+1516 ∧ x2 = 768*q+758 ∧ x3 = 384*q+379 ∧ x4 = 1152*q+1138 ∧ x5 = 576*q+569 ∧ x6 = 1728*q+1708 ∧ x7 = 864*q+854 ∧ x8 = 432*q+427 ∧ x9 = 1296*q+1282 ∧ x10 = 648*q+641 ∧ x11 = 1944*q+1924 ∧ x12 = 972*q+962 ∧ x13 = 486*q+481 ∧ x14 = 1458*q+1444 ∧ x15 = 729*q+722 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14⟩ := parameters_10010100101001 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 + have hstep := r14.1 + have hparity := r14.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 + clear hparity + refine ⟨q,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · exact p0 + · exact p1 + · exact p2 + · exact p3 + · exact p4 + · exact p5 + · exact p6 + · exact p7 + · exact p8 + · exact p9 + · exact p10 + · exact p11 + · exact p12 + · exact p13 + · exact p14 + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 + omega + +/-- Exact source residue and full affine trace for branch `101001001010010`. -/ +theorem parameters_101001001010010 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + : ∃ q : Nat, x0 = 512*q+107 ∧ x1 = 1536*q+322 ∧ x2 = 768*q+161 ∧ x3 = 2304*q+484 ∧ x4 = 1152*q+242 ∧ x5 = 576*q+121 ∧ x6 = 1728*q+364 ∧ x7 = 864*q+182 ∧ x8 = 432*q+91 ∧ x9 = 1296*q+274 ∧ x10 = 648*q+137 ∧ x11 = 1944*q+412 ∧ x12 = 972*q+206 ∧ x13 = 486*q+103 ∧ x14 = 1458*q+310 ∧ x15 = 729*q+155 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14⟩ := parameters_10100100101001 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 + have hstep := r14.1 + have hparity := r14.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 + clear hparity + refine ⟨q,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · exact p0 + · exact p1 + · exact p2 + · exact p3 + · exact p4 + · exact p5 + · exact p6 + · exact p7 + · exact p8 + · exact p9 + · exact p10 + · exact p11 + · exact p12 + · exact p13 + · exact p14 + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 + omega + +/-- Exact source residue and full affine trace for branch `101001010010010`. -/ +theorem parameters_101001010010010 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + : ∃ q : Nat, x0 = 512*q+379 ∧ x1 = 1536*q+1138 ∧ x2 = 768*q+569 ∧ x3 = 2304*q+1708 ∧ x4 = 1152*q+854 ∧ x5 = 576*q+427 ∧ x6 = 1728*q+1282 ∧ x7 = 864*q+641 ∧ x8 = 2592*q+1924 ∧ x9 = 1296*q+962 ∧ x10 = 648*q+481 ∧ x11 = 1944*q+1444 ∧ x12 = 972*q+722 ∧ x13 = 486*q+361 ∧ x14 = 1458*q+1084 ∧ x15 = 729*q+542 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14⟩ := parameters_10100101001001 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 + have hstep := r14.1 + have hparity := r14.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 + clear hparity + refine ⟨q,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · exact p0 + · exact p1 + · exact p2 + · exact p3 + · exact p4 + · exact p5 + · exact p6 + · exact p7 + · exact p8 + · exact p9 + · exact p10 + · exact p11 + · exact p12 + · exact p13 + · exact p14 + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 + omega + +/-- Exact source residue and full affine trace for branch `0010010100101000`. -/ +theorem parameters_0010010100101000 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + : ∃ q : Nat, x0 = 2048*q+996 ∧ x1 = 1024*q+498 ∧ x2 = 512*q+249 ∧ x3 = 1536*q+748 ∧ x4 = 768*q+374 ∧ x5 = 384*q+187 ∧ x6 = 1152*q+562 ∧ x7 = 576*q+281 ∧ x8 = 1728*q+844 ∧ x9 = 864*q+422 ∧ x10 = 432*q+211 ∧ x11 = 1296*q+634 ∧ x12 = 648*q+317 ∧ x13 = 1944*q+952 ∧ x14 = 972*q+476 ∧ x15 = 486*q+238 ∧ x16 = 243*q+119 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15⟩ := parameters_001001010010100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 + have hstep := r15.1 + have hparity := r15.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 + omega + +/-- Exact source residue and full affine trace for branch `0010010100101001`. -/ +theorem parameters_0010010100101001 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (x16 = 3*x15+1 ∧ x15%2 = 1)) + : ∃ q : Nat, x0 = 2048*q+2020 ∧ x1 = 1024*q+1010 ∧ x2 = 512*q+505 ∧ x3 = 1536*q+1516 ∧ x4 = 768*q+758 ∧ x5 = 384*q+379 ∧ x6 = 1152*q+1138 ∧ x7 = 576*q+569 ∧ x8 = 1728*q+1708 ∧ x9 = 864*q+854 ∧ x10 = 432*q+427 ∧ x11 = 1296*q+1282 ∧ x12 = 648*q+641 ∧ x13 = 1944*q+1924 ∧ x14 = 972*q+962 ∧ x15 = 486*q+481 ∧ x16 = 1458*q+1444 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15⟩ := parameters_001001010010100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 + have hstep := r15.1 + have hparity := r15.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 + omega + +/-- Exact source residue and full affine trace for branch `0010100100101000`. -/ +theorem parameters_0010100100101000 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + : ∃ q : Nat, x0 = 2048*q+1452 ∧ x1 = 1024*q+726 ∧ x2 = 512*q+363 ∧ x3 = 1536*q+1090 ∧ x4 = 768*q+545 ∧ x5 = 2304*q+1636 ∧ x6 = 1152*q+818 ∧ x7 = 576*q+409 ∧ x8 = 1728*q+1228 ∧ x9 = 864*q+614 ∧ x10 = 432*q+307 ∧ x11 = 1296*q+922 ∧ x12 = 648*q+461 ∧ x13 = 1944*q+1384 ∧ x14 = 972*q+692 ∧ x15 = 486*q+346 ∧ x16 = 243*q+173 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15⟩ := parameters_001010010010100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 + have hstep := r15.1 + have hparity := r15.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 + omega + +/-- Exact source residue and full affine trace for branch `0010100100101001`. -/ +theorem parameters_0010100100101001 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (x16 = 3*x15+1 ∧ x15%2 = 1)) + : ∃ q : Nat, x0 = 2048*q+428 ∧ x1 = 1024*q+214 ∧ x2 = 512*q+107 ∧ x3 = 1536*q+322 ∧ x4 = 768*q+161 ∧ x5 = 2304*q+484 ∧ x6 = 1152*q+242 ∧ x7 = 576*q+121 ∧ x8 = 1728*q+364 ∧ x9 = 864*q+182 ∧ x10 = 432*q+91 ∧ x11 = 1296*q+274 ∧ x12 = 648*q+137 ∧ x13 = 1944*q+412 ∧ x14 = 972*q+206 ∧ x15 = 486*q+103 ∧ x16 = 1458*q+310 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15⟩ := parameters_001010010010100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 + have hstep := r15.1 + have hparity := r15.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 + omega + +/-- Exact source residue and full affine trace for branch `0010100101001000`. -/ +theorem parameters_0010100101001000 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + : ∃ q : Nat, x0 = 2048*q+492 ∧ x1 = 1024*q+246 ∧ x2 = 512*q+123 ∧ x3 = 1536*q+370 ∧ x4 = 768*q+185 ∧ x5 = 2304*q+556 ∧ x6 = 1152*q+278 ∧ x7 = 576*q+139 ∧ x8 = 1728*q+418 ∧ x9 = 864*q+209 ∧ x10 = 2592*q+628 ∧ x11 = 1296*q+314 ∧ x12 = 648*q+157 ∧ x13 = 1944*q+472 ∧ x14 = 972*q+236 ∧ x15 = 486*q+118 ∧ x16 = 243*q+59 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15⟩ := parameters_001010010100100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 + have hstep := r15.1 + have hparity := r15.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 + omega + +/-- Exact source residue and full affine trace for branch `0010100101001001`. -/ +theorem parameters_0010100101001001 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (x16 = 3*x15+1 ∧ x15%2 = 1)) + : ∃ q : Nat, x0 = 2048*q+1516 ∧ x1 = 1024*q+758 ∧ x2 = 512*q+379 ∧ x3 = 1536*q+1138 ∧ x4 = 768*q+569 ∧ x5 = 2304*q+1708 ∧ x6 = 1152*q+854 ∧ x7 = 576*q+427 ∧ x8 = 1728*q+1282 ∧ x9 = 864*q+641 ∧ x10 = 2592*q+1924 ∧ x11 = 1296*q+962 ∧ x12 = 648*q+481 ∧ x13 = 1944*q+1444 ∧ x14 = 972*q+722 ∧ x15 = 486*q+361 ∧ x16 = 1458*q+1084 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15⟩ := parameters_001010010100100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 + have hstep := r15.1 + have hparity := r15.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 + omega + +/-- Exact source residue and full affine trace for branch `0100100101001010`. -/ +theorem parameters_0100100101001010 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + : ∃ q : Nat, x0 = 1024*q+322 ∧ x1 = 512*q+161 ∧ x2 = 1536*q+484 ∧ x3 = 768*q+242 ∧ x4 = 384*q+121 ∧ x5 = 1152*q+364 ∧ x6 = 576*q+182 ∧ x7 = 288*q+91 ∧ x8 = 864*q+274 ∧ x9 = 432*q+137 ∧ x10 = 1296*q+412 ∧ x11 = 648*q+206 ∧ x12 = 324*q+103 ∧ x13 = 972*q+310 ∧ x14 = 486*q+155 ∧ x15 = 1458*q+466 ∧ x16 = 729*q+233 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15⟩ := parameters_010010010100101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 + have hstep := r15.1 + have hparity := r15.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 + clear hparity + refine ⟨q,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · exact p0 + · exact p1 + · exact p2 + · exact p3 + · exact p4 + · exact p5 + · exact p6 + · exact p7 + · exact p8 + · exact p9 + · exact p10 + · exact p11 + · exact p12 + · exact p13 + · exact p14 + · exact p15 + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 + omega + +/-- Exact source residue and full affine trace for branch `0100101001001010`. -/ +theorem parameters_0100101001001010 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + : ∃ q : Nat, x0 = 1024*q+626 ∧ x1 = 512*q+313 ∧ x2 = 1536*q+940 ∧ x3 = 768*q+470 ∧ x4 = 384*q+235 ∧ x5 = 1152*q+706 ∧ x6 = 576*q+353 ∧ x7 = 1728*q+1060 ∧ x8 = 864*q+530 ∧ x9 = 432*q+265 ∧ x10 = 1296*q+796 ∧ x11 = 648*q+398 ∧ x12 = 324*q+199 ∧ x13 = 972*q+598 ∧ x14 = 486*q+299 ∧ x15 = 1458*q+898 ∧ x16 = 729*q+449 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15⟩ := parameters_010010100100101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 + have hstep := r15.1 + have hparity := r15.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 + clear hparity + refine ⟨q,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · exact p0 + · exact p1 + · exact p2 + · exact p3 + · exact p4 + · exact p5 + · exact p6 + · exact p7 + · exact p8 + · exact p9 + · exact p10 + · exact p11 + · exact p12 + · exact p13 + · exact p14 + · exact p15 + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 + omega + + +end Collatz.Exploration.ElevenHalvesArithmetic diff --git a/Collatz/Exploration/ElevenHalvesArithmetic/Part06.lean b/Collatz/Exploration/ElevenHalvesArithmetic/Part06.lean new file mode 100644 index 00000000..9b0c9194 --- /dev/null +++ b/Collatz/Exploration/ElevenHalvesArithmetic/Part06.lean @@ -0,0 +1,1165 @@ +import Collatz.Exploration.ElevenHalvesArithmetic.Part05 + +namespace Collatz.Exploration.ElevenHalvesArithmetic + +set_option maxHeartbeats 2000000 +set_option linter.unusedVariables false + +/-- Exact source residue and full affine trace for branch `0100101001010010`. -/ +theorem parameters_0100101001010010 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + : ∃ q : Nat, x0 = 1024*q+1010 ∧ x1 = 512*q+505 ∧ x2 = 1536*q+1516 ∧ x3 = 768*q+758 ∧ x4 = 384*q+379 ∧ x5 = 1152*q+1138 ∧ x6 = 576*q+569 ∧ x7 = 1728*q+1708 ∧ x8 = 864*q+854 ∧ x9 = 432*q+427 ∧ x10 = 1296*q+1282 ∧ x11 = 648*q+641 ∧ x12 = 1944*q+1924 ∧ x13 = 972*q+962 ∧ x14 = 486*q+481 ∧ x15 = 1458*q+1444 ∧ x16 = 729*q+722 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15⟩ := parameters_010010100101001 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 + have hstep := r15.1 + have hparity := r15.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 + clear hparity + refine ⟨q,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · exact p0 + · exact p1 + · exact p2 + · exact p3 + · exact p4 + · exact p5 + · exact p6 + · exact p7 + · exact p8 + · exact p9 + · exact p10 + · exact p11 + · exact p12 + · exact p13 + · exact p14 + · exact p15 + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 + omega + +/-- Exact source residue and full affine trace for branch `0101001001010010`. -/ +theorem parameters_0101001001010010 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + : ∃ q : Nat, x0 = 1024*q+214 ∧ x1 = 512*q+107 ∧ x2 = 1536*q+322 ∧ x3 = 768*q+161 ∧ x4 = 2304*q+484 ∧ x5 = 1152*q+242 ∧ x6 = 576*q+121 ∧ x7 = 1728*q+364 ∧ x8 = 864*q+182 ∧ x9 = 432*q+91 ∧ x10 = 1296*q+274 ∧ x11 = 648*q+137 ∧ x12 = 1944*q+412 ∧ x13 = 972*q+206 ∧ x14 = 486*q+103 ∧ x15 = 1458*q+310 ∧ x16 = 729*q+155 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15⟩ := parameters_010100100101001 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 + have hstep := r15.1 + have hparity := r15.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 + clear hparity + refine ⟨q,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · exact p0 + · exact p1 + · exact p2 + · exact p3 + · exact p4 + · exact p5 + · exact p6 + · exact p7 + · exact p8 + · exact p9 + · exact p10 + · exact p11 + · exact p12 + · exact p13 + · exact p14 + · exact p15 + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 + omega + +/-- Exact source residue and full affine trace for branch `0101001010010010`. -/ +theorem parameters_0101001010010010 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + : ∃ q : Nat, x0 = 1024*q+758 ∧ x1 = 512*q+379 ∧ x2 = 1536*q+1138 ∧ x3 = 768*q+569 ∧ x4 = 2304*q+1708 ∧ x5 = 1152*q+854 ∧ x6 = 576*q+427 ∧ x7 = 1728*q+1282 ∧ x8 = 864*q+641 ∧ x9 = 2592*q+1924 ∧ x10 = 1296*q+962 ∧ x11 = 648*q+481 ∧ x12 = 1944*q+1444 ∧ x13 = 972*q+722 ∧ x14 = 486*q+361 ∧ x15 = 1458*q+1084 ∧ x16 = 729*q+542 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15⟩ := parameters_010100101001001 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 + have hstep := r15.1 + have hparity := r15.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 + clear hparity + refine ⟨q,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · exact p0 + · exact p1 + · exact p2 + · exact p3 + · exact p4 + · exact p5 + · exact p6 + · exact p7 + · exact p8 + · exact p9 + · exact p10 + · exact p11 + · exact p12 + · exact p13 + · exact p14 + · exact p15 + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 + omega + +/-- Exact source residue and full affine trace for branch `1001001010010100`. -/ +theorem parameters_1001001010010100 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + : ∃ q : Nat, x0 = 1024*q+673 ∧ x1 = 3072*q+2020 ∧ x2 = 1536*q+1010 ∧ x3 = 768*q+505 ∧ x4 = 2304*q+1516 ∧ x5 = 1152*q+758 ∧ x6 = 576*q+379 ∧ x7 = 1728*q+1138 ∧ x8 = 864*q+569 ∧ x9 = 2592*q+1708 ∧ x10 = 1296*q+854 ∧ x11 = 648*q+427 ∧ x12 = 1944*q+1282 ∧ x13 = 972*q+641 ∧ x14 = 2916*q+1924 ∧ x15 = 1458*q+962 ∧ x16 = 729*q+481 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15⟩ := parameters_100100101001010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 + have hstep := r15.1 + have hparity := r15.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 + omega + +/-- Exact source residue and full affine trace for branch `1001001010010101`. -/ +theorem parameters_1001001010010101 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (x16 = 3*x15+1 ∧ x15%2 = 1)) + : ∃ q : Nat, x0 = 1024*q+161 ∧ x1 = 3072*q+484 ∧ x2 = 1536*q+242 ∧ x3 = 768*q+121 ∧ x4 = 2304*q+364 ∧ x5 = 1152*q+182 ∧ x6 = 576*q+91 ∧ x7 = 1728*q+274 ∧ x8 = 864*q+137 ∧ x9 = 2592*q+412 ∧ x10 = 1296*q+206 ∧ x11 = 648*q+103 ∧ x12 = 1944*q+310 ∧ x13 = 972*q+155 ∧ x14 = 2916*q+466 ∧ x15 = 1458*q+233 ∧ x16 = 4374*q+700 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15⟩ := parameters_100100101001010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 + have hstep := r15.1 + have hparity := r15.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 + omega + +/-- Exact source residue and full affine trace for branch `1001010010010100`. -/ +theorem parameters_1001010010010100 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + : ∃ q : Nat, x0 = 1024*q+825 ∧ x1 = 3072*q+2476 ∧ x2 = 1536*q+1238 ∧ x3 = 768*q+619 ∧ x4 = 2304*q+1858 ∧ x5 = 1152*q+929 ∧ x6 = 3456*q+2788 ∧ x7 = 1728*q+1394 ∧ x8 = 864*q+697 ∧ x9 = 2592*q+2092 ∧ x10 = 1296*q+1046 ∧ x11 = 648*q+523 ∧ x12 = 1944*q+1570 ∧ x13 = 972*q+785 ∧ x14 = 2916*q+2356 ∧ x15 = 1458*q+1178 ∧ x16 = 729*q+589 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15⟩ := parameters_100101001001010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 + have hstep := r15.1 + have hparity := r15.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 + omega + +/-- Exact source residue and full affine trace for branch `1001010010010101`. -/ +theorem parameters_1001010010010101 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (x16 = 3*x15+1 ∧ x15%2 = 1)) + : ∃ q : Nat, x0 = 1024*q+313 ∧ x1 = 3072*q+940 ∧ x2 = 1536*q+470 ∧ x3 = 768*q+235 ∧ x4 = 2304*q+706 ∧ x5 = 1152*q+353 ∧ x6 = 3456*q+1060 ∧ x7 = 1728*q+530 ∧ x8 = 864*q+265 ∧ x9 = 2592*q+796 ∧ x10 = 1296*q+398 ∧ x11 = 648*q+199 ∧ x12 = 1944*q+598 ∧ x13 = 972*q+299 ∧ x14 = 2916*q+898 ∧ x15 = 1458*q+449 ∧ x16 = 4374*q+1348 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15⟩ := parameters_100101001001010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 + have hstep := r15.1 + have hparity := r15.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 + omega + +/-- Exact source residue and full affine trace for branch `1001010010100100`. -/ +theorem parameters_1001010010100100 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + : ∃ q : Nat, x0 = 1024*q+505 ∧ x1 = 3072*q+1516 ∧ x2 = 1536*q+758 ∧ x3 = 768*q+379 ∧ x4 = 2304*q+1138 ∧ x5 = 1152*q+569 ∧ x6 = 3456*q+1708 ∧ x7 = 1728*q+854 ∧ x8 = 864*q+427 ∧ x9 = 2592*q+1282 ∧ x10 = 1296*q+641 ∧ x11 = 3888*q+1924 ∧ x12 = 1944*q+962 ∧ x13 = 972*q+481 ∧ x14 = 2916*q+1444 ∧ x15 = 1458*q+722 ∧ x16 = 729*q+361 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15⟩ := parameters_100101001010010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 + have hstep := r15.1 + have hparity := r15.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 + omega + +/-- Exact source residue and full affine trace for branch `1001010010100101`. -/ +theorem parameters_1001010010100101 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (x16 = 3*x15+1 ∧ x15%2 = 1)) + : ∃ q : Nat, x0 = 1024*q+1017 ∧ x1 = 3072*q+3052 ∧ x2 = 1536*q+1526 ∧ x3 = 768*q+763 ∧ x4 = 2304*q+2290 ∧ x5 = 1152*q+1145 ∧ x6 = 3456*q+3436 ∧ x7 = 1728*q+1718 ∧ x8 = 864*q+859 ∧ x9 = 2592*q+2578 ∧ x10 = 1296*q+1289 ∧ x11 = 3888*q+3868 ∧ x12 = 1944*q+1934 ∧ x13 = 972*q+967 ∧ x14 = 2916*q+2902 ∧ x15 = 1458*q+1451 ∧ x16 = 4374*q+4354 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15⟩ := parameters_100101001010010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 + have hstep := r15.1 + have hparity := r15.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 + omega + +/-- Exact source residue and full affine trace for branch `1010010010100100`. -/ +theorem parameters_1010010010100100 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + : ∃ q : Nat, x0 = 1024*q+619 ∧ x1 = 3072*q+1858 ∧ x2 = 1536*q+929 ∧ x3 = 4608*q+2788 ∧ x4 = 2304*q+1394 ∧ x5 = 1152*q+697 ∧ x6 = 3456*q+2092 ∧ x7 = 1728*q+1046 ∧ x8 = 864*q+523 ∧ x9 = 2592*q+1570 ∧ x10 = 1296*q+785 ∧ x11 = 3888*q+2356 ∧ x12 = 1944*q+1178 ∧ x13 = 972*q+589 ∧ x14 = 2916*q+1768 ∧ x15 = 1458*q+884 ∧ x16 = 729*q+442 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15⟩ := parameters_101001001010010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 + have hstep := r15.1 + have hparity := r15.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 + omega + +/-- Exact source residue and full affine trace for branch `1010010010100101`. -/ +theorem parameters_1010010010100101 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (x16 = 3*x15+1 ∧ x15%2 = 1)) + : ∃ q : Nat, x0 = 1024*q+107 ∧ x1 = 3072*q+322 ∧ x2 = 1536*q+161 ∧ x3 = 4608*q+484 ∧ x4 = 2304*q+242 ∧ x5 = 1152*q+121 ∧ x6 = 3456*q+364 ∧ x7 = 1728*q+182 ∧ x8 = 864*q+91 ∧ x9 = 2592*q+274 ∧ x10 = 1296*q+137 ∧ x11 = 3888*q+412 ∧ x12 = 1944*q+206 ∧ x13 = 972*q+103 ∧ x14 = 2916*q+310 ∧ x15 = 1458*q+155 ∧ x16 = 4374*q+466 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15⟩ := parameters_101001001010010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 + have hstep := r15.1 + have hparity := r15.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 + omega + +/-- Exact source residue and full affine trace for branch `1010010100100100`. -/ +theorem parameters_1010010100100100 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + : ∃ q : Nat, x0 = 1024*q+379 ∧ x1 = 3072*q+1138 ∧ x2 = 1536*q+569 ∧ x3 = 4608*q+1708 ∧ x4 = 2304*q+854 ∧ x5 = 1152*q+427 ∧ x6 = 3456*q+1282 ∧ x7 = 1728*q+641 ∧ x8 = 5184*q+1924 ∧ x9 = 2592*q+962 ∧ x10 = 1296*q+481 ∧ x11 = 3888*q+1444 ∧ x12 = 1944*q+722 ∧ x13 = 972*q+361 ∧ x14 = 2916*q+1084 ∧ x15 = 1458*q+542 ∧ x16 = 729*q+271 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15⟩ := parameters_101001010010010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 + have hstep := r15.1 + have hparity := r15.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 + omega + +/-- Exact source residue and full affine trace for branch `1010010100100101`. -/ +theorem parameters_1010010100100101 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (x16 = 3*x15+1 ∧ x15%2 = 1)) + : ∃ q : Nat, x0 = 1024*q+891 ∧ x1 = 3072*q+2674 ∧ x2 = 1536*q+1337 ∧ x3 = 4608*q+4012 ∧ x4 = 2304*q+2006 ∧ x5 = 1152*q+1003 ∧ x6 = 3456*q+3010 ∧ x7 = 1728*q+1505 ∧ x8 = 5184*q+4516 ∧ x9 = 2592*q+2258 ∧ x10 = 1296*q+1129 ∧ x11 = 3888*q+3388 ∧ x12 = 1944*q+1694 ∧ x13 = 972*q+847 ∧ x14 = 2916*q+2542 ∧ x15 = 1458*q+1271 ∧ x16 = 4374*q+3814 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15⟩ := parameters_101001010010010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 + have hstep := r15.1 + have hparity := r15.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 + omega + +/-- Exact source residue and full affine trace for branch `00100101001010010`. -/ +theorem parameters_00100101001010010 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (x16 = 3*x15+1 ∧ x15%2 = 1)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + : ∃ q : Nat, x0 = 2048*q+2020 ∧ x1 = 1024*q+1010 ∧ x2 = 512*q+505 ∧ x3 = 1536*q+1516 ∧ x4 = 768*q+758 ∧ x5 = 384*q+379 ∧ x6 = 1152*q+1138 ∧ x7 = 576*q+569 ∧ x8 = 1728*q+1708 ∧ x9 = 864*q+854 ∧ x10 = 432*q+427 ∧ x11 = 1296*q+1282 ∧ x12 = 648*q+641 ∧ x13 = 1944*q+1924 ∧ x14 = 972*q+962 ∧ x15 = 486*q+481 ∧ x16 = 1458*q+1444 ∧ x17 = 729*q+722 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16⟩ := parameters_0010010100101001 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 + have hstep := r16.1 + have hparity := r16.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 + clear hparity + refine ⟨q,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · exact p0 + · exact p1 + · exact p2 + · exact p3 + · exact p4 + · exact p5 + · exact p6 + · exact p7 + · exact p8 + · exact p9 + · exact p10 + · exact p11 + · exact p12 + · exact p13 + · exact p14 + · exact p15 + · exact p16 + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 + omega + +/-- Exact source residue and full affine trace for branch `00101001001010010`. -/ +theorem parameters_00101001001010010 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (x16 = 3*x15+1 ∧ x15%2 = 1)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + : ∃ q : Nat, x0 = 2048*q+428 ∧ x1 = 1024*q+214 ∧ x2 = 512*q+107 ∧ x3 = 1536*q+322 ∧ x4 = 768*q+161 ∧ x5 = 2304*q+484 ∧ x6 = 1152*q+242 ∧ x7 = 576*q+121 ∧ x8 = 1728*q+364 ∧ x9 = 864*q+182 ∧ x10 = 432*q+91 ∧ x11 = 1296*q+274 ∧ x12 = 648*q+137 ∧ x13 = 1944*q+412 ∧ x14 = 972*q+206 ∧ x15 = 486*q+103 ∧ x16 = 1458*q+310 ∧ x17 = 729*q+155 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16⟩ := parameters_0010100100101001 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 + have hstep := r16.1 + have hparity := r16.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 + clear hparity + refine ⟨q,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · exact p0 + · exact p1 + · exact p2 + · exact p3 + · exact p4 + · exact p5 + · exact p6 + · exact p7 + · exact p8 + · exact p9 + · exact p10 + · exact p11 + · exact p12 + · exact p13 + · exact p14 + · exact p15 + · exact p16 + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 + omega + +/-- Exact source residue and full affine trace for branch `00101001010010010`. -/ +theorem parameters_00101001010010010 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (x16 = 3*x15+1 ∧ x15%2 = 1)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + : ∃ q : Nat, x0 = 2048*q+1516 ∧ x1 = 1024*q+758 ∧ x2 = 512*q+379 ∧ x3 = 1536*q+1138 ∧ x4 = 768*q+569 ∧ x5 = 2304*q+1708 ∧ x6 = 1152*q+854 ∧ x7 = 576*q+427 ∧ x8 = 1728*q+1282 ∧ x9 = 864*q+641 ∧ x10 = 2592*q+1924 ∧ x11 = 1296*q+962 ∧ x12 = 648*q+481 ∧ x13 = 1944*q+1444 ∧ x14 = 972*q+722 ∧ x15 = 486*q+361 ∧ x16 = 1458*q+1084 ∧ x17 = 729*q+542 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16⟩ := parameters_0010100101001001 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 + have hstep := r16.1 + have hparity := r16.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 + clear hparity + refine ⟨q,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · exact p0 + · exact p1 + · exact p2 + · exact p3 + · exact p4 + · exact p5 + · exact p6 + · exact p7 + · exact p8 + · exact p9 + · exact p10 + · exact p11 + · exact p12 + · exact p13 + · exact p14 + · exact p15 + · exact p16 + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 + omega + +/-- Exact source residue and full affine trace for branch `01001001010010100`. -/ +theorem parameters_01001001010010100 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + : ∃ q : Nat, x0 = 2048*q+1346 ∧ x1 = 1024*q+673 ∧ x2 = 3072*q+2020 ∧ x3 = 1536*q+1010 ∧ x4 = 768*q+505 ∧ x5 = 2304*q+1516 ∧ x6 = 1152*q+758 ∧ x7 = 576*q+379 ∧ x8 = 1728*q+1138 ∧ x9 = 864*q+569 ∧ x10 = 2592*q+1708 ∧ x11 = 1296*q+854 ∧ x12 = 648*q+427 ∧ x13 = 1944*q+1282 ∧ x14 = 972*q+641 ∧ x15 = 2916*q+1924 ∧ x16 = 1458*q+962 ∧ x17 = 729*q+481 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16⟩ := parameters_0100100101001010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 + have hstep := r16.1 + have hparity := r16.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p16 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 + omega + +/-- Exact source residue and full affine trace for branch `01001001010010101`. -/ +theorem parameters_01001001010010101 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (x17 = 3*x16+1 ∧ x16%2 = 1)) + : ∃ q : Nat, x0 = 2048*q+322 ∧ x1 = 1024*q+161 ∧ x2 = 3072*q+484 ∧ x3 = 1536*q+242 ∧ x4 = 768*q+121 ∧ x5 = 2304*q+364 ∧ x6 = 1152*q+182 ∧ x7 = 576*q+91 ∧ x8 = 1728*q+274 ∧ x9 = 864*q+137 ∧ x10 = 2592*q+412 ∧ x11 = 1296*q+206 ∧ x12 = 648*q+103 ∧ x13 = 1944*q+310 ∧ x14 = 972*q+155 ∧ x15 = 2916*q+466 ∧ x16 = 1458*q+233 ∧ x17 = 4374*q+700 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16⟩ := parameters_0100100101001010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 + have hstep := r16.1 + have hparity := r16.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p16 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 + omega + +/-- Exact source residue and full affine trace for branch `01001010010010100`. -/ +theorem parameters_01001010010010100 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + : ∃ q : Nat, x0 = 2048*q+1650 ∧ x1 = 1024*q+825 ∧ x2 = 3072*q+2476 ∧ x3 = 1536*q+1238 ∧ x4 = 768*q+619 ∧ x5 = 2304*q+1858 ∧ x6 = 1152*q+929 ∧ x7 = 3456*q+2788 ∧ x8 = 1728*q+1394 ∧ x9 = 864*q+697 ∧ x10 = 2592*q+2092 ∧ x11 = 1296*q+1046 ∧ x12 = 648*q+523 ∧ x13 = 1944*q+1570 ∧ x14 = 972*q+785 ∧ x15 = 2916*q+2356 ∧ x16 = 1458*q+1178 ∧ x17 = 729*q+589 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16⟩ := parameters_0100101001001010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 + have hstep := r16.1 + have hparity := r16.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p16 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 + omega + +/-- Exact source residue and full affine trace for branch `01001010010010101`. -/ +theorem parameters_01001010010010101 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (x17 = 3*x16+1 ∧ x16%2 = 1)) + : ∃ q : Nat, x0 = 2048*q+626 ∧ x1 = 1024*q+313 ∧ x2 = 3072*q+940 ∧ x3 = 1536*q+470 ∧ x4 = 768*q+235 ∧ x5 = 2304*q+706 ∧ x6 = 1152*q+353 ∧ x7 = 3456*q+1060 ∧ x8 = 1728*q+530 ∧ x9 = 864*q+265 ∧ x10 = 2592*q+796 ∧ x11 = 1296*q+398 ∧ x12 = 648*q+199 ∧ x13 = 1944*q+598 ∧ x14 = 972*q+299 ∧ x15 = 2916*q+898 ∧ x16 = 1458*q+449 ∧ x17 = 4374*q+1348 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16⟩ := parameters_0100101001001010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 + have hstep := r16.1 + have hparity := r16.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p16 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 + omega + +/-- Exact source residue and full affine trace for branch `01001010010100100`. -/ +theorem parameters_01001010010100100 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + : ∃ q : Nat, x0 = 2048*q+1010 ∧ x1 = 1024*q+505 ∧ x2 = 3072*q+1516 ∧ x3 = 1536*q+758 ∧ x4 = 768*q+379 ∧ x5 = 2304*q+1138 ∧ x6 = 1152*q+569 ∧ x7 = 3456*q+1708 ∧ x8 = 1728*q+854 ∧ x9 = 864*q+427 ∧ x10 = 2592*q+1282 ∧ x11 = 1296*q+641 ∧ x12 = 3888*q+1924 ∧ x13 = 1944*q+962 ∧ x14 = 972*q+481 ∧ x15 = 2916*q+1444 ∧ x16 = 1458*q+722 ∧ x17 = 729*q+361 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16⟩ := parameters_0100101001010010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 + have hstep := r16.1 + have hparity := r16.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p16 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 + omega + +/-- Exact source residue and full affine trace for branch `01001010010100101`. -/ +theorem parameters_01001010010100101 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (x17 = 3*x16+1 ∧ x16%2 = 1)) + : ∃ q : Nat, x0 = 2048*q+2034 ∧ x1 = 1024*q+1017 ∧ x2 = 3072*q+3052 ∧ x3 = 1536*q+1526 ∧ x4 = 768*q+763 ∧ x5 = 2304*q+2290 ∧ x6 = 1152*q+1145 ∧ x7 = 3456*q+3436 ∧ x8 = 1728*q+1718 ∧ x9 = 864*q+859 ∧ x10 = 2592*q+2578 ∧ x11 = 1296*q+1289 ∧ x12 = 3888*q+3868 ∧ x13 = 1944*q+1934 ∧ x14 = 972*q+967 ∧ x15 = 2916*q+2902 ∧ x16 = 1458*q+1451 ∧ x17 = 4374*q+4354 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16⟩ := parameters_0100101001010010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 + have hstep := r16.1 + have hparity := r16.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p16 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 + omega + +/-- Exact source residue and full affine trace for branch `01010010010100100`. -/ +theorem parameters_01010010010100100 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + : ∃ q : Nat, x0 = 2048*q+1238 ∧ x1 = 1024*q+619 ∧ x2 = 3072*q+1858 ∧ x3 = 1536*q+929 ∧ x4 = 4608*q+2788 ∧ x5 = 2304*q+1394 ∧ x6 = 1152*q+697 ∧ x7 = 3456*q+2092 ∧ x8 = 1728*q+1046 ∧ x9 = 864*q+523 ∧ x10 = 2592*q+1570 ∧ x11 = 1296*q+785 ∧ x12 = 3888*q+2356 ∧ x13 = 1944*q+1178 ∧ x14 = 972*q+589 ∧ x15 = 2916*q+1768 ∧ x16 = 1458*q+884 ∧ x17 = 729*q+442 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16⟩ := parameters_0101001001010010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 + have hstep := r16.1 + have hparity := r16.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p16 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 + omega + +/-- Exact source residue and full affine trace for branch `01010010010100101`. -/ +theorem parameters_01010010010100101 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (x17 = 3*x16+1 ∧ x16%2 = 1)) + : ∃ q : Nat, x0 = 2048*q+214 ∧ x1 = 1024*q+107 ∧ x2 = 3072*q+322 ∧ x3 = 1536*q+161 ∧ x4 = 4608*q+484 ∧ x5 = 2304*q+242 ∧ x6 = 1152*q+121 ∧ x7 = 3456*q+364 ∧ x8 = 1728*q+182 ∧ x9 = 864*q+91 ∧ x10 = 2592*q+274 ∧ x11 = 1296*q+137 ∧ x12 = 3888*q+412 ∧ x13 = 1944*q+206 ∧ x14 = 972*q+103 ∧ x15 = 2916*q+310 ∧ x16 = 1458*q+155 ∧ x17 = 4374*q+466 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16⟩ := parameters_0101001001010010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 + have hstep := r16.1 + have hparity := r16.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p16 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 + omega + + +end Collatz.Exploration.ElevenHalvesArithmetic diff --git a/Collatz/Exploration/ElevenHalvesArithmetic/Part07.lean b/Collatz/Exploration/ElevenHalvesArithmetic/Part07.lean new file mode 100644 index 00000000..e98cb080 --- /dev/null +++ b/Collatz/Exploration/ElevenHalvesArithmetic/Part07.lean @@ -0,0 +1,1176 @@ +import Collatz.Exploration.ElevenHalvesArithmetic.Part06 + +namespace Collatz.Exploration.ElevenHalvesArithmetic + +set_option maxHeartbeats 2000000 +set_option linter.unusedVariables false + +/-- Exact source residue and full affine trace for branch `01010010100100100`. -/ +theorem parameters_01010010100100100 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + : ∃ q : Nat, x0 = 2048*q+758 ∧ x1 = 1024*q+379 ∧ x2 = 3072*q+1138 ∧ x3 = 1536*q+569 ∧ x4 = 4608*q+1708 ∧ x5 = 2304*q+854 ∧ x6 = 1152*q+427 ∧ x7 = 3456*q+1282 ∧ x8 = 1728*q+641 ∧ x9 = 5184*q+1924 ∧ x10 = 2592*q+962 ∧ x11 = 1296*q+481 ∧ x12 = 3888*q+1444 ∧ x13 = 1944*q+722 ∧ x14 = 972*q+361 ∧ x15 = 2916*q+1084 ∧ x16 = 1458*q+542 ∧ x17 = 729*q+271 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16⟩ := parameters_0101001010010010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 + have hstep := r16.1 + have hparity := r16.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p16 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 + omega + +/-- Exact source residue and full affine trace for branch `01010010100100101`. -/ +theorem parameters_01010010100100101 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (x17 = 3*x16+1 ∧ x16%2 = 1)) + : ∃ q : Nat, x0 = 2048*q+1782 ∧ x1 = 1024*q+891 ∧ x2 = 3072*q+2674 ∧ x3 = 1536*q+1337 ∧ x4 = 4608*q+4012 ∧ x5 = 2304*q+2006 ∧ x6 = 1152*q+1003 ∧ x7 = 3456*q+3010 ∧ x8 = 1728*q+1505 ∧ x9 = 5184*q+4516 ∧ x10 = 2592*q+2258 ∧ x11 = 1296*q+1129 ∧ x12 = 3888*q+3388 ∧ x13 = 1944*q+1694 ∧ x14 = 972*q+847 ∧ x15 = 2916*q+2542 ∧ x16 = 1458*q+1271 ∧ x17 = 4374*q+3814 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16⟩ := parameters_0101001010010010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 + have hstep := r16.1 + have hparity := r16.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p16 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 + omega + +/-- Exact source residue and full affine trace for branch `10010010100101000`. -/ +theorem parameters_10010010100101000 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + : ∃ q : Nat, x0 = 2048*q+1697 ∧ x1 = 6144*q+5092 ∧ x2 = 3072*q+2546 ∧ x3 = 1536*q+1273 ∧ x4 = 4608*q+3820 ∧ x5 = 2304*q+1910 ∧ x6 = 1152*q+955 ∧ x7 = 3456*q+2866 ∧ x8 = 1728*q+1433 ∧ x9 = 5184*q+4300 ∧ x10 = 2592*q+2150 ∧ x11 = 1296*q+1075 ∧ x12 = 3888*q+3226 ∧ x13 = 1944*q+1613 ∧ x14 = 5832*q+4840 ∧ x15 = 2916*q+2420 ∧ x16 = 1458*q+1210 ∧ x17 = 729*q+605 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16⟩ := parameters_1001001010010100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 + have hstep := r16.1 + have hparity := r16.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p16 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 + omega + +/-- Exact source residue and full affine trace for branch `10010010100101001`. -/ +theorem parameters_10010010100101001 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (x17 = 3*x16+1 ∧ x16%2 = 1)) + : ∃ q : Nat, x0 = 2048*q+673 ∧ x1 = 6144*q+2020 ∧ x2 = 3072*q+1010 ∧ x3 = 1536*q+505 ∧ x4 = 4608*q+1516 ∧ x5 = 2304*q+758 ∧ x6 = 1152*q+379 ∧ x7 = 3456*q+1138 ∧ x8 = 1728*q+569 ∧ x9 = 5184*q+1708 ∧ x10 = 2592*q+854 ∧ x11 = 1296*q+427 ∧ x12 = 3888*q+1282 ∧ x13 = 1944*q+641 ∧ x14 = 5832*q+1924 ∧ x15 = 2916*q+962 ∧ x16 = 1458*q+481 ∧ x17 = 4374*q+1444 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16⟩ := parameters_1001001010010100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 + have hstep := r16.1 + have hparity := r16.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p16 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 + omega + +/-- Exact source residue and full affine trace for branch `10010100100101000`. -/ +theorem parameters_10010100100101000 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + : ∃ q : Nat, x0 = 2048*q+1849 ∧ x1 = 6144*q+5548 ∧ x2 = 3072*q+2774 ∧ x3 = 1536*q+1387 ∧ x4 = 4608*q+4162 ∧ x5 = 2304*q+2081 ∧ x6 = 6912*q+6244 ∧ x7 = 3456*q+3122 ∧ x8 = 1728*q+1561 ∧ x9 = 5184*q+4684 ∧ x10 = 2592*q+2342 ∧ x11 = 1296*q+1171 ∧ x12 = 3888*q+3514 ∧ x13 = 1944*q+1757 ∧ x14 = 5832*q+5272 ∧ x15 = 2916*q+2636 ∧ x16 = 1458*q+1318 ∧ x17 = 729*q+659 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16⟩ := parameters_1001010010010100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 + have hstep := r16.1 + have hparity := r16.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p16 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 + omega + +/-- Exact source residue and full affine trace for branch `10010100100101001`. -/ +theorem parameters_10010100100101001 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (x17 = 3*x16+1 ∧ x16%2 = 1)) + : ∃ q : Nat, x0 = 2048*q+825 ∧ x1 = 6144*q+2476 ∧ x2 = 3072*q+1238 ∧ x3 = 1536*q+619 ∧ x4 = 4608*q+1858 ∧ x5 = 2304*q+929 ∧ x6 = 6912*q+2788 ∧ x7 = 3456*q+1394 ∧ x8 = 1728*q+697 ∧ x9 = 5184*q+2092 ∧ x10 = 2592*q+1046 ∧ x11 = 1296*q+523 ∧ x12 = 3888*q+1570 ∧ x13 = 1944*q+785 ∧ x14 = 5832*q+2356 ∧ x15 = 2916*q+1178 ∧ x16 = 1458*q+589 ∧ x17 = 4374*q+1768 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16⟩ := parameters_1001010010010100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 + have hstep := r16.1 + have hparity := r16.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p16 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 + omega + +/-- Exact source residue and full affine trace for branch `10010100101001000`. -/ +theorem parameters_10010100101001000 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + : ∃ q : Nat, x0 = 2048*q+1529 ∧ x1 = 6144*q+4588 ∧ x2 = 3072*q+2294 ∧ x3 = 1536*q+1147 ∧ x4 = 4608*q+3442 ∧ x5 = 2304*q+1721 ∧ x6 = 6912*q+5164 ∧ x7 = 3456*q+2582 ∧ x8 = 1728*q+1291 ∧ x9 = 5184*q+3874 ∧ x10 = 2592*q+1937 ∧ x11 = 7776*q+5812 ∧ x12 = 3888*q+2906 ∧ x13 = 1944*q+1453 ∧ x14 = 5832*q+4360 ∧ x15 = 2916*q+2180 ∧ x16 = 1458*q+1090 ∧ x17 = 729*q+545 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16⟩ := parameters_1001010010100100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 + have hstep := r16.1 + have hparity := r16.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p16 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 + omega + +/-- Exact source residue and full affine trace for branch `10010100101001001`. -/ +theorem parameters_10010100101001001 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (x17 = 3*x16+1 ∧ x16%2 = 1)) + : ∃ q : Nat, x0 = 2048*q+505 ∧ x1 = 6144*q+1516 ∧ x2 = 3072*q+758 ∧ x3 = 1536*q+379 ∧ x4 = 4608*q+1138 ∧ x5 = 2304*q+569 ∧ x6 = 6912*q+1708 ∧ x7 = 3456*q+854 ∧ x8 = 1728*q+427 ∧ x9 = 5184*q+1282 ∧ x10 = 2592*q+641 ∧ x11 = 7776*q+1924 ∧ x12 = 3888*q+962 ∧ x13 = 1944*q+481 ∧ x14 = 5832*q+1444 ∧ x15 = 2916*q+722 ∧ x16 = 1458*q+361 ∧ x17 = 4374*q+1084 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16⟩ := parameters_1001010010100100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 + have hstep := r16.1 + have hparity := r16.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p16 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 + omega + +/-- Exact source residue and full affine trace for branch `10100100101001010`. -/ +theorem parameters_10100100101001010 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (x16 = 3*x15+1 ∧ x15%2 = 1)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + : ∃ q : Nat, x0 = 1024*q+107 ∧ x1 = 3072*q+322 ∧ x2 = 1536*q+161 ∧ x3 = 4608*q+484 ∧ x4 = 2304*q+242 ∧ x5 = 1152*q+121 ∧ x6 = 3456*q+364 ∧ x7 = 1728*q+182 ∧ x8 = 864*q+91 ∧ x9 = 2592*q+274 ∧ x10 = 1296*q+137 ∧ x11 = 3888*q+412 ∧ x12 = 1944*q+206 ∧ x13 = 972*q+103 ∧ x14 = 2916*q+310 ∧ x15 = 1458*q+155 ∧ x16 = 4374*q+466 ∧ x17 = 2187*q+233 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16⟩ := parameters_1010010010100101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 + have hstep := r16.1 + have hparity := r16.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 + clear hparity + refine ⟨q,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · exact p0 + · exact p1 + · exact p2 + · exact p3 + · exact p4 + · exact p5 + · exact p6 + · exact p7 + · exact p8 + · exact p9 + · exact p10 + · exact p11 + · exact p12 + · exact p13 + · exact p14 + · exact p15 + · exact p16 + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 + omega + +/-- Exact source residue and full affine trace for branch `10100101001001010`. -/ +theorem parameters_10100101001001010 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (x16 = 3*x15+1 ∧ x15%2 = 1)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + : ∃ q : Nat, x0 = 1024*q+891 ∧ x1 = 3072*q+2674 ∧ x2 = 1536*q+1337 ∧ x3 = 4608*q+4012 ∧ x4 = 2304*q+2006 ∧ x5 = 1152*q+1003 ∧ x6 = 3456*q+3010 ∧ x7 = 1728*q+1505 ∧ x8 = 5184*q+4516 ∧ x9 = 2592*q+2258 ∧ x10 = 1296*q+1129 ∧ x11 = 3888*q+3388 ∧ x12 = 1944*q+1694 ∧ x13 = 972*q+847 ∧ x14 = 2916*q+2542 ∧ x15 = 1458*q+1271 ∧ x16 = 4374*q+3814 ∧ x17 = 2187*q+1907 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16⟩ := parameters_1010010100100101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 + have hstep := r16.1 + have hparity := r16.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 + clear hparity + refine ⟨q,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · exact p0 + · exact p1 + · exact p2 + · exact p3 + · exact p4 + · exact p5 + · exact p6 + · exact p7 + · exact p8 + · exact p9 + · exact p10 + · exact p11 + · exact p12 + · exact p13 + · exact p14 + · exact p15 + · exact p16 + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 + omega + +/-- Exact source residue and full affine trace for branch `001001010010100100`. -/ +theorem parameters_001001010010100100 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (x16 = 3*x15+1 ∧ x15%2 = 1)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + : ∃ q : Nat, x0 = 4096*q+2020 ∧ x1 = 2048*q+1010 ∧ x2 = 1024*q+505 ∧ x3 = 3072*q+1516 ∧ x4 = 1536*q+758 ∧ x5 = 768*q+379 ∧ x6 = 2304*q+1138 ∧ x7 = 1152*q+569 ∧ x8 = 3456*q+1708 ∧ x9 = 1728*q+854 ∧ x10 = 864*q+427 ∧ x11 = 2592*q+1282 ∧ x12 = 1296*q+641 ∧ x13 = 3888*q+1924 ∧ x14 = 1944*q+962 ∧ x15 = 972*q+481 ∧ x16 = 2916*q+1444 ∧ x17 = 1458*q+722 ∧ x18 = 729*q+361 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17⟩ := parameters_00100101001010010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 + have hstep := r17.1 + have hparity := r17.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p16 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p17 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 + omega + +/-- Exact source residue and full affine trace for branch `001001010010100101`. -/ +theorem parameters_001001010010100101 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (x16 = 3*x15+1 ∧ x15%2 = 1)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (x18 = 3*x17+1 ∧ x17%2 = 1)) + : ∃ q : Nat, x0 = 4096*q+4068 ∧ x1 = 2048*q+2034 ∧ x2 = 1024*q+1017 ∧ x3 = 3072*q+3052 ∧ x4 = 1536*q+1526 ∧ x5 = 768*q+763 ∧ x6 = 2304*q+2290 ∧ x7 = 1152*q+1145 ∧ x8 = 3456*q+3436 ∧ x9 = 1728*q+1718 ∧ x10 = 864*q+859 ∧ x11 = 2592*q+2578 ∧ x12 = 1296*q+1289 ∧ x13 = 3888*q+3868 ∧ x14 = 1944*q+1934 ∧ x15 = 972*q+967 ∧ x16 = 2916*q+2902 ∧ x17 = 1458*q+1451 ∧ x18 = 4374*q+4354 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17⟩ := parameters_00100101001010010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 + have hstep := r17.1 + have hparity := r17.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p16 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p17 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 + omega + +/-- Exact source residue and full affine trace for branch `001010010010100100`. -/ +theorem parameters_001010010010100100 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (x16 = 3*x15+1 ∧ x15%2 = 1)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + : ∃ q : Nat, x0 = 4096*q+2476 ∧ x1 = 2048*q+1238 ∧ x2 = 1024*q+619 ∧ x3 = 3072*q+1858 ∧ x4 = 1536*q+929 ∧ x5 = 4608*q+2788 ∧ x6 = 2304*q+1394 ∧ x7 = 1152*q+697 ∧ x8 = 3456*q+2092 ∧ x9 = 1728*q+1046 ∧ x10 = 864*q+523 ∧ x11 = 2592*q+1570 ∧ x12 = 1296*q+785 ∧ x13 = 3888*q+2356 ∧ x14 = 1944*q+1178 ∧ x15 = 972*q+589 ∧ x16 = 2916*q+1768 ∧ x17 = 1458*q+884 ∧ x18 = 729*q+442 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17⟩ := parameters_00101001001010010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 + have hstep := r17.1 + have hparity := r17.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p16 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p17 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 + omega + +/-- Exact source residue and full affine trace for branch `001010010010100101`. -/ +theorem parameters_001010010010100101 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (x16 = 3*x15+1 ∧ x15%2 = 1)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (x18 = 3*x17+1 ∧ x17%2 = 1)) + : ∃ q : Nat, x0 = 4096*q+428 ∧ x1 = 2048*q+214 ∧ x2 = 1024*q+107 ∧ x3 = 3072*q+322 ∧ x4 = 1536*q+161 ∧ x5 = 4608*q+484 ∧ x6 = 2304*q+242 ∧ x7 = 1152*q+121 ∧ x8 = 3456*q+364 ∧ x9 = 1728*q+182 ∧ x10 = 864*q+91 ∧ x11 = 2592*q+274 ∧ x12 = 1296*q+137 ∧ x13 = 3888*q+412 ∧ x14 = 1944*q+206 ∧ x15 = 972*q+103 ∧ x16 = 2916*q+310 ∧ x17 = 1458*q+155 ∧ x18 = 4374*q+466 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17⟩ := parameters_00101001001010010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 + have hstep := r17.1 + have hparity := r17.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p16 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p17 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 + omega + +/-- Exact source residue and full affine trace for branch `001010010100100100`. -/ +theorem parameters_001010010100100100 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (x16 = 3*x15+1 ∧ x15%2 = 1)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + : ∃ q : Nat, x0 = 4096*q+1516 ∧ x1 = 2048*q+758 ∧ x2 = 1024*q+379 ∧ x3 = 3072*q+1138 ∧ x4 = 1536*q+569 ∧ x5 = 4608*q+1708 ∧ x6 = 2304*q+854 ∧ x7 = 1152*q+427 ∧ x8 = 3456*q+1282 ∧ x9 = 1728*q+641 ∧ x10 = 5184*q+1924 ∧ x11 = 2592*q+962 ∧ x12 = 1296*q+481 ∧ x13 = 3888*q+1444 ∧ x14 = 1944*q+722 ∧ x15 = 972*q+361 ∧ x16 = 2916*q+1084 ∧ x17 = 1458*q+542 ∧ x18 = 729*q+271 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17⟩ := parameters_00101001010010010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 + have hstep := r17.1 + have hparity := r17.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p16 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p17 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 + omega + +/-- Exact source residue and full affine trace for branch `001010010100100101`. -/ +theorem parameters_001010010100100101 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (x16 = 3*x15+1 ∧ x15%2 = 1)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (x18 = 3*x17+1 ∧ x17%2 = 1)) + : ∃ q : Nat, x0 = 4096*q+3564 ∧ x1 = 2048*q+1782 ∧ x2 = 1024*q+891 ∧ x3 = 3072*q+2674 ∧ x4 = 1536*q+1337 ∧ x5 = 4608*q+4012 ∧ x6 = 2304*q+2006 ∧ x7 = 1152*q+1003 ∧ x8 = 3456*q+3010 ∧ x9 = 1728*q+1505 ∧ x10 = 5184*q+4516 ∧ x11 = 2592*q+2258 ∧ x12 = 1296*q+1129 ∧ x13 = 3888*q+3388 ∧ x14 = 1944*q+1694 ∧ x15 = 972*q+847 ∧ x16 = 2916*q+2542 ∧ x17 = 1458*q+1271 ∧ x18 = 4374*q+3814 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17⟩ := parameters_00101001010010010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 + have hstep := r17.1 + have hparity := r17.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p16 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p17 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 + omega + +/-- Exact source residue and full affine trace for branch `010010010100101000`. -/ +theorem parameters_010010010100101000 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + : ∃ q : Nat, x0 = 4096*q+3394 ∧ x1 = 2048*q+1697 ∧ x2 = 6144*q+5092 ∧ x3 = 3072*q+2546 ∧ x4 = 1536*q+1273 ∧ x5 = 4608*q+3820 ∧ x6 = 2304*q+1910 ∧ x7 = 1152*q+955 ∧ x8 = 3456*q+2866 ∧ x9 = 1728*q+1433 ∧ x10 = 5184*q+4300 ∧ x11 = 2592*q+2150 ∧ x12 = 1296*q+1075 ∧ x13 = 3888*q+3226 ∧ x14 = 1944*q+1613 ∧ x15 = 5832*q+4840 ∧ x16 = 2916*q+2420 ∧ x17 = 1458*q+1210 ∧ x18 = 729*q+605 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17⟩ := parameters_01001001010010100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 + have hstep := r17.1 + have hparity := r17.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p16 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p17 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 + omega + +/-- Exact source residue and full affine trace for branch `010010010100101001`. -/ +theorem parameters_010010010100101001 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (x18 = 3*x17+1 ∧ x17%2 = 1)) + : ∃ q : Nat, x0 = 4096*q+1346 ∧ x1 = 2048*q+673 ∧ x2 = 6144*q+2020 ∧ x3 = 3072*q+1010 ∧ x4 = 1536*q+505 ∧ x5 = 4608*q+1516 ∧ x6 = 2304*q+758 ∧ x7 = 1152*q+379 ∧ x8 = 3456*q+1138 ∧ x9 = 1728*q+569 ∧ x10 = 5184*q+1708 ∧ x11 = 2592*q+854 ∧ x12 = 1296*q+427 ∧ x13 = 3888*q+1282 ∧ x14 = 1944*q+641 ∧ x15 = 5832*q+1924 ∧ x16 = 2916*q+962 ∧ x17 = 1458*q+481 ∧ x18 = 4374*q+1444 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17⟩ := parameters_01001001010010100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 + have hstep := r17.1 + have hparity := r17.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p16 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p17 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 + omega + +/-- Exact source residue and full affine trace for branch `010010100100101000`. -/ +theorem parameters_010010100100101000 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + : ∃ q : Nat, x0 = 4096*q+3698 ∧ x1 = 2048*q+1849 ∧ x2 = 6144*q+5548 ∧ x3 = 3072*q+2774 ∧ x4 = 1536*q+1387 ∧ x5 = 4608*q+4162 ∧ x6 = 2304*q+2081 ∧ x7 = 6912*q+6244 ∧ x8 = 3456*q+3122 ∧ x9 = 1728*q+1561 ∧ x10 = 5184*q+4684 ∧ x11 = 2592*q+2342 ∧ x12 = 1296*q+1171 ∧ x13 = 3888*q+3514 ∧ x14 = 1944*q+1757 ∧ x15 = 5832*q+5272 ∧ x16 = 2916*q+2636 ∧ x17 = 1458*q+1318 ∧ x18 = 729*q+659 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17⟩ := parameters_01001010010010100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 + have hstep := r17.1 + have hparity := r17.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p16 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p17 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 + omega + +/-- Exact source residue and full affine trace for branch `010010100100101001`. -/ +theorem parameters_010010100100101001 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (x18 = 3*x17+1 ∧ x17%2 = 1)) + : ∃ q : Nat, x0 = 4096*q+1650 ∧ x1 = 2048*q+825 ∧ x2 = 6144*q+2476 ∧ x3 = 3072*q+1238 ∧ x4 = 1536*q+619 ∧ x5 = 4608*q+1858 ∧ x6 = 2304*q+929 ∧ x7 = 6912*q+2788 ∧ x8 = 3456*q+1394 ∧ x9 = 1728*q+697 ∧ x10 = 5184*q+2092 ∧ x11 = 2592*q+1046 ∧ x12 = 1296*q+523 ∧ x13 = 3888*q+1570 ∧ x14 = 1944*q+785 ∧ x15 = 5832*q+2356 ∧ x16 = 2916*q+1178 ∧ x17 = 1458*q+589 ∧ x18 = 4374*q+1768 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17⟩ := parameters_01001010010010100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 + have hstep := r17.1 + have hparity := r17.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p16 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p17 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 + omega + +/-- Exact source residue and full affine trace for branch `010010100101001000`. -/ +theorem parameters_010010100101001000 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + : ∃ q : Nat, x0 = 4096*q+3058 ∧ x1 = 2048*q+1529 ∧ x2 = 6144*q+4588 ∧ x3 = 3072*q+2294 ∧ x4 = 1536*q+1147 ∧ x5 = 4608*q+3442 ∧ x6 = 2304*q+1721 ∧ x7 = 6912*q+5164 ∧ x8 = 3456*q+2582 ∧ x9 = 1728*q+1291 ∧ x10 = 5184*q+3874 ∧ x11 = 2592*q+1937 ∧ x12 = 7776*q+5812 ∧ x13 = 3888*q+2906 ∧ x14 = 1944*q+1453 ∧ x15 = 5832*q+4360 ∧ x16 = 2916*q+2180 ∧ x17 = 1458*q+1090 ∧ x18 = 729*q+545 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17⟩ := parameters_01001010010100100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 + have hstep := r17.1 + have hparity := r17.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p16 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p17 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 + omega + +/-- Exact source residue and full affine trace for branch `010010100101001001`. -/ +theorem parameters_010010100101001001 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (x18 = 3*x17+1 ∧ x17%2 = 1)) + : ∃ q : Nat, x0 = 4096*q+1010 ∧ x1 = 2048*q+505 ∧ x2 = 6144*q+1516 ∧ x3 = 3072*q+758 ∧ x4 = 1536*q+379 ∧ x5 = 4608*q+1138 ∧ x6 = 2304*q+569 ∧ x7 = 6912*q+1708 ∧ x8 = 3456*q+854 ∧ x9 = 1728*q+427 ∧ x10 = 5184*q+1282 ∧ x11 = 2592*q+641 ∧ x12 = 7776*q+1924 ∧ x13 = 3888*q+962 ∧ x14 = 1944*q+481 ∧ x15 = 5832*q+1444 ∧ x16 = 2916*q+722 ∧ x17 = 1458*q+361 ∧ x18 = 4374*q+1084 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17⟩ := parameters_01001010010100100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 + have hstep := r17.1 + have hparity := r17.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p16 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p17 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 + omega + +/-- Exact source residue and full affine trace for branch `010100100101001010`. -/ +theorem parameters_010100100101001010 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (x17 = 3*x16+1 ∧ x16%2 = 1)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + : ∃ q : Nat, x0 = 2048*q+214 ∧ x1 = 1024*q+107 ∧ x2 = 3072*q+322 ∧ x3 = 1536*q+161 ∧ x4 = 4608*q+484 ∧ x5 = 2304*q+242 ∧ x6 = 1152*q+121 ∧ x7 = 3456*q+364 ∧ x8 = 1728*q+182 ∧ x9 = 864*q+91 ∧ x10 = 2592*q+274 ∧ x11 = 1296*q+137 ∧ x12 = 3888*q+412 ∧ x13 = 1944*q+206 ∧ x14 = 972*q+103 ∧ x15 = 2916*q+310 ∧ x16 = 1458*q+155 ∧ x17 = 4374*q+466 ∧ x18 = 2187*q+233 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17⟩ := parameters_01010010010100101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 + have hstep := r17.1 + have hparity := r17.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 + clear hparity + refine ⟨q,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · exact p0 + · exact p1 + · exact p2 + · exact p3 + · exact p4 + · exact p5 + · exact p6 + · exact p7 + · exact p8 + · exact p9 + · exact p10 + · exact p11 + · exact p12 + · exact p13 + · exact p14 + · exact p15 + · exact p16 + · exact p17 + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 + omega + + +end Collatz.Exploration.ElevenHalvesArithmetic diff --git a/Collatz/Exploration/ElevenHalvesArithmetic/Part08.lean b/Collatz/Exploration/ElevenHalvesArithmetic/Part08.lean new file mode 100644 index 00000000..38c20141 --- /dev/null +++ b/Collatz/Exploration/ElevenHalvesArithmetic/Part08.lean @@ -0,0 +1,1208 @@ +import Collatz.Exploration.ElevenHalvesArithmetic.Part07 + +namespace Collatz.Exploration.ElevenHalvesArithmetic + +set_option maxHeartbeats 2000000 +set_option linter.unusedVariables false + +/-- Exact source residue and full affine trace for branch `010100101001001010`. -/ +theorem parameters_010100101001001010 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (x17 = 3*x16+1 ∧ x16%2 = 1)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + : ∃ q : Nat, x0 = 2048*q+1782 ∧ x1 = 1024*q+891 ∧ x2 = 3072*q+2674 ∧ x3 = 1536*q+1337 ∧ x4 = 4608*q+4012 ∧ x5 = 2304*q+2006 ∧ x6 = 1152*q+1003 ∧ x7 = 3456*q+3010 ∧ x8 = 1728*q+1505 ∧ x9 = 5184*q+4516 ∧ x10 = 2592*q+2258 ∧ x11 = 1296*q+1129 ∧ x12 = 3888*q+3388 ∧ x13 = 1944*q+1694 ∧ x14 = 972*q+847 ∧ x15 = 2916*q+2542 ∧ x16 = 1458*q+1271 ∧ x17 = 4374*q+3814 ∧ x18 = 2187*q+1907 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17⟩ := parameters_01010010100100101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 + have hstep := r17.1 + have hparity := r17.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 + clear hparity + refine ⟨q,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · exact p0 + · exact p1 + · exact p2 + · exact p3 + · exact p4 + · exact p5 + · exact p6 + · exact p7 + · exact p8 + · exact p9 + · exact p10 + · exact p11 + · exact p12 + · exact p13 + · exact p14 + · exact p15 + · exact p16 + · exact p17 + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 + omega + +/-- Exact source residue and full affine trace for branch `100100101001010010`. -/ +theorem parameters_100100101001010010 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (x17 = 3*x16+1 ∧ x16%2 = 1)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + : ∃ q : Nat, x0 = 2048*q+673 ∧ x1 = 6144*q+2020 ∧ x2 = 3072*q+1010 ∧ x3 = 1536*q+505 ∧ x4 = 4608*q+1516 ∧ x5 = 2304*q+758 ∧ x6 = 1152*q+379 ∧ x7 = 3456*q+1138 ∧ x8 = 1728*q+569 ∧ x9 = 5184*q+1708 ∧ x10 = 2592*q+854 ∧ x11 = 1296*q+427 ∧ x12 = 3888*q+1282 ∧ x13 = 1944*q+641 ∧ x14 = 5832*q+1924 ∧ x15 = 2916*q+962 ∧ x16 = 1458*q+481 ∧ x17 = 4374*q+1444 ∧ x18 = 2187*q+722 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17⟩ := parameters_10010010100101001 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 + have hstep := r17.1 + have hparity := r17.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 + clear hparity + refine ⟨q,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · exact p0 + · exact p1 + · exact p2 + · exact p3 + · exact p4 + · exact p5 + · exact p6 + · exact p7 + · exact p8 + · exact p9 + · exact p10 + · exact p11 + · exact p12 + · exact p13 + · exact p14 + · exact p15 + · exact p16 + · exact p17 + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 + omega + +/-- Exact source residue and full affine trace for branch `100101001001010010`. -/ +theorem parameters_100101001001010010 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (x17 = 3*x16+1 ∧ x16%2 = 1)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + : ∃ q : Nat, x0 = 2048*q+825 ∧ x1 = 6144*q+2476 ∧ x2 = 3072*q+1238 ∧ x3 = 1536*q+619 ∧ x4 = 4608*q+1858 ∧ x5 = 2304*q+929 ∧ x6 = 6912*q+2788 ∧ x7 = 3456*q+1394 ∧ x8 = 1728*q+697 ∧ x9 = 5184*q+2092 ∧ x10 = 2592*q+1046 ∧ x11 = 1296*q+523 ∧ x12 = 3888*q+1570 ∧ x13 = 1944*q+785 ∧ x14 = 5832*q+2356 ∧ x15 = 2916*q+1178 ∧ x16 = 1458*q+589 ∧ x17 = 4374*q+1768 ∧ x18 = 2187*q+884 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17⟩ := parameters_10010100100101001 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 + have hstep := r17.1 + have hparity := r17.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 + clear hparity + refine ⟨q,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · exact p0 + · exact p1 + · exact p2 + · exact p3 + · exact p4 + · exact p5 + · exact p6 + · exact p7 + · exact p8 + · exact p9 + · exact p10 + · exact p11 + · exact p12 + · exact p13 + · exact p14 + · exact p15 + · exact p16 + · exact p17 + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 + omega + +/-- Exact source residue and full affine trace for branch `100101001010010010`. -/ +theorem parameters_100101001010010010 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (x17 = 3*x16+1 ∧ x16%2 = 1)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + : ∃ q : Nat, x0 = 2048*q+505 ∧ x1 = 6144*q+1516 ∧ x2 = 3072*q+758 ∧ x3 = 1536*q+379 ∧ x4 = 4608*q+1138 ∧ x5 = 2304*q+569 ∧ x6 = 6912*q+1708 ∧ x7 = 3456*q+854 ∧ x8 = 1728*q+427 ∧ x9 = 5184*q+1282 ∧ x10 = 2592*q+641 ∧ x11 = 7776*q+1924 ∧ x12 = 3888*q+962 ∧ x13 = 1944*q+481 ∧ x14 = 5832*q+1444 ∧ x15 = 2916*q+722 ∧ x16 = 1458*q+361 ∧ x17 = 4374*q+1084 ∧ x18 = 2187*q+542 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17⟩ := parameters_10010100101001001 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 + have hstep := r17.1 + have hparity := r17.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 + clear hparity + refine ⟨q,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · exact p0 + · exact p1 + · exact p2 + · exact p3 + · exact p4 + · exact p5 + · exact p6 + · exact p7 + · exact p8 + · exact p9 + · exact p10 + · exact p11 + · exact p12 + · exact p13 + · exact p14 + · exact p15 + · exact p16 + · exact p17 + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 + omega + +/-- Exact source residue and full affine trace for branch `101001001010010100`. -/ +theorem parameters_101001001010010100 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (x16 = 3*x15+1 ∧ x15%2 = 1)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + : ∃ q : Nat, x0 = 2048*q+1131 ∧ x1 = 6144*q+3394 ∧ x2 = 3072*q+1697 ∧ x3 = 9216*q+5092 ∧ x4 = 4608*q+2546 ∧ x5 = 2304*q+1273 ∧ x6 = 6912*q+3820 ∧ x7 = 3456*q+1910 ∧ x8 = 1728*q+955 ∧ x9 = 5184*q+2866 ∧ x10 = 2592*q+1433 ∧ x11 = 7776*q+4300 ∧ x12 = 3888*q+2150 ∧ x13 = 1944*q+1075 ∧ x14 = 5832*q+3226 ∧ x15 = 2916*q+1613 ∧ x16 = 8748*q+4840 ∧ x17 = 4374*q+2420 ∧ x18 = 2187*q+1210 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17⟩ := parameters_10100100101001010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 + have hstep := r17.1 + have hparity := r17.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p16 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p17 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 + omega + +/-- Exact source residue and full affine trace for branch `101001001010010101`. -/ +theorem parameters_101001001010010101 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (x16 = 3*x15+1 ∧ x15%2 = 1)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (x18 = 3*x17+1 ∧ x17%2 = 1)) + : ∃ q : Nat, x0 = 2048*q+107 ∧ x1 = 6144*q+322 ∧ x2 = 3072*q+161 ∧ x3 = 9216*q+484 ∧ x4 = 4608*q+242 ∧ x5 = 2304*q+121 ∧ x6 = 6912*q+364 ∧ x7 = 3456*q+182 ∧ x8 = 1728*q+91 ∧ x9 = 5184*q+274 ∧ x10 = 2592*q+137 ∧ x11 = 7776*q+412 ∧ x12 = 3888*q+206 ∧ x13 = 1944*q+103 ∧ x14 = 5832*q+310 ∧ x15 = 2916*q+155 ∧ x16 = 8748*q+466 ∧ x17 = 4374*q+233 ∧ x18 = 13122*q+700 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17⟩ := parameters_10100100101001010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 + have hstep := r17.1 + have hparity := r17.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p16 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p17 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 + omega + +/-- Exact source residue and full affine trace for branch `101001010010010100`. -/ +theorem parameters_101001010010010100 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (x16 = 3*x15+1 ∧ x15%2 = 1)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + : ∃ q : Nat, x0 = 2048*q+1915 ∧ x1 = 6144*q+5746 ∧ x2 = 3072*q+2873 ∧ x3 = 9216*q+8620 ∧ x4 = 4608*q+4310 ∧ x5 = 2304*q+2155 ∧ x6 = 6912*q+6466 ∧ x7 = 3456*q+3233 ∧ x8 = 10368*q+9700 ∧ x9 = 5184*q+4850 ∧ x10 = 2592*q+2425 ∧ x11 = 7776*q+7276 ∧ x12 = 3888*q+3638 ∧ x13 = 1944*q+1819 ∧ x14 = 5832*q+5458 ∧ x15 = 2916*q+2729 ∧ x16 = 8748*q+8188 ∧ x17 = 4374*q+4094 ∧ x18 = 2187*q+2047 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17⟩ := parameters_10100101001001010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 + have hstep := r17.1 + have hparity := r17.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p16 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p17 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 + omega + +/-- Exact source residue and full affine trace for branch `101001010010010101`. -/ +theorem parameters_101001010010010101 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (x16 = 3*x15+1 ∧ x15%2 = 1)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (x18 = 3*x17+1 ∧ x17%2 = 1)) + : ∃ q : Nat, x0 = 2048*q+891 ∧ x1 = 6144*q+2674 ∧ x2 = 3072*q+1337 ∧ x3 = 9216*q+4012 ∧ x4 = 4608*q+2006 ∧ x5 = 2304*q+1003 ∧ x6 = 6912*q+3010 ∧ x7 = 3456*q+1505 ∧ x8 = 10368*q+4516 ∧ x9 = 5184*q+2258 ∧ x10 = 2592*q+1129 ∧ x11 = 7776*q+3388 ∧ x12 = 3888*q+1694 ∧ x13 = 1944*q+847 ∧ x14 = 5832*q+2542 ∧ x15 = 2916*q+1271 ∧ x16 = 8748*q+3814 ∧ x17 = 4374*q+1907 ∧ x18 = 13122*q+5722 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17⟩ := parameters_10100101001001010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 + have hstep := r17.1 + have hparity := r17.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p16 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p17 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 + omega + +/-- Exact source residue and full affine trace for branch `0010100100101001010`. -/ +theorem parameters_0010100100101001010 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (x16 = 3*x15+1 ∧ x15%2 = 1)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (x18 = 3*x17+1 ∧ x17%2 = 1)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + : ∃ q : Nat, x0 = 4096*q+428 ∧ x1 = 2048*q+214 ∧ x2 = 1024*q+107 ∧ x3 = 3072*q+322 ∧ x4 = 1536*q+161 ∧ x5 = 4608*q+484 ∧ x6 = 2304*q+242 ∧ x7 = 1152*q+121 ∧ x8 = 3456*q+364 ∧ x9 = 1728*q+182 ∧ x10 = 864*q+91 ∧ x11 = 2592*q+274 ∧ x12 = 1296*q+137 ∧ x13 = 3888*q+412 ∧ x14 = 1944*q+206 ∧ x15 = 972*q+103 ∧ x16 = 2916*q+310 ∧ x17 = 1458*q+155 ∧ x18 = 4374*q+466 ∧ x19 = 2187*q+233 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18⟩ := parameters_001010010010100101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 + have hstep := r18.1 + have hparity := r18.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 + clear hparity + refine ⟨q,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · exact p0 + · exact p1 + · exact p2 + · exact p3 + · exact p4 + · exact p5 + · exact p6 + · exact p7 + · exact p8 + · exact p9 + · exact p10 + · exact p11 + · exact p12 + · exact p13 + · exact p14 + · exact p15 + · exact p16 + · exact p17 + · exact p18 + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 + omega + +/-- Exact source residue and full affine trace for branch `0010100101001001010`. -/ +theorem parameters_0010100101001001010 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (x16 = 3*x15+1 ∧ x15%2 = 1)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (x18 = 3*x17+1 ∧ x17%2 = 1)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + : ∃ q : Nat, x0 = 4096*q+3564 ∧ x1 = 2048*q+1782 ∧ x2 = 1024*q+891 ∧ x3 = 3072*q+2674 ∧ x4 = 1536*q+1337 ∧ x5 = 4608*q+4012 ∧ x6 = 2304*q+2006 ∧ x7 = 1152*q+1003 ∧ x8 = 3456*q+3010 ∧ x9 = 1728*q+1505 ∧ x10 = 5184*q+4516 ∧ x11 = 2592*q+2258 ∧ x12 = 1296*q+1129 ∧ x13 = 3888*q+3388 ∧ x14 = 1944*q+1694 ∧ x15 = 972*q+847 ∧ x16 = 2916*q+2542 ∧ x17 = 1458*q+1271 ∧ x18 = 4374*q+3814 ∧ x19 = 2187*q+1907 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18⟩ := parameters_001010010100100101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 + have hstep := r18.1 + have hparity := r18.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 + clear hparity + refine ⟨q,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · exact p0 + · exact p1 + · exact p2 + · exact p3 + · exact p4 + · exact p5 + · exact p6 + · exact p7 + · exact p8 + · exact p9 + · exact p10 + · exact p11 + · exact p12 + · exact p13 + · exact p14 + · exact p15 + · exact p16 + · exact p17 + · exact p18 + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 + omega + +/-- Exact source residue and full affine trace for branch `0100100101001010010`. -/ +theorem parameters_0100100101001010010 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (x18 = 3*x17+1 ∧ x17%2 = 1)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + : ∃ q : Nat, x0 = 4096*q+1346 ∧ x1 = 2048*q+673 ∧ x2 = 6144*q+2020 ∧ x3 = 3072*q+1010 ∧ x4 = 1536*q+505 ∧ x5 = 4608*q+1516 ∧ x6 = 2304*q+758 ∧ x7 = 1152*q+379 ∧ x8 = 3456*q+1138 ∧ x9 = 1728*q+569 ∧ x10 = 5184*q+1708 ∧ x11 = 2592*q+854 ∧ x12 = 1296*q+427 ∧ x13 = 3888*q+1282 ∧ x14 = 1944*q+641 ∧ x15 = 5832*q+1924 ∧ x16 = 2916*q+962 ∧ x17 = 1458*q+481 ∧ x18 = 4374*q+1444 ∧ x19 = 2187*q+722 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18⟩ := parameters_010010010100101001 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 + have hstep := r18.1 + have hparity := r18.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 + clear hparity + refine ⟨q,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · exact p0 + · exact p1 + · exact p2 + · exact p3 + · exact p4 + · exact p5 + · exact p6 + · exact p7 + · exact p8 + · exact p9 + · exact p10 + · exact p11 + · exact p12 + · exact p13 + · exact p14 + · exact p15 + · exact p16 + · exact p17 + · exact p18 + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 + omega + +/-- Exact source residue and full affine trace for branch `0100101001001010010`. -/ +theorem parameters_0100101001001010010 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (x18 = 3*x17+1 ∧ x17%2 = 1)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + : ∃ q : Nat, x0 = 4096*q+1650 ∧ x1 = 2048*q+825 ∧ x2 = 6144*q+2476 ∧ x3 = 3072*q+1238 ∧ x4 = 1536*q+619 ∧ x5 = 4608*q+1858 ∧ x6 = 2304*q+929 ∧ x7 = 6912*q+2788 ∧ x8 = 3456*q+1394 ∧ x9 = 1728*q+697 ∧ x10 = 5184*q+2092 ∧ x11 = 2592*q+1046 ∧ x12 = 1296*q+523 ∧ x13 = 3888*q+1570 ∧ x14 = 1944*q+785 ∧ x15 = 5832*q+2356 ∧ x16 = 2916*q+1178 ∧ x17 = 1458*q+589 ∧ x18 = 4374*q+1768 ∧ x19 = 2187*q+884 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18⟩ := parameters_010010100100101001 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 + have hstep := r18.1 + have hparity := r18.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 + clear hparity + refine ⟨q,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · exact p0 + · exact p1 + · exact p2 + · exact p3 + · exact p4 + · exact p5 + · exact p6 + · exact p7 + · exact p8 + · exact p9 + · exact p10 + · exact p11 + · exact p12 + · exact p13 + · exact p14 + · exact p15 + · exact p16 + · exact p17 + · exact p18 + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 + omega + +/-- Exact source residue and full affine trace for branch `0100101001010010010`. -/ +theorem parameters_0100101001010010010 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (x18 = 3*x17+1 ∧ x17%2 = 1)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + : ∃ q : Nat, x0 = 4096*q+1010 ∧ x1 = 2048*q+505 ∧ x2 = 6144*q+1516 ∧ x3 = 3072*q+758 ∧ x4 = 1536*q+379 ∧ x5 = 4608*q+1138 ∧ x6 = 2304*q+569 ∧ x7 = 6912*q+1708 ∧ x8 = 3456*q+854 ∧ x9 = 1728*q+427 ∧ x10 = 5184*q+1282 ∧ x11 = 2592*q+641 ∧ x12 = 7776*q+1924 ∧ x13 = 3888*q+962 ∧ x14 = 1944*q+481 ∧ x15 = 5832*q+1444 ∧ x16 = 2916*q+722 ∧ x17 = 1458*q+361 ∧ x18 = 4374*q+1084 ∧ x19 = 2187*q+542 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18⟩ := parameters_010010100101001001 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 + have hstep := r18.1 + have hparity := r18.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 + clear hparity + refine ⟨q,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · exact p0 + · exact p1 + · exact p2 + · exact p3 + · exact p4 + · exact p5 + · exact p6 + · exact p7 + · exact p8 + · exact p9 + · exact p10 + · exact p11 + · exact p12 + · exact p13 + · exact p14 + · exact p15 + · exact p16 + · exact p17 + · exact p18 + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 + omega + +/-- Exact source residue and full affine trace for branch `0101001001010010100`. -/ +theorem parameters_0101001001010010100 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (x17 = 3*x16+1 ∧ x16%2 = 1)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + : ∃ q : Nat, x0 = 4096*q+2262 ∧ x1 = 2048*q+1131 ∧ x2 = 6144*q+3394 ∧ x3 = 3072*q+1697 ∧ x4 = 9216*q+5092 ∧ x5 = 4608*q+2546 ∧ x6 = 2304*q+1273 ∧ x7 = 6912*q+3820 ∧ x8 = 3456*q+1910 ∧ x9 = 1728*q+955 ∧ x10 = 5184*q+2866 ∧ x11 = 2592*q+1433 ∧ x12 = 7776*q+4300 ∧ x13 = 3888*q+2150 ∧ x14 = 1944*q+1075 ∧ x15 = 5832*q+3226 ∧ x16 = 2916*q+1613 ∧ x17 = 8748*q+4840 ∧ x18 = 4374*q+2420 ∧ x19 = 2187*q+1210 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18⟩ := parameters_010100100101001010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 + have hstep := r18.1 + have hparity := r18.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p16 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p17 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p18 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 + omega + +/-- Exact source residue and full affine trace for branch `0101001001010010101`. -/ +theorem parameters_0101001001010010101 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (x17 = 3*x16+1 ∧ x16%2 = 1)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + (r18 : (x19 = 3*x18+1 ∧ x18%2 = 1)) + : ∃ q : Nat, x0 = 4096*q+214 ∧ x1 = 2048*q+107 ∧ x2 = 6144*q+322 ∧ x3 = 3072*q+161 ∧ x4 = 9216*q+484 ∧ x5 = 4608*q+242 ∧ x6 = 2304*q+121 ∧ x7 = 6912*q+364 ∧ x8 = 3456*q+182 ∧ x9 = 1728*q+91 ∧ x10 = 5184*q+274 ∧ x11 = 2592*q+137 ∧ x12 = 7776*q+412 ∧ x13 = 3888*q+206 ∧ x14 = 1944*q+103 ∧ x15 = 5832*q+310 ∧ x16 = 2916*q+155 ∧ x17 = 8748*q+466 ∧ x18 = 4374*q+233 ∧ x19 = 13122*q+700 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18⟩ := parameters_010100100101001010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 + have hstep := r18.1 + have hparity := r18.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p16 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p17 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p18 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 + omega + +/-- Exact source residue and full affine trace for branch `0101001010010010100`. -/ +theorem parameters_0101001010010010100 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (x17 = 3*x16+1 ∧ x16%2 = 1)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + : ∃ q : Nat, x0 = 4096*q+3830 ∧ x1 = 2048*q+1915 ∧ x2 = 6144*q+5746 ∧ x3 = 3072*q+2873 ∧ x4 = 9216*q+8620 ∧ x5 = 4608*q+4310 ∧ x6 = 2304*q+2155 ∧ x7 = 6912*q+6466 ∧ x8 = 3456*q+3233 ∧ x9 = 10368*q+9700 ∧ x10 = 5184*q+4850 ∧ x11 = 2592*q+2425 ∧ x12 = 7776*q+7276 ∧ x13 = 3888*q+3638 ∧ x14 = 1944*q+1819 ∧ x15 = 5832*q+5458 ∧ x16 = 2916*q+2729 ∧ x17 = 8748*q+8188 ∧ x18 = 4374*q+4094 ∧ x19 = 2187*q+2047 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18⟩ := parameters_010100101001001010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 + have hstep := r18.1 + have hparity := r18.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p16 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p17 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p18 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 + omega + +/-- Exact source residue and full affine trace for branch `0101001010010010101`. -/ +theorem parameters_0101001010010010101 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (x17 = 3*x16+1 ∧ x16%2 = 1)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + (r18 : (x19 = 3*x18+1 ∧ x18%2 = 1)) + : ∃ q : Nat, x0 = 4096*q+1782 ∧ x1 = 2048*q+891 ∧ x2 = 6144*q+2674 ∧ x3 = 3072*q+1337 ∧ x4 = 9216*q+4012 ∧ x5 = 4608*q+2006 ∧ x6 = 2304*q+1003 ∧ x7 = 6912*q+3010 ∧ x8 = 3456*q+1505 ∧ x9 = 10368*q+4516 ∧ x10 = 5184*q+2258 ∧ x11 = 2592*q+1129 ∧ x12 = 7776*q+3388 ∧ x13 = 3888*q+1694 ∧ x14 = 1944*q+847 ∧ x15 = 5832*q+2542 ∧ x16 = 2916*q+1271 ∧ x17 = 8748*q+3814 ∧ x18 = 4374*q+1907 ∧ x19 = 13122*q+5722 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18⟩ := parameters_010100101001001010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 + have hstep := r18.1 + have hparity := r18.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p16 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p17 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p18 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 + omega + +/-- Exact source residue and full affine trace for branch `1001001010010100100`. -/ +theorem parameters_1001001010010100100 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (x17 = 3*x16+1 ∧ x16%2 = 1)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + : ∃ q : Nat, x0 = 4096*q+673 ∧ x1 = 12288*q+2020 ∧ x2 = 6144*q+1010 ∧ x3 = 3072*q+505 ∧ x4 = 9216*q+1516 ∧ x5 = 4608*q+758 ∧ x6 = 2304*q+379 ∧ x7 = 6912*q+1138 ∧ x8 = 3456*q+569 ∧ x9 = 10368*q+1708 ∧ x10 = 5184*q+854 ∧ x11 = 2592*q+427 ∧ x12 = 7776*q+1282 ∧ x13 = 3888*q+641 ∧ x14 = 11664*q+1924 ∧ x15 = 5832*q+962 ∧ x16 = 2916*q+481 ∧ x17 = 8748*q+1444 ∧ x18 = 4374*q+722 ∧ x19 = 2187*q+361 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18⟩ := parameters_100100101001010010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 + have hstep := r18.1 + have hparity := r18.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p16 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p17 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p18 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 + omega + +/-- Exact source residue and full affine trace for branch `1001001010010100101`. -/ +theorem parameters_1001001010010100101 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (x17 = 3*x16+1 ∧ x16%2 = 1)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + (r18 : (x19 = 3*x18+1 ∧ x18%2 = 1)) + : ∃ q : Nat, x0 = 4096*q+2721 ∧ x1 = 12288*q+8164 ∧ x2 = 6144*q+4082 ∧ x3 = 3072*q+2041 ∧ x4 = 9216*q+6124 ∧ x5 = 4608*q+3062 ∧ x6 = 2304*q+1531 ∧ x7 = 6912*q+4594 ∧ x8 = 3456*q+2297 ∧ x9 = 10368*q+6892 ∧ x10 = 5184*q+3446 ∧ x11 = 2592*q+1723 ∧ x12 = 7776*q+5170 ∧ x13 = 3888*q+2585 ∧ x14 = 11664*q+7756 ∧ x15 = 5832*q+3878 ∧ x16 = 2916*q+1939 ∧ x17 = 8748*q+5818 ∧ x18 = 4374*q+2909 ∧ x19 = 13122*q+8728 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18⟩ := parameters_100100101001010010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 + have hstep := r18.1 + have hparity := r18.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p16 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p17 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p18 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 + omega + +/-- Exact source residue and full affine trace for branch `1001010010010100100`. -/ +theorem parameters_1001010010010100100 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (x17 = 3*x16+1 ∧ x16%2 = 1)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + : ∃ q : Nat, x0 = 4096*q+825 ∧ x1 = 12288*q+2476 ∧ x2 = 6144*q+1238 ∧ x3 = 3072*q+619 ∧ x4 = 9216*q+1858 ∧ x5 = 4608*q+929 ∧ x6 = 13824*q+2788 ∧ x7 = 6912*q+1394 ∧ x8 = 3456*q+697 ∧ x9 = 10368*q+2092 ∧ x10 = 5184*q+1046 ∧ x11 = 2592*q+523 ∧ x12 = 7776*q+1570 ∧ x13 = 3888*q+785 ∧ x14 = 11664*q+2356 ∧ x15 = 5832*q+1178 ∧ x16 = 2916*q+589 ∧ x17 = 8748*q+1768 ∧ x18 = 4374*q+884 ∧ x19 = 2187*q+442 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18⟩ := parameters_100101001001010010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 + have hstep := r18.1 + have hparity := r18.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p16 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p17 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p18 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 + omega + +/-- Exact source residue and full affine trace for branch `1001010010010100101`. -/ +theorem parameters_1001010010010100101 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (x17 = 3*x16+1 ∧ x16%2 = 1)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + (r18 : (x19 = 3*x18+1 ∧ x18%2 = 1)) + : ∃ q : Nat, x0 = 4096*q+2873 ∧ x1 = 12288*q+8620 ∧ x2 = 6144*q+4310 ∧ x3 = 3072*q+2155 ∧ x4 = 9216*q+6466 ∧ x5 = 4608*q+3233 ∧ x6 = 13824*q+9700 ∧ x7 = 6912*q+4850 ∧ x8 = 3456*q+2425 ∧ x9 = 10368*q+7276 ∧ x10 = 5184*q+3638 ∧ x11 = 2592*q+1819 ∧ x12 = 7776*q+5458 ∧ x13 = 3888*q+2729 ∧ x14 = 11664*q+8188 ∧ x15 = 5832*q+4094 ∧ x16 = 2916*q+2047 ∧ x17 = 8748*q+6142 ∧ x18 = 4374*q+3071 ∧ x19 = 13122*q+9214 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18⟩ := parameters_100101001001010010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 + have hstep := r18.1 + have hparity := r18.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p16 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p17 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p18 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 + omega + +/-- Exact source residue and full affine trace for branch `1001010010100100100`. -/ +theorem parameters_1001010010100100100 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (x17 = 3*x16+1 ∧ x16%2 = 1)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + : ∃ q : Nat, x0 = 4096*q+505 ∧ x1 = 12288*q+1516 ∧ x2 = 6144*q+758 ∧ x3 = 3072*q+379 ∧ x4 = 9216*q+1138 ∧ x5 = 4608*q+569 ∧ x6 = 13824*q+1708 ∧ x7 = 6912*q+854 ∧ x8 = 3456*q+427 ∧ x9 = 10368*q+1282 ∧ x10 = 5184*q+641 ∧ x11 = 15552*q+1924 ∧ x12 = 7776*q+962 ∧ x13 = 3888*q+481 ∧ x14 = 11664*q+1444 ∧ x15 = 5832*q+722 ∧ x16 = 2916*q+361 ∧ x17 = 8748*q+1084 ∧ x18 = 4374*q+542 ∧ x19 = 2187*q+271 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18⟩ := parameters_100101001010010010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 + have hstep := r18.1 + have hparity := r18.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p16 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p17 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p18 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 + omega + +/-- Exact source residue and full affine trace for branch `1001010010100100101`. -/ +theorem parameters_1001010010100100101 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (x17 = 3*x16+1 ∧ x16%2 = 1)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + (r18 : (x19 = 3*x18+1 ∧ x18%2 = 1)) + : ∃ q : Nat, x0 = 4096*q+2553 ∧ x1 = 12288*q+7660 ∧ x2 = 6144*q+3830 ∧ x3 = 3072*q+1915 ∧ x4 = 9216*q+5746 ∧ x5 = 4608*q+2873 ∧ x6 = 13824*q+8620 ∧ x7 = 6912*q+4310 ∧ x8 = 3456*q+2155 ∧ x9 = 10368*q+6466 ∧ x10 = 5184*q+3233 ∧ x11 = 15552*q+9700 ∧ x12 = 7776*q+4850 ∧ x13 = 3888*q+2425 ∧ x14 = 11664*q+7276 ∧ x15 = 5832*q+3638 ∧ x16 = 2916*q+1819 ∧ x17 = 8748*q+5458 ∧ x18 = 4374*q+2729 ∧ x19 = 13122*q+8188 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18⟩ := parameters_100101001010010010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 + have hstep := r18.1 + have hparity := r18.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p16 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p17 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p18 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 + omega + + +end Collatz.Exploration.ElevenHalvesArithmetic diff --git a/Collatz/Exploration/ElevenHalvesArithmetic/Part09.lean b/Collatz/Exploration/ElevenHalvesArithmetic/Part09.lean new file mode 100644 index 00000000..f1951dc1 --- /dev/null +++ b/Collatz/Exploration/ElevenHalvesArithmetic/Part09.lean @@ -0,0 +1,1168 @@ +import Collatz.Exploration.ElevenHalvesArithmetic.Part08 + +namespace Collatz.Exploration.ElevenHalvesArithmetic + +set_option maxHeartbeats 2000000 +set_option linter.unusedVariables false + +/-- Exact source residue and full affine trace for branch `1010010010100101000`. -/ +theorem parameters_1010010010100101000 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (x16 = 3*x15+1 ∧ x15%2 = 1)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + : ∃ q : Nat, x0 = 4096*q+1131 ∧ x1 = 12288*q+3394 ∧ x2 = 6144*q+1697 ∧ x3 = 18432*q+5092 ∧ x4 = 9216*q+2546 ∧ x5 = 4608*q+1273 ∧ x6 = 13824*q+3820 ∧ x7 = 6912*q+1910 ∧ x8 = 3456*q+955 ∧ x9 = 10368*q+2866 ∧ x10 = 5184*q+1433 ∧ x11 = 15552*q+4300 ∧ x12 = 7776*q+2150 ∧ x13 = 3888*q+1075 ∧ x14 = 11664*q+3226 ∧ x15 = 5832*q+1613 ∧ x16 = 17496*q+4840 ∧ x17 = 8748*q+2420 ∧ x18 = 4374*q+1210 ∧ x19 = 2187*q+605 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18⟩ := parameters_101001001010010100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 + have hstep := r18.1 + have hparity := r18.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p16 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p17 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p18 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 + omega + +/-- Exact source residue and full affine trace for branch `1010010010100101001`. -/ +theorem parameters_1010010010100101001 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (x16 = 3*x15+1 ∧ x15%2 = 1)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + (r18 : (x19 = 3*x18+1 ∧ x18%2 = 1)) + : ∃ q : Nat, x0 = 4096*q+3179 ∧ x1 = 12288*q+9538 ∧ x2 = 6144*q+4769 ∧ x3 = 18432*q+14308 ∧ x4 = 9216*q+7154 ∧ x5 = 4608*q+3577 ∧ x6 = 13824*q+10732 ∧ x7 = 6912*q+5366 ∧ x8 = 3456*q+2683 ∧ x9 = 10368*q+8050 ∧ x10 = 5184*q+4025 ∧ x11 = 15552*q+12076 ∧ x12 = 7776*q+6038 ∧ x13 = 3888*q+3019 ∧ x14 = 11664*q+9058 ∧ x15 = 5832*q+4529 ∧ x16 = 17496*q+13588 ∧ x17 = 8748*q+6794 ∧ x18 = 4374*q+3397 ∧ x19 = 13122*q+10192 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18⟩ := parameters_101001001010010100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 + have hstep := r18.1 + have hparity := r18.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p16 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p17 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p18 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 + omega + +/-- Exact source residue and full affine trace for branch `1010010100100101000`. -/ +theorem parameters_1010010100100101000 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (x16 = 3*x15+1 ∧ x15%2 = 1)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + : ∃ q : Nat, x0 = 4096*q+3963 ∧ x1 = 12288*q+11890 ∧ x2 = 6144*q+5945 ∧ x3 = 18432*q+17836 ∧ x4 = 9216*q+8918 ∧ x5 = 4608*q+4459 ∧ x6 = 13824*q+13378 ∧ x7 = 6912*q+6689 ∧ x8 = 20736*q+20068 ∧ x9 = 10368*q+10034 ∧ x10 = 5184*q+5017 ∧ x11 = 15552*q+15052 ∧ x12 = 7776*q+7526 ∧ x13 = 3888*q+3763 ∧ x14 = 11664*q+11290 ∧ x15 = 5832*q+5645 ∧ x16 = 17496*q+16936 ∧ x17 = 8748*q+8468 ∧ x18 = 4374*q+4234 ∧ x19 = 2187*q+2117 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18⟩ := parameters_101001010010010100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 + have hstep := r18.1 + have hparity := r18.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p16 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p17 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p18 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 + omega + +/-- Exact source residue and full affine trace for branch `1010010100100101001`. -/ +theorem parameters_1010010100100101001 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (x16 = 3*x15+1 ∧ x15%2 = 1)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + (r18 : (x19 = 3*x18+1 ∧ x18%2 = 1)) + : ∃ q : Nat, x0 = 4096*q+1915 ∧ x1 = 12288*q+5746 ∧ x2 = 6144*q+2873 ∧ x3 = 18432*q+8620 ∧ x4 = 9216*q+4310 ∧ x5 = 4608*q+2155 ∧ x6 = 13824*q+6466 ∧ x7 = 6912*q+3233 ∧ x8 = 20736*q+9700 ∧ x9 = 10368*q+4850 ∧ x10 = 5184*q+2425 ∧ x11 = 15552*q+7276 ∧ x12 = 7776*q+3638 ∧ x13 = 3888*q+1819 ∧ x14 = 11664*q+5458 ∧ x15 = 5832*q+2729 ∧ x16 = 17496*q+8188 ∧ x17 = 8748*q+4094 ∧ x18 = 4374*q+2047 ∧ x19 = 13122*q+6142 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18⟩ := parameters_101001010010010100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 + have hstep := r18.1 + have hparity := r18.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p16 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p17 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p18 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 + omega + +/-- Exact source residue and full affine trace for branch `00101001001010010100`. -/ +theorem parameters_00101001001010010100 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (x16 = 3*x15+1 ∧ x15%2 = 1)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (x18 = 3*x17+1 ∧ x17%2 = 1)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + (r19 : (2*x20 = x19 ∧ x19%2 = 0)) + : ∃ q : Nat, x0 = 8192*q+4524 ∧ x1 = 4096*q+2262 ∧ x2 = 2048*q+1131 ∧ x3 = 6144*q+3394 ∧ x4 = 3072*q+1697 ∧ x5 = 9216*q+5092 ∧ x6 = 4608*q+2546 ∧ x7 = 2304*q+1273 ∧ x8 = 6912*q+3820 ∧ x9 = 3456*q+1910 ∧ x10 = 1728*q+955 ∧ x11 = 5184*q+2866 ∧ x12 = 2592*q+1433 ∧ x13 = 7776*q+4300 ∧ x14 = 3888*q+2150 ∧ x15 = 1944*q+1075 ∧ x16 = 5832*q+3226 ∧ x17 = 2916*q+1613 ∧ x18 = 8748*q+4840 ∧ x19 = 4374*q+2420 ∧ x20 = 2187*q+1210 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19⟩ := parameters_0010100100101001010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 + have hstep := r19.1 + have hparity := r19.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p16 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p17 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p18 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p19 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 + omega + +/-- Exact source residue and full affine trace for branch `00101001001010010101`. -/ +theorem parameters_00101001001010010101 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (x16 = 3*x15+1 ∧ x15%2 = 1)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (x18 = 3*x17+1 ∧ x17%2 = 1)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + (r19 : (x20 = 3*x19+1 ∧ x19%2 = 1)) + : ∃ q : Nat, x0 = 8192*q+428 ∧ x1 = 4096*q+214 ∧ x2 = 2048*q+107 ∧ x3 = 6144*q+322 ∧ x4 = 3072*q+161 ∧ x5 = 9216*q+484 ∧ x6 = 4608*q+242 ∧ x7 = 2304*q+121 ∧ x8 = 6912*q+364 ∧ x9 = 3456*q+182 ∧ x10 = 1728*q+91 ∧ x11 = 5184*q+274 ∧ x12 = 2592*q+137 ∧ x13 = 7776*q+412 ∧ x14 = 3888*q+206 ∧ x15 = 1944*q+103 ∧ x16 = 5832*q+310 ∧ x17 = 2916*q+155 ∧ x18 = 8748*q+466 ∧ x19 = 4374*q+233 ∧ x20 = 13122*q+700 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19⟩ := parameters_0010100100101001010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 + have hstep := r19.1 + have hparity := r19.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p16 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p17 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p18 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p19 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 + omega + +/-- Exact source residue and full affine trace for branch `00101001010010010100`. -/ +theorem parameters_00101001010010010100 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (x16 = 3*x15+1 ∧ x15%2 = 1)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (x18 = 3*x17+1 ∧ x17%2 = 1)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + (r19 : (2*x20 = x19 ∧ x19%2 = 0)) + : ∃ q : Nat, x0 = 8192*q+7660 ∧ x1 = 4096*q+3830 ∧ x2 = 2048*q+1915 ∧ x3 = 6144*q+5746 ∧ x4 = 3072*q+2873 ∧ x5 = 9216*q+8620 ∧ x6 = 4608*q+4310 ∧ x7 = 2304*q+2155 ∧ x8 = 6912*q+6466 ∧ x9 = 3456*q+3233 ∧ x10 = 10368*q+9700 ∧ x11 = 5184*q+4850 ∧ x12 = 2592*q+2425 ∧ x13 = 7776*q+7276 ∧ x14 = 3888*q+3638 ∧ x15 = 1944*q+1819 ∧ x16 = 5832*q+5458 ∧ x17 = 2916*q+2729 ∧ x18 = 8748*q+8188 ∧ x19 = 4374*q+4094 ∧ x20 = 2187*q+2047 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19⟩ := parameters_0010100101001001010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 + have hstep := r19.1 + have hparity := r19.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p16 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p17 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p18 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p19 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 + omega + +/-- Exact source residue and full affine trace for branch `00101001010010010101`. -/ +theorem parameters_00101001010010010101 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (x16 = 3*x15+1 ∧ x15%2 = 1)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (x18 = 3*x17+1 ∧ x17%2 = 1)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + (r19 : (x20 = 3*x19+1 ∧ x19%2 = 1)) + : ∃ q : Nat, x0 = 8192*q+3564 ∧ x1 = 4096*q+1782 ∧ x2 = 2048*q+891 ∧ x3 = 6144*q+2674 ∧ x4 = 3072*q+1337 ∧ x5 = 9216*q+4012 ∧ x6 = 4608*q+2006 ∧ x7 = 2304*q+1003 ∧ x8 = 6912*q+3010 ∧ x9 = 3456*q+1505 ∧ x10 = 10368*q+4516 ∧ x11 = 5184*q+2258 ∧ x12 = 2592*q+1129 ∧ x13 = 7776*q+3388 ∧ x14 = 3888*q+1694 ∧ x15 = 1944*q+847 ∧ x16 = 5832*q+2542 ∧ x17 = 2916*q+1271 ∧ x18 = 8748*q+3814 ∧ x19 = 4374*q+1907 ∧ x20 = 13122*q+5722 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19⟩ := parameters_0010100101001001010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 + have hstep := r19.1 + have hparity := r19.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p16 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p17 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p18 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p19 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 + omega + +/-- Exact source residue and full affine trace for branch `01001001010010100100`. -/ +theorem parameters_01001001010010100100 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (x18 = 3*x17+1 ∧ x17%2 = 1)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + (r19 : (2*x20 = x19 ∧ x19%2 = 0)) + : ∃ q : Nat, x0 = 8192*q+1346 ∧ x1 = 4096*q+673 ∧ x2 = 12288*q+2020 ∧ x3 = 6144*q+1010 ∧ x4 = 3072*q+505 ∧ x5 = 9216*q+1516 ∧ x6 = 4608*q+758 ∧ x7 = 2304*q+379 ∧ x8 = 6912*q+1138 ∧ x9 = 3456*q+569 ∧ x10 = 10368*q+1708 ∧ x11 = 5184*q+854 ∧ x12 = 2592*q+427 ∧ x13 = 7776*q+1282 ∧ x14 = 3888*q+641 ∧ x15 = 11664*q+1924 ∧ x16 = 5832*q+962 ∧ x17 = 2916*q+481 ∧ x18 = 8748*q+1444 ∧ x19 = 4374*q+722 ∧ x20 = 2187*q+361 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19⟩ := parameters_0100100101001010010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 + have hstep := r19.1 + have hparity := r19.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p16 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p17 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p18 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p19 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 + omega + +/-- Exact source residue and full affine trace for branch `01001001010010100101`. -/ +theorem parameters_01001001010010100101 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (x18 = 3*x17+1 ∧ x17%2 = 1)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + (r19 : (x20 = 3*x19+1 ∧ x19%2 = 1)) + : ∃ q : Nat, x0 = 8192*q+5442 ∧ x1 = 4096*q+2721 ∧ x2 = 12288*q+8164 ∧ x3 = 6144*q+4082 ∧ x4 = 3072*q+2041 ∧ x5 = 9216*q+6124 ∧ x6 = 4608*q+3062 ∧ x7 = 2304*q+1531 ∧ x8 = 6912*q+4594 ∧ x9 = 3456*q+2297 ∧ x10 = 10368*q+6892 ∧ x11 = 5184*q+3446 ∧ x12 = 2592*q+1723 ∧ x13 = 7776*q+5170 ∧ x14 = 3888*q+2585 ∧ x15 = 11664*q+7756 ∧ x16 = 5832*q+3878 ∧ x17 = 2916*q+1939 ∧ x18 = 8748*q+5818 ∧ x19 = 4374*q+2909 ∧ x20 = 13122*q+8728 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19⟩ := parameters_0100100101001010010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 + have hstep := r19.1 + have hparity := r19.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p16 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p17 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p18 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p19 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 + omega + +/-- Exact source residue and full affine trace for branch `01001010010010100100`. -/ +theorem parameters_01001010010010100100 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (x18 = 3*x17+1 ∧ x17%2 = 1)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + (r19 : (2*x20 = x19 ∧ x19%2 = 0)) + : ∃ q : Nat, x0 = 8192*q+1650 ∧ x1 = 4096*q+825 ∧ x2 = 12288*q+2476 ∧ x3 = 6144*q+1238 ∧ x4 = 3072*q+619 ∧ x5 = 9216*q+1858 ∧ x6 = 4608*q+929 ∧ x7 = 13824*q+2788 ∧ x8 = 6912*q+1394 ∧ x9 = 3456*q+697 ∧ x10 = 10368*q+2092 ∧ x11 = 5184*q+1046 ∧ x12 = 2592*q+523 ∧ x13 = 7776*q+1570 ∧ x14 = 3888*q+785 ∧ x15 = 11664*q+2356 ∧ x16 = 5832*q+1178 ∧ x17 = 2916*q+589 ∧ x18 = 8748*q+1768 ∧ x19 = 4374*q+884 ∧ x20 = 2187*q+442 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19⟩ := parameters_0100101001001010010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 + have hstep := r19.1 + have hparity := r19.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p16 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p17 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p18 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p19 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 + omega + +/-- Exact source residue and full affine trace for branch `01001010010010100101`. -/ +theorem parameters_01001010010010100101 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (x18 = 3*x17+1 ∧ x17%2 = 1)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + (r19 : (x20 = 3*x19+1 ∧ x19%2 = 1)) + : ∃ q : Nat, x0 = 8192*q+5746 ∧ x1 = 4096*q+2873 ∧ x2 = 12288*q+8620 ∧ x3 = 6144*q+4310 ∧ x4 = 3072*q+2155 ∧ x5 = 9216*q+6466 ∧ x6 = 4608*q+3233 ∧ x7 = 13824*q+9700 ∧ x8 = 6912*q+4850 ∧ x9 = 3456*q+2425 ∧ x10 = 10368*q+7276 ∧ x11 = 5184*q+3638 ∧ x12 = 2592*q+1819 ∧ x13 = 7776*q+5458 ∧ x14 = 3888*q+2729 ∧ x15 = 11664*q+8188 ∧ x16 = 5832*q+4094 ∧ x17 = 2916*q+2047 ∧ x18 = 8748*q+6142 ∧ x19 = 4374*q+3071 ∧ x20 = 13122*q+9214 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19⟩ := parameters_0100101001001010010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 + have hstep := r19.1 + have hparity := r19.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p16 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p17 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p18 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p19 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 + omega + +/-- Exact source residue and full affine trace for branch `01001010010100100100`. -/ +theorem parameters_01001010010100100100 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (x18 = 3*x17+1 ∧ x17%2 = 1)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + (r19 : (2*x20 = x19 ∧ x19%2 = 0)) + : ∃ q : Nat, x0 = 8192*q+1010 ∧ x1 = 4096*q+505 ∧ x2 = 12288*q+1516 ∧ x3 = 6144*q+758 ∧ x4 = 3072*q+379 ∧ x5 = 9216*q+1138 ∧ x6 = 4608*q+569 ∧ x7 = 13824*q+1708 ∧ x8 = 6912*q+854 ∧ x9 = 3456*q+427 ∧ x10 = 10368*q+1282 ∧ x11 = 5184*q+641 ∧ x12 = 15552*q+1924 ∧ x13 = 7776*q+962 ∧ x14 = 3888*q+481 ∧ x15 = 11664*q+1444 ∧ x16 = 5832*q+722 ∧ x17 = 2916*q+361 ∧ x18 = 8748*q+1084 ∧ x19 = 4374*q+542 ∧ x20 = 2187*q+271 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19⟩ := parameters_0100101001010010010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 + have hstep := r19.1 + have hparity := r19.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p16 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p17 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p18 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p19 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 + omega + +/-- Exact source residue and full affine trace for branch `01001010010100100101`. -/ +theorem parameters_01001010010100100101 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (x18 = 3*x17+1 ∧ x17%2 = 1)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + (r19 : (x20 = 3*x19+1 ∧ x19%2 = 1)) + : ∃ q : Nat, x0 = 8192*q+5106 ∧ x1 = 4096*q+2553 ∧ x2 = 12288*q+7660 ∧ x3 = 6144*q+3830 ∧ x4 = 3072*q+1915 ∧ x5 = 9216*q+5746 ∧ x6 = 4608*q+2873 ∧ x7 = 13824*q+8620 ∧ x8 = 6912*q+4310 ∧ x9 = 3456*q+2155 ∧ x10 = 10368*q+6466 ∧ x11 = 5184*q+3233 ∧ x12 = 15552*q+9700 ∧ x13 = 7776*q+4850 ∧ x14 = 3888*q+2425 ∧ x15 = 11664*q+7276 ∧ x16 = 5832*q+3638 ∧ x17 = 2916*q+1819 ∧ x18 = 8748*q+5458 ∧ x19 = 4374*q+2729 ∧ x20 = 13122*q+8188 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19⟩ := parameters_0100101001010010010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 + have hstep := r19.1 + have hparity := r19.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p16 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p17 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p18 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p19 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 + omega + +/-- Exact source residue and full affine trace for branch `01010010010100101000`. -/ +theorem parameters_01010010010100101000 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (x17 = 3*x16+1 ∧ x16%2 = 1)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + (r19 : (2*x20 = x19 ∧ x19%2 = 0)) + : ∃ q : Nat, x0 = 8192*q+2262 ∧ x1 = 4096*q+1131 ∧ x2 = 12288*q+3394 ∧ x3 = 6144*q+1697 ∧ x4 = 18432*q+5092 ∧ x5 = 9216*q+2546 ∧ x6 = 4608*q+1273 ∧ x7 = 13824*q+3820 ∧ x8 = 6912*q+1910 ∧ x9 = 3456*q+955 ∧ x10 = 10368*q+2866 ∧ x11 = 5184*q+1433 ∧ x12 = 15552*q+4300 ∧ x13 = 7776*q+2150 ∧ x14 = 3888*q+1075 ∧ x15 = 11664*q+3226 ∧ x16 = 5832*q+1613 ∧ x17 = 17496*q+4840 ∧ x18 = 8748*q+2420 ∧ x19 = 4374*q+1210 ∧ x20 = 2187*q+605 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19⟩ := parameters_0101001001010010100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 + have hstep := r19.1 + have hparity := r19.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p16 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p17 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p18 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p19 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 + omega + +/-- Exact source residue and full affine trace for branch `01010010010100101001`. -/ +theorem parameters_01010010010100101001 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (x17 = 3*x16+1 ∧ x16%2 = 1)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + (r19 : (x20 = 3*x19+1 ∧ x19%2 = 1)) + : ∃ q : Nat, x0 = 8192*q+6358 ∧ x1 = 4096*q+3179 ∧ x2 = 12288*q+9538 ∧ x3 = 6144*q+4769 ∧ x4 = 18432*q+14308 ∧ x5 = 9216*q+7154 ∧ x6 = 4608*q+3577 ∧ x7 = 13824*q+10732 ∧ x8 = 6912*q+5366 ∧ x9 = 3456*q+2683 ∧ x10 = 10368*q+8050 ∧ x11 = 5184*q+4025 ∧ x12 = 15552*q+12076 ∧ x13 = 7776*q+6038 ∧ x14 = 3888*q+3019 ∧ x15 = 11664*q+9058 ∧ x16 = 5832*q+4529 ∧ x17 = 17496*q+13588 ∧ x18 = 8748*q+6794 ∧ x19 = 4374*q+3397 ∧ x20 = 13122*q+10192 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19⟩ := parameters_0101001001010010100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 + have hstep := r19.1 + have hparity := r19.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p16 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p17 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p18 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p19 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 + omega + +/-- Exact source residue and full affine trace for branch `01010010100100101000`. -/ +theorem parameters_01010010100100101000 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (x17 = 3*x16+1 ∧ x16%2 = 1)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + (r19 : (2*x20 = x19 ∧ x19%2 = 0)) + : ∃ q : Nat, x0 = 8192*q+7926 ∧ x1 = 4096*q+3963 ∧ x2 = 12288*q+11890 ∧ x3 = 6144*q+5945 ∧ x4 = 18432*q+17836 ∧ x5 = 9216*q+8918 ∧ x6 = 4608*q+4459 ∧ x7 = 13824*q+13378 ∧ x8 = 6912*q+6689 ∧ x9 = 20736*q+20068 ∧ x10 = 10368*q+10034 ∧ x11 = 5184*q+5017 ∧ x12 = 15552*q+15052 ∧ x13 = 7776*q+7526 ∧ x14 = 3888*q+3763 ∧ x15 = 11664*q+11290 ∧ x16 = 5832*q+5645 ∧ x17 = 17496*q+16936 ∧ x18 = 8748*q+8468 ∧ x19 = 4374*q+4234 ∧ x20 = 2187*q+2117 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19⟩ := parameters_0101001010010010100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 + have hstep := r19.1 + have hparity := r19.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p16 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p17 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p18 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p19 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 + omega + +/-- Exact source residue and full affine trace for branch `01010010100100101001`. -/ +theorem parameters_01010010100100101001 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (x17 = 3*x16+1 ∧ x16%2 = 1)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + (r19 : (x20 = 3*x19+1 ∧ x19%2 = 1)) + : ∃ q : Nat, x0 = 8192*q+3830 ∧ x1 = 4096*q+1915 ∧ x2 = 12288*q+5746 ∧ x3 = 6144*q+2873 ∧ x4 = 18432*q+8620 ∧ x5 = 9216*q+4310 ∧ x6 = 4608*q+2155 ∧ x7 = 13824*q+6466 ∧ x8 = 6912*q+3233 ∧ x9 = 20736*q+9700 ∧ x10 = 10368*q+4850 ∧ x11 = 5184*q+2425 ∧ x12 = 15552*q+7276 ∧ x13 = 7776*q+3638 ∧ x14 = 3888*q+1819 ∧ x15 = 11664*q+5458 ∧ x16 = 5832*q+2729 ∧ x17 = 17496*q+8188 ∧ x18 = 8748*q+4094 ∧ x19 = 4374*q+2047 ∧ x20 = 13122*q+6142 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19⟩ := parameters_0101001010010010100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 + have hstep := r19.1 + have hparity := r19.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p16 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p17 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p18 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p19 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 + omega + +/-- Exact source residue and full affine trace for branch `10010100100101001010`. -/ +theorem parameters_10010100100101001010 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (x17 = 3*x16+1 ∧ x16%2 = 1)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + (r18 : (x19 = 3*x18+1 ∧ x18%2 = 1)) + (r19 : (2*x20 = x19 ∧ x19%2 = 0)) + : ∃ q : Nat, x0 = 4096*q+2873 ∧ x1 = 12288*q+8620 ∧ x2 = 6144*q+4310 ∧ x3 = 3072*q+2155 ∧ x4 = 9216*q+6466 ∧ x5 = 4608*q+3233 ∧ x6 = 13824*q+9700 ∧ x7 = 6912*q+4850 ∧ x8 = 3456*q+2425 ∧ x9 = 10368*q+7276 ∧ x10 = 5184*q+3638 ∧ x11 = 2592*q+1819 ∧ x12 = 7776*q+5458 ∧ x13 = 3888*q+2729 ∧ x14 = 11664*q+8188 ∧ x15 = 5832*q+4094 ∧ x16 = 2916*q+2047 ∧ x17 = 8748*q+6142 ∧ x18 = 4374*q+3071 ∧ x19 = 13122*q+9214 ∧ x20 = 6561*q+4607 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19⟩ := parameters_1001010010010100101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 + have hstep := r19.1 + have hparity := r19.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 + clear hparity + refine ⟨q,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · exact p0 + · exact p1 + · exact p2 + · exact p3 + · exact p4 + · exact p5 + · exact p6 + · exact p7 + · exact p8 + · exact p9 + · exact p10 + · exact p11 + · exact p12 + · exact p13 + · exact p14 + · exact p15 + · exact p16 + · exact p17 + · exact p18 + · exact p19 + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 + omega + +/-- Exact source residue and full affine trace for branch `10010100101001001010`. -/ +theorem parameters_10010100101001001010 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (x17 = 3*x16+1 ∧ x16%2 = 1)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + (r18 : (x19 = 3*x18+1 ∧ x18%2 = 1)) + (r19 : (2*x20 = x19 ∧ x19%2 = 0)) + : ∃ q : Nat, x0 = 4096*q+2553 ∧ x1 = 12288*q+7660 ∧ x2 = 6144*q+3830 ∧ x3 = 3072*q+1915 ∧ x4 = 9216*q+5746 ∧ x5 = 4608*q+2873 ∧ x6 = 13824*q+8620 ∧ x7 = 6912*q+4310 ∧ x8 = 3456*q+2155 ∧ x9 = 10368*q+6466 ∧ x10 = 5184*q+3233 ∧ x11 = 15552*q+9700 ∧ x12 = 7776*q+4850 ∧ x13 = 3888*q+2425 ∧ x14 = 11664*q+7276 ∧ x15 = 5832*q+3638 ∧ x16 = 2916*q+1819 ∧ x17 = 8748*q+5458 ∧ x18 = 4374*q+2729 ∧ x19 = 13122*q+8188 ∧ x20 = 6561*q+4094 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19⟩ := parameters_1001010010100100101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 + have hstep := r19.1 + have hparity := r19.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 + clear hparity + refine ⟨q,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · exact p0 + · exact p1 + · exact p2 + · exact p3 + · exact p4 + · exact p5 + · exact p6 + · exact p7 + · exact p8 + · exact p9 + · exact p10 + · exact p11 + · exact p12 + · exact p13 + · exact p14 + · exact p15 + · exact p16 + · exact p17 + · exact p18 + · exact p19 + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 + omega + +/-- Exact source residue and full affine trace for branch `10100100101001010010`. -/ +theorem parameters_10100100101001010010 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (x16 = 3*x15+1 ∧ x15%2 = 1)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + (r18 : (x19 = 3*x18+1 ∧ x18%2 = 1)) + (r19 : (2*x20 = x19 ∧ x19%2 = 0)) + : ∃ q : Nat, x0 = 4096*q+3179 ∧ x1 = 12288*q+9538 ∧ x2 = 6144*q+4769 ∧ x3 = 18432*q+14308 ∧ x4 = 9216*q+7154 ∧ x5 = 4608*q+3577 ∧ x6 = 13824*q+10732 ∧ x7 = 6912*q+5366 ∧ x8 = 3456*q+2683 ∧ x9 = 10368*q+8050 ∧ x10 = 5184*q+4025 ∧ x11 = 15552*q+12076 ∧ x12 = 7776*q+6038 ∧ x13 = 3888*q+3019 ∧ x14 = 11664*q+9058 ∧ x15 = 5832*q+4529 ∧ x16 = 17496*q+13588 ∧ x17 = 8748*q+6794 ∧ x18 = 4374*q+3397 ∧ x19 = 13122*q+10192 ∧ x20 = 6561*q+5096 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19⟩ := parameters_1010010010100101001 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 + have hstep := r19.1 + have hparity := r19.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 + clear hparity + refine ⟨q,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · exact p0 + · exact p1 + · exact p2 + · exact p3 + · exact p4 + · exact p5 + · exact p6 + · exact p7 + · exact p8 + · exact p9 + · exact p10 + · exact p11 + · exact p12 + · exact p13 + · exact p14 + · exact p15 + · exact p16 + · exact p17 + · exact p18 + · exact p19 + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 + omega + + +end Collatz.Exploration.ElevenHalvesArithmetic diff --git a/Collatz/Exploration/ElevenHalvesArithmetic/Part10.lean b/Collatz/Exploration/ElevenHalvesArithmetic/Part10.lean new file mode 100644 index 00000000..9873ce5b --- /dev/null +++ b/Collatz/Exploration/ElevenHalvesArithmetic/Part10.lean @@ -0,0 +1,1152 @@ +import Collatz.Exploration.ElevenHalvesArithmetic.Part09 + +namespace Collatz.Exploration.ElevenHalvesArithmetic + +set_option maxHeartbeats 2000000 +set_option linter.unusedVariables false + +/-- Exact source residue and full affine trace for branch `10100101001001010010`. -/ +theorem parameters_10100101001001010010 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (x16 = 3*x15+1 ∧ x15%2 = 1)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + (r18 : (x19 = 3*x18+1 ∧ x18%2 = 1)) + (r19 : (2*x20 = x19 ∧ x19%2 = 0)) + : ∃ q : Nat, x0 = 4096*q+1915 ∧ x1 = 12288*q+5746 ∧ x2 = 6144*q+2873 ∧ x3 = 18432*q+8620 ∧ x4 = 9216*q+4310 ∧ x5 = 4608*q+2155 ∧ x6 = 13824*q+6466 ∧ x7 = 6912*q+3233 ∧ x8 = 20736*q+9700 ∧ x9 = 10368*q+4850 ∧ x10 = 5184*q+2425 ∧ x11 = 15552*q+7276 ∧ x12 = 7776*q+3638 ∧ x13 = 3888*q+1819 ∧ x14 = 11664*q+5458 ∧ x15 = 5832*q+2729 ∧ x16 = 17496*q+8188 ∧ x17 = 8748*q+4094 ∧ x18 = 4374*q+2047 ∧ x19 = 13122*q+6142 ∧ x20 = 6561*q+3071 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19⟩ := parameters_1010010100100101001 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 + have hstep := r19.1 + have hparity := r19.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 + clear hparity + refine ⟨q,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · exact p0 + · exact p1 + · exact p2 + · exact p3 + · exact p4 + · exact p5 + · exact p6 + · exact p7 + · exact p8 + · exact p9 + · exact p10 + · exact p11 + · exact p12 + · exact p13 + · exact p14 + · exact p15 + · exact p16 + · exact p17 + · exact p18 + · exact p19 + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 + omega + +/-- Exact source residue and full affine trace for branch `001010010010100101000`. -/ +theorem parameters_001010010010100101000 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (x16 = 3*x15+1 ∧ x15%2 = 1)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (x18 = 3*x17+1 ∧ x17%2 = 1)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + (r19 : (2*x20 = x19 ∧ x19%2 = 0)) + (r20 : (2*x21 = x20 ∧ x20%2 = 0)) + : ∃ q : Nat, x0 = 16384*q+4524 ∧ x1 = 8192*q+2262 ∧ x2 = 4096*q+1131 ∧ x3 = 12288*q+3394 ∧ x4 = 6144*q+1697 ∧ x5 = 18432*q+5092 ∧ x6 = 9216*q+2546 ∧ x7 = 4608*q+1273 ∧ x8 = 13824*q+3820 ∧ x9 = 6912*q+1910 ∧ x10 = 3456*q+955 ∧ x11 = 10368*q+2866 ∧ x12 = 5184*q+1433 ∧ x13 = 15552*q+4300 ∧ x14 = 7776*q+2150 ∧ x15 = 3888*q+1075 ∧ x16 = 11664*q+3226 ∧ x17 = 5832*q+1613 ∧ x18 = 17496*q+4840 ∧ x19 = 8748*q+2420 ∧ x20 = 4374*q+1210 ∧ x21 = 2187*q+605 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20⟩ := parameters_00101001001010010100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 + have hstep := r20.1 + have hparity := r20.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p16 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p17 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p18 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p19 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p20 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 + omega + +/-- Exact source residue and full affine trace for branch `001010010010100101001`. -/ +theorem parameters_001010010010100101001 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (x16 = 3*x15+1 ∧ x15%2 = 1)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (x18 = 3*x17+1 ∧ x17%2 = 1)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + (r19 : (2*x20 = x19 ∧ x19%2 = 0)) + (r20 : (x21 = 3*x20+1 ∧ x20%2 = 1)) + : ∃ q : Nat, x0 = 16384*q+12716 ∧ x1 = 8192*q+6358 ∧ x2 = 4096*q+3179 ∧ x3 = 12288*q+9538 ∧ x4 = 6144*q+4769 ∧ x5 = 18432*q+14308 ∧ x6 = 9216*q+7154 ∧ x7 = 4608*q+3577 ∧ x8 = 13824*q+10732 ∧ x9 = 6912*q+5366 ∧ x10 = 3456*q+2683 ∧ x11 = 10368*q+8050 ∧ x12 = 5184*q+4025 ∧ x13 = 15552*q+12076 ∧ x14 = 7776*q+6038 ∧ x15 = 3888*q+3019 ∧ x16 = 11664*q+9058 ∧ x17 = 5832*q+4529 ∧ x18 = 17496*q+13588 ∧ x19 = 8748*q+6794 ∧ x20 = 4374*q+3397 ∧ x21 = 13122*q+10192 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20⟩ := parameters_00101001001010010100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 + have hstep := r20.1 + have hparity := r20.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p16 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p17 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p18 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p19 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p20 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 + omega + +/-- Exact source residue and full affine trace for branch `001010010100100101000`. -/ +theorem parameters_001010010100100101000 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (x16 = 3*x15+1 ∧ x15%2 = 1)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (x18 = 3*x17+1 ∧ x17%2 = 1)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + (r19 : (2*x20 = x19 ∧ x19%2 = 0)) + (r20 : (2*x21 = x20 ∧ x20%2 = 0)) + : ∃ q : Nat, x0 = 16384*q+15852 ∧ x1 = 8192*q+7926 ∧ x2 = 4096*q+3963 ∧ x3 = 12288*q+11890 ∧ x4 = 6144*q+5945 ∧ x5 = 18432*q+17836 ∧ x6 = 9216*q+8918 ∧ x7 = 4608*q+4459 ∧ x8 = 13824*q+13378 ∧ x9 = 6912*q+6689 ∧ x10 = 20736*q+20068 ∧ x11 = 10368*q+10034 ∧ x12 = 5184*q+5017 ∧ x13 = 15552*q+15052 ∧ x14 = 7776*q+7526 ∧ x15 = 3888*q+3763 ∧ x16 = 11664*q+11290 ∧ x17 = 5832*q+5645 ∧ x18 = 17496*q+16936 ∧ x19 = 8748*q+8468 ∧ x20 = 4374*q+4234 ∧ x21 = 2187*q+2117 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20⟩ := parameters_00101001010010010100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 + have hstep := r20.1 + have hparity := r20.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p16 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p17 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p18 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p19 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p20 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 + omega + +/-- Exact source residue and full affine trace for branch `001010010100100101001`. -/ +theorem parameters_001010010100100101001 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (x16 = 3*x15+1 ∧ x15%2 = 1)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (x18 = 3*x17+1 ∧ x17%2 = 1)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + (r19 : (2*x20 = x19 ∧ x19%2 = 0)) + (r20 : (x21 = 3*x20+1 ∧ x20%2 = 1)) + : ∃ q : Nat, x0 = 16384*q+7660 ∧ x1 = 8192*q+3830 ∧ x2 = 4096*q+1915 ∧ x3 = 12288*q+5746 ∧ x4 = 6144*q+2873 ∧ x5 = 18432*q+8620 ∧ x6 = 9216*q+4310 ∧ x7 = 4608*q+2155 ∧ x8 = 13824*q+6466 ∧ x9 = 6912*q+3233 ∧ x10 = 20736*q+9700 ∧ x11 = 10368*q+4850 ∧ x12 = 5184*q+2425 ∧ x13 = 15552*q+7276 ∧ x14 = 7776*q+3638 ∧ x15 = 3888*q+1819 ∧ x16 = 11664*q+5458 ∧ x17 = 5832*q+2729 ∧ x18 = 17496*q+8188 ∧ x19 = 8748*q+4094 ∧ x20 = 4374*q+2047 ∧ x21 = 13122*q+6142 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20⟩ := parameters_00101001010010010100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 + have hstep := r20.1 + have hparity := r20.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p16 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p17 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p18 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p19 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p20 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 + omega + +/-- Exact source residue and full affine trace for branch `010010100100101001010`. -/ +theorem parameters_010010100100101001010 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (x18 = 3*x17+1 ∧ x17%2 = 1)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + (r19 : (x20 = 3*x19+1 ∧ x19%2 = 1)) + (r20 : (2*x21 = x20 ∧ x20%2 = 0)) + : ∃ q : Nat, x0 = 8192*q+5746 ∧ x1 = 4096*q+2873 ∧ x2 = 12288*q+8620 ∧ x3 = 6144*q+4310 ∧ x4 = 3072*q+2155 ∧ x5 = 9216*q+6466 ∧ x6 = 4608*q+3233 ∧ x7 = 13824*q+9700 ∧ x8 = 6912*q+4850 ∧ x9 = 3456*q+2425 ∧ x10 = 10368*q+7276 ∧ x11 = 5184*q+3638 ∧ x12 = 2592*q+1819 ∧ x13 = 7776*q+5458 ∧ x14 = 3888*q+2729 ∧ x15 = 11664*q+8188 ∧ x16 = 5832*q+4094 ∧ x17 = 2916*q+2047 ∧ x18 = 8748*q+6142 ∧ x19 = 4374*q+3071 ∧ x20 = 13122*q+9214 ∧ x21 = 6561*q+4607 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20⟩ := parameters_01001010010010100101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 + have hstep := r20.1 + have hparity := r20.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 + clear hparity + refine ⟨q,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · exact p0 + · exact p1 + · exact p2 + · exact p3 + · exact p4 + · exact p5 + · exact p6 + · exact p7 + · exact p8 + · exact p9 + · exact p10 + · exact p11 + · exact p12 + · exact p13 + · exact p14 + · exact p15 + · exact p16 + · exact p17 + · exact p18 + · exact p19 + · exact p20 + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 + omega + +/-- Exact source residue and full affine trace for branch `010010100101001001010`. -/ +theorem parameters_010010100101001001010 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (x18 = 3*x17+1 ∧ x17%2 = 1)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + (r19 : (x20 = 3*x19+1 ∧ x19%2 = 1)) + (r20 : (2*x21 = x20 ∧ x20%2 = 0)) + : ∃ q : Nat, x0 = 8192*q+5106 ∧ x1 = 4096*q+2553 ∧ x2 = 12288*q+7660 ∧ x3 = 6144*q+3830 ∧ x4 = 3072*q+1915 ∧ x5 = 9216*q+5746 ∧ x6 = 4608*q+2873 ∧ x7 = 13824*q+8620 ∧ x8 = 6912*q+4310 ∧ x9 = 3456*q+2155 ∧ x10 = 10368*q+6466 ∧ x11 = 5184*q+3233 ∧ x12 = 15552*q+9700 ∧ x13 = 7776*q+4850 ∧ x14 = 3888*q+2425 ∧ x15 = 11664*q+7276 ∧ x16 = 5832*q+3638 ∧ x17 = 2916*q+1819 ∧ x18 = 8748*q+5458 ∧ x19 = 4374*q+2729 ∧ x20 = 13122*q+8188 ∧ x21 = 6561*q+4094 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20⟩ := parameters_01001010010100100101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 + have hstep := r20.1 + have hparity := r20.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 + clear hparity + refine ⟨q,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · exact p0 + · exact p1 + · exact p2 + · exact p3 + · exact p4 + · exact p5 + · exact p6 + · exact p7 + · exact p8 + · exact p9 + · exact p10 + · exact p11 + · exact p12 + · exact p13 + · exact p14 + · exact p15 + · exact p16 + · exact p17 + · exact p18 + · exact p19 + · exact p20 + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 + omega + +/-- Exact source residue and full affine trace for branch `010100100101001010010`. -/ +theorem parameters_010100100101001010010 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (x17 = 3*x16+1 ∧ x16%2 = 1)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + (r19 : (x20 = 3*x19+1 ∧ x19%2 = 1)) + (r20 : (2*x21 = x20 ∧ x20%2 = 0)) + : ∃ q : Nat, x0 = 8192*q+6358 ∧ x1 = 4096*q+3179 ∧ x2 = 12288*q+9538 ∧ x3 = 6144*q+4769 ∧ x4 = 18432*q+14308 ∧ x5 = 9216*q+7154 ∧ x6 = 4608*q+3577 ∧ x7 = 13824*q+10732 ∧ x8 = 6912*q+5366 ∧ x9 = 3456*q+2683 ∧ x10 = 10368*q+8050 ∧ x11 = 5184*q+4025 ∧ x12 = 15552*q+12076 ∧ x13 = 7776*q+6038 ∧ x14 = 3888*q+3019 ∧ x15 = 11664*q+9058 ∧ x16 = 5832*q+4529 ∧ x17 = 17496*q+13588 ∧ x18 = 8748*q+6794 ∧ x19 = 4374*q+3397 ∧ x20 = 13122*q+10192 ∧ x21 = 6561*q+5096 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20⟩ := parameters_01010010010100101001 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 + have hstep := r20.1 + have hparity := r20.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 + clear hparity + refine ⟨q,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · exact p0 + · exact p1 + · exact p2 + · exact p3 + · exact p4 + · exact p5 + · exact p6 + · exact p7 + · exact p8 + · exact p9 + · exact p10 + · exact p11 + · exact p12 + · exact p13 + · exact p14 + · exact p15 + · exact p16 + · exact p17 + · exact p18 + · exact p19 + · exact p20 + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 + omega + +/-- Exact source residue and full affine trace for branch `010100101001001010010`. -/ +theorem parameters_010100101001001010010 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (x17 = 3*x16+1 ∧ x16%2 = 1)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + (r19 : (x20 = 3*x19+1 ∧ x19%2 = 1)) + (r20 : (2*x21 = x20 ∧ x20%2 = 0)) + : ∃ q : Nat, x0 = 8192*q+3830 ∧ x1 = 4096*q+1915 ∧ x2 = 12288*q+5746 ∧ x3 = 6144*q+2873 ∧ x4 = 18432*q+8620 ∧ x5 = 9216*q+4310 ∧ x6 = 4608*q+2155 ∧ x7 = 13824*q+6466 ∧ x8 = 6912*q+3233 ∧ x9 = 20736*q+9700 ∧ x10 = 10368*q+4850 ∧ x11 = 5184*q+2425 ∧ x12 = 15552*q+7276 ∧ x13 = 7776*q+3638 ∧ x14 = 3888*q+1819 ∧ x15 = 11664*q+5458 ∧ x16 = 5832*q+2729 ∧ x17 = 17496*q+8188 ∧ x18 = 8748*q+4094 ∧ x19 = 4374*q+2047 ∧ x20 = 13122*q+6142 ∧ x21 = 6561*q+3071 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20⟩ := parameters_01010010100100101001 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 + have hstep := r20.1 + have hparity := r20.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 + clear hparity + refine ⟨q,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · exact p0 + · exact p1 + · exact p2 + · exact p3 + · exact p4 + · exact p5 + · exact p6 + · exact p7 + · exact p8 + · exact p9 + · exact p10 + · exact p11 + · exact p12 + · exact p13 + · exact p14 + · exact p15 + · exact p16 + · exact p17 + · exact p18 + · exact p19 + · exact p20 + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 + omega + +/-- Exact source residue and full affine trace for branch `100101001001010010100`. -/ +theorem parameters_100101001001010010100 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (x17 = 3*x16+1 ∧ x16%2 = 1)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + (r18 : (x19 = 3*x18+1 ∧ x18%2 = 1)) + (r19 : (2*x20 = x19 ∧ x19%2 = 0)) + (r20 : (2*x21 = x20 ∧ x20%2 = 0)) + : ∃ q : Nat, x0 = 8192*q+6969 ∧ x1 = 24576*q+20908 ∧ x2 = 12288*q+10454 ∧ x3 = 6144*q+5227 ∧ x4 = 18432*q+15682 ∧ x5 = 9216*q+7841 ∧ x6 = 27648*q+23524 ∧ x7 = 13824*q+11762 ∧ x8 = 6912*q+5881 ∧ x9 = 20736*q+17644 ∧ x10 = 10368*q+8822 ∧ x11 = 5184*q+4411 ∧ x12 = 15552*q+13234 ∧ x13 = 7776*q+6617 ∧ x14 = 23328*q+19852 ∧ x15 = 11664*q+9926 ∧ x16 = 5832*q+4963 ∧ x17 = 17496*q+14890 ∧ x18 = 8748*q+7445 ∧ x19 = 26244*q+22336 ∧ x20 = 13122*q+11168 ∧ x21 = 6561*q+5584 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20⟩ := parameters_10010100100101001010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 + have hstep := r20.1 + have hparity := r20.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p16 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p17 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p18 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p19 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p20 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 + omega + +/-- Exact source residue and full affine trace for branch `100101001001010010101`. -/ +theorem parameters_100101001001010010101 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (x17 = 3*x16+1 ∧ x16%2 = 1)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + (r18 : (x19 = 3*x18+1 ∧ x18%2 = 1)) + (r19 : (2*x20 = x19 ∧ x19%2 = 0)) + (r20 : (x21 = 3*x20+1 ∧ x20%2 = 1)) + : ∃ q : Nat, x0 = 8192*q+2873 ∧ x1 = 24576*q+8620 ∧ x2 = 12288*q+4310 ∧ x3 = 6144*q+2155 ∧ x4 = 18432*q+6466 ∧ x5 = 9216*q+3233 ∧ x6 = 27648*q+9700 ∧ x7 = 13824*q+4850 ∧ x8 = 6912*q+2425 ∧ x9 = 20736*q+7276 ∧ x10 = 10368*q+3638 ∧ x11 = 5184*q+1819 ∧ x12 = 15552*q+5458 ∧ x13 = 7776*q+2729 ∧ x14 = 23328*q+8188 ∧ x15 = 11664*q+4094 ∧ x16 = 5832*q+2047 ∧ x17 = 17496*q+6142 ∧ x18 = 8748*q+3071 ∧ x19 = 26244*q+9214 ∧ x20 = 13122*q+4607 ∧ x21 = 39366*q+13822 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20⟩ := parameters_10010100100101001010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 + have hstep := r20.1 + have hparity := r20.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p16 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p17 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p18 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p19 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p20 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 + omega + +/-- Exact source residue and full affine trace for branch `100101001010010010100`. -/ +theorem parameters_100101001010010010100 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (x17 = 3*x16+1 ∧ x16%2 = 1)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + (r18 : (x19 = 3*x18+1 ∧ x18%2 = 1)) + (r19 : (2*x20 = x19 ∧ x19%2 = 0)) + (r20 : (2*x21 = x20 ∧ x20%2 = 0)) + : ∃ q : Nat, x0 = 8192*q+2553 ∧ x1 = 24576*q+7660 ∧ x2 = 12288*q+3830 ∧ x3 = 6144*q+1915 ∧ x4 = 18432*q+5746 ∧ x5 = 9216*q+2873 ∧ x6 = 27648*q+8620 ∧ x7 = 13824*q+4310 ∧ x8 = 6912*q+2155 ∧ x9 = 20736*q+6466 ∧ x10 = 10368*q+3233 ∧ x11 = 31104*q+9700 ∧ x12 = 15552*q+4850 ∧ x13 = 7776*q+2425 ∧ x14 = 23328*q+7276 ∧ x15 = 11664*q+3638 ∧ x16 = 5832*q+1819 ∧ x17 = 17496*q+5458 ∧ x18 = 8748*q+2729 ∧ x19 = 26244*q+8188 ∧ x20 = 13122*q+4094 ∧ x21 = 6561*q+2047 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20⟩ := parameters_10010100101001001010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 + have hstep := r20.1 + have hparity := r20.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p16 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p17 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p18 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p19 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p20 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 + omega + +/-- Exact source residue and full affine trace for branch `100101001010010010101`. -/ +theorem parameters_100101001010010010101 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (x17 = 3*x16+1 ∧ x16%2 = 1)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + (r18 : (x19 = 3*x18+1 ∧ x18%2 = 1)) + (r19 : (2*x20 = x19 ∧ x19%2 = 0)) + (r20 : (x21 = 3*x20+1 ∧ x20%2 = 1)) + : ∃ q : Nat, x0 = 8192*q+6649 ∧ x1 = 24576*q+19948 ∧ x2 = 12288*q+9974 ∧ x3 = 6144*q+4987 ∧ x4 = 18432*q+14962 ∧ x5 = 9216*q+7481 ∧ x6 = 27648*q+22444 ∧ x7 = 13824*q+11222 ∧ x8 = 6912*q+5611 ∧ x9 = 20736*q+16834 ∧ x10 = 10368*q+8417 ∧ x11 = 31104*q+25252 ∧ x12 = 15552*q+12626 ∧ x13 = 7776*q+6313 ∧ x14 = 23328*q+18940 ∧ x15 = 11664*q+9470 ∧ x16 = 5832*q+4735 ∧ x17 = 17496*q+14206 ∧ x18 = 8748*q+7103 ∧ x19 = 26244*q+21310 ∧ x20 = 13122*q+10655 ∧ x21 = 39366*q+31966 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20⟩ := parameters_10010100101001001010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 + have hstep := r20.1 + have hparity := r20.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p16 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p17 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p18 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p19 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p20 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 + omega + +/-- Exact source residue and full affine trace for branch `101001001010010100100`. -/ +theorem parameters_101001001010010100100 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (x16 = 3*x15+1 ∧ x15%2 = 1)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + (r18 : (x19 = 3*x18+1 ∧ x18%2 = 1)) + (r19 : (2*x20 = x19 ∧ x19%2 = 0)) + (r20 : (2*x21 = x20 ∧ x20%2 = 0)) + : ∃ q : Nat, x0 = 8192*q+3179 ∧ x1 = 24576*q+9538 ∧ x2 = 12288*q+4769 ∧ x3 = 36864*q+14308 ∧ x4 = 18432*q+7154 ∧ x5 = 9216*q+3577 ∧ x6 = 27648*q+10732 ∧ x7 = 13824*q+5366 ∧ x8 = 6912*q+2683 ∧ x9 = 20736*q+8050 ∧ x10 = 10368*q+4025 ∧ x11 = 31104*q+12076 ∧ x12 = 15552*q+6038 ∧ x13 = 7776*q+3019 ∧ x14 = 23328*q+9058 ∧ x15 = 11664*q+4529 ∧ x16 = 34992*q+13588 ∧ x17 = 17496*q+6794 ∧ x18 = 8748*q+3397 ∧ x19 = 26244*q+10192 ∧ x20 = 13122*q+5096 ∧ x21 = 6561*q+2548 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20⟩ := parameters_10100100101001010010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 + have hstep := r20.1 + have hparity := r20.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p16 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p17 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p18 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p19 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p20 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 + omega + +/-- Exact source residue and full affine trace for branch `101001001010010100101`. -/ +theorem parameters_101001001010010100101 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (x16 = 3*x15+1 ∧ x15%2 = 1)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + (r18 : (x19 = 3*x18+1 ∧ x18%2 = 1)) + (r19 : (2*x20 = x19 ∧ x19%2 = 0)) + (r20 : (x21 = 3*x20+1 ∧ x20%2 = 1)) + : ∃ q : Nat, x0 = 8192*q+7275 ∧ x1 = 24576*q+21826 ∧ x2 = 12288*q+10913 ∧ x3 = 36864*q+32740 ∧ x4 = 18432*q+16370 ∧ x5 = 9216*q+8185 ∧ x6 = 27648*q+24556 ∧ x7 = 13824*q+12278 ∧ x8 = 6912*q+6139 ∧ x9 = 20736*q+18418 ∧ x10 = 10368*q+9209 ∧ x11 = 31104*q+27628 ∧ x12 = 15552*q+13814 ∧ x13 = 7776*q+6907 ∧ x14 = 23328*q+20722 ∧ x15 = 11664*q+10361 ∧ x16 = 34992*q+31084 ∧ x17 = 17496*q+15542 ∧ x18 = 8748*q+7771 ∧ x19 = 26244*q+23314 ∧ x20 = 13122*q+11657 ∧ x21 = 39366*q+34972 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20⟩ := parameters_10100100101001010010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 + have hstep := r20.1 + have hparity := r20.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p16 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p17 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p18 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p19 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p20 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 + omega + +/-- Exact source residue and full affine trace for branch `101001010010010100100`. -/ +theorem parameters_101001010010010100100 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (x16 = 3*x15+1 ∧ x15%2 = 1)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + (r18 : (x19 = 3*x18+1 ∧ x18%2 = 1)) + (r19 : (2*x20 = x19 ∧ x19%2 = 0)) + (r20 : (2*x21 = x20 ∧ x20%2 = 0)) + : ∃ q : Nat, x0 = 8192*q+6011 ∧ x1 = 24576*q+18034 ∧ x2 = 12288*q+9017 ∧ x3 = 36864*q+27052 ∧ x4 = 18432*q+13526 ∧ x5 = 9216*q+6763 ∧ x6 = 27648*q+20290 ∧ x7 = 13824*q+10145 ∧ x8 = 41472*q+30436 ∧ x9 = 20736*q+15218 ∧ x10 = 10368*q+7609 ∧ x11 = 31104*q+22828 ∧ x12 = 15552*q+11414 ∧ x13 = 7776*q+5707 ∧ x14 = 23328*q+17122 ∧ x15 = 11664*q+8561 ∧ x16 = 34992*q+25684 ∧ x17 = 17496*q+12842 ∧ x18 = 8748*q+6421 ∧ x19 = 26244*q+19264 ∧ x20 = 13122*q+9632 ∧ x21 = 6561*q+4816 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20⟩ := parameters_10100101001001010010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 + have hstep := r20.1 + have hparity := r20.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p16 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p17 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p18 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p19 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p20 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 + omega + +/-- Exact source residue and full affine trace for branch `101001010010010100101`. -/ +theorem parameters_101001010010010100101 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (x16 = 3*x15+1 ∧ x15%2 = 1)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + (r18 : (x19 = 3*x18+1 ∧ x18%2 = 1)) + (r19 : (2*x20 = x19 ∧ x19%2 = 0)) + (r20 : (x21 = 3*x20+1 ∧ x20%2 = 1)) + : ∃ q : Nat, x0 = 8192*q+1915 ∧ x1 = 24576*q+5746 ∧ x2 = 12288*q+2873 ∧ x3 = 36864*q+8620 ∧ x4 = 18432*q+4310 ∧ x5 = 9216*q+2155 ∧ x6 = 27648*q+6466 ∧ x7 = 13824*q+3233 ∧ x8 = 41472*q+9700 ∧ x9 = 20736*q+4850 ∧ x10 = 10368*q+2425 ∧ x11 = 31104*q+7276 ∧ x12 = 15552*q+3638 ∧ x13 = 7776*q+1819 ∧ x14 = 23328*q+5458 ∧ x15 = 11664*q+2729 ∧ x16 = 34992*q+8188 ∧ x17 = 17496*q+4094 ∧ x18 = 8748*q+2047 ∧ x19 = 26244*q+6142 ∧ x20 = 13122*q+3071 ∧ x21 = 39366*q+9214 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20⟩ := parameters_10100101001001010010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 + have hstep := r20.1 + have hparity := r20.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p16 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p17 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p18 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p19 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p20 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 + omega + +/-- Exact source residue and full affine trace for branch `0010100100101001010010`. -/ +theorem parameters_0010100100101001010010 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (x16 = 3*x15+1 ∧ x15%2 = 1)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (x18 = 3*x17+1 ∧ x17%2 = 1)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + (r19 : (2*x20 = x19 ∧ x19%2 = 0)) + (r20 : (x21 = 3*x20+1 ∧ x20%2 = 1)) + (r21 : (2*x22 = x21 ∧ x21%2 = 0)) + : ∃ q : Nat, x0 = 16384*q+12716 ∧ x1 = 8192*q+6358 ∧ x2 = 4096*q+3179 ∧ x3 = 12288*q+9538 ∧ x4 = 6144*q+4769 ∧ x5 = 18432*q+14308 ∧ x6 = 9216*q+7154 ∧ x7 = 4608*q+3577 ∧ x8 = 13824*q+10732 ∧ x9 = 6912*q+5366 ∧ x10 = 3456*q+2683 ∧ x11 = 10368*q+8050 ∧ x12 = 5184*q+4025 ∧ x13 = 15552*q+12076 ∧ x14 = 7776*q+6038 ∧ x15 = 3888*q+3019 ∧ x16 = 11664*q+9058 ∧ x17 = 5832*q+4529 ∧ x18 = 17496*q+13588 ∧ x19 = 8748*q+6794 ∧ x20 = 4374*q+3397 ∧ x21 = 13122*q+10192 ∧ x22 = 6561*q+5096 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21⟩ := parameters_001010010010100101001 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 + have hstep := r21.1 + have hparity := r21.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 + clear hparity + refine ⟨q,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · exact p0 + · exact p1 + · exact p2 + · exact p3 + · exact p4 + · exact p5 + · exact p6 + · exact p7 + · exact p8 + · exact p9 + · exact p10 + · exact p11 + · exact p12 + · exact p13 + · exact p14 + · exact p15 + · exact p16 + · exact p17 + · exact p18 + · exact p19 + · exact p20 + · exact p21 + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 + omega + +/-- Exact source residue and full affine trace for branch `0010100101001001010010`. -/ +theorem parameters_0010100101001001010010 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (x16 = 3*x15+1 ∧ x15%2 = 1)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (x18 = 3*x17+1 ∧ x17%2 = 1)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + (r19 : (2*x20 = x19 ∧ x19%2 = 0)) + (r20 : (x21 = 3*x20+1 ∧ x20%2 = 1)) + (r21 : (2*x22 = x21 ∧ x21%2 = 0)) + : ∃ q : Nat, x0 = 16384*q+7660 ∧ x1 = 8192*q+3830 ∧ x2 = 4096*q+1915 ∧ x3 = 12288*q+5746 ∧ x4 = 6144*q+2873 ∧ x5 = 18432*q+8620 ∧ x6 = 9216*q+4310 ∧ x7 = 4608*q+2155 ∧ x8 = 13824*q+6466 ∧ x9 = 6912*q+3233 ∧ x10 = 20736*q+9700 ∧ x11 = 10368*q+4850 ∧ x12 = 5184*q+2425 ∧ x13 = 15552*q+7276 ∧ x14 = 7776*q+3638 ∧ x15 = 3888*q+1819 ∧ x16 = 11664*q+5458 ∧ x17 = 5832*q+2729 ∧ x18 = 17496*q+8188 ∧ x19 = 8748*q+4094 ∧ x20 = 4374*q+2047 ∧ x21 = 13122*q+6142 ∧ x22 = 6561*q+3071 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21⟩ := parameters_001010010100100101001 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 + have hstep := r21.1 + have hparity := r21.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 + clear hparity + refine ⟨q,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · exact p0 + · exact p1 + · exact p2 + · exact p3 + · exact p4 + · exact p5 + · exact p6 + · exact p7 + · exact p8 + · exact p9 + · exact p10 + · exact p11 + · exact p12 + · exact p13 + · exact p14 + · exact p15 + · exact p16 + · exact p17 + · exact p18 + · exact p19 + · exact p20 + · exact p21 + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 + omega + +/-- Exact source residue and full affine trace for branch `0100101001001010010100`. -/ +theorem parameters_0100101001001010010100 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (x18 = 3*x17+1 ∧ x17%2 = 1)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + (r19 : (x20 = 3*x19+1 ∧ x19%2 = 1)) + (r20 : (2*x21 = x20 ∧ x20%2 = 0)) + (r21 : (2*x22 = x21 ∧ x21%2 = 0)) + : ∃ q : Nat, x0 = 16384*q+13938 ∧ x1 = 8192*q+6969 ∧ x2 = 24576*q+20908 ∧ x3 = 12288*q+10454 ∧ x4 = 6144*q+5227 ∧ x5 = 18432*q+15682 ∧ x6 = 9216*q+7841 ∧ x7 = 27648*q+23524 ∧ x8 = 13824*q+11762 ∧ x9 = 6912*q+5881 ∧ x10 = 20736*q+17644 ∧ x11 = 10368*q+8822 ∧ x12 = 5184*q+4411 ∧ x13 = 15552*q+13234 ∧ x14 = 7776*q+6617 ∧ x15 = 23328*q+19852 ∧ x16 = 11664*q+9926 ∧ x17 = 5832*q+4963 ∧ x18 = 17496*q+14890 ∧ x19 = 8748*q+7445 ∧ x20 = 26244*q+22336 ∧ x21 = 13122*q+11168 ∧ x22 = 6561*q+5584 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21⟩ := parameters_010010100100101001010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 + have hstep := r21.1 + have hparity := r21.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p16 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p17 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p18 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p19 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p20 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p21 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 + omega + + +end Collatz.Exploration.ElevenHalvesArithmetic diff --git a/Collatz/Exploration/ElevenHalvesArithmetic/Part11.lean b/Collatz/Exploration/ElevenHalvesArithmetic/Part11.lean new file mode 100644 index 00000000..e3bac131 --- /dev/null +++ b/Collatz/Exploration/ElevenHalvesArithmetic/Part11.lean @@ -0,0 +1,1160 @@ +import Collatz.Exploration.ElevenHalvesArithmetic.Part10 + +namespace Collatz.Exploration.ElevenHalvesArithmetic + +set_option maxHeartbeats 2000000 +set_option linter.unusedVariables false + +/-- Exact source residue and full affine trace for branch `0100101001001010010101`. -/ +theorem parameters_0100101001001010010101 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (x18 = 3*x17+1 ∧ x17%2 = 1)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + (r19 : (x20 = 3*x19+1 ∧ x19%2 = 1)) + (r20 : (2*x21 = x20 ∧ x20%2 = 0)) + (r21 : (x22 = 3*x21+1 ∧ x21%2 = 1)) + : ∃ q : Nat, x0 = 16384*q+5746 ∧ x1 = 8192*q+2873 ∧ x2 = 24576*q+8620 ∧ x3 = 12288*q+4310 ∧ x4 = 6144*q+2155 ∧ x5 = 18432*q+6466 ∧ x6 = 9216*q+3233 ∧ x7 = 27648*q+9700 ∧ x8 = 13824*q+4850 ∧ x9 = 6912*q+2425 ∧ x10 = 20736*q+7276 ∧ x11 = 10368*q+3638 ∧ x12 = 5184*q+1819 ∧ x13 = 15552*q+5458 ∧ x14 = 7776*q+2729 ∧ x15 = 23328*q+8188 ∧ x16 = 11664*q+4094 ∧ x17 = 5832*q+2047 ∧ x18 = 17496*q+6142 ∧ x19 = 8748*q+3071 ∧ x20 = 26244*q+9214 ∧ x21 = 13122*q+4607 ∧ x22 = 39366*q+13822 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21⟩ := parameters_010010100100101001010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 + have hstep := r21.1 + have hparity := r21.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p16 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p17 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p18 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p19 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p20 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p21 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 + omega + +/-- Exact source residue and full affine trace for branch `0100101001010010010100`. -/ +theorem parameters_0100101001010010010100 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (x18 = 3*x17+1 ∧ x17%2 = 1)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + (r19 : (x20 = 3*x19+1 ∧ x19%2 = 1)) + (r20 : (2*x21 = x20 ∧ x20%2 = 0)) + (r21 : (2*x22 = x21 ∧ x21%2 = 0)) + : ∃ q : Nat, x0 = 16384*q+5106 ∧ x1 = 8192*q+2553 ∧ x2 = 24576*q+7660 ∧ x3 = 12288*q+3830 ∧ x4 = 6144*q+1915 ∧ x5 = 18432*q+5746 ∧ x6 = 9216*q+2873 ∧ x7 = 27648*q+8620 ∧ x8 = 13824*q+4310 ∧ x9 = 6912*q+2155 ∧ x10 = 20736*q+6466 ∧ x11 = 10368*q+3233 ∧ x12 = 31104*q+9700 ∧ x13 = 15552*q+4850 ∧ x14 = 7776*q+2425 ∧ x15 = 23328*q+7276 ∧ x16 = 11664*q+3638 ∧ x17 = 5832*q+1819 ∧ x18 = 17496*q+5458 ∧ x19 = 8748*q+2729 ∧ x20 = 26244*q+8188 ∧ x21 = 13122*q+4094 ∧ x22 = 6561*q+2047 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21⟩ := parameters_010010100101001001010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 + have hstep := r21.1 + have hparity := r21.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p16 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p17 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p18 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p19 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p20 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p21 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 + omega + +/-- Exact source residue and full affine trace for branch `0100101001010010010101`. -/ +theorem parameters_0100101001010010010101 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (x18 = 3*x17+1 ∧ x17%2 = 1)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + (r19 : (x20 = 3*x19+1 ∧ x19%2 = 1)) + (r20 : (2*x21 = x20 ∧ x20%2 = 0)) + (r21 : (x22 = 3*x21+1 ∧ x21%2 = 1)) + : ∃ q : Nat, x0 = 16384*q+13298 ∧ x1 = 8192*q+6649 ∧ x2 = 24576*q+19948 ∧ x3 = 12288*q+9974 ∧ x4 = 6144*q+4987 ∧ x5 = 18432*q+14962 ∧ x6 = 9216*q+7481 ∧ x7 = 27648*q+22444 ∧ x8 = 13824*q+11222 ∧ x9 = 6912*q+5611 ∧ x10 = 20736*q+16834 ∧ x11 = 10368*q+8417 ∧ x12 = 31104*q+25252 ∧ x13 = 15552*q+12626 ∧ x14 = 7776*q+6313 ∧ x15 = 23328*q+18940 ∧ x16 = 11664*q+9470 ∧ x17 = 5832*q+4735 ∧ x18 = 17496*q+14206 ∧ x19 = 8748*q+7103 ∧ x20 = 26244*q+21310 ∧ x21 = 13122*q+10655 ∧ x22 = 39366*q+31966 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21⟩ := parameters_010010100101001001010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 + have hstep := r21.1 + have hparity := r21.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p16 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p17 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p18 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p19 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p20 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p21 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 + omega + +/-- Exact source residue and full affine trace for branch `0101001001010010100100`. -/ +theorem parameters_0101001001010010100100 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (x17 = 3*x16+1 ∧ x16%2 = 1)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + (r19 : (x20 = 3*x19+1 ∧ x19%2 = 1)) + (r20 : (2*x21 = x20 ∧ x20%2 = 0)) + (r21 : (2*x22 = x21 ∧ x21%2 = 0)) + : ∃ q : Nat, x0 = 16384*q+6358 ∧ x1 = 8192*q+3179 ∧ x2 = 24576*q+9538 ∧ x3 = 12288*q+4769 ∧ x4 = 36864*q+14308 ∧ x5 = 18432*q+7154 ∧ x6 = 9216*q+3577 ∧ x7 = 27648*q+10732 ∧ x8 = 13824*q+5366 ∧ x9 = 6912*q+2683 ∧ x10 = 20736*q+8050 ∧ x11 = 10368*q+4025 ∧ x12 = 31104*q+12076 ∧ x13 = 15552*q+6038 ∧ x14 = 7776*q+3019 ∧ x15 = 23328*q+9058 ∧ x16 = 11664*q+4529 ∧ x17 = 34992*q+13588 ∧ x18 = 17496*q+6794 ∧ x19 = 8748*q+3397 ∧ x20 = 26244*q+10192 ∧ x21 = 13122*q+5096 ∧ x22 = 6561*q+2548 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21⟩ := parameters_010100100101001010010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 + have hstep := r21.1 + have hparity := r21.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p16 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p17 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p18 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p19 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p20 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p21 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 + omega + +/-- Exact source residue and full affine trace for branch `0101001001010010100101`. -/ +theorem parameters_0101001001010010100101 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (x17 = 3*x16+1 ∧ x16%2 = 1)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + (r19 : (x20 = 3*x19+1 ∧ x19%2 = 1)) + (r20 : (2*x21 = x20 ∧ x20%2 = 0)) + (r21 : (x22 = 3*x21+1 ∧ x21%2 = 1)) + : ∃ q : Nat, x0 = 16384*q+14550 ∧ x1 = 8192*q+7275 ∧ x2 = 24576*q+21826 ∧ x3 = 12288*q+10913 ∧ x4 = 36864*q+32740 ∧ x5 = 18432*q+16370 ∧ x6 = 9216*q+8185 ∧ x7 = 27648*q+24556 ∧ x8 = 13824*q+12278 ∧ x9 = 6912*q+6139 ∧ x10 = 20736*q+18418 ∧ x11 = 10368*q+9209 ∧ x12 = 31104*q+27628 ∧ x13 = 15552*q+13814 ∧ x14 = 7776*q+6907 ∧ x15 = 23328*q+20722 ∧ x16 = 11664*q+10361 ∧ x17 = 34992*q+31084 ∧ x18 = 17496*q+15542 ∧ x19 = 8748*q+7771 ∧ x20 = 26244*q+23314 ∧ x21 = 13122*q+11657 ∧ x22 = 39366*q+34972 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21⟩ := parameters_010100100101001010010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 + have hstep := r21.1 + have hparity := r21.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p16 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p17 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p18 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p19 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p20 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p21 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 + omega + +/-- Exact source residue and full affine trace for branch `0101001010010010100100`. -/ +theorem parameters_0101001010010010100100 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (x17 = 3*x16+1 ∧ x16%2 = 1)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + (r19 : (x20 = 3*x19+1 ∧ x19%2 = 1)) + (r20 : (2*x21 = x20 ∧ x20%2 = 0)) + (r21 : (2*x22 = x21 ∧ x21%2 = 0)) + : ∃ q : Nat, x0 = 16384*q+12022 ∧ x1 = 8192*q+6011 ∧ x2 = 24576*q+18034 ∧ x3 = 12288*q+9017 ∧ x4 = 36864*q+27052 ∧ x5 = 18432*q+13526 ∧ x6 = 9216*q+6763 ∧ x7 = 27648*q+20290 ∧ x8 = 13824*q+10145 ∧ x9 = 41472*q+30436 ∧ x10 = 20736*q+15218 ∧ x11 = 10368*q+7609 ∧ x12 = 31104*q+22828 ∧ x13 = 15552*q+11414 ∧ x14 = 7776*q+5707 ∧ x15 = 23328*q+17122 ∧ x16 = 11664*q+8561 ∧ x17 = 34992*q+25684 ∧ x18 = 17496*q+12842 ∧ x19 = 8748*q+6421 ∧ x20 = 26244*q+19264 ∧ x21 = 13122*q+9632 ∧ x22 = 6561*q+4816 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21⟩ := parameters_010100101001001010010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 + have hstep := r21.1 + have hparity := r21.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p16 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p17 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p18 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p19 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p20 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p21 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 + omega + +/-- Exact source residue and full affine trace for branch `0101001010010010100101`. -/ +theorem parameters_0101001010010010100101 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (x17 = 3*x16+1 ∧ x16%2 = 1)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + (r19 : (x20 = 3*x19+1 ∧ x19%2 = 1)) + (r20 : (2*x21 = x20 ∧ x20%2 = 0)) + (r21 : (x22 = 3*x21+1 ∧ x21%2 = 1)) + : ∃ q : Nat, x0 = 16384*q+3830 ∧ x1 = 8192*q+1915 ∧ x2 = 24576*q+5746 ∧ x3 = 12288*q+2873 ∧ x4 = 36864*q+8620 ∧ x5 = 18432*q+4310 ∧ x6 = 9216*q+2155 ∧ x7 = 27648*q+6466 ∧ x8 = 13824*q+3233 ∧ x9 = 41472*q+9700 ∧ x10 = 20736*q+4850 ∧ x11 = 10368*q+2425 ∧ x12 = 31104*q+7276 ∧ x13 = 15552*q+3638 ∧ x14 = 7776*q+1819 ∧ x15 = 23328*q+5458 ∧ x16 = 11664*q+2729 ∧ x17 = 34992*q+8188 ∧ x18 = 17496*q+4094 ∧ x19 = 8748*q+2047 ∧ x20 = 26244*q+6142 ∧ x21 = 13122*q+3071 ∧ x22 = 39366*q+9214 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21⟩ := parameters_010100101001001010010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 + have hstep := r21.1 + have hparity := r21.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p16 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p17 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p18 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p19 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p20 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p21 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 + omega + +/-- Exact source residue and full affine trace for branch `1001010010010100101000`. -/ +theorem parameters_1001010010010100101000 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (x17 = 3*x16+1 ∧ x16%2 = 1)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + (r18 : (x19 = 3*x18+1 ∧ x18%2 = 1)) + (r19 : (2*x20 = x19 ∧ x19%2 = 0)) + (r20 : (2*x21 = x20 ∧ x20%2 = 0)) + (r21 : (2*x22 = x21 ∧ x21%2 = 0)) + : ∃ q : Nat, x0 = 16384*q+6969 ∧ x1 = 49152*q+20908 ∧ x2 = 24576*q+10454 ∧ x3 = 12288*q+5227 ∧ x4 = 36864*q+15682 ∧ x5 = 18432*q+7841 ∧ x6 = 55296*q+23524 ∧ x7 = 27648*q+11762 ∧ x8 = 13824*q+5881 ∧ x9 = 41472*q+17644 ∧ x10 = 20736*q+8822 ∧ x11 = 10368*q+4411 ∧ x12 = 31104*q+13234 ∧ x13 = 15552*q+6617 ∧ x14 = 46656*q+19852 ∧ x15 = 23328*q+9926 ∧ x16 = 11664*q+4963 ∧ x17 = 34992*q+14890 ∧ x18 = 17496*q+7445 ∧ x19 = 52488*q+22336 ∧ x20 = 26244*q+11168 ∧ x21 = 13122*q+5584 ∧ x22 = 6561*q+2792 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21⟩ := parameters_100101001001010010100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 + have hstep := r21.1 + have hparity := r21.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p16 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p17 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p18 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p19 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p20 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p21 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 + omega + +/-- Exact source residue and full affine trace for branch `1001010010010100101001`. -/ +theorem parameters_1001010010010100101001 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (x17 = 3*x16+1 ∧ x16%2 = 1)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + (r18 : (x19 = 3*x18+1 ∧ x18%2 = 1)) + (r19 : (2*x20 = x19 ∧ x19%2 = 0)) + (r20 : (2*x21 = x20 ∧ x20%2 = 0)) + (r21 : (x22 = 3*x21+1 ∧ x21%2 = 1)) + : ∃ q : Nat, x0 = 16384*q+15161 ∧ x1 = 49152*q+45484 ∧ x2 = 24576*q+22742 ∧ x3 = 12288*q+11371 ∧ x4 = 36864*q+34114 ∧ x5 = 18432*q+17057 ∧ x6 = 55296*q+51172 ∧ x7 = 27648*q+25586 ∧ x8 = 13824*q+12793 ∧ x9 = 41472*q+38380 ∧ x10 = 20736*q+19190 ∧ x11 = 10368*q+9595 ∧ x12 = 31104*q+28786 ∧ x13 = 15552*q+14393 ∧ x14 = 46656*q+43180 ∧ x15 = 23328*q+21590 ∧ x16 = 11664*q+10795 ∧ x17 = 34992*q+32386 ∧ x18 = 17496*q+16193 ∧ x19 = 52488*q+48580 ∧ x20 = 26244*q+24290 ∧ x21 = 13122*q+12145 ∧ x22 = 39366*q+36436 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21⟩ := parameters_100101001001010010100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 + have hstep := r21.1 + have hparity := r21.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p16 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p17 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p18 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p19 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p20 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p21 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 + omega + +/-- Exact source residue and full affine trace for branch `1001010010100100101000`. -/ +theorem parameters_1001010010100100101000 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (x17 = 3*x16+1 ∧ x16%2 = 1)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + (r18 : (x19 = 3*x18+1 ∧ x18%2 = 1)) + (r19 : (2*x20 = x19 ∧ x19%2 = 0)) + (r20 : (2*x21 = x20 ∧ x20%2 = 0)) + (r21 : (2*x22 = x21 ∧ x21%2 = 0)) + : ∃ q : Nat, x0 = 16384*q+10745 ∧ x1 = 49152*q+32236 ∧ x2 = 24576*q+16118 ∧ x3 = 12288*q+8059 ∧ x4 = 36864*q+24178 ∧ x5 = 18432*q+12089 ∧ x6 = 55296*q+36268 ∧ x7 = 27648*q+18134 ∧ x8 = 13824*q+9067 ∧ x9 = 41472*q+27202 ∧ x10 = 20736*q+13601 ∧ x11 = 62208*q+40804 ∧ x12 = 31104*q+20402 ∧ x13 = 15552*q+10201 ∧ x14 = 46656*q+30604 ∧ x15 = 23328*q+15302 ∧ x16 = 11664*q+7651 ∧ x17 = 34992*q+22954 ∧ x18 = 17496*q+11477 ∧ x19 = 52488*q+34432 ∧ x20 = 26244*q+17216 ∧ x21 = 13122*q+8608 ∧ x22 = 6561*q+4304 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21⟩ := parameters_100101001010010010100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 + have hstep := r21.1 + have hparity := r21.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p16 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p17 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p18 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p19 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p20 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p21 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 + omega + +/-- Exact source residue and full affine trace for branch `1001010010100100101001`. -/ +theorem parameters_1001010010100100101001 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (x17 = 3*x16+1 ∧ x16%2 = 1)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + (r18 : (x19 = 3*x18+1 ∧ x18%2 = 1)) + (r19 : (2*x20 = x19 ∧ x19%2 = 0)) + (r20 : (2*x21 = x20 ∧ x20%2 = 0)) + (r21 : (x22 = 3*x21+1 ∧ x21%2 = 1)) + : ∃ q : Nat, x0 = 16384*q+2553 ∧ x1 = 49152*q+7660 ∧ x2 = 24576*q+3830 ∧ x3 = 12288*q+1915 ∧ x4 = 36864*q+5746 ∧ x5 = 18432*q+2873 ∧ x6 = 55296*q+8620 ∧ x7 = 27648*q+4310 ∧ x8 = 13824*q+2155 ∧ x9 = 41472*q+6466 ∧ x10 = 20736*q+3233 ∧ x11 = 62208*q+9700 ∧ x12 = 31104*q+4850 ∧ x13 = 15552*q+2425 ∧ x14 = 46656*q+7276 ∧ x15 = 23328*q+3638 ∧ x16 = 11664*q+1819 ∧ x17 = 34992*q+5458 ∧ x18 = 17496*q+2729 ∧ x19 = 52488*q+8188 ∧ x20 = 26244*q+4094 ∧ x21 = 13122*q+2047 ∧ x22 = 39366*q+6142 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21⟩ := parameters_100101001010010010100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 + have hstep := r21.1 + have hparity := r21.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p16 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p17 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p18 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p19 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p20 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p21 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 + omega + +/-- Exact source residue and full affine trace for branch `1010010100100101001010`. -/ +theorem parameters_1010010100100101001010 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (x16 = 3*x15+1 ∧ x15%2 = 1)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + (r18 : (x19 = 3*x18+1 ∧ x18%2 = 1)) + (r19 : (2*x20 = x19 ∧ x19%2 = 0)) + (r20 : (x21 = 3*x20+1 ∧ x20%2 = 1)) + (r21 : (2*x22 = x21 ∧ x21%2 = 0)) + : ∃ q : Nat, x0 = 8192*q+1915 ∧ x1 = 24576*q+5746 ∧ x2 = 12288*q+2873 ∧ x3 = 36864*q+8620 ∧ x4 = 18432*q+4310 ∧ x5 = 9216*q+2155 ∧ x6 = 27648*q+6466 ∧ x7 = 13824*q+3233 ∧ x8 = 41472*q+9700 ∧ x9 = 20736*q+4850 ∧ x10 = 10368*q+2425 ∧ x11 = 31104*q+7276 ∧ x12 = 15552*q+3638 ∧ x13 = 7776*q+1819 ∧ x14 = 23328*q+5458 ∧ x15 = 11664*q+2729 ∧ x16 = 34992*q+8188 ∧ x17 = 17496*q+4094 ∧ x18 = 8748*q+2047 ∧ x19 = 26244*q+6142 ∧ x20 = 13122*q+3071 ∧ x21 = 39366*q+9214 ∧ x22 = 19683*q+4607 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21⟩ := parameters_101001010010010100101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 + have hstep := r21.1 + have hparity := r21.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 + clear hparity + refine ⟨q,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · exact p0 + · exact p1 + · exact p2 + · exact p3 + · exact p4 + · exact p5 + · exact p6 + · exact p7 + · exact p8 + · exact p9 + · exact p10 + · exact p11 + · exact p12 + · exact p13 + · exact p14 + · exact p15 + · exact p16 + · exact p17 + · exact p18 + · exact p19 + · exact p20 + · exact p21 + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 + omega + +/-- Exact source residue and full affine trace for branch `00101001001010010100100`. -/ +theorem parameters_00101001001010010100100 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (x16 = 3*x15+1 ∧ x15%2 = 1)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (x18 = 3*x17+1 ∧ x17%2 = 1)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + (r19 : (2*x20 = x19 ∧ x19%2 = 0)) + (r20 : (x21 = 3*x20+1 ∧ x20%2 = 1)) + (r21 : (2*x22 = x21 ∧ x21%2 = 0)) + (r22 : (2*x23 = x22 ∧ x22%2 = 0)) + : ∃ q : Nat, x0 = 32768*q+12716 ∧ x1 = 16384*q+6358 ∧ x2 = 8192*q+3179 ∧ x3 = 24576*q+9538 ∧ x4 = 12288*q+4769 ∧ x5 = 36864*q+14308 ∧ x6 = 18432*q+7154 ∧ x7 = 9216*q+3577 ∧ x8 = 27648*q+10732 ∧ x9 = 13824*q+5366 ∧ x10 = 6912*q+2683 ∧ x11 = 20736*q+8050 ∧ x12 = 10368*q+4025 ∧ x13 = 31104*q+12076 ∧ x14 = 15552*q+6038 ∧ x15 = 7776*q+3019 ∧ x16 = 23328*q+9058 ∧ x17 = 11664*q+4529 ∧ x18 = 34992*q+13588 ∧ x19 = 17496*q+6794 ∧ x20 = 8748*q+3397 ∧ x21 = 26244*q+10192 ∧ x22 = 13122*q+5096 ∧ x23 = 6561*q+2548 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22⟩ := parameters_0010100100101001010010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 + have hstep := r22.1 + have hparity := r22.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p16 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p17 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p18 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p19 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p20 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p21 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p22 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 + omega + +/-- Exact source residue and full affine trace for branch `00101001001010010100101`. -/ +theorem parameters_00101001001010010100101 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (x16 = 3*x15+1 ∧ x15%2 = 1)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (x18 = 3*x17+1 ∧ x17%2 = 1)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + (r19 : (2*x20 = x19 ∧ x19%2 = 0)) + (r20 : (x21 = 3*x20+1 ∧ x20%2 = 1)) + (r21 : (2*x22 = x21 ∧ x21%2 = 0)) + (r22 : (x23 = 3*x22+1 ∧ x22%2 = 1)) + : ∃ q : Nat, x0 = 32768*q+29100 ∧ x1 = 16384*q+14550 ∧ x2 = 8192*q+7275 ∧ x3 = 24576*q+21826 ∧ x4 = 12288*q+10913 ∧ x5 = 36864*q+32740 ∧ x6 = 18432*q+16370 ∧ x7 = 9216*q+8185 ∧ x8 = 27648*q+24556 ∧ x9 = 13824*q+12278 ∧ x10 = 6912*q+6139 ∧ x11 = 20736*q+18418 ∧ x12 = 10368*q+9209 ∧ x13 = 31104*q+27628 ∧ x14 = 15552*q+13814 ∧ x15 = 7776*q+6907 ∧ x16 = 23328*q+20722 ∧ x17 = 11664*q+10361 ∧ x18 = 34992*q+31084 ∧ x19 = 17496*q+15542 ∧ x20 = 8748*q+7771 ∧ x21 = 26244*q+23314 ∧ x22 = 13122*q+11657 ∧ x23 = 39366*q+34972 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22⟩ := parameters_0010100100101001010010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 + have hstep := r22.1 + have hparity := r22.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p16 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p17 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p18 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p19 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p20 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p21 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p22 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 + omega + +/-- Exact source residue and full affine trace for branch `00101001010010010100100`. -/ +theorem parameters_00101001010010010100100 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (x16 = 3*x15+1 ∧ x15%2 = 1)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (x18 = 3*x17+1 ∧ x17%2 = 1)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + (r19 : (2*x20 = x19 ∧ x19%2 = 0)) + (r20 : (x21 = 3*x20+1 ∧ x20%2 = 1)) + (r21 : (2*x22 = x21 ∧ x21%2 = 0)) + (r22 : (2*x23 = x22 ∧ x22%2 = 0)) + : ∃ q : Nat, x0 = 32768*q+24044 ∧ x1 = 16384*q+12022 ∧ x2 = 8192*q+6011 ∧ x3 = 24576*q+18034 ∧ x4 = 12288*q+9017 ∧ x5 = 36864*q+27052 ∧ x6 = 18432*q+13526 ∧ x7 = 9216*q+6763 ∧ x8 = 27648*q+20290 ∧ x9 = 13824*q+10145 ∧ x10 = 41472*q+30436 ∧ x11 = 20736*q+15218 ∧ x12 = 10368*q+7609 ∧ x13 = 31104*q+22828 ∧ x14 = 15552*q+11414 ∧ x15 = 7776*q+5707 ∧ x16 = 23328*q+17122 ∧ x17 = 11664*q+8561 ∧ x18 = 34992*q+25684 ∧ x19 = 17496*q+12842 ∧ x20 = 8748*q+6421 ∧ x21 = 26244*q+19264 ∧ x22 = 13122*q+9632 ∧ x23 = 6561*q+4816 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22⟩ := parameters_0010100101001001010010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 + have hstep := r22.1 + have hparity := r22.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p16 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p17 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p18 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p19 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p20 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p21 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p22 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 + omega + +/-- Exact source residue and full affine trace for branch `00101001010010010100101`. -/ +theorem parameters_00101001010010010100101 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (x16 = 3*x15+1 ∧ x15%2 = 1)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (x18 = 3*x17+1 ∧ x17%2 = 1)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + (r19 : (2*x20 = x19 ∧ x19%2 = 0)) + (r20 : (x21 = 3*x20+1 ∧ x20%2 = 1)) + (r21 : (2*x22 = x21 ∧ x21%2 = 0)) + (r22 : (x23 = 3*x22+1 ∧ x22%2 = 1)) + : ∃ q : Nat, x0 = 32768*q+7660 ∧ x1 = 16384*q+3830 ∧ x2 = 8192*q+1915 ∧ x3 = 24576*q+5746 ∧ x4 = 12288*q+2873 ∧ x5 = 36864*q+8620 ∧ x6 = 18432*q+4310 ∧ x7 = 9216*q+2155 ∧ x8 = 27648*q+6466 ∧ x9 = 13824*q+3233 ∧ x10 = 41472*q+9700 ∧ x11 = 20736*q+4850 ∧ x12 = 10368*q+2425 ∧ x13 = 31104*q+7276 ∧ x14 = 15552*q+3638 ∧ x15 = 7776*q+1819 ∧ x16 = 23328*q+5458 ∧ x17 = 11664*q+2729 ∧ x18 = 34992*q+8188 ∧ x19 = 17496*q+4094 ∧ x20 = 8748*q+2047 ∧ x21 = 26244*q+6142 ∧ x22 = 13122*q+3071 ∧ x23 = 39366*q+9214 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22⟩ := parameters_0010100101001001010010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 + have hstep := r22.1 + have hparity := r22.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p16 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p17 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p18 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p19 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p20 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p21 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p22 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 + omega + +/-- Exact source residue and full affine trace for branch `01001010010010100101000`. -/ +theorem parameters_01001010010010100101000 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (x18 = 3*x17+1 ∧ x17%2 = 1)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + (r19 : (x20 = 3*x19+1 ∧ x19%2 = 1)) + (r20 : (2*x21 = x20 ∧ x20%2 = 0)) + (r21 : (2*x22 = x21 ∧ x21%2 = 0)) + (r22 : (2*x23 = x22 ∧ x22%2 = 0)) + : ∃ q : Nat, x0 = 32768*q+13938 ∧ x1 = 16384*q+6969 ∧ x2 = 49152*q+20908 ∧ x3 = 24576*q+10454 ∧ x4 = 12288*q+5227 ∧ x5 = 36864*q+15682 ∧ x6 = 18432*q+7841 ∧ x7 = 55296*q+23524 ∧ x8 = 27648*q+11762 ∧ x9 = 13824*q+5881 ∧ x10 = 41472*q+17644 ∧ x11 = 20736*q+8822 ∧ x12 = 10368*q+4411 ∧ x13 = 31104*q+13234 ∧ x14 = 15552*q+6617 ∧ x15 = 46656*q+19852 ∧ x16 = 23328*q+9926 ∧ x17 = 11664*q+4963 ∧ x18 = 34992*q+14890 ∧ x19 = 17496*q+7445 ∧ x20 = 52488*q+22336 ∧ x21 = 26244*q+11168 ∧ x22 = 13122*q+5584 ∧ x23 = 6561*q+2792 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22⟩ := parameters_0100101001001010010100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 + have hstep := r22.1 + have hparity := r22.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p16 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p17 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p18 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p19 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p20 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p21 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p22 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 + omega + +/-- Exact source residue and full affine trace for branch `01001010010010100101001`. -/ +theorem parameters_01001010010010100101001 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (x18 = 3*x17+1 ∧ x17%2 = 1)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + (r19 : (x20 = 3*x19+1 ∧ x19%2 = 1)) + (r20 : (2*x21 = x20 ∧ x20%2 = 0)) + (r21 : (2*x22 = x21 ∧ x21%2 = 0)) + (r22 : (x23 = 3*x22+1 ∧ x22%2 = 1)) + : ∃ q : Nat, x0 = 32768*q+30322 ∧ x1 = 16384*q+15161 ∧ x2 = 49152*q+45484 ∧ x3 = 24576*q+22742 ∧ x4 = 12288*q+11371 ∧ x5 = 36864*q+34114 ∧ x6 = 18432*q+17057 ∧ x7 = 55296*q+51172 ∧ x8 = 27648*q+25586 ∧ x9 = 13824*q+12793 ∧ x10 = 41472*q+38380 ∧ x11 = 20736*q+19190 ∧ x12 = 10368*q+9595 ∧ x13 = 31104*q+28786 ∧ x14 = 15552*q+14393 ∧ x15 = 46656*q+43180 ∧ x16 = 23328*q+21590 ∧ x17 = 11664*q+10795 ∧ x18 = 34992*q+32386 ∧ x19 = 17496*q+16193 ∧ x20 = 52488*q+48580 ∧ x21 = 26244*q+24290 ∧ x22 = 13122*q+12145 ∧ x23 = 39366*q+36436 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22⟩ := parameters_0100101001001010010100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 + have hstep := r22.1 + have hparity := r22.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p16 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p17 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p18 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p19 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p20 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p21 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p22 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 + omega + +/-- Exact source residue and full affine trace for branch `01001010010100100101000`. -/ +theorem parameters_01001010010100100101000 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (x18 = 3*x17+1 ∧ x17%2 = 1)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + (r19 : (x20 = 3*x19+1 ∧ x19%2 = 1)) + (r20 : (2*x21 = x20 ∧ x20%2 = 0)) + (r21 : (2*x22 = x21 ∧ x21%2 = 0)) + (r22 : (2*x23 = x22 ∧ x22%2 = 0)) + : ∃ q : Nat, x0 = 32768*q+21490 ∧ x1 = 16384*q+10745 ∧ x2 = 49152*q+32236 ∧ x3 = 24576*q+16118 ∧ x4 = 12288*q+8059 ∧ x5 = 36864*q+24178 ∧ x6 = 18432*q+12089 ∧ x7 = 55296*q+36268 ∧ x8 = 27648*q+18134 ∧ x9 = 13824*q+9067 ∧ x10 = 41472*q+27202 ∧ x11 = 20736*q+13601 ∧ x12 = 62208*q+40804 ∧ x13 = 31104*q+20402 ∧ x14 = 15552*q+10201 ∧ x15 = 46656*q+30604 ∧ x16 = 23328*q+15302 ∧ x17 = 11664*q+7651 ∧ x18 = 34992*q+22954 ∧ x19 = 17496*q+11477 ∧ x20 = 52488*q+34432 ∧ x21 = 26244*q+17216 ∧ x22 = 13122*q+8608 ∧ x23 = 6561*q+4304 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22⟩ := parameters_0100101001010010010100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 + have hstep := r22.1 + have hparity := r22.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p16 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p17 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p18 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p19 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p20 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p21 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p22 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 + omega + + +end Collatz.Exploration.ElevenHalvesArithmetic diff --git a/Collatz/Exploration/ElevenHalvesArithmetic/Part12.lean b/Collatz/Exploration/ElevenHalvesArithmetic/Part12.lean new file mode 100644 index 00000000..2ad11169 --- /dev/null +++ b/Collatz/Exploration/ElevenHalvesArithmetic/Part12.lean @@ -0,0 +1,1199 @@ +import Collatz.Exploration.ElevenHalvesArithmetic.Part11 + +namespace Collatz.Exploration.ElevenHalvesArithmetic + +set_option maxHeartbeats 2000000 +set_option linter.unusedVariables false + +/-- Exact source residue and full affine trace for branch `01001010010100100101001`. -/ +theorem parameters_01001010010100100101001 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (x18 = 3*x17+1 ∧ x17%2 = 1)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + (r19 : (x20 = 3*x19+1 ∧ x19%2 = 1)) + (r20 : (2*x21 = x20 ∧ x20%2 = 0)) + (r21 : (2*x22 = x21 ∧ x21%2 = 0)) + (r22 : (x23 = 3*x22+1 ∧ x22%2 = 1)) + : ∃ q : Nat, x0 = 32768*q+5106 ∧ x1 = 16384*q+2553 ∧ x2 = 49152*q+7660 ∧ x3 = 24576*q+3830 ∧ x4 = 12288*q+1915 ∧ x5 = 36864*q+5746 ∧ x6 = 18432*q+2873 ∧ x7 = 55296*q+8620 ∧ x8 = 27648*q+4310 ∧ x9 = 13824*q+2155 ∧ x10 = 41472*q+6466 ∧ x11 = 20736*q+3233 ∧ x12 = 62208*q+9700 ∧ x13 = 31104*q+4850 ∧ x14 = 15552*q+2425 ∧ x15 = 46656*q+7276 ∧ x16 = 23328*q+3638 ∧ x17 = 11664*q+1819 ∧ x18 = 34992*q+5458 ∧ x19 = 17496*q+2729 ∧ x20 = 52488*q+8188 ∧ x21 = 26244*q+4094 ∧ x22 = 13122*q+2047 ∧ x23 = 39366*q+6142 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22⟩ := parameters_0100101001010010010100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 + have hstep := r22.1 + have hparity := r22.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p16 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p17 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p18 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p19 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p20 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p21 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p22 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 + omega + +/-- Exact source residue and full affine trace for branch `01010010100100101001010`. -/ +theorem parameters_01010010100100101001010 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (x17 = 3*x16+1 ∧ x16%2 = 1)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + (r19 : (x20 = 3*x19+1 ∧ x19%2 = 1)) + (r20 : (2*x21 = x20 ∧ x20%2 = 0)) + (r21 : (x22 = 3*x21+1 ∧ x21%2 = 1)) + (r22 : (2*x23 = x22 ∧ x22%2 = 0)) + : ∃ q : Nat, x0 = 16384*q+3830 ∧ x1 = 8192*q+1915 ∧ x2 = 24576*q+5746 ∧ x3 = 12288*q+2873 ∧ x4 = 36864*q+8620 ∧ x5 = 18432*q+4310 ∧ x6 = 9216*q+2155 ∧ x7 = 27648*q+6466 ∧ x8 = 13824*q+3233 ∧ x9 = 41472*q+9700 ∧ x10 = 20736*q+4850 ∧ x11 = 10368*q+2425 ∧ x12 = 31104*q+7276 ∧ x13 = 15552*q+3638 ∧ x14 = 7776*q+1819 ∧ x15 = 23328*q+5458 ∧ x16 = 11664*q+2729 ∧ x17 = 34992*q+8188 ∧ x18 = 17496*q+4094 ∧ x19 = 8748*q+2047 ∧ x20 = 26244*q+6142 ∧ x21 = 13122*q+3071 ∧ x22 = 39366*q+9214 ∧ x23 = 19683*q+4607 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22⟩ := parameters_0101001010010010100101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 + have hstep := r22.1 + have hparity := r22.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 + clear hparity + refine ⟨q,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · exact p0 + · exact p1 + · exact p2 + · exact p3 + · exact p4 + · exact p5 + · exact p6 + · exact p7 + · exact p8 + · exact p9 + · exact p10 + · exact p11 + · exact p12 + · exact p13 + · exact p14 + · exact p15 + · exact p16 + · exact p17 + · exact p18 + · exact p19 + · exact p20 + · exact p21 + · exact p22 + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 + omega + +/-- Exact source residue and full affine trace for branch `10010100100101001010010`. -/ +theorem parameters_10010100100101001010010 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (x17 = 3*x16+1 ∧ x16%2 = 1)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + (r18 : (x19 = 3*x18+1 ∧ x18%2 = 1)) + (r19 : (2*x20 = x19 ∧ x19%2 = 0)) + (r20 : (2*x21 = x20 ∧ x20%2 = 0)) + (r21 : (x22 = 3*x21+1 ∧ x21%2 = 1)) + (r22 : (2*x23 = x22 ∧ x22%2 = 0)) + : ∃ q : Nat, x0 = 16384*q+15161 ∧ x1 = 49152*q+45484 ∧ x2 = 24576*q+22742 ∧ x3 = 12288*q+11371 ∧ x4 = 36864*q+34114 ∧ x5 = 18432*q+17057 ∧ x6 = 55296*q+51172 ∧ x7 = 27648*q+25586 ∧ x8 = 13824*q+12793 ∧ x9 = 41472*q+38380 ∧ x10 = 20736*q+19190 ∧ x11 = 10368*q+9595 ∧ x12 = 31104*q+28786 ∧ x13 = 15552*q+14393 ∧ x14 = 46656*q+43180 ∧ x15 = 23328*q+21590 ∧ x16 = 11664*q+10795 ∧ x17 = 34992*q+32386 ∧ x18 = 17496*q+16193 ∧ x19 = 52488*q+48580 ∧ x20 = 26244*q+24290 ∧ x21 = 13122*q+12145 ∧ x22 = 39366*q+36436 ∧ x23 = 19683*q+18218 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22⟩ := parameters_1001010010010100101001 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 + have hstep := r22.1 + have hparity := r22.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 + clear hparity + refine ⟨q,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · exact p0 + · exact p1 + · exact p2 + · exact p3 + · exact p4 + · exact p5 + · exact p6 + · exact p7 + · exact p8 + · exact p9 + · exact p10 + · exact p11 + · exact p12 + · exact p13 + · exact p14 + · exact p15 + · exact p16 + · exact p17 + · exact p18 + · exact p19 + · exact p20 + · exact p21 + · exact p22 + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 + omega + +/-- Exact source residue and full affine trace for branch `10010100101001001010010`. -/ +theorem parameters_10010100101001001010010 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (x17 = 3*x16+1 ∧ x16%2 = 1)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + (r18 : (x19 = 3*x18+1 ∧ x18%2 = 1)) + (r19 : (2*x20 = x19 ∧ x19%2 = 0)) + (r20 : (2*x21 = x20 ∧ x20%2 = 0)) + (r21 : (x22 = 3*x21+1 ∧ x21%2 = 1)) + (r22 : (2*x23 = x22 ∧ x22%2 = 0)) + : ∃ q : Nat, x0 = 16384*q+2553 ∧ x1 = 49152*q+7660 ∧ x2 = 24576*q+3830 ∧ x3 = 12288*q+1915 ∧ x4 = 36864*q+5746 ∧ x5 = 18432*q+2873 ∧ x6 = 55296*q+8620 ∧ x7 = 27648*q+4310 ∧ x8 = 13824*q+2155 ∧ x9 = 41472*q+6466 ∧ x10 = 20736*q+3233 ∧ x11 = 62208*q+9700 ∧ x12 = 31104*q+4850 ∧ x13 = 15552*q+2425 ∧ x14 = 46656*q+7276 ∧ x15 = 23328*q+3638 ∧ x16 = 11664*q+1819 ∧ x17 = 34992*q+5458 ∧ x18 = 17496*q+2729 ∧ x19 = 52488*q+8188 ∧ x20 = 26244*q+4094 ∧ x21 = 13122*q+2047 ∧ x22 = 39366*q+6142 ∧ x23 = 19683*q+3071 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22⟩ := parameters_1001010010100100101001 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 + have hstep := r22.1 + have hparity := r22.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 + clear hparity + refine ⟨q,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · exact p0 + · exact p1 + · exact p2 + · exact p3 + · exact p4 + · exact p5 + · exact p6 + · exact p7 + · exact p8 + · exact p9 + · exact p10 + · exact p11 + · exact p12 + · exact p13 + · exact p14 + · exact p15 + · exact p16 + · exact p17 + · exact p18 + · exact p19 + · exact p20 + · exact p21 + · exact p22 + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 + omega + +/-- Exact source residue and full affine trace for branch `10100101001001010010100`. -/ +theorem parameters_10100101001001010010100 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (x16 = 3*x15+1 ∧ x15%2 = 1)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + (r18 : (x19 = 3*x18+1 ∧ x18%2 = 1)) + (r19 : (2*x20 = x19 ∧ x19%2 = 0)) + (r20 : (x21 = 3*x20+1 ∧ x20%2 = 1)) + (r21 : (2*x22 = x21 ∧ x21%2 = 0)) + (r22 : (2*x23 = x22 ∧ x22%2 = 0)) + : ∃ q : Nat, x0 = 16384*q+10107 ∧ x1 = 49152*q+30322 ∧ x2 = 24576*q+15161 ∧ x3 = 73728*q+45484 ∧ x4 = 36864*q+22742 ∧ x5 = 18432*q+11371 ∧ x6 = 55296*q+34114 ∧ x7 = 27648*q+17057 ∧ x8 = 82944*q+51172 ∧ x9 = 41472*q+25586 ∧ x10 = 20736*q+12793 ∧ x11 = 62208*q+38380 ∧ x12 = 31104*q+19190 ∧ x13 = 15552*q+9595 ∧ x14 = 46656*q+28786 ∧ x15 = 23328*q+14393 ∧ x16 = 69984*q+43180 ∧ x17 = 34992*q+21590 ∧ x18 = 17496*q+10795 ∧ x19 = 52488*q+32386 ∧ x20 = 26244*q+16193 ∧ x21 = 78732*q+48580 ∧ x22 = 39366*q+24290 ∧ x23 = 19683*q+12145 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22⟩ := parameters_1010010100100101001010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 + have hstep := r22.1 + have hparity := r22.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p16 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p17 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p18 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p19 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p20 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p21 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p22 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 + omega + +/-- Exact source residue and full affine trace for branch `10100101001001010010101`. -/ +theorem parameters_10100101001001010010101 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (x16 = 3*x15+1 ∧ x15%2 = 1)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + (r18 : (x19 = 3*x18+1 ∧ x18%2 = 1)) + (r19 : (2*x20 = x19 ∧ x19%2 = 0)) + (r20 : (x21 = 3*x20+1 ∧ x20%2 = 1)) + (r21 : (2*x22 = x21 ∧ x21%2 = 0)) + (r22 : (x23 = 3*x22+1 ∧ x22%2 = 1)) + : ∃ q : Nat, x0 = 16384*q+1915 ∧ x1 = 49152*q+5746 ∧ x2 = 24576*q+2873 ∧ x3 = 73728*q+8620 ∧ x4 = 36864*q+4310 ∧ x5 = 18432*q+2155 ∧ x6 = 55296*q+6466 ∧ x7 = 27648*q+3233 ∧ x8 = 82944*q+9700 ∧ x9 = 41472*q+4850 ∧ x10 = 20736*q+2425 ∧ x11 = 62208*q+7276 ∧ x12 = 31104*q+3638 ∧ x13 = 15552*q+1819 ∧ x14 = 46656*q+5458 ∧ x15 = 23328*q+2729 ∧ x16 = 69984*q+8188 ∧ x17 = 34992*q+4094 ∧ x18 = 17496*q+2047 ∧ x19 = 52488*q+6142 ∧ x20 = 26244*q+3071 ∧ x21 = 78732*q+9214 ∧ x22 = 39366*q+4607 ∧ x23 = 118098*q+13822 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22⟩ := parameters_1010010100100101001010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 + have hstep := r22.1 + have hparity := r22.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p16 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p17 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p18 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p19 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p20 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p21 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p22 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 + omega + +/-- Exact source residue and full affine trace for branch `001010010100100101001010`. -/ +theorem parameters_001010010100100101001010 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (x16 = 3*x15+1 ∧ x15%2 = 1)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (x18 = 3*x17+1 ∧ x17%2 = 1)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + (r19 : (2*x20 = x19 ∧ x19%2 = 0)) + (r20 : (x21 = 3*x20+1 ∧ x20%2 = 1)) + (r21 : (2*x22 = x21 ∧ x21%2 = 0)) + (r22 : (x23 = 3*x22+1 ∧ x22%2 = 1)) + (r23 : (2*x24 = x23 ∧ x23%2 = 0)) + : ∃ q : Nat, x0 = 32768*q+7660 ∧ x1 = 16384*q+3830 ∧ x2 = 8192*q+1915 ∧ x3 = 24576*q+5746 ∧ x4 = 12288*q+2873 ∧ x5 = 36864*q+8620 ∧ x6 = 18432*q+4310 ∧ x7 = 9216*q+2155 ∧ x8 = 27648*q+6466 ∧ x9 = 13824*q+3233 ∧ x10 = 41472*q+9700 ∧ x11 = 20736*q+4850 ∧ x12 = 10368*q+2425 ∧ x13 = 31104*q+7276 ∧ x14 = 15552*q+3638 ∧ x15 = 7776*q+1819 ∧ x16 = 23328*q+5458 ∧ x17 = 11664*q+2729 ∧ x18 = 34992*q+8188 ∧ x19 = 17496*q+4094 ∧ x20 = 8748*q+2047 ∧ x21 = 26244*q+6142 ∧ x22 = 13122*q+3071 ∧ x23 = 39366*q+9214 ∧ x24 = 19683*q+4607 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23⟩ := parameters_00101001010010010100101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 + have hstep := r23.1 + have hparity := r23.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 + clear hparity + refine ⟨q,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · exact p0 + · exact p1 + · exact p2 + · exact p3 + · exact p4 + · exact p5 + · exact p6 + · exact p7 + · exact p8 + · exact p9 + · exact p10 + · exact p11 + · exact p12 + · exact p13 + · exact p14 + · exact p15 + · exact p16 + · exact p17 + · exact p18 + · exact p19 + · exact p20 + · exact p21 + · exact p22 + · exact p23 + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 + omega + +/-- Exact source residue and full affine trace for branch `010010100100101001010010`. -/ +theorem parameters_010010100100101001010010 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (x18 = 3*x17+1 ∧ x17%2 = 1)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + (r19 : (x20 = 3*x19+1 ∧ x19%2 = 1)) + (r20 : (2*x21 = x20 ∧ x20%2 = 0)) + (r21 : (2*x22 = x21 ∧ x21%2 = 0)) + (r22 : (x23 = 3*x22+1 ∧ x22%2 = 1)) + (r23 : (2*x24 = x23 ∧ x23%2 = 0)) + : ∃ q : Nat, x0 = 32768*q+30322 ∧ x1 = 16384*q+15161 ∧ x2 = 49152*q+45484 ∧ x3 = 24576*q+22742 ∧ x4 = 12288*q+11371 ∧ x5 = 36864*q+34114 ∧ x6 = 18432*q+17057 ∧ x7 = 55296*q+51172 ∧ x8 = 27648*q+25586 ∧ x9 = 13824*q+12793 ∧ x10 = 41472*q+38380 ∧ x11 = 20736*q+19190 ∧ x12 = 10368*q+9595 ∧ x13 = 31104*q+28786 ∧ x14 = 15552*q+14393 ∧ x15 = 46656*q+43180 ∧ x16 = 23328*q+21590 ∧ x17 = 11664*q+10795 ∧ x18 = 34992*q+32386 ∧ x19 = 17496*q+16193 ∧ x20 = 52488*q+48580 ∧ x21 = 26244*q+24290 ∧ x22 = 13122*q+12145 ∧ x23 = 39366*q+36436 ∧ x24 = 19683*q+18218 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23⟩ := parameters_01001010010010100101001 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 + have hstep := r23.1 + have hparity := r23.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 + clear hparity + refine ⟨q,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · exact p0 + · exact p1 + · exact p2 + · exact p3 + · exact p4 + · exact p5 + · exact p6 + · exact p7 + · exact p8 + · exact p9 + · exact p10 + · exact p11 + · exact p12 + · exact p13 + · exact p14 + · exact p15 + · exact p16 + · exact p17 + · exact p18 + · exact p19 + · exact p20 + · exact p21 + · exact p22 + · exact p23 + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 + omega + +/-- Exact source residue and full affine trace for branch `010010100101001001010010`. -/ +theorem parameters_010010100101001001010010 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (x18 = 3*x17+1 ∧ x17%2 = 1)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + (r19 : (x20 = 3*x19+1 ∧ x19%2 = 1)) + (r20 : (2*x21 = x20 ∧ x20%2 = 0)) + (r21 : (2*x22 = x21 ∧ x21%2 = 0)) + (r22 : (x23 = 3*x22+1 ∧ x22%2 = 1)) + (r23 : (2*x24 = x23 ∧ x23%2 = 0)) + : ∃ q : Nat, x0 = 32768*q+5106 ∧ x1 = 16384*q+2553 ∧ x2 = 49152*q+7660 ∧ x3 = 24576*q+3830 ∧ x4 = 12288*q+1915 ∧ x5 = 36864*q+5746 ∧ x6 = 18432*q+2873 ∧ x7 = 55296*q+8620 ∧ x8 = 27648*q+4310 ∧ x9 = 13824*q+2155 ∧ x10 = 41472*q+6466 ∧ x11 = 20736*q+3233 ∧ x12 = 62208*q+9700 ∧ x13 = 31104*q+4850 ∧ x14 = 15552*q+2425 ∧ x15 = 46656*q+7276 ∧ x16 = 23328*q+3638 ∧ x17 = 11664*q+1819 ∧ x18 = 34992*q+5458 ∧ x19 = 17496*q+2729 ∧ x20 = 52488*q+8188 ∧ x21 = 26244*q+4094 ∧ x22 = 13122*q+2047 ∧ x23 = 39366*q+6142 ∧ x24 = 19683*q+3071 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23⟩ := parameters_01001010010100100101001 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 + have hstep := r23.1 + have hparity := r23.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 + clear hparity + refine ⟨q,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · exact p0 + · exact p1 + · exact p2 + · exact p3 + · exact p4 + · exact p5 + · exact p6 + · exact p7 + · exact p8 + · exact p9 + · exact p10 + · exact p11 + · exact p12 + · exact p13 + · exact p14 + · exact p15 + · exact p16 + · exact p17 + · exact p18 + · exact p19 + · exact p20 + · exact p21 + · exact p22 + · exact p23 + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 + omega + +/-- Exact source residue and full affine trace for branch `010100101001001010010100`. -/ +theorem parameters_010100101001001010010100 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (x17 = 3*x16+1 ∧ x16%2 = 1)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + (r19 : (x20 = 3*x19+1 ∧ x19%2 = 1)) + (r20 : (2*x21 = x20 ∧ x20%2 = 0)) + (r21 : (x22 = 3*x21+1 ∧ x21%2 = 1)) + (r22 : (2*x23 = x22 ∧ x22%2 = 0)) + (r23 : (2*x24 = x23 ∧ x23%2 = 0)) + : ∃ q : Nat, x0 = 32768*q+20214 ∧ x1 = 16384*q+10107 ∧ x2 = 49152*q+30322 ∧ x3 = 24576*q+15161 ∧ x4 = 73728*q+45484 ∧ x5 = 36864*q+22742 ∧ x6 = 18432*q+11371 ∧ x7 = 55296*q+34114 ∧ x8 = 27648*q+17057 ∧ x9 = 82944*q+51172 ∧ x10 = 41472*q+25586 ∧ x11 = 20736*q+12793 ∧ x12 = 62208*q+38380 ∧ x13 = 31104*q+19190 ∧ x14 = 15552*q+9595 ∧ x15 = 46656*q+28786 ∧ x16 = 23328*q+14393 ∧ x17 = 69984*q+43180 ∧ x18 = 34992*q+21590 ∧ x19 = 17496*q+10795 ∧ x20 = 52488*q+32386 ∧ x21 = 26244*q+16193 ∧ x22 = 78732*q+48580 ∧ x23 = 39366*q+24290 ∧ x24 = 19683*q+12145 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23⟩ := parameters_01010010100100101001010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 + have hstep := r23.1 + have hparity := r23.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p16 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p17 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p18 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p19 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p20 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p21 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p22 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p23 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 + omega + +/-- Exact source residue and full affine trace for branch `010100101001001010010101`. -/ +theorem parameters_010100101001001010010101 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (x17 = 3*x16+1 ∧ x16%2 = 1)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + (r19 : (x20 = 3*x19+1 ∧ x19%2 = 1)) + (r20 : (2*x21 = x20 ∧ x20%2 = 0)) + (r21 : (x22 = 3*x21+1 ∧ x21%2 = 1)) + (r22 : (2*x23 = x22 ∧ x22%2 = 0)) + (r23 : (x24 = 3*x23+1 ∧ x23%2 = 1)) + : ∃ q : Nat, x0 = 32768*q+3830 ∧ x1 = 16384*q+1915 ∧ x2 = 49152*q+5746 ∧ x3 = 24576*q+2873 ∧ x4 = 73728*q+8620 ∧ x5 = 36864*q+4310 ∧ x6 = 18432*q+2155 ∧ x7 = 55296*q+6466 ∧ x8 = 27648*q+3233 ∧ x9 = 82944*q+9700 ∧ x10 = 41472*q+4850 ∧ x11 = 20736*q+2425 ∧ x12 = 62208*q+7276 ∧ x13 = 31104*q+3638 ∧ x14 = 15552*q+1819 ∧ x15 = 46656*q+5458 ∧ x16 = 23328*q+2729 ∧ x17 = 69984*q+8188 ∧ x18 = 34992*q+4094 ∧ x19 = 17496*q+2047 ∧ x20 = 52488*q+6142 ∧ x21 = 26244*q+3071 ∧ x22 = 78732*q+9214 ∧ x23 = 39366*q+4607 ∧ x24 = 118098*q+13822 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23⟩ := parameters_01010010100100101001010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 + have hstep := r23.1 + have hparity := r23.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p16 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p17 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p18 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p19 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p20 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p21 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p22 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p23 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 + omega + +/-- Exact source residue and full affine trace for branch `100101001001010010100100`. -/ +theorem parameters_100101001001010010100100 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (x17 = 3*x16+1 ∧ x16%2 = 1)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + (r18 : (x19 = 3*x18+1 ∧ x18%2 = 1)) + (r19 : (2*x20 = x19 ∧ x19%2 = 0)) + (r20 : (2*x21 = x20 ∧ x20%2 = 0)) + (r21 : (x22 = 3*x21+1 ∧ x21%2 = 1)) + (r22 : (2*x23 = x22 ∧ x22%2 = 0)) + (r23 : (2*x24 = x23 ∧ x23%2 = 0)) + : ∃ q : Nat, x0 = 32768*q+15161 ∧ x1 = 98304*q+45484 ∧ x2 = 49152*q+22742 ∧ x3 = 24576*q+11371 ∧ x4 = 73728*q+34114 ∧ x5 = 36864*q+17057 ∧ x6 = 110592*q+51172 ∧ x7 = 55296*q+25586 ∧ x8 = 27648*q+12793 ∧ x9 = 82944*q+38380 ∧ x10 = 41472*q+19190 ∧ x11 = 20736*q+9595 ∧ x12 = 62208*q+28786 ∧ x13 = 31104*q+14393 ∧ x14 = 93312*q+43180 ∧ x15 = 46656*q+21590 ∧ x16 = 23328*q+10795 ∧ x17 = 69984*q+32386 ∧ x18 = 34992*q+16193 ∧ x19 = 104976*q+48580 ∧ x20 = 52488*q+24290 ∧ x21 = 26244*q+12145 ∧ x22 = 78732*q+36436 ∧ x23 = 39366*q+18218 ∧ x24 = 19683*q+9109 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23⟩ := parameters_10010100100101001010010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 + have hstep := r23.1 + have hparity := r23.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p16 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p17 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p18 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p19 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p20 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p21 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p22 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p23 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 + omega + +/-- Exact source residue and full affine trace for branch `100101001001010010100101`. -/ +theorem parameters_100101001001010010100101 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (x17 = 3*x16+1 ∧ x16%2 = 1)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + (r18 : (x19 = 3*x18+1 ∧ x18%2 = 1)) + (r19 : (2*x20 = x19 ∧ x19%2 = 0)) + (r20 : (2*x21 = x20 ∧ x20%2 = 0)) + (r21 : (x22 = 3*x21+1 ∧ x21%2 = 1)) + (r22 : (2*x23 = x22 ∧ x22%2 = 0)) + (r23 : (x24 = 3*x23+1 ∧ x23%2 = 1)) + : ∃ q : Nat, x0 = 32768*q+31545 ∧ x1 = 98304*q+94636 ∧ x2 = 49152*q+47318 ∧ x3 = 24576*q+23659 ∧ x4 = 73728*q+70978 ∧ x5 = 36864*q+35489 ∧ x6 = 110592*q+106468 ∧ x7 = 55296*q+53234 ∧ x8 = 27648*q+26617 ∧ x9 = 82944*q+79852 ∧ x10 = 41472*q+39926 ∧ x11 = 20736*q+19963 ∧ x12 = 62208*q+59890 ∧ x13 = 31104*q+29945 ∧ x14 = 93312*q+89836 ∧ x15 = 46656*q+44918 ∧ x16 = 23328*q+22459 ∧ x17 = 69984*q+67378 ∧ x18 = 34992*q+33689 ∧ x19 = 104976*q+101068 ∧ x20 = 52488*q+50534 ∧ x21 = 26244*q+25267 ∧ x22 = 78732*q+75802 ∧ x23 = 39366*q+37901 ∧ x24 = 118098*q+113704 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23⟩ := parameters_10010100100101001010010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 + have hstep := r23.1 + have hparity := r23.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p16 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p17 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p18 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p19 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p20 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p21 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p22 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p23 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 + omega + +/-- Exact source residue and full affine trace for branch `100101001010010010100100`. -/ +theorem parameters_100101001010010010100100 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (x17 = 3*x16+1 ∧ x16%2 = 1)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + (r18 : (x19 = 3*x18+1 ∧ x18%2 = 1)) + (r19 : (2*x20 = x19 ∧ x19%2 = 0)) + (r20 : (2*x21 = x20 ∧ x20%2 = 0)) + (r21 : (x22 = 3*x21+1 ∧ x21%2 = 1)) + (r22 : (2*x23 = x22 ∧ x22%2 = 0)) + (r23 : (2*x24 = x23 ∧ x23%2 = 0)) + : ∃ q : Nat, x0 = 32768*q+18937 ∧ x1 = 98304*q+56812 ∧ x2 = 49152*q+28406 ∧ x3 = 24576*q+14203 ∧ x4 = 73728*q+42610 ∧ x5 = 36864*q+21305 ∧ x6 = 110592*q+63916 ∧ x7 = 55296*q+31958 ∧ x8 = 27648*q+15979 ∧ x9 = 82944*q+47938 ∧ x10 = 41472*q+23969 ∧ x11 = 124416*q+71908 ∧ x12 = 62208*q+35954 ∧ x13 = 31104*q+17977 ∧ x14 = 93312*q+53932 ∧ x15 = 46656*q+26966 ∧ x16 = 23328*q+13483 ∧ x17 = 69984*q+40450 ∧ x18 = 34992*q+20225 ∧ x19 = 104976*q+60676 ∧ x20 = 52488*q+30338 ∧ x21 = 26244*q+15169 ∧ x22 = 78732*q+45508 ∧ x23 = 39366*q+22754 ∧ x24 = 19683*q+11377 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23⟩ := parameters_10010100101001001010010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 + have hstep := r23.1 + have hparity := r23.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p16 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p17 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p18 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p19 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p20 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p21 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p22 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p23 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 + omega + +/-- Exact source residue and full affine trace for branch `100101001010010010100101`. -/ +theorem parameters_100101001010010010100101 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (x17 = 3*x16+1 ∧ x16%2 = 1)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + (r18 : (x19 = 3*x18+1 ∧ x18%2 = 1)) + (r19 : (2*x20 = x19 ∧ x19%2 = 0)) + (r20 : (2*x21 = x20 ∧ x20%2 = 0)) + (r21 : (x22 = 3*x21+1 ∧ x21%2 = 1)) + (r22 : (2*x23 = x22 ∧ x22%2 = 0)) + (r23 : (x24 = 3*x23+1 ∧ x23%2 = 1)) + : ∃ q : Nat, x0 = 32768*q+2553 ∧ x1 = 98304*q+7660 ∧ x2 = 49152*q+3830 ∧ x3 = 24576*q+1915 ∧ x4 = 73728*q+5746 ∧ x5 = 36864*q+2873 ∧ x6 = 110592*q+8620 ∧ x7 = 55296*q+4310 ∧ x8 = 27648*q+2155 ∧ x9 = 82944*q+6466 ∧ x10 = 41472*q+3233 ∧ x11 = 124416*q+9700 ∧ x12 = 62208*q+4850 ∧ x13 = 31104*q+2425 ∧ x14 = 93312*q+7276 ∧ x15 = 46656*q+3638 ∧ x16 = 23328*q+1819 ∧ x17 = 69984*q+5458 ∧ x18 = 34992*q+2729 ∧ x19 = 104976*q+8188 ∧ x20 = 52488*q+4094 ∧ x21 = 26244*q+2047 ∧ x22 = 78732*q+6142 ∧ x23 = 39366*q+3071 ∧ x24 = 118098*q+9214 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23⟩ := parameters_10010100101001001010010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 + have hstep := r23.1 + have hparity := r23.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p16 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p17 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p18 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p19 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p20 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p21 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p22 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p23 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 + omega + +/-- Exact source residue and full affine trace for branch `101001010010010100101000`. -/ +theorem parameters_101001010010010100101000 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (x16 = 3*x15+1 ∧ x15%2 = 1)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + (r18 : (x19 = 3*x18+1 ∧ x18%2 = 1)) + (r19 : (2*x20 = x19 ∧ x19%2 = 0)) + (r20 : (x21 = 3*x20+1 ∧ x20%2 = 1)) + (r21 : (2*x22 = x21 ∧ x21%2 = 0)) + (r22 : (2*x23 = x22 ∧ x22%2 = 0)) + (r23 : (2*x24 = x23 ∧ x23%2 = 0)) + : ∃ q : Nat, x0 = 32768*q+26491 ∧ x1 = 98304*q+79474 ∧ x2 = 49152*q+39737 ∧ x3 = 147456*q+119212 ∧ x4 = 73728*q+59606 ∧ x5 = 36864*q+29803 ∧ x6 = 110592*q+89410 ∧ x7 = 55296*q+44705 ∧ x8 = 165888*q+134116 ∧ x9 = 82944*q+67058 ∧ x10 = 41472*q+33529 ∧ x11 = 124416*q+100588 ∧ x12 = 62208*q+50294 ∧ x13 = 31104*q+25147 ∧ x14 = 93312*q+75442 ∧ x15 = 46656*q+37721 ∧ x16 = 139968*q+113164 ∧ x17 = 69984*q+56582 ∧ x18 = 34992*q+28291 ∧ x19 = 104976*q+84874 ∧ x20 = 52488*q+42437 ∧ x21 = 157464*q+127312 ∧ x22 = 78732*q+63656 ∧ x23 = 39366*q+31828 ∧ x24 = 19683*q+15914 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23⟩ := parameters_10100101001001010010100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 + have hstep := r23.1 + have hparity := r23.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p16 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p17 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p18 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p19 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p20 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p21 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p22 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p23 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 + omega + +/-- Exact source residue and full affine trace for branch `101001010010010100101001`. -/ +theorem parameters_101001010010010100101001 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (x16 = 3*x15+1 ∧ x15%2 = 1)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + (r18 : (x19 = 3*x18+1 ∧ x18%2 = 1)) + (r19 : (2*x20 = x19 ∧ x19%2 = 0)) + (r20 : (x21 = 3*x20+1 ∧ x20%2 = 1)) + (r21 : (2*x22 = x21 ∧ x21%2 = 0)) + (r22 : (2*x23 = x22 ∧ x22%2 = 0)) + (r23 : (x24 = 3*x23+1 ∧ x23%2 = 1)) + : ∃ q : Nat, x0 = 32768*q+10107 ∧ x1 = 98304*q+30322 ∧ x2 = 49152*q+15161 ∧ x3 = 147456*q+45484 ∧ x4 = 73728*q+22742 ∧ x5 = 36864*q+11371 ∧ x6 = 110592*q+34114 ∧ x7 = 55296*q+17057 ∧ x8 = 165888*q+51172 ∧ x9 = 82944*q+25586 ∧ x10 = 41472*q+12793 ∧ x11 = 124416*q+38380 ∧ x12 = 62208*q+19190 ∧ x13 = 31104*q+9595 ∧ x14 = 93312*q+28786 ∧ x15 = 46656*q+14393 ∧ x16 = 139968*q+43180 ∧ x17 = 69984*q+21590 ∧ x18 = 34992*q+10795 ∧ x19 = 104976*q+32386 ∧ x20 = 52488*q+16193 ∧ x21 = 157464*q+48580 ∧ x22 = 78732*q+24290 ∧ x23 = 39366*q+12145 ∧ x24 = 118098*q+36436 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23⟩ := parameters_10100101001001010010100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 + have hstep := r23.1 + have hparity := r23.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p16 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p17 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p18 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p19 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p20 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p21 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p22 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p23 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 + omega + +/-- Exact source residue and full affine trace for branch `0010100101001001010010100`. -/ +theorem parameters_0010100101001001010010100 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (x16 = 3*x15+1 ∧ x15%2 = 1)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (x18 = 3*x17+1 ∧ x17%2 = 1)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + (r19 : (2*x20 = x19 ∧ x19%2 = 0)) + (r20 : (x21 = 3*x20+1 ∧ x20%2 = 1)) + (r21 : (2*x22 = x21 ∧ x21%2 = 0)) + (r22 : (x23 = 3*x22+1 ∧ x22%2 = 1)) + (r23 : (2*x24 = x23 ∧ x23%2 = 0)) + (r24 : (2*x25 = x24 ∧ x24%2 = 0)) + : ∃ q : Nat, x0 = 65536*q+40428 ∧ x1 = 32768*q+20214 ∧ x2 = 16384*q+10107 ∧ x3 = 49152*q+30322 ∧ x4 = 24576*q+15161 ∧ x5 = 73728*q+45484 ∧ x6 = 36864*q+22742 ∧ x7 = 18432*q+11371 ∧ x8 = 55296*q+34114 ∧ x9 = 27648*q+17057 ∧ x10 = 82944*q+51172 ∧ x11 = 41472*q+25586 ∧ x12 = 20736*q+12793 ∧ x13 = 62208*q+38380 ∧ x14 = 31104*q+19190 ∧ x15 = 15552*q+9595 ∧ x16 = 46656*q+28786 ∧ x17 = 23328*q+14393 ∧ x18 = 69984*q+43180 ∧ x19 = 34992*q+21590 ∧ x20 = 17496*q+10795 ∧ x21 = 52488*q+32386 ∧ x22 = 26244*q+16193 ∧ x23 = 78732*q+48580 ∧ x24 = 39366*q+24290 ∧ x25 = 19683*q+12145 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24⟩ := parameters_001010010100100101001010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 + have hstep := r24.1 + have hparity := r24.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 p23 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p16 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p17 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p18 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p19 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p20 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p21 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p22 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p23 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p24 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 p23 + omega + +/-- Exact source residue and full affine trace for branch `0010100101001001010010101`. -/ +theorem parameters_0010100101001001010010101 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (x16 = 3*x15+1 ∧ x15%2 = 1)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (x18 = 3*x17+1 ∧ x17%2 = 1)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + (r19 : (2*x20 = x19 ∧ x19%2 = 0)) + (r20 : (x21 = 3*x20+1 ∧ x20%2 = 1)) + (r21 : (2*x22 = x21 ∧ x21%2 = 0)) + (r22 : (x23 = 3*x22+1 ∧ x22%2 = 1)) + (r23 : (2*x24 = x23 ∧ x23%2 = 0)) + (r24 : (x25 = 3*x24+1 ∧ x24%2 = 1)) + : ∃ q : Nat, x0 = 65536*q+7660 ∧ x1 = 32768*q+3830 ∧ x2 = 16384*q+1915 ∧ x3 = 49152*q+5746 ∧ x4 = 24576*q+2873 ∧ x5 = 73728*q+8620 ∧ x6 = 36864*q+4310 ∧ x7 = 18432*q+2155 ∧ x8 = 55296*q+6466 ∧ x9 = 27648*q+3233 ∧ x10 = 82944*q+9700 ∧ x11 = 41472*q+4850 ∧ x12 = 20736*q+2425 ∧ x13 = 62208*q+7276 ∧ x14 = 31104*q+3638 ∧ x15 = 15552*q+1819 ∧ x16 = 46656*q+5458 ∧ x17 = 23328*q+2729 ∧ x18 = 69984*q+8188 ∧ x19 = 34992*q+4094 ∧ x20 = 17496*q+2047 ∧ x21 = 52488*q+6142 ∧ x22 = 26244*q+3071 ∧ x23 = 78732*q+9214 ∧ x24 = 39366*q+4607 ∧ x25 = 118098*q+13822 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24⟩ := parameters_001010010100100101001010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 + have hstep := r24.1 + have hparity := r24.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 p23 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p16 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p17 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p18 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p19 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p20 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p21 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p22 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p23 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p24 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 p23 + omega + + +end Collatz.Exploration.ElevenHalvesArithmetic diff --git a/Collatz/Exploration/ElevenHalvesArithmetic/Part13.lean b/Collatz/Exploration/ElevenHalvesArithmetic/Part13.lean new file mode 100644 index 00000000..33157756 --- /dev/null +++ b/Collatz/Exploration/ElevenHalvesArithmetic/Part13.lean @@ -0,0 +1,1206 @@ +import Collatz.Exploration.ElevenHalvesArithmetic.Part12 + +namespace Collatz.Exploration.ElevenHalvesArithmetic + +set_option maxHeartbeats 2000000 +set_option linter.unusedVariables false + +/-- Exact source residue and full affine trace for branch `0100101001001010010100100`. -/ +theorem parameters_0100101001001010010100100 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (x18 = 3*x17+1 ∧ x17%2 = 1)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + (r19 : (x20 = 3*x19+1 ∧ x19%2 = 1)) + (r20 : (2*x21 = x20 ∧ x20%2 = 0)) + (r21 : (2*x22 = x21 ∧ x21%2 = 0)) + (r22 : (x23 = 3*x22+1 ∧ x22%2 = 1)) + (r23 : (2*x24 = x23 ∧ x23%2 = 0)) + (r24 : (2*x25 = x24 ∧ x24%2 = 0)) + : ∃ q : Nat, x0 = 65536*q+30322 ∧ x1 = 32768*q+15161 ∧ x2 = 98304*q+45484 ∧ x3 = 49152*q+22742 ∧ x4 = 24576*q+11371 ∧ x5 = 73728*q+34114 ∧ x6 = 36864*q+17057 ∧ x7 = 110592*q+51172 ∧ x8 = 55296*q+25586 ∧ x9 = 27648*q+12793 ∧ x10 = 82944*q+38380 ∧ x11 = 41472*q+19190 ∧ x12 = 20736*q+9595 ∧ x13 = 62208*q+28786 ∧ x14 = 31104*q+14393 ∧ x15 = 93312*q+43180 ∧ x16 = 46656*q+21590 ∧ x17 = 23328*q+10795 ∧ x18 = 69984*q+32386 ∧ x19 = 34992*q+16193 ∧ x20 = 104976*q+48580 ∧ x21 = 52488*q+24290 ∧ x22 = 26244*q+12145 ∧ x23 = 78732*q+36436 ∧ x24 = 39366*q+18218 ∧ x25 = 19683*q+9109 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24⟩ := parameters_010010100100101001010010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 + have hstep := r24.1 + have hparity := r24.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 p23 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p16 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p17 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p18 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p19 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p20 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p21 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p22 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p23 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p24 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 p23 + omega + +/-- Exact source residue and full affine trace for branch `0100101001001010010100101`. -/ +theorem parameters_0100101001001010010100101 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (x18 = 3*x17+1 ∧ x17%2 = 1)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + (r19 : (x20 = 3*x19+1 ∧ x19%2 = 1)) + (r20 : (2*x21 = x20 ∧ x20%2 = 0)) + (r21 : (2*x22 = x21 ∧ x21%2 = 0)) + (r22 : (x23 = 3*x22+1 ∧ x22%2 = 1)) + (r23 : (2*x24 = x23 ∧ x23%2 = 0)) + (r24 : (x25 = 3*x24+1 ∧ x24%2 = 1)) + : ∃ q : Nat, x0 = 65536*q+63090 ∧ x1 = 32768*q+31545 ∧ x2 = 98304*q+94636 ∧ x3 = 49152*q+47318 ∧ x4 = 24576*q+23659 ∧ x5 = 73728*q+70978 ∧ x6 = 36864*q+35489 ∧ x7 = 110592*q+106468 ∧ x8 = 55296*q+53234 ∧ x9 = 27648*q+26617 ∧ x10 = 82944*q+79852 ∧ x11 = 41472*q+39926 ∧ x12 = 20736*q+19963 ∧ x13 = 62208*q+59890 ∧ x14 = 31104*q+29945 ∧ x15 = 93312*q+89836 ∧ x16 = 46656*q+44918 ∧ x17 = 23328*q+22459 ∧ x18 = 69984*q+67378 ∧ x19 = 34992*q+33689 ∧ x20 = 104976*q+101068 ∧ x21 = 52488*q+50534 ∧ x22 = 26244*q+25267 ∧ x23 = 78732*q+75802 ∧ x24 = 39366*q+37901 ∧ x25 = 118098*q+113704 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24⟩ := parameters_010010100100101001010010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 + have hstep := r24.1 + have hparity := r24.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 p23 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p16 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p17 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p18 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p19 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p20 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p21 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p22 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p23 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p24 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 p23 + omega + +/-- Exact source residue and full affine trace for branch `0100101001010010010100100`. -/ +theorem parameters_0100101001010010010100100 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (x18 = 3*x17+1 ∧ x17%2 = 1)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + (r19 : (x20 = 3*x19+1 ∧ x19%2 = 1)) + (r20 : (2*x21 = x20 ∧ x20%2 = 0)) + (r21 : (2*x22 = x21 ∧ x21%2 = 0)) + (r22 : (x23 = 3*x22+1 ∧ x22%2 = 1)) + (r23 : (2*x24 = x23 ∧ x23%2 = 0)) + (r24 : (2*x25 = x24 ∧ x24%2 = 0)) + : ∃ q : Nat, x0 = 65536*q+37874 ∧ x1 = 32768*q+18937 ∧ x2 = 98304*q+56812 ∧ x3 = 49152*q+28406 ∧ x4 = 24576*q+14203 ∧ x5 = 73728*q+42610 ∧ x6 = 36864*q+21305 ∧ x7 = 110592*q+63916 ∧ x8 = 55296*q+31958 ∧ x9 = 27648*q+15979 ∧ x10 = 82944*q+47938 ∧ x11 = 41472*q+23969 ∧ x12 = 124416*q+71908 ∧ x13 = 62208*q+35954 ∧ x14 = 31104*q+17977 ∧ x15 = 93312*q+53932 ∧ x16 = 46656*q+26966 ∧ x17 = 23328*q+13483 ∧ x18 = 69984*q+40450 ∧ x19 = 34992*q+20225 ∧ x20 = 104976*q+60676 ∧ x21 = 52488*q+30338 ∧ x22 = 26244*q+15169 ∧ x23 = 78732*q+45508 ∧ x24 = 39366*q+22754 ∧ x25 = 19683*q+11377 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24⟩ := parameters_010010100101001001010010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 + have hstep := r24.1 + have hparity := r24.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 p23 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p16 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p17 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p18 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p19 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p20 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p21 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p22 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p23 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p24 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 p23 + omega + +/-- Exact source residue and full affine trace for branch `0100101001010010010100101`. -/ +theorem parameters_0100101001010010010100101 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (x18 = 3*x17+1 ∧ x17%2 = 1)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + (r19 : (x20 = 3*x19+1 ∧ x19%2 = 1)) + (r20 : (2*x21 = x20 ∧ x20%2 = 0)) + (r21 : (2*x22 = x21 ∧ x21%2 = 0)) + (r22 : (x23 = 3*x22+1 ∧ x22%2 = 1)) + (r23 : (2*x24 = x23 ∧ x23%2 = 0)) + (r24 : (x25 = 3*x24+1 ∧ x24%2 = 1)) + : ∃ q : Nat, x0 = 65536*q+5106 ∧ x1 = 32768*q+2553 ∧ x2 = 98304*q+7660 ∧ x3 = 49152*q+3830 ∧ x4 = 24576*q+1915 ∧ x5 = 73728*q+5746 ∧ x6 = 36864*q+2873 ∧ x7 = 110592*q+8620 ∧ x8 = 55296*q+4310 ∧ x9 = 27648*q+2155 ∧ x10 = 82944*q+6466 ∧ x11 = 41472*q+3233 ∧ x12 = 124416*q+9700 ∧ x13 = 62208*q+4850 ∧ x14 = 31104*q+2425 ∧ x15 = 93312*q+7276 ∧ x16 = 46656*q+3638 ∧ x17 = 23328*q+1819 ∧ x18 = 69984*q+5458 ∧ x19 = 34992*q+2729 ∧ x20 = 104976*q+8188 ∧ x21 = 52488*q+4094 ∧ x22 = 26244*q+2047 ∧ x23 = 78732*q+6142 ∧ x24 = 39366*q+3071 ∧ x25 = 118098*q+9214 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24⟩ := parameters_010010100101001001010010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 + have hstep := r24.1 + have hparity := r24.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 p23 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p16 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p17 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p18 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p19 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p20 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p21 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p22 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p23 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p24 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 p23 + omega + +/-- Exact source residue and full affine trace for branch `0101001010010010100101000`. -/ +theorem parameters_0101001010010010100101000 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (x17 = 3*x16+1 ∧ x16%2 = 1)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + (r19 : (x20 = 3*x19+1 ∧ x19%2 = 1)) + (r20 : (2*x21 = x20 ∧ x20%2 = 0)) + (r21 : (x22 = 3*x21+1 ∧ x21%2 = 1)) + (r22 : (2*x23 = x22 ∧ x22%2 = 0)) + (r23 : (2*x24 = x23 ∧ x23%2 = 0)) + (r24 : (2*x25 = x24 ∧ x24%2 = 0)) + : ∃ q : Nat, x0 = 65536*q+52982 ∧ x1 = 32768*q+26491 ∧ x2 = 98304*q+79474 ∧ x3 = 49152*q+39737 ∧ x4 = 147456*q+119212 ∧ x5 = 73728*q+59606 ∧ x6 = 36864*q+29803 ∧ x7 = 110592*q+89410 ∧ x8 = 55296*q+44705 ∧ x9 = 165888*q+134116 ∧ x10 = 82944*q+67058 ∧ x11 = 41472*q+33529 ∧ x12 = 124416*q+100588 ∧ x13 = 62208*q+50294 ∧ x14 = 31104*q+25147 ∧ x15 = 93312*q+75442 ∧ x16 = 46656*q+37721 ∧ x17 = 139968*q+113164 ∧ x18 = 69984*q+56582 ∧ x19 = 34992*q+28291 ∧ x20 = 104976*q+84874 ∧ x21 = 52488*q+42437 ∧ x22 = 157464*q+127312 ∧ x23 = 78732*q+63656 ∧ x24 = 39366*q+31828 ∧ x25 = 19683*q+15914 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24⟩ := parameters_010100101001001010010100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 + have hstep := r24.1 + have hparity := r24.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 p23 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p16 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p17 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p18 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p19 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p20 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p21 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p22 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p23 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p24 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 p23 + omega + +/-- Exact source residue and full affine trace for branch `0101001010010010100101001`. -/ +theorem parameters_0101001010010010100101001 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (x17 = 3*x16+1 ∧ x16%2 = 1)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + (r19 : (x20 = 3*x19+1 ∧ x19%2 = 1)) + (r20 : (2*x21 = x20 ∧ x20%2 = 0)) + (r21 : (x22 = 3*x21+1 ∧ x21%2 = 1)) + (r22 : (2*x23 = x22 ∧ x22%2 = 0)) + (r23 : (2*x24 = x23 ∧ x23%2 = 0)) + (r24 : (x25 = 3*x24+1 ∧ x24%2 = 1)) + : ∃ q : Nat, x0 = 65536*q+20214 ∧ x1 = 32768*q+10107 ∧ x2 = 98304*q+30322 ∧ x3 = 49152*q+15161 ∧ x4 = 147456*q+45484 ∧ x5 = 73728*q+22742 ∧ x6 = 36864*q+11371 ∧ x7 = 110592*q+34114 ∧ x8 = 55296*q+17057 ∧ x9 = 165888*q+51172 ∧ x10 = 82944*q+25586 ∧ x11 = 41472*q+12793 ∧ x12 = 124416*q+38380 ∧ x13 = 62208*q+19190 ∧ x14 = 31104*q+9595 ∧ x15 = 93312*q+28786 ∧ x16 = 46656*q+14393 ∧ x17 = 139968*q+43180 ∧ x18 = 69984*q+21590 ∧ x19 = 34992*q+10795 ∧ x20 = 104976*q+32386 ∧ x21 = 52488*q+16193 ∧ x22 = 157464*q+48580 ∧ x23 = 78732*q+24290 ∧ x24 = 39366*q+12145 ∧ x25 = 118098*q+36436 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24⟩ := parameters_010100101001001010010100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 + have hstep := r24.1 + have hparity := r24.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 p23 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p16 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p17 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p18 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p19 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p20 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p21 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p22 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p23 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p24 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 p23 + omega + +/-- Exact source residue and full affine trace for branch `1001010010100100101001010`. -/ +theorem parameters_1001010010100100101001010 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (x17 = 3*x16+1 ∧ x16%2 = 1)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + (r18 : (x19 = 3*x18+1 ∧ x18%2 = 1)) + (r19 : (2*x20 = x19 ∧ x19%2 = 0)) + (r20 : (2*x21 = x20 ∧ x20%2 = 0)) + (r21 : (x22 = 3*x21+1 ∧ x21%2 = 1)) + (r22 : (2*x23 = x22 ∧ x22%2 = 0)) + (r23 : (x24 = 3*x23+1 ∧ x23%2 = 1)) + (r24 : (2*x25 = x24 ∧ x24%2 = 0)) + : ∃ q : Nat, x0 = 32768*q+2553 ∧ x1 = 98304*q+7660 ∧ x2 = 49152*q+3830 ∧ x3 = 24576*q+1915 ∧ x4 = 73728*q+5746 ∧ x5 = 36864*q+2873 ∧ x6 = 110592*q+8620 ∧ x7 = 55296*q+4310 ∧ x8 = 27648*q+2155 ∧ x9 = 82944*q+6466 ∧ x10 = 41472*q+3233 ∧ x11 = 124416*q+9700 ∧ x12 = 62208*q+4850 ∧ x13 = 31104*q+2425 ∧ x14 = 93312*q+7276 ∧ x15 = 46656*q+3638 ∧ x16 = 23328*q+1819 ∧ x17 = 69984*q+5458 ∧ x18 = 34992*q+2729 ∧ x19 = 104976*q+8188 ∧ x20 = 52488*q+4094 ∧ x21 = 26244*q+2047 ∧ x22 = 78732*q+6142 ∧ x23 = 39366*q+3071 ∧ x24 = 118098*q+9214 ∧ x25 = 59049*q+4607 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24⟩ := parameters_100101001010010010100101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 + have hstep := r24.1 + have hparity := r24.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 + clear hparity + refine ⟨q,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · exact p0 + · exact p1 + · exact p2 + · exact p3 + · exact p4 + · exact p5 + · exact p6 + · exact p7 + · exact p8 + · exact p9 + · exact p10 + · exact p11 + · exact p12 + · exact p13 + · exact p14 + · exact p15 + · exact p16 + · exact p17 + · exact p18 + · exact p19 + · exact p20 + · exact p21 + · exact p22 + · exact p23 + · exact p24 + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 p23 + omega + +/-- Exact source residue and full affine trace for branch `1010010100100101001010010`. -/ +theorem parameters_1010010100100101001010010 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (x16 = 3*x15+1 ∧ x15%2 = 1)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + (r18 : (x19 = 3*x18+1 ∧ x18%2 = 1)) + (r19 : (2*x20 = x19 ∧ x19%2 = 0)) + (r20 : (x21 = 3*x20+1 ∧ x20%2 = 1)) + (r21 : (2*x22 = x21 ∧ x21%2 = 0)) + (r22 : (2*x23 = x22 ∧ x22%2 = 0)) + (r23 : (x24 = 3*x23+1 ∧ x23%2 = 1)) + (r24 : (2*x25 = x24 ∧ x24%2 = 0)) + : ∃ q : Nat, x0 = 32768*q+10107 ∧ x1 = 98304*q+30322 ∧ x2 = 49152*q+15161 ∧ x3 = 147456*q+45484 ∧ x4 = 73728*q+22742 ∧ x5 = 36864*q+11371 ∧ x6 = 110592*q+34114 ∧ x7 = 55296*q+17057 ∧ x8 = 165888*q+51172 ∧ x9 = 82944*q+25586 ∧ x10 = 41472*q+12793 ∧ x11 = 124416*q+38380 ∧ x12 = 62208*q+19190 ∧ x13 = 31104*q+9595 ∧ x14 = 93312*q+28786 ∧ x15 = 46656*q+14393 ∧ x16 = 139968*q+43180 ∧ x17 = 69984*q+21590 ∧ x18 = 34992*q+10795 ∧ x19 = 104976*q+32386 ∧ x20 = 52488*q+16193 ∧ x21 = 157464*q+48580 ∧ x22 = 78732*q+24290 ∧ x23 = 39366*q+12145 ∧ x24 = 118098*q+36436 ∧ x25 = 59049*q+18218 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24⟩ := parameters_101001010010010100101001 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 + have hstep := r24.1 + have hparity := r24.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 + clear hparity + refine ⟨q,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · exact p0 + · exact p1 + · exact p2 + · exact p3 + · exact p4 + · exact p5 + · exact p6 + · exact p7 + · exact p8 + · exact p9 + · exact p10 + · exact p11 + · exact p12 + · exact p13 + · exact p14 + · exact p15 + · exact p16 + · exact p17 + · exact p18 + · exact p19 + · exact p20 + · exact p21 + · exact p22 + · exact p23 + · exact p24 + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 p23 + omega + +/-- Exact source residue and full affine trace for branch `00101001010010010100101000`. -/ +theorem parameters_00101001010010010100101000 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 x26 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (x16 = 3*x15+1 ∧ x15%2 = 1)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (x18 = 3*x17+1 ∧ x17%2 = 1)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + (r19 : (2*x20 = x19 ∧ x19%2 = 0)) + (r20 : (x21 = 3*x20+1 ∧ x20%2 = 1)) + (r21 : (2*x22 = x21 ∧ x21%2 = 0)) + (r22 : (x23 = 3*x22+1 ∧ x22%2 = 1)) + (r23 : (2*x24 = x23 ∧ x23%2 = 0)) + (r24 : (2*x25 = x24 ∧ x24%2 = 0)) + (r25 : (2*x26 = x25 ∧ x25%2 = 0)) + : ∃ q : Nat, x0 = 131072*q+105964 ∧ x1 = 65536*q+52982 ∧ x2 = 32768*q+26491 ∧ x3 = 98304*q+79474 ∧ x4 = 49152*q+39737 ∧ x5 = 147456*q+119212 ∧ x6 = 73728*q+59606 ∧ x7 = 36864*q+29803 ∧ x8 = 110592*q+89410 ∧ x9 = 55296*q+44705 ∧ x10 = 165888*q+134116 ∧ x11 = 82944*q+67058 ∧ x12 = 41472*q+33529 ∧ x13 = 124416*q+100588 ∧ x14 = 62208*q+50294 ∧ x15 = 31104*q+25147 ∧ x16 = 93312*q+75442 ∧ x17 = 46656*q+37721 ∧ x18 = 139968*q+113164 ∧ x19 = 69984*q+56582 ∧ x20 = 34992*q+28291 ∧ x21 = 104976*q+84874 ∧ x22 = 52488*q+42437 ∧ x23 = 157464*q+127312 ∧ x24 = 78732*q+63656 ∧ x25 = 39366*q+31828 ∧ x26 = 19683*q+15914 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25⟩ := parameters_0010100101001001010010100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 + have hstep := r25.1 + have hparity := r25.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 r25 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 p23 p24 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p16 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p17 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p18 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p19 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p20 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p21 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p22 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p23 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p24 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p25 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 p23 p24 + omega + +/-- Exact source residue and full affine trace for branch `00101001010010010100101001`. -/ +theorem parameters_00101001010010010100101001 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 x26 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (x16 = 3*x15+1 ∧ x15%2 = 1)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (x18 = 3*x17+1 ∧ x17%2 = 1)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + (r19 : (2*x20 = x19 ∧ x19%2 = 0)) + (r20 : (x21 = 3*x20+1 ∧ x20%2 = 1)) + (r21 : (2*x22 = x21 ∧ x21%2 = 0)) + (r22 : (x23 = 3*x22+1 ∧ x22%2 = 1)) + (r23 : (2*x24 = x23 ∧ x23%2 = 0)) + (r24 : (2*x25 = x24 ∧ x24%2 = 0)) + (r25 : (x26 = 3*x25+1 ∧ x25%2 = 1)) + : ∃ q : Nat, x0 = 131072*q+40428 ∧ x1 = 65536*q+20214 ∧ x2 = 32768*q+10107 ∧ x3 = 98304*q+30322 ∧ x4 = 49152*q+15161 ∧ x5 = 147456*q+45484 ∧ x6 = 73728*q+22742 ∧ x7 = 36864*q+11371 ∧ x8 = 110592*q+34114 ∧ x9 = 55296*q+17057 ∧ x10 = 165888*q+51172 ∧ x11 = 82944*q+25586 ∧ x12 = 41472*q+12793 ∧ x13 = 124416*q+38380 ∧ x14 = 62208*q+19190 ∧ x15 = 31104*q+9595 ∧ x16 = 93312*q+28786 ∧ x17 = 46656*q+14393 ∧ x18 = 139968*q+43180 ∧ x19 = 69984*q+21590 ∧ x20 = 34992*q+10795 ∧ x21 = 104976*q+32386 ∧ x22 = 52488*q+16193 ∧ x23 = 157464*q+48580 ∧ x24 = 78732*q+24290 ∧ x25 = 39366*q+12145 ∧ x26 = 118098*q+36436 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25⟩ := parameters_0010100101001001010010100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 + have hstep := r25.1 + have hparity := r25.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 r25 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 p23 p24 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p16 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p17 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p18 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p19 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p20 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p21 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p22 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p23 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p24 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p25 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 p23 p24 + omega + +/-- Exact source residue and full affine trace for branch `01001010010100100101001010`. -/ +theorem parameters_01001010010100100101001010 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 x26 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (x18 = 3*x17+1 ∧ x17%2 = 1)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + (r19 : (x20 = 3*x19+1 ∧ x19%2 = 1)) + (r20 : (2*x21 = x20 ∧ x20%2 = 0)) + (r21 : (2*x22 = x21 ∧ x21%2 = 0)) + (r22 : (x23 = 3*x22+1 ∧ x22%2 = 1)) + (r23 : (2*x24 = x23 ∧ x23%2 = 0)) + (r24 : (x25 = 3*x24+1 ∧ x24%2 = 1)) + (r25 : (2*x26 = x25 ∧ x25%2 = 0)) + : ∃ q : Nat, x0 = 65536*q+5106 ∧ x1 = 32768*q+2553 ∧ x2 = 98304*q+7660 ∧ x3 = 49152*q+3830 ∧ x4 = 24576*q+1915 ∧ x5 = 73728*q+5746 ∧ x6 = 36864*q+2873 ∧ x7 = 110592*q+8620 ∧ x8 = 55296*q+4310 ∧ x9 = 27648*q+2155 ∧ x10 = 82944*q+6466 ∧ x11 = 41472*q+3233 ∧ x12 = 124416*q+9700 ∧ x13 = 62208*q+4850 ∧ x14 = 31104*q+2425 ∧ x15 = 93312*q+7276 ∧ x16 = 46656*q+3638 ∧ x17 = 23328*q+1819 ∧ x18 = 69984*q+5458 ∧ x19 = 34992*q+2729 ∧ x20 = 104976*q+8188 ∧ x21 = 52488*q+4094 ∧ x22 = 26244*q+2047 ∧ x23 = 78732*q+6142 ∧ x24 = 39366*q+3071 ∧ x25 = 118098*q+9214 ∧ x26 = 59049*q+4607 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25⟩ := parameters_0100101001010010010100101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 + have hstep := r25.1 + have hparity := r25.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 r25 + clear hparity + refine ⟨q,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · exact p0 + · exact p1 + · exact p2 + · exact p3 + · exact p4 + · exact p5 + · exact p6 + · exact p7 + · exact p8 + · exact p9 + · exact p10 + · exact p11 + · exact p12 + · exact p13 + · exact p14 + · exact p15 + · exact p16 + · exact p17 + · exact p18 + · exact p19 + · exact p20 + · exact p21 + · exact p22 + · exact p23 + · exact p24 + · exact p25 + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 p23 p24 + omega + +/-- Exact source residue and full affine trace for branch `01010010100100101001010010`. -/ +theorem parameters_01010010100100101001010010 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 x26 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (x17 = 3*x16+1 ∧ x16%2 = 1)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + (r19 : (x20 = 3*x19+1 ∧ x19%2 = 1)) + (r20 : (2*x21 = x20 ∧ x20%2 = 0)) + (r21 : (x22 = 3*x21+1 ∧ x21%2 = 1)) + (r22 : (2*x23 = x22 ∧ x22%2 = 0)) + (r23 : (2*x24 = x23 ∧ x23%2 = 0)) + (r24 : (x25 = 3*x24+1 ∧ x24%2 = 1)) + (r25 : (2*x26 = x25 ∧ x25%2 = 0)) + : ∃ q : Nat, x0 = 65536*q+20214 ∧ x1 = 32768*q+10107 ∧ x2 = 98304*q+30322 ∧ x3 = 49152*q+15161 ∧ x4 = 147456*q+45484 ∧ x5 = 73728*q+22742 ∧ x6 = 36864*q+11371 ∧ x7 = 110592*q+34114 ∧ x8 = 55296*q+17057 ∧ x9 = 165888*q+51172 ∧ x10 = 82944*q+25586 ∧ x11 = 41472*q+12793 ∧ x12 = 124416*q+38380 ∧ x13 = 62208*q+19190 ∧ x14 = 31104*q+9595 ∧ x15 = 93312*q+28786 ∧ x16 = 46656*q+14393 ∧ x17 = 139968*q+43180 ∧ x18 = 69984*q+21590 ∧ x19 = 34992*q+10795 ∧ x20 = 104976*q+32386 ∧ x21 = 52488*q+16193 ∧ x22 = 157464*q+48580 ∧ x23 = 78732*q+24290 ∧ x24 = 39366*q+12145 ∧ x25 = 118098*q+36436 ∧ x26 = 59049*q+18218 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25⟩ := parameters_0101001010010010100101001 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 + have hstep := r25.1 + have hparity := r25.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 r25 + clear hparity + refine ⟨q,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · exact p0 + · exact p1 + · exact p2 + · exact p3 + · exact p4 + · exact p5 + · exact p6 + · exact p7 + · exact p8 + · exact p9 + · exact p10 + · exact p11 + · exact p12 + · exact p13 + · exact p14 + · exact p15 + · exact p16 + · exact p17 + · exact p18 + · exact p19 + · exact p20 + · exact p21 + · exact p22 + · exact p23 + · exact p24 + · exact p25 + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 p23 p24 + omega + +/-- Exact source residue and full affine trace for branch `10010100101001001010010100`. -/ +theorem parameters_10010100101001001010010100 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 x26 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (x17 = 3*x16+1 ∧ x16%2 = 1)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + (r18 : (x19 = 3*x18+1 ∧ x18%2 = 1)) + (r19 : (2*x20 = x19 ∧ x19%2 = 0)) + (r20 : (2*x21 = x20 ∧ x20%2 = 0)) + (r21 : (x22 = 3*x21+1 ∧ x21%2 = 1)) + (r22 : (2*x23 = x22 ∧ x22%2 = 0)) + (r23 : (x24 = 3*x23+1 ∧ x23%2 = 1)) + (r24 : (2*x25 = x24 ∧ x24%2 = 0)) + (r25 : (2*x26 = x25 ∧ x25%2 = 0)) + : ∃ q : Nat, x0 = 65536*q+35321 ∧ x1 = 196608*q+105964 ∧ x2 = 98304*q+52982 ∧ x3 = 49152*q+26491 ∧ x4 = 147456*q+79474 ∧ x5 = 73728*q+39737 ∧ x6 = 221184*q+119212 ∧ x7 = 110592*q+59606 ∧ x8 = 55296*q+29803 ∧ x9 = 165888*q+89410 ∧ x10 = 82944*q+44705 ∧ x11 = 248832*q+134116 ∧ x12 = 124416*q+67058 ∧ x13 = 62208*q+33529 ∧ x14 = 186624*q+100588 ∧ x15 = 93312*q+50294 ∧ x16 = 46656*q+25147 ∧ x17 = 139968*q+75442 ∧ x18 = 69984*q+37721 ∧ x19 = 209952*q+113164 ∧ x20 = 104976*q+56582 ∧ x21 = 52488*q+28291 ∧ x22 = 157464*q+84874 ∧ x23 = 78732*q+42437 ∧ x24 = 236196*q+127312 ∧ x25 = 118098*q+63656 ∧ x26 = 59049*q+31828 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25⟩ := parameters_1001010010100100101001010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 + have hstep := r25.1 + have hparity := r25.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 r25 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 p23 p24 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p16 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p17 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p18 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p19 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p20 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p21 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p22 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p23 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p24 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p25 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 p23 p24 + omega + +/-- Exact source residue and full affine trace for branch `10010100101001001010010101`. -/ +theorem parameters_10010100101001001010010101 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 x26 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (x17 = 3*x16+1 ∧ x16%2 = 1)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + (r18 : (x19 = 3*x18+1 ∧ x18%2 = 1)) + (r19 : (2*x20 = x19 ∧ x19%2 = 0)) + (r20 : (2*x21 = x20 ∧ x20%2 = 0)) + (r21 : (x22 = 3*x21+1 ∧ x21%2 = 1)) + (r22 : (2*x23 = x22 ∧ x22%2 = 0)) + (r23 : (x24 = 3*x23+1 ∧ x23%2 = 1)) + (r24 : (2*x25 = x24 ∧ x24%2 = 0)) + (r25 : (x26 = 3*x25+1 ∧ x25%2 = 1)) + : ∃ q : Nat, x0 = 65536*q+2553 ∧ x1 = 196608*q+7660 ∧ x2 = 98304*q+3830 ∧ x3 = 49152*q+1915 ∧ x4 = 147456*q+5746 ∧ x5 = 73728*q+2873 ∧ x6 = 221184*q+8620 ∧ x7 = 110592*q+4310 ∧ x8 = 55296*q+2155 ∧ x9 = 165888*q+6466 ∧ x10 = 82944*q+3233 ∧ x11 = 248832*q+9700 ∧ x12 = 124416*q+4850 ∧ x13 = 62208*q+2425 ∧ x14 = 186624*q+7276 ∧ x15 = 93312*q+3638 ∧ x16 = 46656*q+1819 ∧ x17 = 139968*q+5458 ∧ x18 = 69984*q+2729 ∧ x19 = 209952*q+8188 ∧ x20 = 104976*q+4094 ∧ x21 = 52488*q+2047 ∧ x22 = 157464*q+6142 ∧ x23 = 78732*q+3071 ∧ x24 = 236196*q+9214 ∧ x25 = 118098*q+4607 ∧ x26 = 354294*q+13822 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25⟩ := parameters_1001010010100100101001010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 + have hstep := r25.1 + have hparity := r25.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 r25 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 p23 p24 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p16 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p17 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p18 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p19 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p20 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p21 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p22 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p23 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p24 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p25 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 p23 p24 + omega + +/-- Exact source residue and full affine trace for branch `10100101001001010010100100`. -/ +theorem parameters_10100101001001010010100100 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 x26 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (x16 = 3*x15+1 ∧ x15%2 = 1)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + (r18 : (x19 = 3*x18+1 ∧ x18%2 = 1)) + (r19 : (2*x20 = x19 ∧ x19%2 = 0)) + (r20 : (x21 = 3*x20+1 ∧ x20%2 = 1)) + (r21 : (2*x22 = x21 ∧ x21%2 = 0)) + (r22 : (2*x23 = x22 ∧ x22%2 = 0)) + (r23 : (x24 = 3*x23+1 ∧ x23%2 = 1)) + (r24 : (2*x25 = x24 ∧ x24%2 = 0)) + (r25 : (2*x26 = x25 ∧ x25%2 = 0)) + : ∃ q : Nat, x0 = 65536*q+10107 ∧ x1 = 196608*q+30322 ∧ x2 = 98304*q+15161 ∧ x3 = 294912*q+45484 ∧ x4 = 147456*q+22742 ∧ x5 = 73728*q+11371 ∧ x6 = 221184*q+34114 ∧ x7 = 110592*q+17057 ∧ x8 = 331776*q+51172 ∧ x9 = 165888*q+25586 ∧ x10 = 82944*q+12793 ∧ x11 = 248832*q+38380 ∧ x12 = 124416*q+19190 ∧ x13 = 62208*q+9595 ∧ x14 = 186624*q+28786 ∧ x15 = 93312*q+14393 ∧ x16 = 279936*q+43180 ∧ x17 = 139968*q+21590 ∧ x18 = 69984*q+10795 ∧ x19 = 209952*q+32386 ∧ x20 = 104976*q+16193 ∧ x21 = 314928*q+48580 ∧ x22 = 157464*q+24290 ∧ x23 = 78732*q+12145 ∧ x24 = 236196*q+36436 ∧ x25 = 118098*q+18218 ∧ x26 = 59049*q+9109 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25⟩ := parameters_1010010100100101001010010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 + have hstep := r25.1 + have hparity := r25.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 r25 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 p23 p24 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p16 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p17 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p18 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p19 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p20 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p21 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p22 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p23 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p24 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p25 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 p23 p24 + omega + +/-- Exact source residue and full affine trace for branch `10100101001001010010100101`. -/ +theorem parameters_10100101001001010010100101 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 x26 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (x16 = 3*x15+1 ∧ x15%2 = 1)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + (r18 : (x19 = 3*x18+1 ∧ x18%2 = 1)) + (r19 : (2*x20 = x19 ∧ x19%2 = 0)) + (r20 : (x21 = 3*x20+1 ∧ x20%2 = 1)) + (r21 : (2*x22 = x21 ∧ x21%2 = 0)) + (r22 : (2*x23 = x22 ∧ x22%2 = 0)) + (r23 : (x24 = 3*x23+1 ∧ x23%2 = 1)) + (r24 : (2*x25 = x24 ∧ x24%2 = 0)) + (r25 : (x26 = 3*x25+1 ∧ x25%2 = 1)) + : ∃ q : Nat, x0 = 65536*q+42875 ∧ x1 = 196608*q+128626 ∧ x2 = 98304*q+64313 ∧ x3 = 294912*q+192940 ∧ x4 = 147456*q+96470 ∧ x5 = 73728*q+48235 ∧ x6 = 221184*q+144706 ∧ x7 = 110592*q+72353 ∧ x8 = 331776*q+217060 ∧ x9 = 165888*q+108530 ∧ x10 = 82944*q+54265 ∧ x11 = 248832*q+162796 ∧ x12 = 124416*q+81398 ∧ x13 = 62208*q+40699 ∧ x14 = 186624*q+122098 ∧ x15 = 93312*q+61049 ∧ x16 = 279936*q+183148 ∧ x17 = 139968*q+91574 ∧ x18 = 69984*q+45787 ∧ x19 = 209952*q+137362 ∧ x20 = 104976*q+68681 ∧ x21 = 314928*q+206044 ∧ x22 = 157464*q+103022 ∧ x23 = 78732*q+51511 ∧ x24 = 236196*q+154534 ∧ x25 = 118098*q+77267 ∧ x26 = 354294*q+231802 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25⟩ := parameters_1010010100100101001010010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 + have hstep := r25.1 + have hparity := r25.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 r25 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 p23 p24 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p16 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p17 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p18 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p19 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p20 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p21 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p22 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p23 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p24 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p25 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 p23 p24 + omega + +/-- Exact source residue and full affine trace for branch `001010010100100101001010010`. -/ +theorem parameters_001010010100100101001010010 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 x26 x27 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (x16 = 3*x15+1 ∧ x15%2 = 1)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (x18 = 3*x17+1 ∧ x17%2 = 1)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + (r19 : (2*x20 = x19 ∧ x19%2 = 0)) + (r20 : (x21 = 3*x20+1 ∧ x20%2 = 1)) + (r21 : (2*x22 = x21 ∧ x21%2 = 0)) + (r22 : (x23 = 3*x22+1 ∧ x22%2 = 1)) + (r23 : (2*x24 = x23 ∧ x23%2 = 0)) + (r24 : (2*x25 = x24 ∧ x24%2 = 0)) + (r25 : (x26 = 3*x25+1 ∧ x25%2 = 1)) + (r26 : (2*x27 = x26 ∧ x26%2 = 0)) + : ∃ q : Nat, x0 = 131072*q+40428 ∧ x1 = 65536*q+20214 ∧ x2 = 32768*q+10107 ∧ x3 = 98304*q+30322 ∧ x4 = 49152*q+15161 ∧ x5 = 147456*q+45484 ∧ x6 = 73728*q+22742 ∧ x7 = 36864*q+11371 ∧ x8 = 110592*q+34114 ∧ x9 = 55296*q+17057 ∧ x10 = 165888*q+51172 ∧ x11 = 82944*q+25586 ∧ x12 = 41472*q+12793 ∧ x13 = 124416*q+38380 ∧ x14 = 62208*q+19190 ∧ x15 = 31104*q+9595 ∧ x16 = 93312*q+28786 ∧ x17 = 46656*q+14393 ∧ x18 = 139968*q+43180 ∧ x19 = 69984*q+21590 ∧ x20 = 34992*q+10795 ∧ x21 = 104976*q+32386 ∧ x22 = 52488*q+16193 ∧ x23 = 157464*q+48580 ∧ x24 = 78732*q+24290 ∧ x25 = 39366*q+12145 ∧ x26 = 118098*q+36436 ∧ x27 = 59049*q+18218 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26⟩ := parameters_00101001010010010100101001 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 x26 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 r25 + have hstep := r26.1 + have hparity := r26.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 r25 r26 + clear hparity + refine ⟨q,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · exact p0 + · exact p1 + · exact p2 + · exact p3 + · exact p4 + · exact p5 + · exact p6 + · exact p7 + · exact p8 + · exact p9 + · exact p10 + · exact p11 + · exact p12 + · exact p13 + · exact p14 + · exact p15 + · exact p16 + · exact p17 + · exact p18 + · exact p19 + · exact p20 + · exact p21 + · exact p22 + · exact p23 + · exact p24 + · exact p25 + · exact p26 + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 p23 p24 p25 + omega + +/-- Exact source residue and full affine trace for branch `010010100101001001010010100`. -/ +theorem parameters_010010100101001001010010100 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 x26 x27 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (x18 = 3*x17+1 ∧ x17%2 = 1)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + (r19 : (x20 = 3*x19+1 ∧ x19%2 = 1)) + (r20 : (2*x21 = x20 ∧ x20%2 = 0)) + (r21 : (2*x22 = x21 ∧ x21%2 = 0)) + (r22 : (x23 = 3*x22+1 ∧ x22%2 = 1)) + (r23 : (2*x24 = x23 ∧ x23%2 = 0)) + (r24 : (x25 = 3*x24+1 ∧ x24%2 = 1)) + (r25 : (2*x26 = x25 ∧ x25%2 = 0)) + (r26 : (2*x27 = x26 ∧ x26%2 = 0)) + : ∃ q : Nat, x0 = 131072*q+70642 ∧ x1 = 65536*q+35321 ∧ x2 = 196608*q+105964 ∧ x3 = 98304*q+52982 ∧ x4 = 49152*q+26491 ∧ x5 = 147456*q+79474 ∧ x6 = 73728*q+39737 ∧ x7 = 221184*q+119212 ∧ x8 = 110592*q+59606 ∧ x9 = 55296*q+29803 ∧ x10 = 165888*q+89410 ∧ x11 = 82944*q+44705 ∧ x12 = 248832*q+134116 ∧ x13 = 124416*q+67058 ∧ x14 = 62208*q+33529 ∧ x15 = 186624*q+100588 ∧ x16 = 93312*q+50294 ∧ x17 = 46656*q+25147 ∧ x18 = 139968*q+75442 ∧ x19 = 69984*q+37721 ∧ x20 = 209952*q+113164 ∧ x21 = 104976*q+56582 ∧ x22 = 52488*q+28291 ∧ x23 = 157464*q+84874 ∧ x24 = 78732*q+42437 ∧ x25 = 236196*q+127312 ∧ x26 = 118098*q+63656 ∧ x27 = 59049*q+31828 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26⟩ := parameters_01001010010100100101001010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 x26 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 r25 + have hstep := r26.1 + have hparity := r26.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 r25 r26 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 p23 p24 p25 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p16 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p17 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p18 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p19 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p20 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p21 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p22 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p23 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p24 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p25 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p26 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 p23 p24 p25 + omega + + +end Collatz.Exploration.ElevenHalvesArithmetic diff --git a/Collatz/Exploration/ElevenHalvesArithmetic/Part14.lean b/Collatz/Exploration/ElevenHalvesArithmetic/Part14.lean new file mode 100644 index 00000000..8784c797 --- /dev/null +++ b/Collatz/Exploration/ElevenHalvesArithmetic/Part14.lean @@ -0,0 +1,1188 @@ +import Collatz.Exploration.ElevenHalvesArithmetic.Part13 + +namespace Collatz.Exploration.ElevenHalvesArithmetic + +set_option maxHeartbeats 2000000 +set_option linter.unusedVariables false + +/-- Exact source residue and full affine trace for branch `010010100101001001010010101`. -/ +theorem parameters_010010100101001001010010101 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 x26 x27 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (x18 = 3*x17+1 ∧ x17%2 = 1)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + (r19 : (x20 = 3*x19+1 ∧ x19%2 = 1)) + (r20 : (2*x21 = x20 ∧ x20%2 = 0)) + (r21 : (2*x22 = x21 ∧ x21%2 = 0)) + (r22 : (x23 = 3*x22+1 ∧ x22%2 = 1)) + (r23 : (2*x24 = x23 ∧ x23%2 = 0)) + (r24 : (x25 = 3*x24+1 ∧ x24%2 = 1)) + (r25 : (2*x26 = x25 ∧ x25%2 = 0)) + (r26 : (x27 = 3*x26+1 ∧ x26%2 = 1)) + : ∃ q : Nat, x0 = 131072*q+5106 ∧ x1 = 65536*q+2553 ∧ x2 = 196608*q+7660 ∧ x3 = 98304*q+3830 ∧ x4 = 49152*q+1915 ∧ x5 = 147456*q+5746 ∧ x6 = 73728*q+2873 ∧ x7 = 221184*q+8620 ∧ x8 = 110592*q+4310 ∧ x9 = 55296*q+2155 ∧ x10 = 165888*q+6466 ∧ x11 = 82944*q+3233 ∧ x12 = 248832*q+9700 ∧ x13 = 124416*q+4850 ∧ x14 = 62208*q+2425 ∧ x15 = 186624*q+7276 ∧ x16 = 93312*q+3638 ∧ x17 = 46656*q+1819 ∧ x18 = 139968*q+5458 ∧ x19 = 69984*q+2729 ∧ x20 = 209952*q+8188 ∧ x21 = 104976*q+4094 ∧ x22 = 52488*q+2047 ∧ x23 = 157464*q+6142 ∧ x24 = 78732*q+3071 ∧ x25 = 236196*q+9214 ∧ x26 = 118098*q+4607 ∧ x27 = 354294*q+13822 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26⟩ := parameters_01001010010100100101001010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 x26 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 r25 + have hstep := r26.1 + have hparity := r26.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 r25 r26 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 p23 p24 p25 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p16 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p17 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p18 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p19 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p20 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p21 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p22 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p23 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p24 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p25 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p26 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 p23 p24 p25 + omega + +/-- Exact source residue and full affine trace for branch `010100101001001010010100100`. -/ +theorem parameters_010100101001001010010100100 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 x26 x27 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (x17 = 3*x16+1 ∧ x16%2 = 1)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + (r19 : (x20 = 3*x19+1 ∧ x19%2 = 1)) + (r20 : (2*x21 = x20 ∧ x20%2 = 0)) + (r21 : (x22 = 3*x21+1 ∧ x21%2 = 1)) + (r22 : (2*x23 = x22 ∧ x22%2 = 0)) + (r23 : (2*x24 = x23 ∧ x23%2 = 0)) + (r24 : (x25 = 3*x24+1 ∧ x24%2 = 1)) + (r25 : (2*x26 = x25 ∧ x25%2 = 0)) + (r26 : (2*x27 = x26 ∧ x26%2 = 0)) + : ∃ q : Nat, x0 = 131072*q+20214 ∧ x1 = 65536*q+10107 ∧ x2 = 196608*q+30322 ∧ x3 = 98304*q+15161 ∧ x4 = 294912*q+45484 ∧ x5 = 147456*q+22742 ∧ x6 = 73728*q+11371 ∧ x7 = 221184*q+34114 ∧ x8 = 110592*q+17057 ∧ x9 = 331776*q+51172 ∧ x10 = 165888*q+25586 ∧ x11 = 82944*q+12793 ∧ x12 = 248832*q+38380 ∧ x13 = 124416*q+19190 ∧ x14 = 62208*q+9595 ∧ x15 = 186624*q+28786 ∧ x16 = 93312*q+14393 ∧ x17 = 279936*q+43180 ∧ x18 = 139968*q+21590 ∧ x19 = 69984*q+10795 ∧ x20 = 209952*q+32386 ∧ x21 = 104976*q+16193 ∧ x22 = 314928*q+48580 ∧ x23 = 157464*q+24290 ∧ x24 = 78732*q+12145 ∧ x25 = 236196*q+36436 ∧ x26 = 118098*q+18218 ∧ x27 = 59049*q+9109 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26⟩ := parameters_01010010100100101001010010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 x26 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 r25 + have hstep := r26.1 + have hparity := r26.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 r25 r26 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 p23 p24 p25 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p16 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p17 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p18 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p19 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p20 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p21 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p22 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p23 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p24 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p25 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p26 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 p23 p24 p25 + omega + +/-- Exact source residue and full affine trace for branch `010100101001001010010100101`. -/ +theorem parameters_010100101001001010010100101 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 x26 x27 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (x17 = 3*x16+1 ∧ x16%2 = 1)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + (r19 : (x20 = 3*x19+1 ∧ x19%2 = 1)) + (r20 : (2*x21 = x20 ∧ x20%2 = 0)) + (r21 : (x22 = 3*x21+1 ∧ x21%2 = 1)) + (r22 : (2*x23 = x22 ∧ x22%2 = 0)) + (r23 : (2*x24 = x23 ∧ x23%2 = 0)) + (r24 : (x25 = 3*x24+1 ∧ x24%2 = 1)) + (r25 : (2*x26 = x25 ∧ x25%2 = 0)) + (r26 : (x27 = 3*x26+1 ∧ x26%2 = 1)) + : ∃ q : Nat, x0 = 131072*q+85750 ∧ x1 = 65536*q+42875 ∧ x2 = 196608*q+128626 ∧ x3 = 98304*q+64313 ∧ x4 = 294912*q+192940 ∧ x5 = 147456*q+96470 ∧ x6 = 73728*q+48235 ∧ x7 = 221184*q+144706 ∧ x8 = 110592*q+72353 ∧ x9 = 331776*q+217060 ∧ x10 = 165888*q+108530 ∧ x11 = 82944*q+54265 ∧ x12 = 248832*q+162796 ∧ x13 = 124416*q+81398 ∧ x14 = 62208*q+40699 ∧ x15 = 186624*q+122098 ∧ x16 = 93312*q+61049 ∧ x17 = 279936*q+183148 ∧ x18 = 139968*q+91574 ∧ x19 = 69984*q+45787 ∧ x20 = 209952*q+137362 ∧ x21 = 104976*q+68681 ∧ x22 = 314928*q+206044 ∧ x23 = 157464*q+103022 ∧ x24 = 78732*q+51511 ∧ x25 = 236196*q+154534 ∧ x26 = 118098*q+77267 ∧ x27 = 354294*q+231802 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26⟩ := parameters_01010010100100101001010010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 x26 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 r25 + have hstep := r26.1 + have hparity := r26.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 r25 r26 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 p23 p24 p25 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p16 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p17 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p18 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p19 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p20 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p21 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p22 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p23 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p24 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p25 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p26 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 p23 p24 p25 + omega + +/-- Exact source residue and full affine trace for branch `100101001010010010100101000`. -/ +theorem parameters_100101001010010010100101000 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 x26 x27 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (x17 = 3*x16+1 ∧ x16%2 = 1)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + (r18 : (x19 = 3*x18+1 ∧ x18%2 = 1)) + (r19 : (2*x20 = x19 ∧ x19%2 = 0)) + (r20 : (2*x21 = x20 ∧ x20%2 = 0)) + (r21 : (x22 = 3*x21+1 ∧ x21%2 = 1)) + (r22 : (2*x23 = x22 ∧ x22%2 = 0)) + (r23 : (x24 = 3*x23+1 ∧ x23%2 = 1)) + (r24 : (2*x25 = x24 ∧ x24%2 = 0)) + (r25 : (2*x26 = x25 ∧ x25%2 = 0)) + (r26 : (2*x27 = x26 ∧ x26%2 = 0)) + : ∃ q : Nat, x0 = 131072*q+35321 ∧ x1 = 393216*q+105964 ∧ x2 = 196608*q+52982 ∧ x3 = 98304*q+26491 ∧ x4 = 294912*q+79474 ∧ x5 = 147456*q+39737 ∧ x6 = 442368*q+119212 ∧ x7 = 221184*q+59606 ∧ x8 = 110592*q+29803 ∧ x9 = 331776*q+89410 ∧ x10 = 165888*q+44705 ∧ x11 = 497664*q+134116 ∧ x12 = 248832*q+67058 ∧ x13 = 124416*q+33529 ∧ x14 = 373248*q+100588 ∧ x15 = 186624*q+50294 ∧ x16 = 93312*q+25147 ∧ x17 = 279936*q+75442 ∧ x18 = 139968*q+37721 ∧ x19 = 419904*q+113164 ∧ x20 = 209952*q+56582 ∧ x21 = 104976*q+28291 ∧ x22 = 314928*q+84874 ∧ x23 = 157464*q+42437 ∧ x24 = 472392*q+127312 ∧ x25 = 236196*q+63656 ∧ x26 = 118098*q+31828 ∧ x27 = 59049*q+15914 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26⟩ := parameters_10010100101001001010010100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 x26 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 r25 + have hstep := r26.1 + have hparity := r26.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 r25 r26 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 p23 p24 p25 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p16 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p17 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p18 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p19 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p20 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p21 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p22 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p23 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p24 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p25 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p26 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 p23 p24 p25 + omega + +/-- Exact source residue and full affine trace for branch `100101001010010010100101001`. -/ +theorem parameters_100101001010010010100101001 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 x26 x27 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (x17 = 3*x16+1 ∧ x16%2 = 1)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + (r18 : (x19 = 3*x18+1 ∧ x18%2 = 1)) + (r19 : (2*x20 = x19 ∧ x19%2 = 0)) + (r20 : (2*x21 = x20 ∧ x20%2 = 0)) + (r21 : (x22 = 3*x21+1 ∧ x21%2 = 1)) + (r22 : (2*x23 = x22 ∧ x22%2 = 0)) + (r23 : (x24 = 3*x23+1 ∧ x23%2 = 1)) + (r24 : (2*x25 = x24 ∧ x24%2 = 0)) + (r25 : (2*x26 = x25 ∧ x25%2 = 0)) + (r26 : (x27 = 3*x26+1 ∧ x26%2 = 1)) + : ∃ q : Nat, x0 = 131072*q+100857 ∧ x1 = 393216*q+302572 ∧ x2 = 196608*q+151286 ∧ x3 = 98304*q+75643 ∧ x4 = 294912*q+226930 ∧ x5 = 147456*q+113465 ∧ x6 = 442368*q+340396 ∧ x7 = 221184*q+170198 ∧ x8 = 110592*q+85099 ∧ x9 = 331776*q+255298 ∧ x10 = 165888*q+127649 ∧ x11 = 497664*q+382948 ∧ x12 = 248832*q+191474 ∧ x13 = 124416*q+95737 ∧ x14 = 373248*q+287212 ∧ x15 = 186624*q+143606 ∧ x16 = 93312*q+71803 ∧ x17 = 279936*q+215410 ∧ x18 = 139968*q+107705 ∧ x19 = 419904*q+323116 ∧ x20 = 209952*q+161558 ∧ x21 = 104976*q+80779 ∧ x22 = 314928*q+242338 ∧ x23 = 157464*q+121169 ∧ x24 = 472392*q+363508 ∧ x25 = 236196*q+181754 ∧ x26 = 118098*q+90877 ∧ x27 = 354294*q+272632 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26⟩ := parameters_10010100101001001010010100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 x26 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 r25 + have hstep := r26.1 + have hparity := r26.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 r25 r26 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 p23 p24 p25 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p16 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p17 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p18 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p19 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p20 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p21 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p22 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p23 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p24 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p25 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p26 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 p23 p24 p25 + omega + +/-- Exact source residue and full affine trace for branch `0010100101001001010010100100`. -/ +theorem parameters_0010100101001001010010100100 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 x26 x27 x28 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (x16 = 3*x15+1 ∧ x15%2 = 1)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (x18 = 3*x17+1 ∧ x17%2 = 1)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + (r19 : (2*x20 = x19 ∧ x19%2 = 0)) + (r20 : (x21 = 3*x20+1 ∧ x20%2 = 1)) + (r21 : (2*x22 = x21 ∧ x21%2 = 0)) + (r22 : (x23 = 3*x22+1 ∧ x22%2 = 1)) + (r23 : (2*x24 = x23 ∧ x23%2 = 0)) + (r24 : (2*x25 = x24 ∧ x24%2 = 0)) + (r25 : (x26 = 3*x25+1 ∧ x25%2 = 1)) + (r26 : (2*x27 = x26 ∧ x26%2 = 0)) + (r27 : (2*x28 = x27 ∧ x27%2 = 0)) + : ∃ q : Nat, x0 = 262144*q+40428 ∧ x1 = 131072*q+20214 ∧ x2 = 65536*q+10107 ∧ x3 = 196608*q+30322 ∧ x4 = 98304*q+15161 ∧ x5 = 294912*q+45484 ∧ x6 = 147456*q+22742 ∧ x7 = 73728*q+11371 ∧ x8 = 221184*q+34114 ∧ x9 = 110592*q+17057 ∧ x10 = 331776*q+51172 ∧ x11 = 165888*q+25586 ∧ x12 = 82944*q+12793 ∧ x13 = 248832*q+38380 ∧ x14 = 124416*q+19190 ∧ x15 = 62208*q+9595 ∧ x16 = 186624*q+28786 ∧ x17 = 93312*q+14393 ∧ x18 = 279936*q+43180 ∧ x19 = 139968*q+21590 ∧ x20 = 69984*q+10795 ∧ x21 = 209952*q+32386 ∧ x22 = 104976*q+16193 ∧ x23 = 314928*q+48580 ∧ x24 = 157464*q+24290 ∧ x25 = 78732*q+12145 ∧ x26 = 236196*q+36436 ∧ x27 = 118098*q+18218 ∧ x28 = 59049*q+9109 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27⟩ := parameters_001010010100100101001010010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 x26 x27 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 r25 r26 + have hstep := r27.1 + have hparity := r27.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 r25 r26 r27 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 p23 p24 p25 p26 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p16 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p17 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p18 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p19 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p20 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p21 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p22 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p23 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p24 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p25 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p26 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p27 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 p23 p24 p25 p26 + omega + +/-- Exact source residue and full affine trace for branch `0010100101001001010010100101`. -/ +theorem parameters_0010100101001001010010100101 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 x26 x27 x28 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (x16 = 3*x15+1 ∧ x15%2 = 1)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (x18 = 3*x17+1 ∧ x17%2 = 1)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + (r19 : (2*x20 = x19 ∧ x19%2 = 0)) + (r20 : (x21 = 3*x20+1 ∧ x20%2 = 1)) + (r21 : (2*x22 = x21 ∧ x21%2 = 0)) + (r22 : (x23 = 3*x22+1 ∧ x22%2 = 1)) + (r23 : (2*x24 = x23 ∧ x23%2 = 0)) + (r24 : (2*x25 = x24 ∧ x24%2 = 0)) + (r25 : (x26 = 3*x25+1 ∧ x25%2 = 1)) + (r26 : (2*x27 = x26 ∧ x26%2 = 0)) + (r27 : (x28 = 3*x27+1 ∧ x27%2 = 1)) + : ∃ q : Nat, x0 = 262144*q+171500 ∧ x1 = 131072*q+85750 ∧ x2 = 65536*q+42875 ∧ x3 = 196608*q+128626 ∧ x4 = 98304*q+64313 ∧ x5 = 294912*q+192940 ∧ x6 = 147456*q+96470 ∧ x7 = 73728*q+48235 ∧ x8 = 221184*q+144706 ∧ x9 = 110592*q+72353 ∧ x10 = 331776*q+217060 ∧ x11 = 165888*q+108530 ∧ x12 = 82944*q+54265 ∧ x13 = 248832*q+162796 ∧ x14 = 124416*q+81398 ∧ x15 = 62208*q+40699 ∧ x16 = 186624*q+122098 ∧ x17 = 93312*q+61049 ∧ x18 = 279936*q+183148 ∧ x19 = 139968*q+91574 ∧ x20 = 69984*q+45787 ∧ x21 = 209952*q+137362 ∧ x22 = 104976*q+68681 ∧ x23 = 314928*q+206044 ∧ x24 = 157464*q+103022 ∧ x25 = 78732*q+51511 ∧ x26 = 236196*q+154534 ∧ x27 = 118098*q+77267 ∧ x28 = 354294*q+231802 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27⟩ := parameters_001010010100100101001010010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 x26 x27 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 r25 r26 + have hstep := r27.1 + have hparity := r27.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 r25 r26 r27 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 p23 p24 p25 p26 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p16 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p17 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p18 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p19 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p20 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p21 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p22 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p23 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p24 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p25 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p26 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p27 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 p23 p24 p25 p26 + omega + +/-- Exact source residue and full affine trace for branch `0100101001010010010100101000`. -/ +theorem parameters_0100101001010010010100101000 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 x26 x27 x28 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (x18 = 3*x17+1 ∧ x17%2 = 1)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + (r19 : (x20 = 3*x19+1 ∧ x19%2 = 1)) + (r20 : (2*x21 = x20 ∧ x20%2 = 0)) + (r21 : (2*x22 = x21 ∧ x21%2 = 0)) + (r22 : (x23 = 3*x22+1 ∧ x22%2 = 1)) + (r23 : (2*x24 = x23 ∧ x23%2 = 0)) + (r24 : (x25 = 3*x24+1 ∧ x24%2 = 1)) + (r25 : (2*x26 = x25 ∧ x25%2 = 0)) + (r26 : (2*x27 = x26 ∧ x26%2 = 0)) + (r27 : (2*x28 = x27 ∧ x27%2 = 0)) + : ∃ q : Nat, x0 = 262144*q+70642 ∧ x1 = 131072*q+35321 ∧ x2 = 393216*q+105964 ∧ x3 = 196608*q+52982 ∧ x4 = 98304*q+26491 ∧ x5 = 294912*q+79474 ∧ x6 = 147456*q+39737 ∧ x7 = 442368*q+119212 ∧ x8 = 221184*q+59606 ∧ x9 = 110592*q+29803 ∧ x10 = 331776*q+89410 ∧ x11 = 165888*q+44705 ∧ x12 = 497664*q+134116 ∧ x13 = 248832*q+67058 ∧ x14 = 124416*q+33529 ∧ x15 = 373248*q+100588 ∧ x16 = 186624*q+50294 ∧ x17 = 93312*q+25147 ∧ x18 = 279936*q+75442 ∧ x19 = 139968*q+37721 ∧ x20 = 419904*q+113164 ∧ x21 = 209952*q+56582 ∧ x22 = 104976*q+28291 ∧ x23 = 314928*q+84874 ∧ x24 = 157464*q+42437 ∧ x25 = 472392*q+127312 ∧ x26 = 236196*q+63656 ∧ x27 = 118098*q+31828 ∧ x28 = 59049*q+15914 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27⟩ := parameters_010010100101001001010010100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 x26 x27 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 r25 r26 + have hstep := r27.1 + have hparity := r27.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 r25 r26 r27 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 p23 p24 p25 p26 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p16 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p17 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p18 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p19 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p20 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p21 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p22 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p23 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p24 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p25 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p26 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p27 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 p23 p24 p25 p26 + omega + +/-- Exact source residue and full affine trace for branch `0100101001010010010100101001`. -/ +theorem parameters_0100101001010010010100101001 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 x26 x27 x28 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (x18 = 3*x17+1 ∧ x17%2 = 1)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + (r19 : (x20 = 3*x19+1 ∧ x19%2 = 1)) + (r20 : (2*x21 = x20 ∧ x20%2 = 0)) + (r21 : (2*x22 = x21 ∧ x21%2 = 0)) + (r22 : (x23 = 3*x22+1 ∧ x22%2 = 1)) + (r23 : (2*x24 = x23 ∧ x23%2 = 0)) + (r24 : (x25 = 3*x24+1 ∧ x24%2 = 1)) + (r25 : (2*x26 = x25 ∧ x25%2 = 0)) + (r26 : (2*x27 = x26 ∧ x26%2 = 0)) + (r27 : (x28 = 3*x27+1 ∧ x27%2 = 1)) + : ∃ q : Nat, x0 = 262144*q+201714 ∧ x1 = 131072*q+100857 ∧ x2 = 393216*q+302572 ∧ x3 = 196608*q+151286 ∧ x4 = 98304*q+75643 ∧ x5 = 294912*q+226930 ∧ x6 = 147456*q+113465 ∧ x7 = 442368*q+340396 ∧ x8 = 221184*q+170198 ∧ x9 = 110592*q+85099 ∧ x10 = 331776*q+255298 ∧ x11 = 165888*q+127649 ∧ x12 = 497664*q+382948 ∧ x13 = 248832*q+191474 ∧ x14 = 124416*q+95737 ∧ x15 = 373248*q+287212 ∧ x16 = 186624*q+143606 ∧ x17 = 93312*q+71803 ∧ x18 = 279936*q+215410 ∧ x19 = 139968*q+107705 ∧ x20 = 419904*q+323116 ∧ x21 = 209952*q+161558 ∧ x22 = 104976*q+80779 ∧ x23 = 314928*q+242338 ∧ x24 = 157464*q+121169 ∧ x25 = 472392*q+363508 ∧ x26 = 236196*q+181754 ∧ x27 = 118098*q+90877 ∧ x28 = 354294*q+272632 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27⟩ := parameters_010010100101001001010010100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 x26 x27 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 r25 r26 + have hstep := r27.1 + have hparity := r27.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 r25 r26 r27 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 p23 p24 p25 p26 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p16 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p17 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p18 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p19 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p20 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p21 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p22 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p23 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p24 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p25 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p26 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p27 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 p23 p24 p25 p26 + omega + +/-- Exact source residue and full affine trace for branch `1001010010100100101001010010`. -/ +theorem parameters_1001010010100100101001010010 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 x26 x27 x28 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (x17 = 3*x16+1 ∧ x16%2 = 1)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + (r18 : (x19 = 3*x18+1 ∧ x18%2 = 1)) + (r19 : (2*x20 = x19 ∧ x19%2 = 0)) + (r20 : (2*x21 = x20 ∧ x20%2 = 0)) + (r21 : (x22 = 3*x21+1 ∧ x21%2 = 1)) + (r22 : (2*x23 = x22 ∧ x22%2 = 0)) + (r23 : (x24 = 3*x23+1 ∧ x23%2 = 1)) + (r24 : (2*x25 = x24 ∧ x24%2 = 0)) + (r25 : (2*x26 = x25 ∧ x25%2 = 0)) + (r26 : (x27 = 3*x26+1 ∧ x26%2 = 1)) + (r27 : (2*x28 = x27 ∧ x27%2 = 0)) + : ∃ q : Nat, x0 = 131072*q+100857 ∧ x1 = 393216*q+302572 ∧ x2 = 196608*q+151286 ∧ x3 = 98304*q+75643 ∧ x4 = 294912*q+226930 ∧ x5 = 147456*q+113465 ∧ x6 = 442368*q+340396 ∧ x7 = 221184*q+170198 ∧ x8 = 110592*q+85099 ∧ x9 = 331776*q+255298 ∧ x10 = 165888*q+127649 ∧ x11 = 497664*q+382948 ∧ x12 = 248832*q+191474 ∧ x13 = 124416*q+95737 ∧ x14 = 373248*q+287212 ∧ x15 = 186624*q+143606 ∧ x16 = 93312*q+71803 ∧ x17 = 279936*q+215410 ∧ x18 = 139968*q+107705 ∧ x19 = 419904*q+323116 ∧ x20 = 209952*q+161558 ∧ x21 = 104976*q+80779 ∧ x22 = 314928*q+242338 ∧ x23 = 157464*q+121169 ∧ x24 = 472392*q+363508 ∧ x25 = 236196*q+181754 ∧ x26 = 118098*q+90877 ∧ x27 = 354294*q+272632 ∧ x28 = 177147*q+136316 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27⟩ := parameters_100101001010010010100101001 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 x26 x27 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 r25 r26 + have hstep := r27.1 + have hparity := r27.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 r25 r26 r27 + clear hparity + refine ⟨q,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · exact p0 + · exact p1 + · exact p2 + · exact p3 + · exact p4 + · exact p5 + · exact p6 + · exact p7 + · exact p8 + · exact p9 + · exact p10 + · exact p11 + · exact p12 + · exact p13 + · exact p14 + · exact p15 + · exact p16 + · exact p17 + · exact p18 + · exact p19 + · exact p20 + · exact p21 + · exact p22 + · exact p23 + · exact p24 + · exact p25 + · exact p26 + · exact p27 + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 p23 p24 p25 p26 + omega + +/-- Exact source residue and full affine trace for branch `01001010010100100101001010010`. -/ +theorem parameters_01001010010100100101001010010 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 x26 x27 x28 x29 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (x18 = 3*x17+1 ∧ x17%2 = 1)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + (r19 : (x20 = 3*x19+1 ∧ x19%2 = 1)) + (r20 : (2*x21 = x20 ∧ x20%2 = 0)) + (r21 : (2*x22 = x21 ∧ x21%2 = 0)) + (r22 : (x23 = 3*x22+1 ∧ x22%2 = 1)) + (r23 : (2*x24 = x23 ∧ x23%2 = 0)) + (r24 : (x25 = 3*x24+1 ∧ x24%2 = 1)) + (r25 : (2*x26 = x25 ∧ x25%2 = 0)) + (r26 : (2*x27 = x26 ∧ x26%2 = 0)) + (r27 : (x28 = 3*x27+1 ∧ x27%2 = 1)) + (r28 : (2*x29 = x28 ∧ x28%2 = 0)) + : ∃ q : Nat, x0 = 262144*q+201714 ∧ x1 = 131072*q+100857 ∧ x2 = 393216*q+302572 ∧ x3 = 196608*q+151286 ∧ x4 = 98304*q+75643 ∧ x5 = 294912*q+226930 ∧ x6 = 147456*q+113465 ∧ x7 = 442368*q+340396 ∧ x8 = 221184*q+170198 ∧ x9 = 110592*q+85099 ∧ x10 = 331776*q+255298 ∧ x11 = 165888*q+127649 ∧ x12 = 497664*q+382948 ∧ x13 = 248832*q+191474 ∧ x14 = 124416*q+95737 ∧ x15 = 373248*q+287212 ∧ x16 = 186624*q+143606 ∧ x17 = 93312*q+71803 ∧ x18 = 279936*q+215410 ∧ x19 = 139968*q+107705 ∧ x20 = 419904*q+323116 ∧ x21 = 209952*q+161558 ∧ x22 = 104976*q+80779 ∧ x23 = 314928*q+242338 ∧ x24 = 157464*q+121169 ∧ x25 = 472392*q+363508 ∧ x26 = 236196*q+181754 ∧ x27 = 118098*q+90877 ∧ x28 = 354294*q+272632 ∧ x29 = 177147*q+136316 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28⟩ := parameters_0100101001010010010100101001 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 x26 x27 x28 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 r25 r26 r27 + have hstep := r28.1 + have hparity := r28.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 r25 r26 r27 r28 + clear hparity + refine ⟨q,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · exact p0 + · exact p1 + · exact p2 + · exact p3 + · exact p4 + · exact p5 + · exact p6 + · exact p7 + · exact p8 + · exact p9 + · exact p10 + · exact p11 + · exact p12 + · exact p13 + · exact p14 + · exact p15 + · exact p16 + · exact p17 + · exact p18 + · exact p19 + · exact p20 + · exact p21 + · exact p22 + · exact p23 + · exact p24 + · exact p25 + · exact p26 + · exact p27 + · exact p28 + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 p23 p24 p25 p26 p27 + omega + +/-- Exact source residue and full affine trace for branch `10010100101001001010010100100`. -/ +theorem parameters_10010100101001001010010100100 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 x26 x27 x28 x29 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (x17 = 3*x16+1 ∧ x16%2 = 1)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + (r18 : (x19 = 3*x18+1 ∧ x18%2 = 1)) + (r19 : (2*x20 = x19 ∧ x19%2 = 0)) + (r20 : (2*x21 = x20 ∧ x20%2 = 0)) + (r21 : (x22 = 3*x21+1 ∧ x21%2 = 1)) + (r22 : (2*x23 = x22 ∧ x22%2 = 0)) + (r23 : (x24 = 3*x23+1 ∧ x23%2 = 1)) + (r24 : (2*x25 = x24 ∧ x24%2 = 0)) + (r25 : (2*x26 = x25 ∧ x25%2 = 0)) + (r26 : (x27 = 3*x26+1 ∧ x26%2 = 1)) + (r27 : (2*x28 = x27 ∧ x27%2 = 0)) + (r28 : (2*x29 = x28 ∧ x28%2 = 0)) + : ∃ q : Nat, x0 = 262144*q+100857 ∧ x1 = 786432*q+302572 ∧ x2 = 393216*q+151286 ∧ x3 = 196608*q+75643 ∧ x4 = 589824*q+226930 ∧ x5 = 294912*q+113465 ∧ x6 = 884736*q+340396 ∧ x7 = 442368*q+170198 ∧ x8 = 221184*q+85099 ∧ x9 = 663552*q+255298 ∧ x10 = 331776*q+127649 ∧ x11 = 995328*q+382948 ∧ x12 = 497664*q+191474 ∧ x13 = 248832*q+95737 ∧ x14 = 746496*q+287212 ∧ x15 = 373248*q+143606 ∧ x16 = 186624*q+71803 ∧ x17 = 559872*q+215410 ∧ x18 = 279936*q+107705 ∧ x19 = 839808*q+323116 ∧ x20 = 419904*q+161558 ∧ x21 = 209952*q+80779 ∧ x22 = 629856*q+242338 ∧ x23 = 314928*q+121169 ∧ x24 = 944784*q+363508 ∧ x25 = 472392*q+181754 ∧ x26 = 236196*q+90877 ∧ x27 = 708588*q+272632 ∧ x28 = 354294*q+136316 ∧ x29 = 177147*q+68158 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28⟩ := parameters_1001010010100100101001010010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 x26 x27 x28 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 r25 r26 r27 + have hstep := r28.1 + have hparity := r28.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 r25 r26 r27 r28 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 p23 p24 p25 p26 p27 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p16 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p17 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p18 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p19 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p20 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p21 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p22 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p23 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p24 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p25 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p26 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p27 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p28 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 p23 p24 p25 p26 p27 + omega + +/-- Exact source residue and full affine trace for branch `10010100101001001010010100101`. -/ +theorem parameters_10010100101001001010010100101 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 x26 x27 x28 x29 : Nat) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (x17 = 3*x16+1 ∧ x16%2 = 1)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + (r18 : (x19 = 3*x18+1 ∧ x18%2 = 1)) + (r19 : (2*x20 = x19 ∧ x19%2 = 0)) + (r20 : (2*x21 = x20 ∧ x20%2 = 0)) + (r21 : (x22 = 3*x21+1 ∧ x21%2 = 1)) + (r22 : (2*x23 = x22 ∧ x22%2 = 0)) + (r23 : (x24 = 3*x23+1 ∧ x23%2 = 1)) + (r24 : (2*x25 = x24 ∧ x24%2 = 0)) + (r25 : (2*x26 = x25 ∧ x25%2 = 0)) + (r26 : (x27 = 3*x26+1 ∧ x26%2 = 1)) + (r27 : (2*x28 = x27 ∧ x27%2 = 0)) + (r28 : (x29 = 3*x28+1 ∧ x28%2 = 1)) + : ∃ q : Nat, x0 = 262144*q+231929 ∧ x1 = 786432*q+695788 ∧ x2 = 393216*q+347894 ∧ x3 = 196608*q+173947 ∧ x4 = 589824*q+521842 ∧ x5 = 294912*q+260921 ∧ x6 = 884736*q+782764 ∧ x7 = 442368*q+391382 ∧ x8 = 221184*q+195691 ∧ x9 = 663552*q+587074 ∧ x10 = 331776*q+293537 ∧ x11 = 995328*q+880612 ∧ x12 = 497664*q+440306 ∧ x13 = 248832*q+220153 ∧ x14 = 746496*q+660460 ∧ x15 = 373248*q+330230 ∧ x16 = 186624*q+165115 ∧ x17 = 559872*q+495346 ∧ x18 = 279936*q+247673 ∧ x19 = 839808*q+743020 ∧ x20 = 419904*q+371510 ∧ x21 = 209952*q+185755 ∧ x22 = 629856*q+557266 ∧ x23 = 314928*q+278633 ∧ x24 = 944784*q+835900 ∧ x25 = 472392*q+417950 ∧ x26 = 236196*q+208975 ∧ x27 = 708588*q+626926 ∧ x28 = 354294*q+313463 ∧ x29 = 1062882*q+940390 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28⟩ := parameters_1001010010100100101001010010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 x26 x27 x28 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 r25 r26 r27 + have hstep := r28.1 + have hparity := r28.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 r25 r26 r27 r28 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 p23 p24 p25 p26 p27 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p16 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p17 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p18 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p19 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p20 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p21 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p22 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p23 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p24 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p25 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p26 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p27 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p28 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 p23 p24 p25 p26 p27 + omega + +/-- Exact source residue and full affine trace for branch `010010100101001001010010100100`. -/ +theorem parameters_010010100101001001010010100100 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 x26 x27 x28 x29 x30 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (x18 = 3*x17+1 ∧ x17%2 = 1)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + (r19 : (x20 = 3*x19+1 ∧ x19%2 = 1)) + (r20 : (2*x21 = x20 ∧ x20%2 = 0)) + (r21 : (2*x22 = x21 ∧ x21%2 = 0)) + (r22 : (x23 = 3*x22+1 ∧ x22%2 = 1)) + (r23 : (2*x24 = x23 ∧ x23%2 = 0)) + (r24 : (x25 = 3*x24+1 ∧ x24%2 = 1)) + (r25 : (2*x26 = x25 ∧ x25%2 = 0)) + (r26 : (2*x27 = x26 ∧ x26%2 = 0)) + (r27 : (x28 = 3*x27+1 ∧ x27%2 = 1)) + (r28 : (2*x29 = x28 ∧ x28%2 = 0)) + (r29 : (2*x30 = x29 ∧ x29%2 = 0)) + : ∃ q : Nat, x0 = 524288*q+201714 ∧ x1 = 262144*q+100857 ∧ x2 = 786432*q+302572 ∧ x3 = 393216*q+151286 ∧ x4 = 196608*q+75643 ∧ x5 = 589824*q+226930 ∧ x6 = 294912*q+113465 ∧ x7 = 884736*q+340396 ∧ x8 = 442368*q+170198 ∧ x9 = 221184*q+85099 ∧ x10 = 663552*q+255298 ∧ x11 = 331776*q+127649 ∧ x12 = 995328*q+382948 ∧ x13 = 497664*q+191474 ∧ x14 = 248832*q+95737 ∧ x15 = 746496*q+287212 ∧ x16 = 373248*q+143606 ∧ x17 = 186624*q+71803 ∧ x18 = 559872*q+215410 ∧ x19 = 279936*q+107705 ∧ x20 = 839808*q+323116 ∧ x21 = 419904*q+161558 ∧ x22 = 209952*q+80779 ∧ x23 = 629856*q+242338 ∧ x24 = 314928*q+121169 ∧ x25 = 944784*q+363508 ∧ x26 = 472392*q+181754 ∧ x27 = 236196*q+90877 ∧ x28 = 708588*q+272632 ∧ x29 = 354294*q+136316 ∧ x30 = 177147*q+68158 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29⟩ := parameters_01001010010100100101001010010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 x26 x27 x28 x29 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 r25 r26 r27 r28 + have hstep := r29.1 + have hparity := r29.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 r25 r26 r27 r28 r29 + have hq : q = 2*(q/2)+0 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 p23 p24 p25 p26 p27 p28 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p16 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p17 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p18 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p19 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p20 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p21 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p22 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p23 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p24 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p25 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p26 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p27 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p28 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p29 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 p23 p24 p25 p26 p27 p28 + omega + +/-- Exact source residue and full affine trace for branch `010010100101001001010010100101`. -/ +theorem parameters_010010100101001001010010100101 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 x26 x27 x28 x29 x30 : Nat) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (x18 = 3*x17+1 ∧ x17%2 = 1)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + (r19 : (x20 = 3*x19+1 ∧ x19%2 = 1)) + (r20 : (2*x21 = x20 ∧ x20%2 = 0)) + (r21 : (2*x22 = x21 ∧ x21%2 = 0)) + (r22 : (x23 = 3*x22+1 ∧ x22%2 = 1)) + (r23 : (2*x24 = x23 ∧ x23%2 = 0)) + (r24 : (x25 = 3*x24+1 ∧ x24%2 = 1)) + (r25 : (2*x26 = x25 ∧ x25%2 = 0)) + (r26 : (2*x27 = x26 ∧ x26%2 = 0)) + (r27 : (x28 = 3*x27+1 ∧ x27%2 = 1)) + (r28 : (2*x29 = x28 ∧ x28%2 = 0)) + (r29 : (x30 = 3*x29+1 ∧ x29%2 = 1)) + : ∃ q : Nat, x0 = 524288*q+463858 ∧ x1 = 262144*q+231929 ∧ x2 = 786432*q+695788 ∧ x3 = 393216*q+347894 ∧ x4 = 196608*q+173947 ∧ x5 = 589824*q+521842 ∧ x6 = 294912*q+260921 ∧ x7 = 884736*q+782764 ∧ x8 = 442368*q+391382 ∧ x9 = 221184*q+195691 ∧ x10 = 663552*q+587074 ∧ x11 = 331776*q+293537 ∧ x12 = 995328*q+880612 ∧ x13 = 497664*q+440306 ∧ x14 = 248832*q+220153 ∧ x15 = 746496*q+660460 ∧ x16 = 373248*q+330230 ∧ x17 = 186624*q+165115 ∧ x18 = 559872*q+495346 ∧ x19 = 279936*q+247673 ∧ x20 = 839808*q+743020 ∧ x21 = 419904*q+371510 ∧ x22 = 209952*q+185755 ∧ x23 = 629856*q+557266 ∧ x24 = 314928*q+278633 ∧ x25 = 944784*q+835900 ∧ x26 = 472392*q+417950 ∧ x27 = 236196*q+208975 ∧ x28 = 708588*q+626926 ∧ x29 = 354294*q+313463 ∧ x30 = 1062882*q+940390 := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29⟩ := parameters_01001010010100100101001010010 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 x26 x27 x28 x29 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 r25 r26 r27 r28 + have hstep := r29.1 + have hparity := r29.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 r25 r26 r27 r28 r29 + have hq : q = 2*(q/2)+1 := by + clear hstep p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 p23 p24 p25 p26 p27 p28 + omega + clear hparity + refine ⟨q/2,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_,?_⟩ + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p0 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p1 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p2 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p3 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p4 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p5 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p6 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p7 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p8 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p9 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p10 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p11 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p12 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p13 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p14 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p15 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p16 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p17 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p18 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p19 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p20 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p21 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p22 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p23 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p24 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p25 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p26 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p27 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p28 hq + · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p29 hq + · clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 p23 p24 p25 p26 p27 p28 + omega + +/-- Terminal branch `000` cannot satisfy the band bounds. -/ +theorem exclude_000 + (x0 x1 x2 x3 : Nat) + (b : Nat) (hb : 1 < b) + (h0 : b ≤ x0 ∧ 2*x0 ≤ 11*b) + (h3 : b ≤ x3 ∧ 2*x3 ≤ 11*b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + : False := by + obtain ⟨q,p0,p1,p2,p3⟩ := parameters_000 x0 x1 x2 x3 r0 r1 r2 + clear r0 r1 r2 + clear p1 p2 + omega + +/-- Terminal branch `001000` cannot satisfy the band bounds. -/ +theorem exclude_001000 + (x0 x1 x2 x3 x4 x5 x6 : Nat) + (b : Nat) (hb : 1 < b) + (h0 : b ≤ x0 ∧ 2*x0 ≤ 11*b) + (h6 : b ≤ x6 ∧ 2*x6 ≤ 11*b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6⟩ := parameters_001000 x0 x1 x2 x3 x4 x5 x6 r0 r1 r2 r3 r4 r5 + clear r0 r1 r2 r3 r4 r5 + clear p1 p2 p3 p4 p5 + omega + +/-- Terminal branch `00100100` cannot satisfy the band bounds. -/ +theorem exclude_00100100 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 : Nat) + (b : Nat) (hb : 1 < b) + (h0 : b ≤ x0 ∧ 2*x0 ≤ 11*b) + (h8 : b ≤ x8 ∧ 2*x8 ≤ 11*b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8⟩ := parameters_00100100 x0 x1 x2 x3 x4 x5 x6 x7 x8 r0 r1 r2 r3 r4 r5 r6 r7 + clear r0 r1 r2 r3 r4 r5 r6 r7 + clear p1 p2 p3 p4 p5 p6 p7 + omega + +/-- Terminal branch `00100101000` cannot satisfy the band bounds. -/ +theorem exclude_00100101000 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 : Nat) + (b : Nat) (hb : 1 < b) + (h0 : b ≤ x0 ∧ 2*x0 ≤ 11*b) + (h11 : b ≤ x11 ∧ 2*x11 ≤ 11*b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11⟩ := parameters_00100101000 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 + clear p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 + omega + +/-- Terminal branch `0010010100100` cannot satisfy the band bounds. -/ +theorem exclude_0010010100100 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 : Nat) + (b : Nat) (hb : 1 < b) + (h0 : b ≤ x0 ∧ 2*x0 ≤ 11*b) + (h13 : b ≤ x13 ∧ 2*x13 ≤ 11*b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13⟩ := parameters_0010010100100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 + clear p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 + omega + + +end Collatz.Exploration.ElevenHalvesArithmetic diff --git a/Collatz/Exploration/ElevenHalvesArithmetic/Part15.lean b/Collatz/Exploration/ElevenHalvesArithmetic/Part15.lean new file mode 100644 index 00000000..4f8bcbc5 --- /dev/null +++ b/Collatz/Exploration/ElevenHalvesArithmetic/Part15.lean @@ -0,0 +1,1189 @@ +import Collatz.Exploration.ElevenHalvesArithmetic.Part14 + +namespace Collatz.Exploration.ElevenHalvesArithmetic + +set_option maxHeartbeats 2000000 +set_option linter.unusedVariables false + +/-- Terminal branch `0010010100101000` cannot satisfy the band bounds. -/ +theorem exclude_0010010100101000 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 : Nat) + (b : Nat) (hb : 1 < b) + (h0 : b ≤ x0 ∧ 2*x0 ≤ 11*b) + (h16 : b ≤ x16 ∧ 2*x16 ≤ 11*b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16⟩ := parameters_0010010100101000 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 + clear p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 + omega + +/-- Terminal branch `001001010010100100` cannot satisfy the band bounds. -/ +theorem exclude_001001010010100100 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 : Nat) + (b : Nat) (hb : 1 < b) + (h0 : b ≤ x0 ∧ 2*x0 ≤ 11*b) + (h18 : b ≤ x18 ∧ 2*x18 ≤ 11*b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (x16 = 3*x15+1 ∧ x15%2 = 1)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18⟩ := parameters_001001010010100100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 + clear p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 + omega + +/-- Terminal branch `001001010010100101` cannot satisfy the band bounds. -/ +theorem exclude_001001010010100101 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 : Nat) + (b : Nat) (hb : 1 < b) + (h5 : b ≤ x5 ∧ 2*x5 ≤ 11*b) + (h18 : b ≤ x18 ∧ 2*x18 ≤ 11*b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (x16 = 3*x15+1 ∧ x15%2 = 1)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (x18 = 3*x17+1 ∧ x17%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18⟩ := parameters_001001010010100101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 + clear p0 p1 p2 p3 p4 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 + omega + +/-- Terminal branch `00100101001010011` cannot satisfy the band bounds. -/ +theorem exclude_00100101001010011 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 : Nat) + (b : Nat) (hb : 1 < b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (x16 = 3*x15+1 ∧ x15%2 = 1)) + (r16 : (x17 = 3*x16+1 ∧ x16%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16⟩ := parameters_0010010100101001 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 + have hparity := r16.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 + clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 + omega + +/-- Terminal branch `001001010010101` cannot satisfy the band bounds. -/ +theorem exclude_001001010010101 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 : Nat) + (b : Nat) (hb : 1 < b) + (h2 : b ≤ x2 ∧ 2*x2 ≤ 11*b) + (h15 : b ≤ x15 ∧ 2*x15 ≤ 11*b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15⟩ := parameters_001001010010101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 + clear p0 p1 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 + omega + +/-- Terminal branch `00100101001011` cannot satisfy the band bounds. -/ +theorem exclude_00100101001011 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 : Nat) + (b : Nat) (hb : 1 < b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13⟩ := parameters_0010010100101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 + have hparity := r13.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 + clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 + omega + +/-- Terminal branch `001001010011` cannot satisfy the band bounds. -/ +theorem exclude_001001010011 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 : Nat) + (b : Nat) (hb : 1 < b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11⟩ := parameters_00100101001 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 + have hparity := r11.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 + clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 + omega + +/-- Terminal branch `0010010101` cannot satisfy the band bounds. -/ +theorem exclude_0010010101 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 : Nat) + (b : Nat) (hb : 1 < b) + (h5 : b ≤ x5 ∧ 2*x5 ≤ 11*b) + (h10 : b ≤ x10 ∧ 2*x10 ≤ 11*b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10⟩ := parameters_0010010101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 + clear p0 p1 p2 p3 p4 p6 p7 p8 p9 + omega + +/-- Terminal branch `001001011` cannot satisfy the band bounds. -/ +theorem exclude_001001011 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 : Nat) + (b : Nat) (hb : 1 < b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8⟩ := parameters_00100101 x0 x1 x2 x3 x4 x5 x6 x7 x8 r0 r1 r2 r3 r4 r5 r6 r7 + have hparity := r8.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 + clear p0 p1 p2 p3 p4 p5 p6 p7 + omega + +/-- Terminal branch `0010011` cannot satisfy the band bounds. -/ +theorem exclude_0010011 + (x0 x1 x2 x3 x4 x5 x6 x7 : Nat) + (b : Nat) (hb : 1 < b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6⟩ := parameters_001001 x0 x1 x2 x3 x4 x5 x6 r0 r1 r2 r3 r4 r5 + have hparity := r6.2 + clear r0 r1 r2 r3 r4 r5 r6 + clear p0 p1 p2 p3 p4 p5 + omega + +/-- Terminal branch `00101000` cannot satisfy the band bounds. -/ +theorem exclude_00101000 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 : Nat) + (b : Nat) (hb : 1 < b) + (h0 : b ≤ x0 ∧ 2*x0 ≤ 11*b) + (h8 : b ≤ x8 ∧ 2*x8 ≤ 11*b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8⟩ := parameters_00101000 x0 x1 x2 x3 x4 x5 x6 x7 x8 r0 r1 r2 r3 r4 r5 r6 r7 + clear r0 r1 r2 r3 r4 r5 r6 r7 + clear p1 p2 p3 p4 p5 p6 p7 + omega + +/-- Terminal branch `00101001000` cannot satisfy the band bounds. -/ +theorem exclude_00101001000 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 : Nat) + (b : Nat) (hb : 1 < b) + (h0 : b ≤ x0 ∧ 2*x0 ≤ 11*b) + (h11 : b ≤ x11 ∧ 2*x11 ≤ 11*b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11⟩ := parameters_00101001000 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 + clear p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 + omega + +/-- Terminal branch `0010100100100` cannot satisfy the band bounds. -/ +theorem exclude_0010100100100 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 : Nat) + (b : Nat) (hb : 1 < b) + (h0 : b ≤ x0 ∧ 2*x0 ≤ 11*b) + (h13 : b ≤ x13 ∧ 2*x13 ≤ 11*b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13⟩ := parameters_0010100100100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 + clear p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 + omega + +/-- Terminal branch `0010100100101000` cannot satisfy the band bounds. -/ +theorem exclude_0010100100101000 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 : Nat) + (b : Nat) (hb : 1 < b) + (h0 : b ≤ x0 ∧ 2*x0 ≤ 11*b) + (h16 : b ≤ x16 ∧ 2*x16 ≤ 11*b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16⟩ := parameters_0010100100101000 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 + clear p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 + omega + +/-- Terminal branch `001010010010100100` cannot satisfy the band bounds. -/ +theorem exclude_001010010010100100 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 : Nat) + (b : Nat) (hb : 1 < b) + (h0 : b ≤ x0 ∧ 2*x0 ≤ 11*b) + (h18 : b ≤ x18 ∧ 2*x18 ≤ 11*b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (x16 = 3*x15+1 ∧ x15%2 = 1)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18⟩ := parameters_001010010010100100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 + clear p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 + omega + +/-- Terminal branch `001010010010100101000` cannot satisfy the band bounds. -/ +theorem exclude_001010010010100101000 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 : Nat) + (b : Nat) (hb : 1 < b) + (h0 : b ≤ x0 ∧ 2*x0 ≤ 11*b) + (h21 : b ≤ x21 ∧ 2*x21 ≤ 11*b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (x16 = 3*x15+1 ∧ x15%2 = 1)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (x18 = 3*x17+1 ∧ x17%2 = 1)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + (r19 : (2*x20 = x19 ∧ x19%2 = 0)) + (r20 : (2*x21 = x20 ∧ x20%2 = 0)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21⟩ := parameters_001010010010100101000 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 + clear p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 + omega + +/-- Terminal branch `00101001001010010100100` cannot satisfy the band bounds. -/ +theorem exclude_00101001001010010100100 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 : Nat) + (b : Nat) (hb : 1 < b) + (h5 : b ≤ x5 ∧ 2*x5 ≤ 11*b) + (h23 : b ≤ x23 ∧ 2*x23 ≤ 11*b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (x16 = 3*x15+1 ∧ x15%2 = 1)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (x18 = 3*x17+1 ∧ x17%2 = 1)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + (r19 : (2*x20 = x19 ∧ x19%2 = 0)) + (r20 : (x21 = 3*x20+1 ∧ x20%2 = 1)) + (r21 : (2*x22 = x21 ∧ x21%2 = 0)) + (r22 : (2*x23 = x22 ∧ x22%2 = 0)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23⟩ := parameters_00101001001010010100100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 + clear p0 p1 p2 p3 p4 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 + omega + +/-- Terminal branch `00101001001010010100101` cannot satisfy the band bounds. -/ +theorem exclude_00101001001010010100101 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 : Nat) + (b : Nat) (hb : 1 < b) + (h10 : b ≤ x10 ∧ 2*x10 ≤ 11*b) + (h23 : b ≤ x23 ∧ 2*x23 ≤ 11*b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (x16 = 3*x15+1 ∧ x15%2 = 1)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (x18 = 3*x17+1 ∧ x17%2 = 1)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + (r19 : (2*x20 = x19 ∧ x19%2 = 0)) + (r20 : (x21 = 3*x20+1 ∧ x20%2 = 1)) + (r21 : (2*x22 = x21 ∧ x21%2 = 0)) + (r22 : (x23 = 3*x22+1 ∧ x22%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23⟩ := parameters_00101001001010010100101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 + clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 + omega + +/-- Terminal branch `0010100100101001010011` cannot satisfy the band bounds. -/ +theorem exclude_0010100100101001010011 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 : Nat) + (b : Nat) (hb : 1 < b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (x16 = 3*x15+1 ∧ x15%2 = 1)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (x18 = 3*x17+1 ∧ x17%2 = 1)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + (r19 : (2*x20 = x19 ∧ x19%2 = 0)) + (r20 : (x21 = 3*x20+1 ∧ x20%2 = 1)) + (r21 : (x22 = 3*x21+1 ∧ x21%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21⟩ := parameters_001010010010100101001 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 + have hparity := r21.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 + clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 + omega + +/-- Terminal branch `00101001001010010101` cannot satisfy the band bounds. -/ +theorem exclude_00101001001010010101 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 : Nat) + (b : Nat) (hb : 1 < b) + (h2 : b ≤ x2 ∧ 2*x2 ≤ 11*b) + (h20 : b ≤ x20 ∧ 2*x20 ≤ 11*b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (x16 = 3*x15+1 ∧ x15%2 = 1)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (x18 = 3*x17+1 ∧ x17%2 = 1)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + (r19 : (x20 = 3*x19+1 ∧ x19%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20⟩ := parameters_00101001001010010101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 + clear p0 p1 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 + omega + +/-- Terminal branch `0010100100101001011` cannot satisfy the band bounds. -/ +theorem exclude_0010100100101001011 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 : Nat) + (b : Nat) (hb : 1 < b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (x16 = 3*x15+1 ∧ x15%2 = 1)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (x18 = 3*x17+1 ∧ x17%2 = 1)) + (r18 : (x19 = 3*x18+1 ∧ x18%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18⟩ := parameters_001010010010100101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 + have hparity := r18.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 + clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 + omega + +/-- Terminal branch `00101001001010011` cannot satisfy the band bounds. -/ +theorem exclude_00101001001010011 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 : Nat) + (b : Nat) (hb : 1 < b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (x16 = 3*x15+1 ∧ x15%2 = 1)) + (r16 : (x17 = 3*x16+1 ∧ x16%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16⟩ := parameters_0010100100101001 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 + have hparity := r16.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 + clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 + omega + +/-- Terminal branch `001010010010101` cannot satisfy the band bounds. -/ +theorem exclude_001010010010101 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 : Nat) + (b : Nat) (hb : 1 < b) + (h2 : b ≤ x2 ∧ 2*x2 ≤ 11*b) + (h15 : b ≤ x15 ∧ 2*x15 ≤ 11*b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15⟩ := parameters_001010010010101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 + clear p0 p1 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 + omega + +/-- Terminal branch `00101001001011` cannot satisfy the band bounds. -/ +theorem exclude_00101001001011 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 : Nat) + (b : Nat) (hb : 1 < b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13⟩ := parameters_0010100100101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 + have hparity := r13.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 + clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 + omega + +/-- Terminal branch `001010010011` cannot satisfy the band bounds. -/ +theorem exclude_001010010011 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 : Nat) + (b : Nat) (hb : 1 < b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11⟩ := parameters_00101001001 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 + have hparity := r11.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 + clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 + omega + +/-- Terminal branch `0010100101000` cannot satisfy the band bounds. -/ +theorem exclude_0010100101000 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 : Nat) + (b : Nat) (hb : 1 < b) + (h0 : b ≤ x0 ∧ 2*x0 ≤ 11*b) + (h13 : b ≤ x13 ∧ 2*x13 ≤ 11*b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13⟩ := parameters_0010100101000 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 + clear p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 + omega + +/-- Terminal branch `0010100101001000` cannot satisfy the band bounds. -/ +theorem exclude_0010100101001000 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 : Nat) + (b : Nat) (hb : 1 < b) + (h0 : b ≤ x0 ∧ 2*x0 ≤ 11*b) + (h16 : b ≤ x16 ∧ 2*x16 ≤ 11*b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16⟩ := parameters_0010100101001000 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 + clear p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 + omega + +/-- Terminal branch `001010010100100100` cannot satisfy the band bounds. -/ +theorem exclude_001010010100100100 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 : Nat) + (b : Nat) (hb : 1 < b) + (h0 : b ≤ x0 ∧ 2*x0 ≤ 11*b) + (h18 : b ≤ x18 ∧ 2*x18 ≤ 11*b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (x16 = 3*x15+1 ∧ x15%2 = 1)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18⟩ := parameters_001010010100100100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 + clear p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 + omega + +/-- Terminal branch `001010010100100101000` cannot satisfy the band bounds. -/ +theorem exclude_001010010100100101000 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 : Nat) + (b : Nat) (hb : 1 < b) + (h0 : b ≤ x0 ∧ 2*x0 ≤ 11*b) + (h21 : b ≤ x21 ∧ 2*x21 ≤ 11*b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (x16 = 3*x15+1 ∧ x15%2 = 1)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (x18 = 3*x17+1 ∧ x17%2 = 1)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + (r19 : (2*x20 = x19 ∧ x19%2 = 0)) + (r20 : (2*x21 = x20 ∧ x20%2 = 0)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21⟩ := parameters_001010010100100101000 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 + clear p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 + omega + +/-- Terminal branch `00101001010010010100100` cannot satisfy the band bounds. -/ +theorem exclude_00101001010010010100100 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 : Nat) + (b : Nat) (hb : 1 < b) + (h5 : b ≤ x5 ∧ 2*x5 ≤ 11*b) + (h23 : b ≤ x23 ∧ 2*x23 ≤ 11*b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (x16 = 3*x15+1 ∧ x15%2 = 1)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (x18 = 3*x17+1 ∧ x17%2 = 1)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + (r19 : (2*x20 = x19 ∧ x19%2 = 0)) + (r20 : (x21 = 3*x20+1 ∧ x20%2 = 1)) + (r21 : (2*x22 = x21 ∧ x21%2 = 0)) + (r22 : (2*x23 = x22 ∧ x22%2 = 0)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23⟩ := parameters_00101001010010010100100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 + clear p0 p1 p2 p3 p4 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 + omega + +/-- Terminal branch `00101001010010010100101000` cannot satisfy the band bounds. -/ +theorem exclude_00101001010010010100101000 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 x26 : Nat) + (b : Nat) (hb : 1 < b) + (h0 : b ≤ x0 ∧ 2*x0 ≤ 11*b) + (h26 : b ≤ x26 ∧ 2*x26 ≤ 11*b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (x16 = 3*x15+1 ∧ x15%2 = 1)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (x18 = 3*x17+1 ∧ x17%2 = 1)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + (r19 : (2*x20 = x19 ∧ x19%2 = 0)) + (r20 : (x21 = 3*x20+1 ∧ x20%2 = 1)) + (r21 : (2*x22 = x21 ∧ x21%2 = 0)) + (r22 : (x23 = 3*x22+1 ∧ x22%2 = 1)) + (r23 : (2*x24 = x23 ∧ x23%2 = 0)) + (r24 : (2*x25 = x24 ∧ x24%2 = 0)) + (r25 : (2*x26 = x25 ∧ x25%2 = 0)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26⟩ := parameters_00101001010010010100101000 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 x26 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 r25 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 r25 + clear p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 p23 p24 p25 + omega + +/-- Terminal branch `0010100101001001010010100100` cannot satisfy the band bounds. -/ +theorem exclude_0010100101001001010010100100 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 x26 x27 x28 : Nat) + (b : Nat) (hb : 1 < b) + (h10 : b ≤ x10 ∧ 2*x10 ≤ 11*b) + (h28 : b ≤ x28 ∧ 2*x28 ≤ 11*b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (x16 = 3*x15+1 ∧ x15%2 = 1)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (x18 = 3*x17+1 ∧ x17%2 = 1)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + (r19 : (2*x20 = x19 ∧ x19%2 = 0)) + (r20 : (x21 = 3*x20+1 ∧ x20%2 = 1)) + (r21 : (2*x22 = x21 ∧ x21%2 = 0)) + (r22 : (x23 = 3*x22+1 ∧ x22%2 = 1)) + (r23 : (2*x24 = x23 ∧ x23%2 = 0)) + (r24 : (2*x25 = x24 ∧ x24%2 = 0)) + (r25 : (x26 = 3*x25+1 ∧ x25%2 = 1)) + (r26 : (2*x27 = x26 ∧ x26%2 = 0)) + (r27 : (2*x28 = x27 ∧ x27%2 = 0)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28⟩ := parameters_0010100101001001010010100100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 x26 x27 x28 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 r25 r26 r27 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 r25 r26 r27 + clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 p23 p24 p25 p26 p27 + omega + +/-- Terminal branch `0010100101001001010010100101` cannot satisfy the band bounds. -/ +theorem exclude_0010100101001001010010100101 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 x26 x27 x28 : Nat) + (b : Nat) (hb : 1 < b) + (h15 : b ≤ x15 ∧ 2*x15 ≤ 11*b) + (h28 : b ≤ x28 ∧ 2*x28 ≤ 11*b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (x16 = 3*x15+1 ∧ x15%2 = 1)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (x18 = 3*x17+1 ∧ x17%2 = 1)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + (r19 : (2*x20 = x19 ∧ x19%2 = 0)) + (r20 : (x21 = 3*x20+1 ∧ x20%2 = 1)) + (r21 : (2*x22 = x21 ∧ x21%2 = 0)) + (r22 : (x23 = 3*x22+1 ∧ x22%2 = 1)) + (r23 : (2*x24 = x23 ∧ x23%2 = 0)) + (r24 : (2*x25 = x24 ∧ x24%2 = 0)) + (r25 : (x26 = 3*x25+1 ∧ x25%2 = 1)) + (r26 : (2*x27 = x26 ∧ x26%2 = 0)) + (r27 : (x28 = 3*x27+1 ∧ x27%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28⟩ := parameters_0010100101001001010010100101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 x26 x27 x28 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 r25 r26 r27 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 r25 r26 r27 + clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p16 p17 p18 p19 p20 p21 p22 p23 p24 p25 p26 p27 + omega + +/-- Terminal branch `001010010100100101001010011` cannot satisfy the band bounds. -/ +theorem exclude_001010010100100101001010011 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 x26 x27 : Nat) + (b : Nat) (hb : 1 < b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (x16 = 3*x15+1 ∧ x15%2 = 1)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (x18 = 3*x17+1 ∧ x17%2 = 1)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + (r19 : (2*x20 = x19 ∧ x19%2 = 0)) + (r20 : (x21 = 3*x20+1 ∧ x20%2 = 1)) + (r21 : (2*x22 = x21 ∧ x21%2 = 0)) + (r22 : (x23 = 3*x22+1 ∧ x22%2 = 1)) + (r23 : (2*x24 = x23 ∧ x23%2 = 0)) + (r24 : (2*x25 = x24 ∧ x24%2 = 0)) + (r25 : (x26 = 3*x25+1 ∧ x25%2 = 1)) + (r26 : (x27 = 3*x26+1 ∧ x26%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26⟩ := parameters_00101001010010010100101001 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 x26 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 r25 + have hparity := r26.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 r25 r26 + clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 p23 p24 p25 + omega + +/-- Terminal branch `0010100101001001010010101` cannot satisfy the band bounds. -/ +theorem exclude_0010100101001001010010101 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 : Nat) + (b : Nat) (hb : 1 < b) + (h2 : b ≤ x2 ∧ 2*x2 ≤ 11*b) + (h25 : b ≤ x25 ∧ 2*x25 ≤ 11*b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (x16 = 3*x15+1 ∧ x15%2 = 1)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (x18 = 3*x17+1 ∧ x17%2 = 1)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + (r19 : (2*x20 = x19 ∧ x19%2 = 0)) + (r20 : (x21 = 3*x20+1 ∧ x20%2 = 1)) + (r21 : (2*x22 = x21 ∧ x21%2 = 0)) + (r22 : (x23 = 3*x22+1 ∧ x22%2 = 1)) + (r23 : (2*x24 = x23 ∧ x23%2 = 0)) + (r24 : (x25 = 3*x24+1 ∧ x24%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25⟩ := parameters_0010100101001001010010101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 + clear p0 p1 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 p23 p24 + omega + +/-- Terminal branch `001010010100100101001011` cannot satisfy the band bounds. -/ +theorem exclude_001010010100100101001011 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 : Nat) + (b : Nat) (hb : 1 < b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (x16 = 3*x15+1 ∧ x15%2 = 1)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (x18 = 3*x17+1 ∧ x17%2 = 1)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + (r19 : (2*x20 = x19 ∧ x19%2 = 0)) + (r20 : (x21 = 3*x20+1 ∧ x20%2 = 1)) + (r21 : (2*x22 = x21 ∧ x21%2 = 0)) + (r22 : (x23 = 3*x22+1 ∧ x22%2 = 1)) + (r23 : (x24 = 3*x23+1 ∧ x23%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23⟩ := parameters_00101001010010010100101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 + have hparity := r23.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 + clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 + omega + +/-- Terminal branch `0010100101001001010011` cannot satisfy the band bounds. -/ +theorem exclude_0010100101001001010011 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 : Nat) + (b : Nat) (hb : 1 < b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (x16 = 3*x15+1 ∧ x15%2 = 1)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (x18 = 3*x17+1 ∧ x17%2 = 1)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + (r19 : (2*x20 = x19 ∧ x19%2 = 0)) + (r20 : (x21 = 3*x20+1 ∧ x20%2 = 1)) + (r21 : (x22 = 3*x21+1 ∧ x21%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21⟩ := parameters_001010010100100101001 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 + have hparity := r21.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 + clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 + omega + +/-- Terminal branch `00101001010010010101` cannot satisfy the band bounds. -/ +theorem exclude_00101001010010010101 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 : Nat) + (b : Nat) (hb : 1 < b) + (h2 : b ≤ x2 ∧ 2*x2 ≤ 11*b) + (h20 : b ≤ x20 ∧ 2*x20 ≤ 11*b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (x16 = 3*x15+1 ∧ x15%2 = 1)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (x18 = 3*x17+1 ∧ x17%2 = 1)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + (r19 : (x20 = 3*x19+1 ∧ x19%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20⟩ := parameters_00101001010010010101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 + clear p0 p1 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 + omega + +/-- Terminal branch `0010100101001001011` cannot satisfy the band bounds. -/ +theorem exclude_0010100101001001011 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 : Nat) + (b : Nat) (hb : 1 < b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (x16 = 3*x15+1 ∧ x15%2 = 1)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (x18 = 3*x17+1 ∧ x17%2 = 1)) + (r18 : (x19 = 3*x18+1 ∧ x18%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18⟩ := parameters_001010010100100101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 + have hparity := r18.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 + clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 + omega + +/-- Terminal branch `00101001010010011` cannot satisfy the band bounds. -/ +theorem exclude_00101001010010011 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 : Nat) + (b : Nat) (hb : 1 < b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (x16 = 3*x15+1 ∧ x15%2 = 1)) + (r16 : (x17 = 3*x16+1 ∧ x16%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16⟩ := parameters_0010100101001001 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 + have hparity := r16.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 + clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 + omega + + +end Collatz.Exploration.ElevenHalvesArithmetic diff --git a/Collatz/Exploration/ElevenHalvesArithmetic/Part16.lean b/Collatz/Exploration/ElevenHalvesArithmetic/Part16.lean new file mode 100644 index 00000000..76cd86a8 --- /dev/null +++ b/Collatz/Exploration/ElevenHalvesArithmetic/Part16.lean @@ -0,0 +1,1178 @@ +import Collatz.Exploration.ElevenHalvesArithmetic.Part15 + +namespace Collatz.Exploration.ElevenHalvesArithmetic + +set_option maxHeartbeats 2000000 +set_option linter.unusedVariables false + +/-- Terminal branch `001010010100101` cannot satisfy the band bounds. -/ +theorem exclude_001010010100101 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 : Nat) + (b : Nat) (hb : 1 < b) + (h2 : b ≤ x2 ∧ 2*x2 ≤ 11*b) + (h15 : b ≤ x15 ∧ 2*x15 ≤ 11*b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15⟩ := parameters_001010010100101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 + clear p0 p1 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 + omega + +/-- Terminal branch `00101001010011` cannot satisfy the band bounds. -/ +theorem exclude_00101001010011 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 : Nat) + (b : Nat) (hb : 1 < b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13⟩ := parameters_0010100101001 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 + have hparity := r13.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 + clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 + omega + +/-- Terminal branch `001010010101` cannot satisfy the band bounds. -/ +theorem exclude_001010010101 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 : Nat) + (b : Nat) (hb : 1 < b) + (h2 : b ≤ x2 ∧ 2*x2 ≤ 11*b) + (h12 : b ≤ x12 ∧ 2*x12 ≤ 11*b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12⟩ := parameters_001010010101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 + clear p0 p1 p3 p4 p5 p6 p7 p8 p9 p10 p11 + omega + +/-- Terminal branch `00101001011` cannot satisfy the band bounds. -/ +theorem exclude_00101001011 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 : Nat) + (b : Nat) (hb : 1 < b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10⟩ := parameters_0010100101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 + have hparity := r10.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 + clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 + omega + +/-- Terminal branch `001010011` cannot satisfy the band bounds. -/ +theorem exclude_001010011 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 : Nat) + (b : Nat) (hb : 1 < b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8⟩ := parameters_00101001 x0 x1 x2 x3 x4 x5 x6 x7 x8 r0 r1 r2 r3 r4 r5 r6 r7 + have hparity := r8.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 + clear p0 p1 p2 p3 p4 p5 p6 p7 + omega + +/-- Terminal branch `0010101` cannot satisfy the band bounds. -/ +theorem exclude_0010101 + (x0 x1 x2 x3 x4 x5 x6 x7 : Nat) + (b : Nat) (hb : 1 < b) + (h2 : b ≤ x2 ∧ 2*x2 ≤ 11*b) + (h7 : b ≤ x7 ∧ 2*x7 ≤ 11*b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7⟩ := parameters_0010101 x0 x1 x2 x3 x4 x5 x6 x7 r0 r1 r2 r3 r4 r5 r6 + clear r0 r1 r2 r3 r4 r5 r6 + clear p0 p1 p3 p4 p5 p6 + omega + +/-- Terminal branch `001011` cannot satisfy the band bounds. -/ +theorem exclude_001011 + (x0 x1 x2 x3 x4 x5 x6 : Nat) + (b : Nat) (hb : 1 < b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5⟩ := parameters_00101 x0 x1 x2 x3 x4 x5 r0 r1 r2 r3 r4 + have hparity := r5.2 + clear r0 r1 r2 r3 r4 r5 + clear p0 p1 p2 p3 p4 + omega + +/-- Terminal branch `0011` cannot satisfy the band bounds. -/ +theorem exclude_0011 + (x0 x1 x2 x3 x4 : Nat) + (b : Nat) (hb : 1 < b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3⟩ := parameters_001 x0 x1 x2 x3 r0 r1 r2 + have hparity := r3.2 + clear r0 r1 r2 r3 + clear p0 p1 p2 + omega + +/-- Terminal branch `01000` cannot satisfy the band bounds. -/ +theorem exclude_01000 + (x0 x1 x2 x3 x4 x5 : Nat) + (b : Nat) (hb : 1 < b) + (h2 : b ≤ x2 ∧ 2*x2 ≤ 11*b) + (h5 : b ≤ x5 ∧ 2*x5 ≤ 11*b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5⟩ := parameters_01000 x0 x1 x2 x3 x4 x5 r0 r1 r2 r3 r4 + clear r0 r1 r2 r3 r4 + clear p0 p1 p3 p4 + omega + +/-- Terminal branch `01001000` cannot satisfy the band bounds. -/ +theorem exclude_01001000 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 : Nat) + (b : Nat) (hb : 1 < b) + (h0 : b ≤ x0 ∧ 2*x0 ≤ 11*b) + (h8 : b ≤ x8 ∧ 2*x8 ≤ 11*b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8⟩ := parameters_01001000 x0 x1 x2 x3 x4 x5 x6 x7 x8 r0 r1 r2 r3 r4 r5 r6 r7 + clear r0 r1 r2 r3 r4 r5 r6 r7 + clear p1 p2 p3 p4 p5 p6 p7 + omega + +/-- Terminal branch `0100100100` cannot satisfy the band bounds. -/ +theorem exclude_0100100100 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 : Nat) + (b : Nat) (hb : 1 < b) + (h2 : b ≤ x2 ∧ 2*x2 ≤ 11*b) + (h10 : b ≤ x10 ∧ 2*x10 ≤ 11*b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10⟩ := parameters_0100100100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 + clear p0 p1 p3 p4 p5 p6 p7 p8 p9 + omega + +/-- Terminal branch `0100100101000` cannot satisfy the band bounds. -/ +theorem exclude_0100100101000 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 : Nat) + (b : Nat) (hb : 1 < b) + (h0 : b ≤ x0 ∧ 2*x0 ≤ 11*b) + (h13 : b ≤ x13 ∧ 2*x13 ≤ 11*b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13⟩ := parameters_0100100101000 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 + clear p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 + omega + +/-- Terminal branch `010010010100100` cannot satisfy the band bounds. -/ +theorem exclude_010010010100100 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 : Nat) + (b : Nat) (hb : 1 < b) + (h2 : b ≤ x2 ∧ 2*x2 ≤ 11*b) + (h15 : b ≤ x15 ∧ 2*x15 ≤ 11*b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15⟩ := parameters_010010010100100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 + clear p0 p1 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 + omega + +/-- Terminal branch `010010010100101000` cannot satisfy the band bounds. -/ +theorem exclude_010010010100101000 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 : Nat) + (b : Nat) (hb : 1 < b) + (h0 : b ≤ x0 ∧ 2*x0 ≤ 11*b) + (h18 : b ≤ x18 ∧ 2*x18 ≤ 11*b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18⟩ := parameters_010010010100101000 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 + clear p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 + omega + +/-- Terminal branch `01001001010010100100` cannot satisfy the band bounds. -/ +theorem exclude_01001001010010100100 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 : Nat) + (b : Nat) (hb : 1 < b) + (h2 : b ≤ x2 ∧ 2*x2 ≤ 11*b) + (h20 : b ≤ x20 ∧ 2*x20 ≤ 11*b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (x18 = 3*x17+1 ∧ x17%2 = 1)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + (r19 : (2*x20 = x19 ∧ x19%2 = 0)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20⟩ := parameters_01001001010010100100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 + clear p0 p1 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 + omega + +/-- Terminal branch `01001001010010100101` cannot satisfy the band bounds. -/ +theorem exclude_01001001010010100101 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 : Nat) + (b : Nat) (hb : 1 < b) + (h7 : b ≤ x7 ∧ 2*x7 ≤ 11*b) + (h20 : b ≤ x20 ∧ 2*x20 ≤ 11*b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (x18 = 3*x17+1 ∧ x17%2 = 1)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + (r19 : (x20 = 3*x19+1 ∧ x19%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20⟩ := parameters_01001001010010100101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 + clear p0 p1 p2 p3 p4 p5 p6 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 + omega + +/-- Terminal branch `0100100101001010011` cannot satisfy the band bounds. -/ +theorem exclude_0100100101001010011 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 : Nat) + (b : Nat) (hb : 1 < b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (x18 = 3*x17+1 ∧ x17%2 = 1)) + (r18 : (x19 = 3*x18+1 ∧ x18%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18⟩ := parameters_010010010100101001 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 + have hparity := r18.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 + clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 + omega + +/-- Terminal branch `01001001010010101` cannot satisfy the band bounds. -/ +theorem exclude_01001001010010101 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 : Nat) + (b : Nat) (hb : 1 < b) + (h4 : b ≤ x4 ∧ 2*x4 ≤ 11*b) + (h17 : b ≤ x17 ∧ 2*x17 ≤ 11*b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (x17 = 3*x16+1 ∧ x16%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17⟩ := parameters_01001001010010101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 + clear p0 p1 p2 p3 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 + omega + +/-- Terminal branch `0100100101001011` cannot satisfy the band bounds. -/ +theorem exclude_0100100101001011 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 : Nat) + (b : Nat) (hb : 1 < b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + (r15 : (x16 = 3*x15+1 ∧ x15%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15⟩ := parameters_010010010100101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 + have hparity := r15.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 + clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 + omega + +/-- Terminal branch `01001001010011` cannot satisfy the band bounds. -/ +theorem exclude_01001001010011 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 : Nat) + (b : Nat) (hb : 1 < b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13⟩ := parameters_0100100101001 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 + have hparity := r13.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 + clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 + omega + +/-- Terminal branch `010010010101` cannot satisfy the band bounds. -/ +theorem exclude_010010010101 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 : Nat) + (b : Nat) (hb : 1 < b) + (h7 : b ≤ x7 ∧ 2*x7 ≤ 11*b) + (h12 : b ≤ x12 ∧ 2*x12 ≤ 11*b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12⟩ := parameters_010010010101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 + clear p0 p1 p2 p3 p4 p5 p6 p8 p9 p10 p11 + omega + +/-- Terminal branch `01001001011` cannot satisfy the band bounds. -/ +theorem exclude_01001001011 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 : Nat) + (b : Nat) (hb : 1 < b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10⟩ := parameters_0100100101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 + have hparity := r10.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 + clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 + omega + +/-- Terminal branch `010010011` cannot satisfy the band bounds. -/ +theorem exclude_010010011 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 : Nat) + (b : Nat) (hb : 1 < b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8⟩ := parameters_01001001 x0 x1 x2 x3 x4 x5 x6 x7 x8 r0 r1 r2 r3 r4 r5 r6 r7 + have hparity := r8.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 + clear p0 p1 p2 p3 p4 p5 p6 p7 + omega + +/-- Terminal branch `0100101000` cannot satisfy the band bounds. -/ +theorem exclude_0100101000 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 : Nat) + (b : Nat) (hb : 1 < b) + (h2 : b ≤ x2 ∧ 2*x2 ≤ 11*b) + (h10 : b ≤ x10 ∧ 2*x10 ≤ 11*b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10⟩ := parameters_0100101000 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 + clear p0 p1 p3 p4 p5 p6 p7 p8 p9 + omega + +/-- Terminal branch `0100101001000` cannot satisfy the band bounds. -/ +theorem exclude_0100101001000 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 : Nat) + (b : Nat) (hb : 1 < b) + (h0 : b ≤ x0 ∧ 2*x0 ≤ 11*b) + (h13 : b ≤ x13 ∧ 2*x13 ≤ 11*b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13⟩ := parameters_0100101001000 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 + clear p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 + omega + +/-- Terminal branch `010010100100100` cannot satisfy the band bounds. -/ +theorem exclude_010010100100100 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 : Nat) + (b : Nat) (hb : 1 < b) + (h2 : b ≤ x2 ∧ 2*x2 ≤ 11*b) + (h15 : b ≤ x15 ∧ 2*x15 ≤ 11*b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15⟩ := parameters_010010100100100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 + clear p0 p1 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 + omega + +/-- Terminal branch `010010100100101000` cannot satisfy the band bounds. -/ +theorem exclude_010010100100101000 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 : Nat) + (b : Nat) (hb : 1 < b) + (h0 : b ≤ x0 ∧ 2*x0 ≤ 11*b) + (h18 : b ≤ x18 ∧ 2*x18 ≤ 11*b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18⟩ := parameters_010010100100101000 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 + clear p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 + omega + +/-- Terminal branch `01001010010010100100` cannot satisfy the band bounds. -/ +theorem exclude_01001010010010100100 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 : Nat) + (b : Nat) (hb : 1 < b) + (h2 : b ≤ x2 ∧ 2*x2 ≤ 11*b) + (h20 : b ≤ x20 ∧ 2*x20 ≤ 11*b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (x18 = 3*x17+1 ∧ x17%2 = 1)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + (r19 : (2*x20 = x19 ∧ x19%2 = 0)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20⟩ := parameters_01001010010010100100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 + clear p0 p1 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 + omega + +/-- Terminal branch `01001010010010100101000` cannot satisfy the band bounds. -/ +theorem exclude_01001010010010100101000 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 : Nat) + (b : Nat) (hb : 1 < b) + (h2 : b ≤ x2 ∧ 2*x2 ≤ 11*b) + (h23 : b ≤ x23 ∧ 2*x23 ≤ 11*b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (x18 = 3*x17+1 ∧ x17%2 = 1)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + (r19 : (x20 = 3*x19+1 ∧ x19%2 = 1)) + (r20 : (2*x21 = x20 ∧ x20%2 = 0)) + (r21 : (2*x22 = x21 ∧ x21%2 = 0)) + (r22 : (2*x23 = x22 ∧ x22%2 = 0)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23⟩ := parameters_01001010010010100101000 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 + clear p0 p1 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 + omega + +/-- Terminal branch `0100101001001010010100100` cannot satisfy the band bounds. -/ +theorem exclude_0100101001001010010100100 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 : Nat) + (b : Nat) (hb : 1 < b) + (h7 : b ≤ x7 ∧ 2*x7 ≤ 11*b) + (h25 : b ≤ x25 ∧ 2*x25 ≤ 11*b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (x18 = 3*x17+1 ∧ x17%2 = 1)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + (r19 : (x20 = 3*x19+1 ∧ x19%2 = 1)) + (r20 : (2*x21 = x20 ∧ x20%2 = 0)) + (r21 : (2*x22 = x21 ∧ x21%2 = 0)) + (r22 : (x23 = 3*x22+1 ∧ x22%2 = 1)) + (r23 : (2*x24 = x23 ∧ x23%2 = 0)) + (r24 : (2*x25 = x24 ∧ x24%2 = 0)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25⟩ := parameters_0100101001001010010100100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 + clear p0 p1 p2 p3 p4 p5 p6 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 p23 p24 + omega + +/-- Terminal branch `0100101001001010010100101` cannot satisfy the band bounds. -/ +theorem exclude_0100101001001010010100101 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 : Nat) + (b : Nat) (hb : 1 < b) + (h12 : b ≤ x12 ∧ 2*x12 ≤ 11*b) + (h25 : b ≤ x25 ∧ 2*x25 ≤ 11*b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (x18 = 3*x17+1 ∧ x17%2 = 1)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + (r19 : (x20 = 3*x19+1 ∧ x19%2 = 1)) + (r20 : (2*x21 = x20 ∧ x20%2 = 0)) + (r21 : (2*x22 = x21 ∧ x21%2 = 0)) + (r22 : (x23 = 3*x22+1 ∧ x22%2 = 1)) + (r23 : (2*x24 = x23 ∧ x23%2 = 0)) + (r24 : (x25 = 3*x24+1 ∧ x24%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25⟩ := parameters_0100101001001010010100101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 + clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 p23 p24 + omega + +/-- Terminal branch `010010100100101001010011` cannot satisfy the band bounds. -/ +theorem exclude_010010100100101001010011 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 : Nat) + (b : Nat) (hb : 1 < b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (x18 = 3*x17+1 ∧ x17%2 = 1)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + (r19 : (x20 = 3*x19+1 ∧ x19%2 = 1)) + (r20 : (2*x21 = x20 ∧ x20%2 = 0)) + (r21 : (2*x22 = x21 ∧ x21%2 = 0)) + (r22 : (x23 = 3*x22+1 ∧ x22%2 = 1)) + (r23 : (x24 = 3*x23+1 ∧ x23%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23⟩ := parameters_01001010010010100101001 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 + have hparity := r23.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 + clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 + omega + +/-- Terminal branch `0100101001001010010101` cannot satisfy the band bounds. -/ +theorem exclude_0100101001001010010101 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 : Nat) + (b : Nat) (hb : 1 < b) + (h4 : b ≤ x4 ∧ 2*x4 ≤ 11*b) + (h22 : b ≤ x22 ∧ 2*x22 ≤ 11*b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (x18 = 3*x17+1 ∧ x17%2 = 1)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + (r19 : (x20 = 3*x19+1 ∧ x19%2 = 1)) + (r20 : (2*x21 = x20 ∧ x20%2 = 0)) + (r21 : (x22 = 3*x21+1 ∧ x21%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22⟩ := parameters_0100101001001010010101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 + clear p0 p1 p2 p3 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 + omega + +/-- Terminal branch `010010100100101001011` cannot satisfy the band bounds. -/ +theorem exclude_010010100100101001011 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 : Nat) + (b : Nat) (hb : 1 < b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (x18 = 3*x17+1 ∧ x17%2 = 1)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + (r19 : (x20 = 3*x19+1 ∧ x19%2 = 1)) + (r20 : (x21 = 3*x20+1 ∧ x20%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20⟩ := parameters_01001010010010100101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 + have hparity := r20.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 + clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 + omega + +/-- Terminal branch `0100101001001010011` cannot satisfy the band bounds. -/ +theorem exclude_0100101001001010011 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 : Nat) + (b : Nat) (hb : 1 < b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (x18 = 3*x17+1 ∧ x17%2 = 1)) + (r18 : (x19 = 3*x18+1 ∧ x18%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18⟩ := parameters_010010100100101001 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 + have hparity := r18.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 + clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 + omega + +/-- Terminal branch `01001010010010101` cannot satisfy the band bounds. -/ +theorem exclude_01001010010010101 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 : Nat) + (b : Nat) (hb : 1 < b) + (h4 : b ≤ x4 ∧ 2*x4 ≤ 11*b) + (h17 : b ≤ x17 ∧ 2*x17 ≤ 11*b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (x17 = 3*x16+1 ∧ x16%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17⟩ := parameters_01001010010010101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 + clear p0 p1 p2 p3 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 + omega + +/-- Terminal branch `0100101001001011` cannot satisfy the band bounds. -/ +theorem exclude_0100101001001011 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 : Nat) + (b : Nat) (hb : 1 < b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + (r15 : (x16 = 3*x15+1 ∧ x15%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15⟩ := parameters_010010100100101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 + have hparity := r15.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 + clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 + omega + +/-- Terminal branch `01001010010011` cannot satisfy the band bounds. -/ +theorem exclude_01001010010011 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 : Nat) + (b : Nat) (hb : 1 < b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13⟩ := parameters_0100101001001 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 + have hparity := r13.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 + clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 + omega + +/-- Terminal branch `010010100101000` cannot satisfy the band bounds. -/ +theorem exclude_010010100101000 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 : Nat) + (b : Nat) (hb : 1 < b) + (h2 : b ≤ x2 ∧ 2*x2 ≤ 11*b) + (h15 : b ≤ x15 ∧ 2*x15 ≤ 11*b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15⟩ := parameters_010010100101000 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 + clear p0 p1 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 + omega + +/-- Terminal branch `010010100101001000` cannot satisfy the band bounds. -/ +theorem exclude_010010100101001000 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 : Nat) + (b : Nat) (hb : 1 < b) + (h0 : b ≤ x0 ∧ 2*x0 ≤ 11*b) + (h18 : b ≤ x18 ∧ 2*x18 ≤ 11*b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18⟩ := parameters_010010100101001000 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 + clear p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 + omega + +/-- Terminal branch `01001010010100100100` cannot satisfy the band bounds. -/ +theorem exclude_01001010010100100100 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 : Nat) + (b : Nat) (hb : 1 < b) + (h2 : b ≤ x2 ∧ 2*x2 ≤ 11*b) + (h20 : b ≤ x20 ∧ 2*x20 ≤ 11*b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (x18 = 3*x17+1 ∧ x17%2 = 1)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + (r19 : (2*x20 = x19 ∧ x19%2 = 0)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20⟩ := parameters_01001010010100100100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 + clear p0 p1 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 + omega + +/-- Terminal branch `01001010010100100101000` cannot satisfy the band bounds. -/ +theorem exclude_01001010010100100101000 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 : Nat) + (b : Nat) (hb : 1 < b) + (h2 : b ≤ x2 ∧ 2*x2 ≤ 11*b) + (h23 : b ≤ x23 ∧ 2*x23 ≤ 11*b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (x18 = 3*x17+1 ∧ x17%2 = 1)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + (r19 : (x20 = 3*x19+1 ∧ x19%2 = 1)) + (r20 : (2*x21 = x20 ∧ x20%2 = 0)) + (r21 : (2*x22 = x21 ∧ x21%2 = 0)) + (r22 : (2*x23 = x22 ∧ x22%2 = 0)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23⟩ := parameters_01001010010100100101000 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 + clear p0 p1 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 + omega + +/-- Terminal branch `0100101001010010010100100` cannot satisfy the band bounds. -/ +theorem exclude_0100101001010010010100100 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 : Nat) + (b : Nat) (hb : 1 < b) + (h7 : b ≤ x7 ∧ 2*x7 ≤ 11*b) + (h25 : b ≤ x25 ∧ 2*x25 ≤ 11*b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (x18 = 3*x17+1 ∧ x17%2 = 1)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + (r19 : (x20 = 3*x19+1 ∧ x19%2 = 1)) + (r20 : (2*x21 = x20 ∧ x20%2 = 0)) + (r21 : (2*x22 = x21 ∧ x21%2 = 0)) + (r22 : (x23 = 3*x22+1 ∧ x22%2 = 1)) + (r23 : (2*x24 = x23 ∧ x23%2 = 0)) + (r24 : (2*x25 = x24 ∧ x24%2 = 0)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25⟩ := parameters_0100101001010010010100100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 + clear p0 p1 p2 p3 p4 p5 p6 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 p23 p24 + omega + + +end Collatz.Exploration.ElevenHalvesArithmetic diff --git a/Collatz/Exploration/ElevenHalvesArithmetic/Part17.lean b/Collatz/Exploration/ElevenHalvesArithmetic/Part17.lean new file mode 100644 index 00000000..a8fcef5f --- /dev/null +++ b/Collatz/Exploration/ElevenHalvesArithmetic/Part17.lean @@ -0,0 +1,1199 @@ +import Collatz.Exploration.ElevenHalvesArithmetic.Part16 + +namespace Collatz.Exploration.ElevenHalvesArithmetic + +set_option maxHeartbeats 2000000 +set_option linter.unusedVariables false + +/-- Terminal branch `0100101001010010010100101000` cannot satisfy the band bounds. -/ +theorem exclude_0100101001010010010100101000 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 x26 x27 x28 : Nat) + (b : Nat) (hb : 1 < b) + (h2 : b ≤ x2 ∧ 2*x2 ≤ 11*b) + (h28 : b ≤ x28 ∧ 2*x28 ≤ 11*b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (x18 = 3*x17+1 ∧ x17%2 = 1)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + (r19 : (x20 = 3*x19+1 ∧ x19%2 = 1)) + (r20 : (2*x21 = x20 ∧ x20%2 = 0)) + (r21 : (2*x22 = x21 ∧ x21%2 = 0)) + (r22 : (x23 = 3*x22+1 ∧ x22%2 = 1)) + (r23 : (2*x24 = x23 ∧ x23%2 = 0)) + (r24 : (x25 = 3*x24+1 ∧ x24%2 = 1)) + (r25 : (2*x26 = x25 ∧ x25%2 = 0)) + (r26 : (2*x27 = x26 ∧ x26%2 = 0)) + (r27 : (2*x28 = x27 ∧ x27%2 = 0)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28⟩ := parameters_0100101001010010010100101000 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 x26 x27 x28 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 r25 r26 r27 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 r25 r26 r27 + clear p0 p1 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 p23 p24 p25 p26 p27 + omega + +/-- Terminal branch `010010100101001001010010100100` cannot satisfy the band bounds. -/ +theorem exclude_010010100101001001010010100100 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 x26 x27 x28 x29 x30 : Nat) + (b : Nat) (hb : 1 < b) + (h12 : b ≤ x12 ∧ 2*x12 ≤ 11*b) + (h30 : b ≤ x30 ∧ 2*x30 ≤ 11*b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (x18 = 3*x17+1 ∧ x17%2 = 1)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + (r19 : (x20 = 3*x19+1 ∧ x19%2 = 1)) + (r20 : (2*x21 = x20 ∧ x20%2 = 0)) + (r21 : (2*x22 = x21 ∧ x21%2 = 0)) + (r22 : (x23 = 3*x22+1 ∧ x22%2 = 1)) + (r23 : (2*x24 = x23 ∧ x23%2 = 0)) + (r24 : (x25 = 3*x24+1 ∧ x24%2 = 1)) + (r25 : (2*x26 = x25 ∧ x25%2 = 0)) + (r26 : (2*x27 = x26 ∧ x26%2 = 0)) + (r27 : (x28 = 3*x27+1 ∧ x27%2 = 1)) + (r28 : (2*x29 = x28 ∧ x28%2 = 0)) + (r29 : (2*x30 = x29 ∧ x29%2 = 0)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30⟩ := parameters_010010100101001001010010100100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 x26 x27 x28 x29 x30 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 r25 r26 r27 r28 r29 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 r25 r26 r27 r28 r29 + clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 p23 p24 p25 p26 p27 p28 p29 + omega + +/-- Terminal branch `010010100101001001010010100101` cannot satisfy the band bounds. -/ +theorem exclude_010010100101001001010010100101 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 x26 x27 x28 x29 x30 : Nat) + (b : Nat) (hb : 1 < b) + (h17 : b ≤ x17 ∧ 2*x17 ≤ 11*b) + (h30 : b ≤ x30 ∧ 2*x30 ≤ 11*b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (x18 = 3*x17+1 ∧ x17%2 = 1)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + (r19 : (x20 = 3*x19+1 ∧ x19%2 = 1)) + (r20 : (2*x21 = x20 ∧ x20%2 = 0)) + (r21 : (2*x22 = x21 ∧ x21%2 = 0)) + (r22 : (x23 = 3*x22+1 ∧ x22%2 = 1)) + (r23 : (2*x24 = x23 ∧ x23%2 = 0)) + (r24 : (x25 = 3*x24+1 ∧ x24%2 = 1)) + (r25 : (2*x26 = x25 ∧ x25%2 = 0)) + (r26 : (2*x27 = x26 ∧ x26%2 = 0)) + (r27 : (x28 = 3*x27+1 ∧ x27%2 = 1)) + (r28 : (2*x29 = x28 ∧ x28%2 = 0)) + (r29 : (x30 = 3*x29+1 ∧ x29%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29,p30⟩ := parameters_010010100101001001010010100101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 x26 x27 x28 x29 x30 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 r25 r26 r27 r28 r29 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 r25 r26 r27 r28 r29 + clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p18 p19 p20 p21 p22 p23 p24 p25 p26 p27 p28 p29 + omega + +/-- Terminal branch `01001010010100100101001010011` cannot satisfy the band bounds. -/ +theorem exclude_01001010010100100101001010011 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 x26 x27 x28 x29 : Nat) + (b : Nat) (hb : 1 < b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (x18 = 3*x17+1 ∧ x17%2 = 1)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + (r19 : (x20 = 3*x19+1 ∧ x19%2 = 1)) + (r20 : (2*x21 = x20 ∧ x20%2 = 0)) + (r21 : (2*x22 = x21 ∧ x21%2 = 0)) + (r22 : (x23 = 3*x22+1 ∧ x22%2 = 1)) + (r23 : (2*x24 = x23 ∧ x23%2 = 0)) + (r24 : (x25 = 3*x24+1 ∧ x24%2 = 1)) + (r25 : (2*x26 = x25 ∧ x25%2 = 0)) + (r26 : (2*x27 = x26 ∧ x26%2 = 0)) + (r27 : (x28 = 3*x27+1 ∧ x27%2 = 1)) + (r28 : (x29 = 3*x28+1 ∧ x28%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28⟩ := parameters_0100101001010010010100101001 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 x26 x27 x28 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 r25 r26 r27 + have hparity := r28.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 r25 r26 r27 r28 + clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 p23 p24 p25 p26 p27 + omega + +/-- Terminal branch `010010100101001001010010101` cannot satisfy the band bounds. -/ +theorem exclude_010010100101001001010010101 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 x26 x27 : Nat) + (b : Nat) (hb : 1 < b) + (h4 : b ≤ x4 ∧ 2*x4 ≤ 11*b) + (h27 : b ≤ x27 ∧ 2*x27 ≤ 11*b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (x18 = 3*x17+1 ∧ x17%2 = 1)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + (r19 : (x20 = 3*x19+1 ∧ x19%2 = 1)) + (r20 : (2*x21 = x20 ∧ x20%2 = 0)) + (r21 : (2*x22 = x21 ∧ x21%2 = 0)) + (r22 : (x23 = 3*x22+1 ∧ x22%2 = 1)) + (r23 : (2*x24 = x23 ∧ x23%2 = 0)) + (r24 : (x25 = 3*x24+1 ∧ x24%2 = 1)) + (r25 : (2*x26 = x25 ∧ x25%2 = 0)) + (r26 : (x27 = 3*x26+1 ∧ x26%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27⟩ := parameters_010010100101001001010010101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 x26 x27 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 r25 r26 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 r25 r26 + clear p0 p1 p2 p3 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 p23 p24 p25 p26 + omega + +/-- Terminal branch `01001010010100100101001011` cannot satisfy the band bounds. -/ +theorem exclude_01001010010100100101001011 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 x26 : Nat) + (b : Nat) (hb : 1 < b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (x18 = 3*x17+1 ∧ x17%2 = 1)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + (r19 : (x20 = 3*x19+1 ∧ x19%2 = 1)) + (r20 : (2*x21 = x20 ∧ x20%2 = 0)) + (r21 : (2*x22 = x21 ∧ x21%2 = 0)) + (r22 : (x23 = 3*x22+1 ∧ x22%2 = 1)) + (r23 : (2*x24 = x23 ∧ x23%2 = 0)) + (r24 : (x25 = 3*x24+1 ∧ x24%2 = 1)) + (r25 : (x26 = 3*x25+1 ∧ x25%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25⟩ := parameters_0100101001010010010100101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 + have hparity := r25.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 r25 + clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 p23 p24 + omega + +/-- Terminal branch `010010100101001001010011` cannot satisfy the band bounds. -/ +theorem exclude_010010100101001001010011 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 : Nat) + (b : Nat) (hb : 1 < b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (x18 = 3*x17+1 ∧ x17%2 = 1)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + (r19 : (x20 = 3*x19+1 ∧ x19%2 = 1)) + (r20 : (2*x21 = x20 ∧ x20%2 = 0)) + (r21 : (2*x22 = x21 ∧ x21%2 = 0)) + (r22 : (x23 = 3*x22+1 ∧ x22%2 = 1)) + (r23 : (x24 = 3*x23+1 ∧ x23%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23⟩ := parameters_01001010010100100101001 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 + have hparity := r23.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 + clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 + omega + +/-- Terminal branch `0100101001010010010101` cannot satisfy the band bounds. -/ +theorem exclude_0100101001010010010101 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 : Nat) + (b : Nat) (hb : 1 < b) + (h4 : b ≤ x4 ∧ 2*x4 ≤ 11*b) + (h22 : b ≤ x22 ∧ 2*x22 ≤ 11*b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (x18 = 3*x17+1 ∧ x17%2 = 1)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + (r19 : (x20 = 3*x19+1 ∧ x19%2 = 1)) + (r20 : (2*x21 = x20 ∧ x20%2 = 0)) + (r21 : (x22 = 3*x21+1 ∧ x21%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22⟩ := parameters_0100101001010010010101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 + clear p0 p1 p2 p3 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 + omega + +/-- Terminal branch `010010100101001001011` cannot satisfy the band bounds. -/ +theorem exclude_010010100101001001011 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 : Nat) + (b : Nat) (hb : 1 < b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (x18 = 3*x17+1 ∧ x17%2 = 1)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + (r19 : (x20 = 3*x19+1 ∧ x19%2 = 1)) + (r20 : (x21 = 3*x20+1 ∧ x20%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20⟩ := parameters_01001010010100100101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 + have hparity := r20.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 + clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 + omega + +/-- Terminal branch `0100101001010010011` cannot satisfy the band bounds. -/ +theorem exclude_0100101001010010011 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 : Nat) + (b : Nat) (hb : 1 < b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (x18 = 3*x17+1 ∧ x17%2 = 1)) + (r18 : (x19 = 3*x18+1 ∧ x18%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18⟩ := parameters_010010100101001001 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 + have hparity := r18.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 + clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 + omega + +/-- Terminal branch `01001010010100101` cannot satisfy the band bounds. -/ +theorem exclude_01001010010100101 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 : Nat) + (b : Nat) (hb : 1 < b) + (h4 : b ≤ x4 ∧ 2*x4 ≤ 11*b) + (h17 : b ≤ x17 ∧ 2*x17 ≤ 11*b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (x17 = 3*x16+1 ∧ x16%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17⟩ := parameters_01001010010100101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 + clear p0 p1 p2 p3 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 + omega + +/-- Terminal branch `0100101001010011` cannot satisfy the band bounds. -/ +theorem exclude_0100101001010011 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 : Nat) + (b : Nat) (hb : 1 < b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + (r15 : (x16 = 3*x15+1 ∧ x15%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15⟩ := parameters_010010100101001 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 + have hparity := r15.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 + clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 + omega + +/-- Terminal branch `01001010010101` cannot satisfy the band bounds. -/ +theorem exclude_01001010010101 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 : Nat) + (b : Nat) (hb : 1 < b) + (h1 : b ≤ x1 ∧ 2*x1 ≤ 11*b) + (h14 : b ≤ x14 ∧ 2*x14 ≤ 11*b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14⟩ := parameters_01001010010101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 + clear p0 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 + omega + +/-- Terminal branch `0100101001011` cannot satisfy the band bounds. -/ +theorem exclude_0100101001011 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 : Nat) + (b : Nat) (hb : 1 < b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12⟩ := parameters_010010100101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 + have hparity := r12.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 + clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 + omega + +/-- Terminal branch `01001010011` cannot satisfy the band bounds. -/ +theorem exclude_01001010011 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 : Nat) + (b : Nat) (hb : 1 < b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10⟩ := parameters_0100101001 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 + have hparity := r10.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 + clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 + omega + +/-- Terminal branch `010010101` cannot satisfy the band bounds. -/ +theorem exclude_010010101 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 : Nat) + (b : Nat) (hb : 1 < b) + (h4 : b ≤ x4 ∧ 2*x4 ≤ 11*b) + (h9 : b ≤ x9 ∧ 2*x9 ≤ 11*b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9⟩ := parameters_010010101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 r0 r1 r2 r3 r4 r5 r6 r7 r8 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 + clear p0 p1 p2 p3 p5 p6 p7 p8 + omega + +/-- Terminal branch `01001011` cannot satisfy the band bounds. -/ +theorem exclude_01001011 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 : Nat) + (b : Nat) (hb : 1 < b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7⟩ := parameters_0100101 x0 x1 x2 x3 x4 x5 x6 x7 r0 r1 r2 r3 r4 r5 r6 + have hparity := r7.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 + clear p0 p1 p2 p3 p4 p5 p6 + omega + +/-- Terminal branch `010011` cannot satisfy the band bounds. -/ +theorem exclude_010011 + (x0 x1 x2 x3 x4 x5 x6 : Nat) + (b : Nat) (hb : 1 < b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5⟩ := parameters_01001 x0 x1 x2 x3 x4 x5 r0 r1 r2 r3 r4 + have hparity := r5.2 + clear r0 r1 r2 r3 r4 r5 + clear p0 p1 p2 p3 p4 + omega + +/-- Terminal branch `0101000` cannot satisfy the band bounds. -/ +theorem exclude_0101000 + (x0 x1 x2 x3 x4 x5 x6 x7 : Nat) + (b : Nat) (hb : 1 < b) + (h4 : b ≤ x4 ∧ 2*x4 ≤ 11*b) + (h7 : b ≤ x7 ∧ 2*x7 ≤ 11*b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7⟩ := parameters_0101000 x0 x1 x2 x3 x4 x5 x6 x7 r0 r1 r2 r3 r4 r5 r6 + clear r0 r1 r2 r3 r4 r5 r6 + clear p0 p1 p2 p3 p5 p6 + omega + +/-- Terminal branch `0101001000` cannot satisfy the band bounds. -/ +theorem exclude_0101001000 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 : Nat) + (b : Nat) (hb : 1 < b) + (h2 : b ≤ x2 ∧ 2*x2 ≤ 11*b) + (h10 : b ≤ x10 ∧ 2*x10 ≤ 11*b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10⟩ := parameters_0101001000 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 + clear p0 p1 p3 p4 p5 p6 p7 p8 p9 + omega + +/-- Terminal branch `010100100100` cannot satisfy the band bounds. -/ +theorem exclude_010100100100 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 : Nat) + (b : Nat) (hb : 1 < b) + (h4 : b ≤ x4 ∧ 2*x4 ≤ 11*b) + (h12 : b ≤ x12 ∧ 2*x12 ≤ 11*b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12⟩ := parameters_010100100100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 + clear p0 p1 p2 p3 p5 p6 p7 p8 p9 p10 p11 + omega + +/-- Terminal branch `010100100101000` cannot satisfy the band bounds. -/ +theorem exclude_010100100101000 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 : Nat) + (b : Nat) (hb : 1 < b) + (h2 : b ≤ x2 ∧ 2*x2 ≤ 11*b) + (h15 : b ≤ x15 ∧ 2*x15 ≤ 11*b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15⟩ := parameters_010100100101000 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 + clear p0 p1 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 + omega + +/-- Terminal branch `01010010010100100` cannot satisfy the band bounds. -/ +theorem exclude_01010010010100100 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 : Nat) + (b : Nat) (hb : 1 < b) + (h4 : b ≤ x4 ∧ 2*x4 ≤ 11*b) + (h17 : b ≤ x17 ∧ 2*x17 ≤ 11*b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17⟩ := parameters_01010010010100100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 + clear p0 p1 p2 p3 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 + omega + +/-- Terminal branch `01010010010100101000` cannot satisfy the band bounds. -/ +theorem exclude_01010010010100101000 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 : Nat) + (b : Nat) (hb : 1 < b) + (h2 : b ≤ x2 ∧ 2*x2 ≤ 11*b) + (h20 : b ≤ x20 ∧ 2*x20 ≤ 11*b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (x17 = 3*x16+1 ∧ x16%2 = 1)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + (r19 : (2*x20 = x19 ∧ x19%2 = 0)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20⟩ := parameters_01010010010100101000 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 + clear p0 p1 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 + omega + +/-- Terminal branch `0101001001010010100100` cannot satisfy the band bounds. -/ +theorem exclude_0101001001010010100100 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 : Nat) + (b : Nat) (hb : 1 < b) + (h4 : b ≤ x4 ∧ 2*x4 ≤ 11*b) + (h22 : b ≤ x22 ∧ 2*x22 ≤ 11*b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (x17 = 3*x16+1 ∧ x16%2 = 1)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + (r19 : (x20 = 3*x19+1 ∧ x19%2 = 1)) + (r20 : (2*x21 = x20 ∧ x20%2 = 0)) + (r21 : (2*x22 = x21 ∧ x21%2 = 0)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22⟩ := parameters_0101001001010010100100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 + clear p0 p1 p2 p3 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 + omega + +/-- Terminal branch `0101001001010010100101` cannot satisfy the band bounds. -/ +theorem exclude_0101001001010010100101 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 : Nat) + (b : Nat) (hb : 1 < b) + (h9 : b ≤ x9 ∧ 2*x9 ≤ 11*b) + (h22 : b ≤ x22 ∧ 2*x22 ≤ 11*b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (x17 = 3*x16+1 ∧ x16%2 = 1)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + (r19 : (x20 = 3*x19+1 ∧ x19%2 = 1)) + (r20 : (2*x21 = x20 ∧ x20%2 = 0)) + (r21 : (x22 = 3*x21+1 ∧ x21%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22⟩ := parameters_0101001001010010100101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 + clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 + omega + +/-- Terminal branch `010100100101001010011` cannot satisfy the band bounds. -/ +theorem exclude_010100100101001010011 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 : Nat) + (b : Nat) (hb : 1 < b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (x17 = 3*x16+1 ∧ x16%2 = 1)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + (r19 : (x20 = 3*x19+1 ∧ x19%2 = 1)) + (r20 : (x21 = 3*x20+1 ∧ x20%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20⟩ := parameters_01010010010100101001 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 + have hparity := r20.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 + clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 + omega + +/-- Terminal branch `0101001001010010101` cannot satisfy the band bounds. -/ +theorem exclude_0101001001010010101 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 : Nat) + (b : Nat) (hb : 1 < b) + (h1 : b ≤ x1 ∧ 2*x1 ≤ 11*b) + (h19 : b ≤ x19 ∧ 2*x19 ≤ 11*b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (x17 = 3*x16+1 ∧ x16%2 = 1)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + (r18 : (x19 = 3*x18+1 ∧ x18%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19⟩ := parameters_0101001001010010101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 + clear p0 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 + omega + +/-- Terminal branch `010100100101001011` cannot satisfy the band bounds. -/ +theorem exclude_010100100101001011 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 : Nat) + (b : Nat) (hb : 1 < b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (x17 = 3*x16+1 ∧ x16%2 = 1)) + (r17 : (x18 = 3*x17+1 ∧ x17%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17⟩ := parameters_01010010010100101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 + have hparity := r17.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 + clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 + omega + +/-- Terminal branch `0101001001010011` cannot satisfy the band bounds. -/ +theorem exclude_0101001001010011 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 : Nat) + (b : Nat) (hb : 1 < b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + (r15 : (x16 = 3*x15+1 ∧ x15%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15⟩ := parameters_010100100101001 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 + have hparity := r15.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 + clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 + omega + +/-- Terminal branch `01010010010101` cannot satisfy the band bounds. -/ +theorem exclude_01010010010101 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 : Nat) + (b : Nat) (hb : 1 < b) + (h1 : b ≤ x1 ∧ 2*x1 ≤ 11*b) + (h14 : b ≤ x14 ∧ 2*x14 ≤ 11*b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14⟩ := parameters_01010010010101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 + clear p0 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 + omega + +/-- Terminal branch `0101001001011` cannot satisfy the band bounds. -/ +theorem exclude_0101001001011 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 : Nat) + (b : Nat) (hb : 1 < b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12⟩ := parameters_010100100101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 + have hparity := r12.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 + clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 + omega + +/-- Terminal branch `01010010011` cannot satisfy the band bounds. -/ +theorem exclude_01010010011 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 : Nat) + (b : Nat) (hb : 1 < b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10⟩ := parameters_0101001001 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 + have hparity := r10.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 + clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 + omega + +/-- Terminal branch `010100101000` cannot satisfy the band bounds. -/ +theorem exclude_010100101000 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 : Nat) + (b : Nat) (hb : 1 < b) + (h4 : b ≤ x4 ∧ 2*x4 ≤ 11*b) + (h12 : b ≤ x12 ∧ 2*x12 ≤ 11*b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12⟩ := parameters_010100101000 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 + clear p0 p1 p2 p3 p5 p6 p7 p8 p9 p10 p11 + omega + +/-- Terminal branch `010100101001000` cannot satisfy the band bounds. -/ +theorem exclude_010100101001000 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 : Nat) + (b : Nat) (hb : 1 < b) + (h2 : b ≤ x2 ∧ 2*x2 ≤ 11*b) + (h15 : b ≤ x15 ∧ 2*x15 ≤ 11*b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15⟩ := parameters_010100101001000 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 + clear p0 p1 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 + omega + +/-- Terminal branch `01010010100100100` cannot satisfy the band bounds. -/ +theorem exclude_01010010100100100 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 : Nat) + (b : Nat) (hb : 1 < b) + (h4 : b ≤ x4 ∧ 2*x4 ≤ 11*b) + (h17 : b ≤ x17 ∧ 2*x17 ≤ 11*b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17⟩ := parameters_01010010100100100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 + clear p0 p1 p2 p3 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 + omega + +/-- Terminal branch `01010010100100101000` cannot satisfy the band bounds. -/ +theorem exclude_01010010100100101000 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 : Nat) + (b : Nat) (hb : 1 < b) + (h2 : b ≤ x2 ∧ 2*x2 ≤ 11*b) + (h20 : b ≤ x20 ∧ 2*x20 ≤ 11*b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (x17 = 3*x16+1 ∧ x16%2 = 1)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + (r19 : (2*x20 = x19 ∧ x19%2 = 0)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20⟩ := parameters_01010010100100101000 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 + clear p0 p1 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 + omega + +/-- Terminal branch `0101001010010010100100` cannot satisfy the band bounds. -/ +theorem exclude_0101001010010010100100 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 : Nat) + (b : Nat) (hb : 1 < b) + (h4 : b ≤ x4 ∧ 2*x4 ≤ 11*b) + (h22 : b ≤ x22 ∧ 2*x22 ≤ 11*b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (x17 = 3*x16+1 ∧ x16%2 = 1)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + (r19 : (x20 = 3*x19+1 ∧ x19%2 = 1)) + (r20 : (2*x21 = x20 ∧ x20%2 = 0)) + (r21 : (2*x22 = x21 ∧ x21%2 = 0)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22⟩ := parameters_0101001010010010100100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 + clear p0 p1 p2 p3 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 + omega + +/-- Terminal branch `0101001010010010100101000` cannot satisfy the band bounds. -/ +theorem exclude_0101001010010010100101000 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 : Nat) + (b : Nat) (hb : 1 < b) + (h4 : b ≤ x4 ∧ 2*x4 ≤ 11*b) + (h25 : b ≤ x25 ∧ 2*x25 ≤ 11*b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (x17 = 3*x16+1 ∧ x16%2 = 1)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + (r19 : (x20 = 3*x19+1 ∧ x19%2 = 1)) + (r20 : (2*x21 = x20 ∧ x20%2 = 0)) + (r21 : (x22 = 3*x21+1 ∧ x21%2 = 1)) + (r22 : (2*x23 = x22 ∧ x22%2 = 0)) + (r23 : (2*x24 = x23 ∧ x23%2 = 0)) + (r24 : (2*x25 = x24 ∧ x24%2 = 0)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25⟩ := parameters_0101001010010010100101000 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 + clear p0 p1 p2 p3 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 p23 p24 + omega + +/-- Terminal branch `010100101001001010010100100` cannot satisfy the band bounds. -/ +theorem exclude_010100101001001010010100100 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 x26 x27 : Nat) + (b : Nat) (hb : 1 < b) + (h9 : b ≤ x9 ∧ 2*x9 ≤ 11*b) + (h27 : b ≤ x27 ∧ 2*x27 ≤ 11*b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (x17 = 3*x16+1 ∧ x16%2 = 1)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + (r19 : (x20 = 3*x19+1 ∧ x19%2 = 1)) + (r20 : (2*x21 = x20 ∧ x20%2 = 0)) + (r21 : (x22 = 3*x21+1 ∧ x21%2 = 1)) + (r22 : (2*x23 = x22 ∧ x22%2 = 0)) + (r23 : (2*x24 = x23 ∧ x23%2 = 0)) + (r24 : (x25 = 3*x24+1 ∧ x24%2 = 1)) + (r25 : (2*x26 = x25 ∧ x25%2 = 0)) + (r26 : (2*x27 = x26 ∧ x26%2 = 0)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27⟩ := parameters_010100101001001010010100100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 x26 x27 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 r25 r26 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 r25 r26 + clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 p23 p24 p25 p26 + omega + + +end Collatz.Exploration.ElevenHalvesArithmetic diff --git a/Collatz/Exploration/ElevenHalvesArithmetic/Part18.lean b/Collatz/Exploration/ElevenHalvesArithmetic/Part18.lean new file mode 100644 index 00000000..1ec0dea2 --- /dev/null +++ b/Collatz/Exploration/ElevenHalvesArithmetic/Part18.lean @@ -0,0 +1,1194 @@ +import Collatz.Exploration.ElevenHalvesArithmetic.Part17 + +namespace Collatz.Exploration.ElevenHalvesArithmetic + +set_option maxHeartbeats 2000000 +set_option linter.unusedVariables false + +/-- Terminal branch `010100101001001010010100101` cannot satisfy the band bounds. -/ +theorem exclude_010100101001001010010100101 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 x26 x27 : Nat) + (b : Nat) (hb : 1 < b) + (h14 : b ≤ x14 ∧ 2*x14 ≤ 11*b) + (h27 : b ≤ x27 ∧ 2*x27 ≤ 11*b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (x17 = 3*x16+1 ∧ x16%2 = 1)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + (r19 : (x20 = 3*x19+1 ∧ x19%2 = 1)) + (r20 : (2*x21 = x20 ∧ x20%2 = 0)) + (r21 : (x22 = 3*x21+1 ∧ x21%2 = 1)) + (r22 : (2*x23 = x22 ∧ x22%2 = 0)) + (r23 : (2*x24 = x23 ∧ x23%2 = 0)) + (r24 : (x25 = 3*x24+1 ∧ x24%2 = 1)) + (r25 : (2*x26 = x25 ∧ x25%2 = 0)) + (r26 : (x27 = 3*x26+1 ∧ x26%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27⟩ := parameters_010100101001001010010100101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 x26 x27 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 r25 r26 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 r25 r26 + clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p15 p16 p17 p18 p19 p20 p21 p22 p23 p24 p25 p26 + omega + +/-- Terminal branch `01010010100100101001010011` cannot satisfy the band bounds. -/ +theorem exclude_01010010100100101001010011 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 x26 : Nat) + (b : Nat) (hb : 1 < b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (x17 = 3*x16+1 ∧ x16%2 = 1)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + (r19 : (x20 = 3*x19+1 ∧ x19%2 = 1)) + (r20 : (2*x21 = x20 ∧ x20%2 = 0)) + (r21 : (x22 = 3*x21+1 ∧ x21%2 = 1)) + (r22 : (2*x23 = x22 ∧ x22%2 = 0)) + (r23 : (2*x24 = x23 ∧ x23%2 = 0)) + (r24 : (x25 = 3*x24+1 ∧ x24%2 = 1)) + (r25 : (x26 = 3*x25+1 ∧ x25%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25⟩ := parameters_0101001010010010100101001 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 + have hparity := r25.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 r25 + clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 p23 p24 + omega + +/-- Terminal branch `010100101001001010010101` cannot satisfy the band bounds. -/ +theorem exclude_010100101001001010010101 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 : Nat) + (b : Nat) (hb : 1 < b) + (h1 : b ≤ x1 ∧ 2*x1 ≤ 11*b) + (h24 : b ≤ x24 ∧ 2*x24 ≤ 11*b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (x17 = 3*x16+1 ∧ x16%2 = 1)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + (r19 : (x20 = 3*x19+1 ∧ x19%2 = 1)) + (r20 : (2*x21 = x20 ∧ x20%2 = 0)) + (r21 : (x22 = 3*x21+1 ∧ x21%2 = 1)) + (r22 : (2*x23 = x22 ∧ x22%2 = 0)) + (r23 : (x24 = 3*x23+1 ∧ x23%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24⟩ := parameters_010100101001001010010101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 + clear p0 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 p23 + omega + +/-- Terminal branch `01010010100100101001011` cannot satisfy the band bounds. -/ +theorem exclude_01010010100100101001011 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 : Nat) + (b : Nat) (hb : 1 < b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (x17 = 3*x16+1 ∧ x16%2 = 1)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + (r19 : (x20 = 3*x19+1 ∧ x19%2 = 1)) + (r20 : (2*x21 = x20 ∧ x20%2 = 0)) + (r21 : (x22 = 3*x21+1 ∧ x21%2 = 1)) + (r22 : (x23 = 3*x22+1 ∧ x22%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22⟩ := parameters_0101001010010010100101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 + have hparity := r22.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 + clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 + omega + +/-- Terminal branch `010100101001001010011` cannot satisfy the band bounds. -/ +theorem exclude_010100101001001010011 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 : Nat) + (b : Nat) (hb : 1 < b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (x17 = 3*x16+1 ∧ x16%2 = 1)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + (r19 : (x20 = 3*x19+1 ∧ x19%2 = 1)) + (r20 : (x21 = 3*x20+1 ∧ x20%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20⟩ := parameters_01010010100100101001 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 + have hparity := r20.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 + clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 + omega + +/-- Terminal branch `0101001010010010101` cannot satisfy the band bounds. -/ +theorem exclude_0101001010010010101 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 : Nat) + (b : Nat) (hb : 1 < b) + (h1 : b ≤ x1 ∧ 2*x1 ≤ 11*b) + (h19 : b ≤ x19 ∧ 2*x19 ≤ 11*b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (x17 = 3*x16+1 ∧ x16%2 = 1)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + (r18 : (x19 = 3*x18+1 ∧ x18%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19⟩ := parameters_0101001010010010101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 + clear p0 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 + omega + +/-- Terminal branch `010100101001001011` cannot satisfy the band bounds. -/ +theorem exclude_010100101001001011 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 : Nat) + (b : Nat) (hb : 1 < b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (x17 = 3*x16+1 ∧ x16%2 = 1)) + (r17 : (x18 = 3*x17+1 ∧ x17%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17⟩ := parameters_01010010100100101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 + have hparity := r17.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 + clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 + omega + +/-- Terminal branch `0101001010010011` cannot satisfy the band bounds. -/ +theorem exclude_0101001010010011 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 : Nat) + (b : Nat) (hb : 1 < b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + (r15 : (x16 = 3*x15+1 ∧ x15%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15⟩ := parameters_010100101001001 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 + have hparity := r15.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 + clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 + omega + +/-- Terminal branch `01010010100101` cannot satisfy the band bounds. -/ +theorem exclude_01010010100101 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 : Nat) + (b : Nat) (hb : 1 < b) + (h1 : b ≤ x1 ∧ 2*x1 ≤ 11*b) + (h14 : b ≤ x14 ∧ 2*x14 ≤ 11*b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14⟩ := parameters_01010010100101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 + clear p0 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 + omega + +/-- Terminal branch `0101001010011` cannot satisfy the band bounds. -/ +theorem exclude_0101001010011 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 : Nat) + (b : Nat) (hb : 1 < b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12⟩ := parameters_010100101001 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 + have hparity := r12.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 + clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 + omega + +/-- Terminal branch `01010010101` cannot satisfy the band bounds. -/ +theorem exclude_01010010101 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 : Nat) + (b : Nat) (hb : 1 < b) + (h1 : b ≤ x1 ∧ 2*x1 ≤ 11*b) + (h11 : b ≤ x11 ∧ 2*x11 ≤ 11*b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11⟩ := parameters_01010010101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 + clear p0 p2 p3 p4 p5 p6 p7 p8 p9 p10 + omega + +/-- Terminal branch `0101001011` cannot satisfy the band bounds. -/ +theorem exclude_0101001011 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 : Nat) + (b : Nat) (hb : 1 < b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9⟩ := parameters_010100101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 r0 r1 r2 r3 r4 r5 r6 r7 r8 + have hparity := r9.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 + clear p0 p1 p2 p3 p4 p5 p6 p7 p8 + omega + +/-- Terminal branch `01010011` cannot satisfy the band bounds. -/ +theorem exclude_01010011 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 : Nat) + (b : Nat) (hb : 1 < b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7⟩ := parameters_0101001 x0 x1 x2 x3 x4 x5 x6 x7 r0 r1 r2 r3 r4 r5 r6 + have hparity := r7.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 + clear p0 p1 p2 p3 p4 p5 p6 + omega + +/-- Terminal branch `010101` cannot satisfy the band bounds. -/ +theorem exclude_010101 + (x0 x1 x2 x3 x4 x5 x6 : Nat) + (b : Nat) (hb : 1 < b) + (h1 : b ≤ x1 ∧ 2*x1 ≤ 11*b) + (h6 : b ≤ x6 ∧ 2*x6 ≤ 11*b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6⟩ := parameters_010101 x0 x1 x2 x3 x4 x5 x6 r0 r1 r2 r3 r4 r5 + clear r0 r1 r2 r3 r4 r5 + clear p0 p2 p3 p4 p5 + omega + +/-- Terminal branch `01011` cannot satisfy the band bounds. -/ +theorem exclude_01011 + (x0 x1 x2 x3 x4 x5 : Nat) + (b : Nat) (hb : 1 < b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4⟩ := parameters_0101 x0 x1 x2 x3 x4 r0 r1 r2 r3 + have hparity := r4.2 + clear r0 r1 r2 r3 r4 + clear p0 p1 p2 p3 + omega + +/-- Terminal branch `011` cannot satisfy the band bounds. -/ +theorem exclude_011 + (x0 x1 x2 x3 : Nat) + (b : Nat) (hb : 1 < b) + (r0 : (2*x1 = x0 ∧ x0%2 = 0)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2⟩ := parameters_01 x0 x1 x2 r0 r1 + have hparity := r2.2 + clear r0 r1 r2 + clear p0 p1 + omega + +/-- Terminal branch `1000` cannot satisfy the band bounds. -/ +theorem exclude_1000 + (x0 x1 x2 x3 x4 : Nat) + (b : Nat) (hb : 1 < b) + (h1 : b ≤ x1 ∧ 2*x1 ≤ 11*b) + (h4 : b ≤ x4 ∧ 2*x4 ≤ 11*b) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4⟩ := parameters_1000 x0 x1 x2 x3 x4 r0 r1 r2 r3 + clear r0 r1 r2 r3 + clear p0 p2 p3 + omega + +/-- Terminal branch `1001000` cannot satisfy the band bounds. -/ +theorem exclude_1001000 + (x0 x1 x2 x3 x4 x5 x6 x7 : Nat) + (b : Nat) (hb : 1 < b) + (h1 : b ≤ x1 ∧ 2*x1 ≤ 11*b) + (h7 : b ≤ x7 ∧ 2*x7 ≤ 11*b) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7⟩ := parameters_1001000 x0 x1 x2 x3 x4 x5 x6 x7 r0 r1 r2 r3 r4 r5 r6 + clear r0 r1 r2 r3 r4 r5 r6 + clear p0 p2 p3 p4 p5 p6 + omega + +/-- Terminal branch `100100100` cannot satisfy the band bounds. -/ +theorem exclude_100100100 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 : Nat) + (b : Nat) (hb : 1 < b) + (h1 : b ≤ x1 ∧ 2*x1 ≤ 11*b) + (h9 : b ≤ x9 ∧ 2*x9 ≤ 11*b) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9⟩ := parameters_100100100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 r0 r1 r2 r3 r4 r5 r6 r7 r8 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 + clear p0 p2 p3 p4 p5 p6 p7 p8 + omega + +/-- Terminal branch `100100101000` cannot satisfy the band bounds. -/ +theorem exclude_100100101000 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 : Nat) + (b : Nat) (hb : 1 < b) + (h1 : b ≤ x1 ∧ 2*x1 ≤ 11*b) + (h12 : b ≤ x12 ∧ 2*x12 ≤ 11*b) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12⟩ := parameters_100100101000 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 + clear p0 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 + omega + +/-- Terminal branch `10010010100100` cannot satisfy the band bounds. -/ +theorem exclude_10010010100100 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 : Nat) + (b : Nat) (hb : 1 < b) + (h1 : b ≤ x1 ∧ 2*x1 ≤ 11*b) + (h14 : b ≤ x14 ∧ 2*x14 ≤ 11*b) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14⟩ := parameters_10010010100100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 + clear p0 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 + omega + +/-- Terminal branch `10010010100101000` cannot satisfy the band bounds. -/ +theorem exclude_10010010100101000 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 : Nat) + (b : Nat) (hb : 1 < b) + (h1 : b ≤ x1 ∧ 2*x1 ≤ 11*b) + (h17 : b ≤ x17 ∧ 2*x17 ≤ 11*b) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17⟩ := parameters_10010010100101000 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 + clear p0 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 + omega + +/-- Terminal branch `1001001010010100100` cannot satisfy the band bounds. -/ +theorem exclude_1001001010010100100 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 : Nat) + (b : Nat) (hb : 1 < b) + (h1 : b ≤ x1 ∧ 2*x1 ≤ 11*b) + (h19 : b ≤ x19 ∧ 2*x19 ≤ 11*b) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (x17 = 3*x16+1 ∧ x16%2 = 1)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19⟩ := parameters_1001001010010100100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 + clear p0 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 + omega + +/-- Terminal branch `1001001010010100101` cannot satisfy the band bounds. -/ +theorem exclude_1001001010010100101 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 : Nat) + (b : Nat) (hb : 1 < b) + (h6 : b ≤ x6 ∧ 2*x6 ≤ 11*b) + (h19 : b ≤ x19 ∧ 2*x19 ≤ 11*b) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (x17 = 3*x16+1 ∧ x16%2 = 1)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + (r18 : (x19 = 3*x18+1 ∧ x18%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19⟩ := parameters_1001001010010100101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 + clear p0 p1 p2 p3 p4 p5 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 + omega + +/-- Terminal branch `100100101001010011` cannot satisfy the band bounds. -/ +theorem exclude_100100101001010011 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 : Nat) + (b : Nat) (hb : 1 < b) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (x17 = 3*x16+1 ∧ x16%2 = 1)) + (r17 : (x18 = 3*x17+1 ∧ x17%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17⟩ := parameters_10010010100101001 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 + have hparity := r17.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 + clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 + omega + +/-- Terminal branch `1001001010010101` cannot satisfy the band bounds. -/ +theorem exclude_1001001010010101 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 : Nat) + (b : Nat) (hb : 1 < b) + (h3 : b ≤ x3 ∧ 2*x3 ≤ 11*b) + (h16 : b ≤ x16 ∧ 2*x16 ≤ 11*b) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (x16 = 3*x15+1 ∧ x15%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16⟩ := parameters_1001001010010101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 + clear p0 p1 p2 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 + omega + +/-- Terminal branch `100100101001011` cannot satisfy the band bounds. -/ +theorem exclude_100100101001011 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 : Nat) + (b : Nat) (hb : 1 < b) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14⟩ := parameters_10010010100101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 + have hparity := r14.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 + clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 + omega + +/-- Terminal branch `1001001010011` cannot satisfy the band bounds. -/ +theorem exclude_1001001010011 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 : Nat) + (b : Nat) (hb : 1 < b) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12⟩ := parameters_100100101001 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 + have hparity := r12.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 + clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 + omega + +/-- Terminal branch `10010010101` cannot satisfy the band bounds. -/ +theorem exclude_10010010101 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 : Nat) + (b : Nat) (hb : 1 < b) + (h6 : b ≤ x6 ∧ 2*x6 ≤ 11*b) + (h11 : b ≤ x11 ∧ 2*x11 ≤ 11*b) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11⟩ := parameters_10010010101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 + clear p0 p1 p2 p3 p4 p5 p7 p8 p9 p10 + omega + +/-- Terminal branch `1001001011` cannot satisfy the band bounds. -/ +theorem exclude_1001001011 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 : Nat) + (b : Nat) (hb : 1 < b) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9⟩ := parameters_100100101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 r0 r1 r2 r3 r4 r5 r6 r7 r8 + have hparity := r9.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 + clear p0 p1 p2 p3 p4 p5 p6 p7 p8 + omega + +/-- Terminal branch `10010011` cannot satisfy the band bounds. -/ +theorem exclude_10010011 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 : Nat) + (b : Nat) (hb : 1 < b) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7⟩ := parameters_1001001 x0 x1 x2 x3 x4 x5 x6 x7 r0 r1 r2 r3 r4 r5 r6 + have hparity := r7.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 + clear p0 p1 p2 p3 p4 p5 p6 + omega + +/-- Terminal branch `100101000` cannot satisfy the band bounds. -/ +theorem exclude_100101000 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 : Nat) + (b : Nat) (hb : 1 < b) + (h1 : b ≤ x1 ∧ 2*x1 ≤ 11*b) + (h9 : b ≤ x9 ∧ 2*x9 ≤ 11*b) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9⟩ := parameters_100101000 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 r0 r1 r2 r3 r4 r5 r6 r7 r8 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 + clear p0 p2 p3 p4 p5 p6 p7 p8 + omega + +/-- Terminal branch `100101001000` cannot satisfy the band bounds. -/ +theorem exclude_100101001000 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 : Nat) + (b : Nat) (hb : 1 < b) + (h1 : b ≤ x1 ∧ 2*x1 ≤ 11*b) + (h12 : b ≤ x12 ∧ 2*x12 ≤ 11*b) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12⟩ := parameters_100101001000 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 + clear p0 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 + omega + +/-- Terminal branch `10010100100100` cannot satisfy the band bounds. -/ +theorem exclude_10010100100100 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 : Nat) + (b : Nat) (hb : 1 < b) + (h1 : b ≤ x1 ∧ 2*x1 ≤ 11*b) + (h14 : b ≤ x14 ∧ 2*x14 ≤ 11*b) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14⟩ := parameters_10010100100100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 + clear p0 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 + omega + +/-- Terminal branch `10010100100101000` cannot satisfy the band bounds. -/ +theorem exclude_10010100100101000 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 : Nat) + (b : Nat) (hb : 1 < b) + (h1 : b ≤ x1 ∧ 2*x1 ≤ 11*b) + (h17 : b ≤ x17 ∧ 2*x17 ≤ 11*b) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17⟩ := parameters_10010100100101000 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 + clear p0 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 + omega + +/-- Terminal branch `1001010010010100100` cannot satisfy the band bounds. -/ +theorem exclude_1001010010010100100 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 : Nat) + (b : Nat) (hb : 1 < b) + (h1 : b ≤ x1 ∧ 2*x1 ≤ 11*b) + (h19 : b ≤ x19 ∧ 2*x19 ≤ 11*b) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (x17 = 3*x16+1 ∧ x16%2 = 1)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19⟩ := parameters_1001010010010100100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 + clear p0 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 + omega + +/-- Terminal branch `1001010010010100101000` cannot satisfy the band bounds. -/ +theorem exclude_1001010010010100101000 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 : Nat) + (b : Nat) (hb : 1 < b) + (h1 : b ≤ x1 ∧ 2*x1 ≤ 11*b) + (h22 : b ≤ x22 ∧ 2*x22 ≤ 11*b) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (x17 = 3*x16+1 ∧ x16%2 = 1)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + (r18 : (x19 = 3*x18+1 ∧ x18%2 = 1)) + (r19 : (2*x20 = x19 ∧ x19%2 = 0)) + (r20 : (2*x21 = x20 ∧ x20%2 = 0)) + (r21 : (2*x22 = x21 ∧ x21%2 = 0)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22⟩ := parameters_1001010010010100101000 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 + clear p0 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 + omega + +/-- Terminal branch `100101001001010010100100` cannot satisfy the band bounds. -/ +theorem exclude_100101001001010010100100 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 : Nat) + (b : Nat) (hb : 1 < b) + (h6 : b ≤ x6 ∧ 2*x6 ≤ 11*b) + (h24 : b ≤ x24 ∧ 2*x24 ≤ 11*b) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (x17 = 3*x16+1 ∧ x16%2 = 1)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + (r18 : (x19 = 3*x18+1 ∧ x18%2 = 1)) + (r19 : (2*x20 = x19 ∧ x19%2 = 0)) + (r20 : (2*x21 = x20 ∧ x20%2 = 0)) + (r21 : (x22 = 3*x21+1 ∧ x21%2 = 1)) + (r22 : (2*x23 = x22 ∧ x22%2 = 0)) + (r23 : (2*x24 = x23 ∧ x23%2 = 0)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24⟩ := parameters_100101001001010010100100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 + clear p0 p1 p2 p3 p4 p5 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 p23 + omega + +/-- Terminal branch `100101001001010010100101` cannot satisfy the band bounds. -/ +theorem exclude_100101001001010010100101 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 : Nat) + (b : Nat) (hb : 1 < b) + (h11 : b ≤ x11 ∧ 2*x11 ≤ 11*b) + (h24 : b ≤ x24 ∧ 2*x24 ≤ 11*b) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (x17 = 3*x16+1 ∧ x16%2 = 1)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + (r18 : (x19 = 3*x18+1 ∧ x18%2 = 1)) + (r19 : (2*x20 = x19 ∧ x19%2 = 0)) + (r20 : (2*x21 = x20 ∧ x20%2 = 0)) + (r21 : (x22 = 3*x21+1 ∧ x21%2 = 1)) + (r22 : (2*x23 = x22 ∧ x22%2 = 0)) + (r23 : (x24 = 3*x23+1 ∧ x23%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24⟩ := parameters_100101001001010010100101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 + clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 p23 + omega + +/-- Terminal branch `10010100100101001010011` cannot satisfy the band bounds. -/ +theorem exclude_10010100100101001010011 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 : Nat) + (b : Nat) (hb : 1 < b) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (x17 = 3*x16+1 ∧ x16%2 = 1)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + (r18 : (x19 = 3*x18+1 ∧ x18%2 = 1)) + (r19 : (2*x20 = x19 ∧ x19%2 = 0)) + (r20 : (2*x21 = x20 ∧ x20%2 = 0)) + (r21 : (x22 = 3*x21+1 ∧ x21%2 = 1)) + (r22 : (x23 = 3*x22+1 ∧ x22%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22⟩ := parameters_1001010010010100101001 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 + have hparity := r22.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 + clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 + omega + +/-- Terminal branch `100101001001010010101` cannot satisfy the band bounds. -/ +theorem exclude_100101001001010010101 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 : Nat) + (b : Nat) (hb : 1 < b) + (h3 : b ≤ x3 ∧ 2*x3 ≤ 11*b) + (h21 : b ≤ x21 ∧ 2*x21 ≤ 11*b) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (x17 = 3*x16+1 ∧ x16%2 = 1)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + (r18 : (x19 = 3*x18+1 ∧ x18%2 = 1)) + (r19 : (2*x20 = x19 ∧ x19%2 = 0)) + (r20 : (x21 = 3*x20+1 ∧ x20%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21⟩ := parameters_100101001001010010101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 + clear p0 p1 p2 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 + omega + +/-- Terminal branch `10010100100101001011` cannot satisfy the band bounds. -/ +theorem exclude_10010100100101001011 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 : Nat) + (b : Nat) (hb : 1 < b) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (x17 = 3*x16+1 ∧ x16%2 = 1)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + (r18 : (x19 = 3*x18+1 ∧ x18%2 = 1)) + (r19 : (x20 = 3*x19+1 ∧ x19%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19⟩ := parameters_1001010010010100101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 + have hparity := r19.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 + clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 + omega + +/-- Terminal branch `100101001001010011` cannot satisfy the band bounds. -/ +theorem exclude_100101001001010011 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 : Nat) + (b : Nat) (hb : 1 < b) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (x17 = 3*x16+1 ∧ x16%2 = 1)) + (r17 : (x18 = 3*x17+1 ∧ x17%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17⟩ := parameters_10010100100101001 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 + have hparity := r17.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 + clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 + omega + +/-- Terminal branch `1001010010010101` cannot satisfy the band bounds. -/ +theorem exclude_1001010010010101 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 : Nat) + (b : Nat) (hb : 1 < b) + (h3 : b ≤ x3 ∧ 2*x3 ≤ 11*b) + (h16 : b ≤ x16 ∧ 2*x16 ≤ 11*b) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (x16 = 3*x15+1 ∧ x15%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16⟩ := parameters_1001010010010101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 + clear p0 p1 p2 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 + omega + + +end Collatz.Exploration.ElevenHalvesArithmetic diff --git a/Collatz/Exploration/ElevenHalvesArithmetic/Part19.lean b/Collatz/Exploration/ElevenHalvesArithmetic/Part19.lean new file mode 100644 index 00000000..cc6ef7e4 --- /dev/null +++ b/Collatz/Exploration/ElevenHalvesArithmetic/Part19.lean @@ -0,0 +1,1199 @@ +import Collatz.Exploration.ElevenHalvesArithmetic.Part18 + +namespace Collatz.Exploration.ElevenHalvesArithmetic + +set_option maxHeartbeats 2000000 +set_option linter.unusedVariables false + +/-- Terminal branch `100101001001011` cannot satisfy the band bounds. -/ +theorem exclude_100101001001011 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 : Nat) + (b : Nat) (hb : 1 < b) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14⟩ := parameters_10010100100101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 + have hparity := r14.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 + clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 + omega + +/-- Terminal branch `1001010010011` cannot satisfy the band bounds. -/ +theorem exclude_1001010010011 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 : Nat) + (b : Nat) (hb : 1 < b) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12⟩ := parameters_100101001001 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 + have hparity := r12.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 + clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 + omega + +/-- Terminal branch `10010100101000` cannot satisfy the band bounds. -/ +theorem exclude_10010100101000 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 : Nat) + (b : Nat) (hb : 1 < b) + (h1 : b ≤ x1 ∧ 2*x1 ≤ 11*b) + (h14 : b ≤ x14 ∧ 2*x14 ≤ 11*b) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14⟩ := parameters_10010100101000 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 + clear p0 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 + omega + +/-- Terminal branch `10010100101001000` cannot satisfy the band bounds. -/ +theorem exclude_10010100101001000 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 : Nat) + (b : Nat) (hb : 1 < b) + (h1 : b ≤ x1 ∧ 2*x1 ≤ 11*b) + (h17 : b ≤ x17 ∧ 2*x17 ≤ 11*b) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17⟩ := parameters_10010100101001000 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 + clear p0 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 + omega + +/-- Terminal branch `1001010010100100100` cannot satisfy the band bounds. -/ +theorem exclude_1001010010100100100 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 : Nat) + (b : Nat) (hb : 1 < b) + (h1 : b ≤ x1 ∧ 2*x1 ≤ 11*b) + (h19 : b ≤ x19 ∧ 2*x19 ≤ 11*b) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (x17 = 3*x16+1 ∧ x16%2 = 1)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19⟩ := parameters_1001010010100100100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 + clear p0 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 + omega + +/-- Terminal branch `1001010010100100101000` cannot satisfy the band bounds. -/ +theorem exclude_1001010010100100101000 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 : Nat) + (b : Nat) (hb : 1 < b) + (h1 : b ≤ x1 ∧ 2*x1 ≤ 11*b) + (h22 : b ≤ x22 ∧ 2*x22 ≤ 11*b) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (x17 = 3*x16+1 ∧ x16%2 = 1)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + (r18 : (x19 = 3*x18+1 ∧ x18%2 = 1)) + (r19 : (2*x20 = x19 ∧ x19%2 = 0)) + (r20 : (2*x21 = x20 ∧ x20%2 = 0)) + (r21 : (2*x22 = x21 ∧ x21%2 = 0)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22⟩ := parameters_1001010010100100101000 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 + clear p0 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 + omega + +/-- Terminal branch `100101001010010010100100` cannot satisfy the band bounds. -/ +theorem exclude_100101001010010010100100 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 : Nat) + (b : Nat) (hb : 1 < b) + (h6 : b ≤ x6 ∧ 2*x6 ≤ 11*b) + (h24 : b ≤ x24 ∧ 2*x24 ≤ 11*b) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (x17 = 3*x16+1 ∧ x16%2 = 1)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + (r18 : (x19 = 3*x18+1 ∧ x18%2 = 1)) + (r19 : (2*x20 = x19 ∧ x19%2 = 0)) + (r20 : (2*x21 = x20 ∧ x20%2 = 0)) + (r21 : (x22 = 3*x21+1 ∧ x21%2 = 1)) + (r22 : (2*x23 = x22 ∧ x22%2 = 0)) + (r23 : (2*x24 = x23 ∧ x23%2 = 0)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24⟩ := parameters_100101001010010010100100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 + clear p0 p1 p2 p3 p4 p5 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 p23 + omega + +/-- Terminal branch `100101001010010010100101000` cannot satisfy the band bounds. -/ +theorem exclude_100101001010010010100101000 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 x26 x27 : Nat) + (b : Nat) (hb : 1 < b) + (h1 : b ≤ x1 ∧ 2*x1 ≤ 11*b) + (h27 : b ≤ x27 ∧ 2*x27 ≤ 11*b) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (x17 = 3*x16+1 ∧ x16%2 = 1)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + (r18 : (x19 = 3*x18+1 ∧ x18%2 = 1)) + (r19 : (2*x20 = x19 ∧ x19%2 = 0)) + (r20 : (2*x21 = x20 ∧ x20%2 = 0)) + (r21 : (x22 = 3*x21+1 ∧ x21%2 = 1)) + (r22 : (2*x23 = x22 ∧ x22%2 = 0)) + (r23 : (x24 = 3*x23+1 ∧ x23%2 = 1)) + (r24 : (2*x25 = x24 ∧ x24%2 = 0)) + (r25 : (2*x26 = x25 ∧ x25%2 = 0)) + (r26 : (2*x27 = x26 ∧ x26%2 = 0)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27⟩ := parameters_100101001010010010100101000 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 x26 x27 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 r25 r26 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 r25 r26 + clear p0 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 p23 p24 p25 p26 + omega + +/-- Terminal branch `10010100101001001010010100100` cannot satisfy the band bounds. -/ +theorem exclude_10010100101001001010010100100 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 x26 x27 x28 x29 : Nat) + (b : Nat) (hb : 1 < b) + (h11 : b ≤ x11 ∧ 2*x11 ≤ 11*b) + (h29 : b ≤ x29 ∧ 2*x29 ≤ 11*b) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (x17 = 3*x16+1 ∧ x16%2 = 1)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + (r18 : (x19 = 3*x18+1 ∧ x18%2 = 1)) + (r19 : (2*x20 = x19 ∧ x19%2 = 0)) + (r20 : (2*x21 = x20 ∧ x20%2 = 0)) + (r21 : (x22 = 3*x21+1 ∧ x21%2 = 1)) + (r22 : (2*x23 = x22 ∧ x22%2 = 0)) + (r23 : (x24 = 3*x23+1 ∧ x23%2 = 1)) + (r24 : (2*x25 = x24 ∧ x24%2 = 0)) + (r25 : (2*x26 = x25 ∧ x25%2 = 0)) + (r26 : (x27 = 3*x26+1 ∧ x26%2 = 1)) + (r27 : (2*x28 = x27 ∧ x27%2 = 0)) + (r28 : (2*x29 = x28 ∧ x28%2 = 0)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29⟩ := parameters_10010100101001001010010100100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 x26 x27 x28 x29 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 r25 r26 r27 r28 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 r25 r26 r27 r28 + clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 p23 p24 p25 p26 p27 p28 + omega + +/-- Terminal branch `10010100101001001010010100101` cannot satisfy the band bounds. -/ +theorem exclude_10010100101001001010010100101 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 x26 x27 x28 x29 : Nat) + (b : Nat) (hb : 1 < b) + (h16 : b ≤ x16 ∧ 2*x16 ≤ 11*b) + (h29 : b ≤ x29 ∧ 2*x29 ≤ 11*b) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (x17 = 3*x16+1 ∧ x16%2 = 1)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + (r18 : (x19 = 3*x18+1 ∧ x18%2 = 1)) + (r19 : (2*x20 = x19 ∧ x19%2 = 0)) + (r20 : (2*x21 = x20 ∧ x20%2 = 0)) + (r21 : (x22 = 3*x21+1 ∧ x21%2 = 1)) + (r22 : (2*x23 = x22 ∧ x22%2 = 0)) + (r23 : (x24 = 3*x23+1 ∧ x23%2 = 1)) + (r24 : (2*x25 = x24 ∧ x24%2 = 0)) + (r25 : (2*x26 = x25 ∧ x25%2 = 0)) + (r26 : (x27 = 3*x26+1 ∧ x26%2 = 1)) + (r27 : (2*x28 = x27 ∧ x27%2 = 0)) + (r28 : (x29 = 3*x28+1 ∧ x28%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27,p28,p29⟩ := parameters_10010100101001001010010100101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 x26 x27 x28 x29 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 r25 r26 r27 r28 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 r25 r26 r27 r28 + clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p17 p18 p19 p20 p21 p22 p23 p24 p25 p26 p27 p28 + omega + +/-- Terminal branch `1001010010100100101001010011` cannot satisfy the band bounds. -/ +theorem exclude_1001010010100100101001010011 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 x26 x27 x28 : Nat) + (b : Nat) (hb : 1 < b) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (x17 = 3*x16+1 ∧ x16%2 = 1)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + (r18 : (x19 = 3*x18+1 ∧ x18%2 = 1)) + (r19 : (2*x20 = x19 ∧ x19%2 = 0)) + (r20 : (2*x21 = x20 ∧ x20%2 = 0)) + (r21 : (x22 = 3*x21+1 ∧ x21%2 = 1)) + (r22 : (2*x23 = x22 ∧ x22%2 = 0)) + (r23 : (x24 = 3*x23+1 ∧ x23%2 = 1)) + (r24 : (2*x25 = x24 ∧ x24%2 = 0)) + (r25 : (2*x26 = x25 ∧ x25%2 = 0)) + (r26 : (x27 = 3*x26+1 ∧ x26%2 = 1)) + (r27 : (x28 = 3*x27+1 ∧ x27%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26,p27⟩ := parameters_100101001010010010100101001 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 x26 x27 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 r25 r26 + have hparity := r27.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 r25 r26 r27 + clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 p23 p24 p25 p26 + omega + +/-- Terminal branch `10010100101001001010010101` cannot satisfy the band bounds. -/ +theorem exclude_10010100101001001010010101 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 x26 : Nat) + (b : Nat) (hb : 1 < b) + (h3 : b ≤ x3 ∧ 2*x3 ≤ 11*b) + (h26 : b ≤ x26 ∧ 2*x26 ≤ 11*b) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (x17 = 3*x16+1 ∧ x16%2 = 1)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + (r18 : (x19 = 3*x18+1 ∧ x18%2 = 1)) + (r19 : (2*x20 = x19 ∧ x19%2 = 0)) + (r20 : (2*x21 = x20 ∧ x20%2 = 0)) + (r21 : (x22 = 3*x21+1 ∧ x21%2 = 1)) + (r22 : (2*x23 = x22 ∧ x22%2 = 0)) + (r23 : (x24 = 3*x23+1 ∧ x23%2 = 1)) + (r24 : (2*x25 = x24 ∧ x24%2 = 0)) + (r25 : (x26 = 3*x25+1 ∧ x25%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26⟩ := parameters_10010100101001001010010101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 x26 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 r25 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 r25 + clear p0 p1 p2 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 p23 p24 p25 + omega + +/-- Terminal branch `1001010010100100101001011` cannot satisfy the band bounds. -/ +theorem exclude_1001010010100100101001011 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 : Nat) + (b : Nat) (hb : 1 < b) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (x17 = 3*x16+1 ∧ x16%2 = 1)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + (r18 : (x19 = 3*x18+1 ∧ x18%2 = 1)) + (r19 : (2*x20 = x19 ∧ x19%2 = 0)) + (r20 : (2*x21 = x20 ∧ x20%2 = 0)) + (r21 : (x22 = 3*x21+1 ∧ x21%2 = 1)) + (r22 : (2*x23 = x22 ∧ x22%2 = 0)) + (r23 : (x24 = 3*x23+1 ∧ x23%2 = 1)) + (r24 : (x25 = 3*x24+1 ∧ x24%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24⟩ := parameters_100101001010010010100101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 + have hparity := r24.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 + clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 p23 + omega + +/-- Terminal branch `10010100101001001010011` cannot satisfy the band bounds. -/ +theorem exclude_10010100101001001010011 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 : Nat) + (b : Nat) (hb : 1 < b) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (x17 = 3*x16+1 ∧ x16%2 = 1)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + (r18 : (x19 = 3*x18+1 ∧ x18%2 = 1)) + (r19 : (2*x20 = x19 ∧ x19%2 = 0)) + (r20 : (2*x21 = x20 ∧ x20%2 = 0)) + (r21 : (x22 = 3*x21+1 ∧ x21%2 = 1)) + (r22 : (x23 = 3*x22+1 ∧ x22%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22⟩ := parameters_1001010010100100101001 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 + have hparity := r22.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 + clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 + omega + +/-- Terminal branch `100101001010010010101` cannot satisfy the band bounds. -/ +theorem exclude_100101001010010010101 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 : Nat) + (b : Nat) (hb : 1 < b) + (h3 : b ≤ x3 ∧ 2*x3 ≤ 11*b) + (h21 : b ≤ x21 ∧ 2*x21 ≤ 11*b) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (x17 = 3*x16+1 ∧ x16%2 = 1)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + (r18 : (x19 = 3*x18+1 ∧ x18%2 = 1)) + (r19 : (2*x20 = x19 ∧ x19%2 = 0)) + (r20 : (x21 = 3*x20+1 ∧ x20%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21⟩ := parameters_100101001010010010101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 + clear p0 p1 p2 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 + omega + +/-- Terminal branch `10010100101001001011` cannot satisfy the band bounds. -/ +theorem exclude_10010100101001001011 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 : Nat) + (b : Nat) (hb : 1 < b) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (x17 = 3*x16+1 ∧ x16%2 = 1)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + (r18 : (x19 = 3*x18+1 ∧ x18%2 = 1)) + (r19 : (x20 = 3*x19+1 ∧ x19%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19⟩ := parameters_1001010010100100101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 + have hparity := r19.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 + clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 + omega + +/-- Terminal branch `100101001010010011` cannot satisfy the band bounds. -/ +theorem exclude_100101001010010011 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 : Nat) + (b : Nat) (hb : 1 < b) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + (r16 : (x17 = 3*x16+1 ∧ x16%2 = 1)) + (r17 : (x18 = 3*x17+1 ∧ x17%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17⟩ := parameters_10010100101001001 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 + have hparity := r17.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 + clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 + omega + +/-- Terminal branch `1001010010100101` cannot satisfy the band bounds. -/ +theorem exclude_1001010010100101 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 : Nat) + (b : Nat) (hb : 1 < b) + (h3 : b ≤ x3 ∧ 2*x3 ≤ 11*b) + (h16 : b ≤ x16 ∧ 2*x16 ≤ 11*b) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (x16 = 3*x15+1 ∧ x15%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16⟩ := parameters_1001010010100101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 + clear p0 p1 p2 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 + omega + +/-- Terminal branch `100101001010011` cannot satisfy the band bounds. -/ +theorem exclude_100101001010011 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 : Nat) + (b : Nat) (hb : 1 < b) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14⟩ := parameters_10010100101001 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 + have hparity := r14.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 + clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 + omega + +/-- Terminal branch `1001010010101` cannot satisfy the band bounds. -/ +theorem exclude_1001010010101 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 : Nat) + (b : Nat) (hb : 1 < b) + (h0 : b ≤ x0 ∧ 2*x0 ≤ 11*b) + (h13 : b ≤ x13 ∧ 2*x13 ≤ 11*b) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13⟩ := parameters_1001010010101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 + clear p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 + omega + +/-- Terminal branch `100101001011` cannot satisfy the band bounds. -/ +theorem exclude_100101001011 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 : Nat) + (b : Nat) (hb : 1 < b) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11⟩ := parameters_10010100101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 + have hparity := r11.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 + clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 + omega + +/-- Terminal branch `1001010011` cannot satisfy the band bounds. -/ +theorem exclude_1001010011 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 : Nat) + (b : Nat) (hb : 1 < b) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9⟩ := parameters_100101001 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 r0 r1 r2 r3 r4 r5 r6 r7 r8 + have hparity := r9.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 + clear p0 p1 p2 p3 p4 p5 p6 p7 p8 + omega + +/-- Terminal branch `10010101` cannot satisfy the band bounds. -/ +theorem exclude_10010101 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 : Nat) + (b : Nat) (hb : 1 < b) + (h3 : b ≤ x3 ∧ 2*x3 ≤ 11*b) + (h8 : b ≤ x8 ∧ 2*x8 ≤ 11*b) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8⟩ := parameters_10010101 x0 x1 x2 x3 x4 x5 x6 x7 x8 r0 r1 r2 r3 r4 r5 r6 r7 + clear r0 r1 r2 r3 r4 r5 r6 r7 + clear p0 p1 p2 p4 p5 p6 p7 + omega + +/-- Terminal branch `1001011` cannot satisfy the band bounds. -/ +theorem exclude_1001011 + (x0 x1 x2 x3 x4 x5 x6 x7 : Nat) + (b : Nat) (hb : 1 < b) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6⟩ := parameters_100101 x0 x1 x2 x3 x4 x5 x6 r0 r1 r2 r3 r4 r5 + have hparity := r6.2 + clear r0 r1 r2 r3 r4 r5 r6 + clear p0 p1 p2 p3 p4 p5 + omega + +/-- Terminal branch `10011` cannot satisfy the band bounds. -/ +theorem exclude_10011 + (x0 x1 x2 x3 x4 x5 : Nat) + (b : Nat) (hb : 1 < b) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (2*x3 = x2 ∧ x2%2 = 0)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4⟩ := parameters_1001 x0 x1 x2 x3 x4 r0 r1 r2 r3 + have hparity := r4.2 + clear r0 r1 r2 r3 r4 + clear p0 p1 p2 p3 + omega + +/-- Terminal branch `101000` cannot satisfy the band bounds. -/ +theorem exclude_101000 + (x0 x1 x2 x3 x4 x5 x6 : Nat) + (b : Nat) (hb : 1 < b) + (h3 : b ≤ x3 ∧ 2*x3 ≤ 11*b) + (h6 : b ≤ x6 ∧ 2*x6 ≤ 11*b) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (2*x6 = x5 ∧ x5%2 = 0)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6⟩ := parameters_101000 x0 x1 x2 x3 x4 x5 x6 r0 r1 r2 r3 r4 r5 + clear r0 r1 r2 r3 r4 r5 + clear p0 p1 p2 p4 p5 + omega + +/-- Terminal branch `101001000` cannot satisfy the band bounds. -/ +theorem exclude_101001000 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 : Nat) + (b : Nat) (hb : 1 < b) + (h1 : b ≤ x1 ∧ 2*x1 ≤ 11*b) + (h9 : b ≤ x9 ∧ 2*x9 ≤ 11*b) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9⟩ := parameters_101001000 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 r0 r1 r2 r3 r4 r5 r6 r7 r8 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 + clear p0 p2 p3 p4 p5 p6 p7 p8 + omega + +/-- Terminal branch `10100100100` cannot satisfy the band bounds. -/ +theorem exclude_10100100100 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 : Nat) + (b : Nat) (hb : 1 < b) + (h3 : b ≤ x3 ∧ 2*x3 ≤ 11*b) + (h11 : b ≤ x11 ∧ 2*x11 ≤ 11*b) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11⟩ := parameters_10100100100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 + clear p0 p1 p2 p4 p5 p6 p7 p8 p9 p10 + omega + +/-- Terminal branch `10100100101000` cannot satisfy the band bounds. -/ +theorem exclude_10100100101000 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 : Nat) + (b : Nat) (hb : 1 < b) + (h1 : b ≤ x1 ∧ 2*x1 ≤ 11*b) + (h14 : b ≤ x14 ∧ 2*x14 ≤ 11*b) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14⟩ := parameters_10100100101000 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 + clear p0 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 + omega + +/-- Terminal branch `1010010010100100` cannot satisfy the band bounds. -/ +theorem exclude_1010010010100100 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 : Nat) + (b : Nat) (hb : 1 < b) + (h3 : b ≤ x3 ∧ 2*x3 ≤ 11*b) + (h16 : b ≤ x16 ∧ 2*x16 ≤ 11*b) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16⟩ := parameters_1010010010100100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 + clear p0 p1 p2 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 + omega + +/-- Terminal branch `1010010010100101000` cannot satisfy the band bounds. -/ +theorem exclude_1010010010100101000 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 : Nat) + (b : Nat) (hb : 1 < b) + (h1 : b ≤ x1 ∧ 2*x1 ≤ 11*b) + (h19 : b ≤ x19 ∧ 2*x19 ≤ 11*b) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (x16 = 3*x15+1 ∧ x15%2 = 1)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19⟩ := parameters_1010010010100101000 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 + clear p0 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 + omega + +/-- Terminal branch `101001001010010100100` cannot satisfy the band bounds. -/ +theorem exclude_101001001010010100100 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 : Nat) + (b : Nat) (hb : 1 < b) + (h3 : b ≤ x3 ∧ 2*x3 ≤ 11*b) + (h21 : b ≤ x21 ∧ 2*x21 ≤ 11*b) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (x16 = 3*x15+1 ∧ x15%2 = 1)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + (r18 : (x19 = 3*x18+1 ∧ x18%2 = 1)) + (r19 : (2*x20 = x19 ∧ x19%2 = 0)) + (r20 : (2*x21 = x20 ∧ x20%2 = 0)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21⟩ := parameters_101001001010010100100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 + clear p0 p1 p2 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 + omega + +/-- Terminal branch `101001001010010100101` cannot satisfy the band bounds. -/ +theorem exclude_101001001010010100101 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 : Nat) + (b : Nat) (hb : 1 < b) + (h8 : b ≤ x8 ∧ 2*x8 ≤ 11*b) + (h21 : b ≤ x21 ∧ 2*x21 ≤ 11*b) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (x16 = 3*x15+1 ∧ x15%2 = 1)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + (r18 : (x19 = 3*x18+1 ∧ x18%2 = 1)) + (r19 : (2*x20 = x19 ∧ x19%2 = 0)) + (r20 : (x21 = 3*x20+1 ∧ x20%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21⟩ := parameters_101001001010010100101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 + clear p0 p1 p2 p3 p4 p5 p6 p7 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 + omega + +/-- Terminal branch `10100100101001010011` cannot satisfy the band bounds. -/ +theorem exclude_10100100101001010011 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 : Nat) + (b : Nat) (hb : 1 < b) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (x16 = 3*x15+1 ∧ x15%2 = 1)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + (r18 : (x19 = 3*x18+1 ∧ x18%2 = 1)) + (r19 : (x20 = 3*x19+1 ∧ x19%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19⟩ := parameters_1010010010100101001 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 + have hparity := r19.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 + clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 + omega + +/-- Terminal branch `101001001010010101` cannot satisfy the band bounds. -/ +theorem exclude_101001001010010101 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 : Nat) + (b : Nat) (hb : 1 < b) + (h0 : b ≤ x0 ∧ 2*x0 ≤ 11*b) + (h18 : b ≤ x18 ∧ 2*x18 ≤ 11*b) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (x16 = 3*x15+1 ∧ x15%2 = 1)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (x18 = 3*x17+1 ∧ x17%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18⟩ := parameters_101001001010010101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 + clear p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 + omega + +/-- Terminal branch `10100100101001011` cannot satisfy the band bounds. -/ +theorem exclude_10100100101001011 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 : Nat) + (b : Nat) (hb : 1 < b) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (x16 = 3*x15+1 ∧ x15%2 = 1)) + (r16 : (x17 = 3*x16+1 ∧ x16%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16⟩ := parameters_1010010010100101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 + have hparity := r16.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 + clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 + omega + +/-- Terminal branch `101001001010011` cannot satisfy the band bounds. -/ +theorem exclude_101001001010011 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 : Nat) + (b : Nat) (hb : 1 < b) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14⟩ := parameters_10100100101001 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 + have hparity := r14.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 + clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 + omega + +/-- Terminal branch `1010010010101` cannot satisfy the band bounds. -/ +theorem exclude_1010010010101 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 : Nat) + (b : Nat) (hb : 1 < b) + (h0 : b ≤ x0 ∧ 2*x0 ≤ 11*b) + (h13 : b ≤ x13 ∧ 2*x13 ≤ 11*b) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13⟩ := parameters_1010010010101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 + clear p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 + omega + +/-- Terminal branch `101001001011` cannot satisfy the band bounds. -/ +theorem exclude_101001001011 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 : Nat) + (b : Nat) (hb : 1 < b) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11⟩ := parameters_10100100101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 + have hparity := r11.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 + clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 + omega + +/-- Terminal branch `1010010011` cannot satisfy the band bounds. -/ +theorem exclude_1010010011 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 : Nat) + (b : Nat) (hb : 1 < b) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (2*x8 = x7 ∧ x7%2 = 0)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9⟩ := parameters_101001001 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 r0 r1 r2 r3 r4 r5 r6 r7 r8 + have hparity := r9.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 + clear p0 p1 p2 p3 p4 p5 p6 p7 p8 + omega + +/-- Terminal branch `10100101000` cannot satisfy the band bounds. -/ +theorem exclude_10100101000 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 : Nat) + (b : Nat) (hb : 1 < b) + (h3 : b ≤ x3 ∧ 2*x3 ≤ 11*b) + (h11 : b ≤ x11 ∧ 2*x11 ≤ 11*b) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (2*x11 = x10 ∧ x10%2 = 0)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11⟩ := parameters_10100101000 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 + clear p0 p1 p2 p4 p5 p6 p7 p8 p9 p10 + omega + +/-- Terminal branch `10100101001000` cannot satisfy the band bounds. -/ +theorem exclude_10100101001000 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 : Nat) + (b : Nat) (hb : 1 < b) + (h1 : b ≤ x1 ∧ 2*x1 ≤ 11*b) + (h14 : b ≤ x14 ∧ 2*x14 ≤ 11*b) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (2*x14 = x13 ∧ x13%2 = 0)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14⟩ := parameters_10100101001000 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 + clear p0 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 + omega + + +end Collatz.Exploration.ElevenHalvesArithmetic diff --git a/Collatz/Exploration/ElevenHalvesArithmetic/Part20.lean b/Collatz/Exploration/ElevenHalvesArithmetic/Part20.lean new file mode 100644 index 00000000..acdece75 --- /dev/null +++ b/Collatz/Exploration/ElevenHalvesArithmetic/Part20.lean @@ -0,0 +1,585 @@ +import Collatz.Exploration.ElevenHalvesArithmetic.Part19 + +namespace Collatz.Exploration.ElevenHalvesArithmetic + +set_option maxHeartbeats 2000000 +set_option linter.unusedVariables false + +/-- Terminal branch `1010010100100100` cannot satisfy the band bounds. -/ +theorem exclude_1010010100100100 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 : Nat) + (b : Nat) (hb : 1 < b) + (h3 : b ≤ x3 ∧ 2*x3 ≤ 11*b) + (h16 : b ≤ x16 ∧ 2*x16 ≤ 11*b) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (2*x16 = x15 ∧ x15%2 = 0)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16⟩ := parameters_1010010100100100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 + clear p0 p1 p2 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 + omega + +/-- Terminal branch `1010010100100101000` cannot satisfy the band bounds. -/ +theorem exclude_1010010100100101000 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 : Nat) + (b : Nat) (hb : 1 < b) + (h1 : b ≤ x1 ∧ 2*x1 ≤ 11*b) + (h19 : b ≤ x19 ∧ 2*x19 ≤ 11*b) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (x16 = 3*x15+1 ∧ x15%2 = 1)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + (r18 : (2*x19 = x18 ∧ x18%2 = 0)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19⟩ := parameters_1010010100100101000 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 + clear p0 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 + omega + +/-- Terminal branch `101001010010010100100` cannot satisfy the band bounds. -/ +theorem exclude_101001010010010100100 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 : Nat) + (b : Nat) (hb : 1 < b) + (h3 : b ≤ x3 ∧ 2*x3 ≤ 11*b) + (h21 : b ≤ x21 ∧ 2*x21 ≤ 11*b) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (x16 = 3*x15+1 ∧ x15%2 = 1)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + (r18 : (x19 = 3*x18+1 ∧ x18%2 = 1)) + (r19 : (2*x20 = x19 ∧ x19%2 = 0)) + (r20 : (2*x21 = x20 ∧ x20%2 = 0)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21⟩ := parameters_101001010010010100100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 + clear p0 p1 p2 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 + omega + +/-- Terminal branch `101001010010010100101000` cannot satisfy the band bounds. -/ +theorem exclude_101001010010010100101000 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 : Nat) + (b : Nat) (hb : 1 < b) + (h3 : b ≤ x3 ∧ 2*x3 ≤ 11*b) + (h24 : b ≤ x24 ∧ 2*x24 ≤ 11*b) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (x16 = 3*x15+1 ∧ x15%2 = 1)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + (r18 : (x19 = 3*x18+1 ∧ x18%2 = 1)) + (r19 : (2*x20 = x19 ∧ x19%2 = 0)) + (r20 : (x21 = 3*x20+1 ∧ x20%2 = 1)) + (r21 : (2*x22 = x21 ∧ x21%2 = 0)) + (r22 : (2*x23 = x22 ∧ x22%2 = 0)) + (r23 : (2*x24 = x23 ∧ x23%2 = 0)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24⟩ := parameters_101001010010010100101000 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 + clear p0 p1 p2 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 p23 + omega + +/-- Terminal branch `10100101001001010010100100` cannot satisfy the band bounds. -/ +theorem exclude_10100101001001010010100100 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 x26 : Nat) + (b : Nat) (hb : 1 < b) + (h8 : b ≤ x8 ∧ 2*x8 ≤ 11*b) + (h26 : b ≤ x26 ∧ 2*x26 ≤ 11*b) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (x16 = 3*x15+1 ∧ x15%2 = 1)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + (r18 : (x19 = 3*x18+1 ∧ x18%2 = 1)) + (r19 : (2*x20 = x19 ∧ x19%2 = 0)) + (r20 : (x21 = 3*x20+1 ∧ x20%2 = 1)) + (r21 : (2*x22 = x21 ∧ x21%2 = 0)) + (r22 : (2*x23 = x22 ∧ x22%2 = 0)) + (r23 : (x24 = 3*x23+1 ∧ x23%2 = 1)) + (r24 : (2*x25 = x24 ∧ x24%2 = 0)) + (r25 : (2*x26 = x25 ∧ x25%2 = 0)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26⟩ := parameters_10100101001001010010100100 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 x26 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 r25 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 r25 + clear p0 p1 p2 p3 p4 p5 p6 p7 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 p23 p24 p25 + omega + +/-- Terminal branch `10100101001001010010100101` cannot satisfy the band bounds. -/ +theorem exclude_10100101001001010010100101 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 x26 : Nat) + (b : Nat) (hb : 1 < b) + (h13 : b ≤ x13 ∧ 2*x13 ≤ 11*b) + (h26 : b ≤ x26 ∧ 2*x26 ≤ 11*b) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (x16 = 3*x15+1 ∧ x15%2 = 1)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + (r18 : (x19 = 3*x18+1 ∧ x18%2 = 1)) + (r19 : (2*x20 = x19 ∧ x19%2 = 0)) + (r20 : (x21 = 3*x20+1 ∧ x20%2 = 1)) + (r21 : (2*x22 = x21 ∧ x21%2 = 0)) + (r22 : (2*x23 = x22 ∧ x22%2 = 0)) + (r23 : (x24 = 3*x23+1 ∧ x23%2 = 1)) + (r24 : (2*x25 = x24 ∧ x24%2 = 0)) + (r25 : (x26 = 3*x25+1 ∧ x25%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24,p25,p26⟩ := parameters_10100101001001010010100101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 x26 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 r25 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 r25 + clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p14 p15 p16 p17 p18 p19 p20 p21 p22 p23 p24 p25 + omega + +/-- Terminal branch `1010010100100101001010011` cannot satisfy the band bounds. -/ +theorem exclude_1010010100100101001010011 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 : Nat) + (b : Nat) (hb : 1 < b) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (x16 = 3*x15+1 ∧ x15%2 = 1)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + (r18 : (x19 = 3*x18+1 ∧ x18%2 = 1)) + (r19 : (2*x20 = x19 ∧ x19%2 = 0)) + (r20 : (x21 = 3*x20+1 ∧ x20%2 = 1)) + (r21 : (2*x22 = x21 ∧ x21%2 = 0)) + (r22 : (2*x23 = x22 ∧ x22%2 = 0)) + (r23 : (x24 = 3*x23+1 ∧ x23%2 = 1)) + (r24 : (x25 = 3*x24+1 ∧ x24%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23,p24⟩ := parameters_101001010010010100101001 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 + have hparity := r24.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 + clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 p23 + omega + +/-- Terminal branch `10100101001001010010101` cannot satisfy the band bounds. -/ +theorem exclude_10100101001001010010101 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 : Nat) + (b : Nat) (hb : 1 < b) + (h0 : b ≤ x0 ∧ 2*x0 ≤ 11*b) + (h23 : b ≤ x23 ∧ 2*x23 ≤ 11*b) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (x16 = 3*x15+1 ∧ x15%2 = 1)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + (r18 : (x19 = 3*x18+1 ∧ x18%2 = 1)) + (r19 : (2*x20 = x19 ∧ x19%2 = 0)) + (r20 : (x21 = 3*x20+1 ∧ x20%2 = 1)) + (r21 : (2*x22 = x21 ∧ x21%2 = 0)) + (r22 : (x23 = 3*x22+1 ∧ x22%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21,p22,p23⟩ := parameters_10100101001001010010101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 + clear p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 + omega + +/-- Terminal branch `1010010100100101001011` cannot satisfy the band bounds. -/ +theorem exclude_1010010100100101001011 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 : Nat) + (b : Nat) (hb : 1 < b) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (x16 = 3*x15+1 ∧ x15%2 = 1)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + (r18 : (x19 = 3*x18+1 ∧ x18%2 = 1)) + (r19 : (2*x20 = x19 ∧ x19%2 = 0)) + (r20 : (x21 = 3*x20+1 ∧ x20%2 = 1)) + (r21 : (x22 = 3*x21+1 ∧ x21%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20,p21⟩ := parameters_101001010010010100101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 x21 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 + have hparity := r21.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 + clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 + omega + +/-- Terminal branch `10100101001001010011` cannot satisfy the band bounds. -/ +theorem exclude_10100101001001010011 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20 : Nat) + (b : Nat) (hb : 1 < b) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (x16 = 3*x15+1 ∧ x15%2 = 1)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (2*x18 = x17 ∧ x17%2 = 0)) + (r18 : (x19 = 3*x18+1 ∧ x18%2 = 1)) + (r19 : (x20 = 3*x19+1 ∧ x19%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19⟩ := parameters_1010010100100101001 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 + have hparity := r19.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 + clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 + omega + +/-- Terminal branch `101001010010010101` cannot satisfy the band bounds. -/ +theorem exclude_101001010010010101 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 : Nat) + (b : Nat) (hb : 1 < b) + (h0 : b ≤ x0 ∧ 2*x0 ≤ 11*b) + (h18 : b ≤ x18 ∧ 2*x18 ≤ 11*b) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (x16 = 3*x15+1 ∧ x15%2 = 1)) + (r16 : (2*x17 = x16 ∧ x16%2 = 0)) + (r17 : (x18 = 3*x17+1 ∧ x17%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18⟩ := parameters_101001010010010101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 + clear p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 + omega + +/-- Terminal branch `10100101001001011` cannot satisfy the band bounds. -/ +theorem exclude_10100101001001011 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 : Nat) + (b : Nat) (hb : 1 < b) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + (r14 : (2*x15 = x14 ∧ x14%2 = 0)) + (r15 : (x16 = 3*x15+1 ∧ x15%2 = 1)) + (r16 : (x17 = 3*x16+1 ∧ x16%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16⟩ := parameters_1010010100100101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 + have hparity := r16.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 + clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 + omega + +/-- Terminal branch `101001010010011` cannot satisfy the band bounds. -/ +theorem exclude_101001010010011 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 : Nat) + (b : Nat) (hb : 1 < b) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (2*x13 = x12 ∧ x12%2 = 0)) + (r13 : (x14 = 3*x13+1 ∧ x13%2 = 1)) + (r14 : (x15 = 3*x14+1 ∧ x14%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14⟩ := parameters_10100101001001 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 + have hparity := r14.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 + clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 + omega + +/-- Terminal branch `1010010100101` cannot satisfy the band bounds. -/ +theorem exclude_1010010100101 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 : Nat) + (b : Nat) (hb : 1 < b) + (h0 : b ≤ x0 ∧ 2*x0 ≤ 11*b) + (h13 : b ≤ x13 ∧ 2*x13 ≤ 11*b) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (2*x12 = x11 ∧ x11%2 = 0)) + (r12 : (x13 = 3*x12+1 ∧ x12%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13⟩ := parameters_1010010100101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 + clear p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 + omega + +/-- Terminal branch `101001010011` cannot satisfy the band bounds. -/ +theorem exclude_101001010011 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 : Nat) + (b : Nat) (hb : 1 < b) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (2*x10 = x9 ∧ x9%2 = 0)) + (r10 : (x11 = 3*x10+1 ∧ x10%2 = 1)) + (r11 : (x12 = 3*x11+1 ∧ x11%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11⟩ := parameters_10100101001 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 + have hparity := r11.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 + clear p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 + omega + +/-- Terminal branch `1010010101` cannot satisfy the band bounds. -/ +theorem exclude_1010010101 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 : Nat) + (b : Nat) (hb : 1 < b) + (h0 : b ≤ x0 ∧ 2*x0 ≤ 11*b) + (h10 : b ≤ x10 ∧ 2*x10 ≤ 11*b) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (2*x9 = x8 ∧ x8%2 = 0)) + (r9 : (x10 = 3*x9+1 ∧ x9%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10⟩ := parameters_1010010101 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 + clear p1 p2 p3 p4 p5 p6 p7 p8 p9 + omega + +/-- Terminal branch `101001011` cannot satisfy the band bounds. -/ +theorem exclude_101001011 + (x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 : Nat) + (b : Nat) (hb : 1 < b) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (2*x7 = x6 ∧ x6%2 = 0)) + (r7 : (x8 = 3*x7+1 ∧ x7%2 = 1)) + (r8 : (x9 = 3*x8+1 ∧ x8%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6,p7,p8⟩ := parameters_10100101 x0 x1 x2 x3 x4 x5 x6 x7 x8 r0 r1 r2 r3 r4 r5 r6 r7 + have hparity := r8.2 + clear r0 r1 r2 r3 r4 r5 r6 r7 r8 + clear p0 p1 p2 p3 p4 p5 p6 p7 + omega + +/-- Terminal branch `1010011` cannot satisfy the band bounds. -/ +theorem exclude_1010011 + (x0 x1 x2 x3 x4 x5 x6 x7 : Nat) + (b : Nat) (hb : 1 < b) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (2*x5 = x4 ∧ x4%2 = 0)) + (r5 : (x6 = 3*x5+1 ∧ x5%2 = 1)) + (r6 : (x7 = 3*x6+1 ∧ x6%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5,p6⟩ := parameters_101001 x0 x1 x2 x3 x4 x5 x6 r0 r1 r2 r3 r4 r5 + have hparity := r6.2 + clear r0 r1 r2 r3 r4 r5 r6 + clear p0 p1 p2 p3 p4 p5 + omega + +/-- Terminal branch `10101` cannot satisfy the band bounds. -/ +theorem exclude_10101 + (x0 x1 x2 x3 x4 x5 : Nat) + (b : Nat) (hb : 1 < b) + (h0 : b ≤ x0 ∧ 2*x0 ≤ 11*b) + (h5 : b ≤ x5 ∧ 2*x5 ≤ 11*b) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (2*x4 = x3 ∧ x3%2 = 0)) + (r4 : (x5 = 3*x4+1 ∧ x4%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3,p4,p5⟩ := parameters_10101 x0 x1 x2 x3 x4 x5 r0 r1 r2 r3 r4 + clear r0 r1 r2 r3 r4 + clear p1 p2 p3 p4 + omega + +/-- Terminal branch `1011` cannot satisfy the band bounds. -/ +theorem exclude_1011 + (x0 x1 x2 x3 x4 : Nat) + (b : Nat) (hb : 1 < b) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (2*x2 = x1 ∧ x1%2 = 0)) + (r2 : (x3 = 3*x2+1 ∧ x2%2 = 1)) + (r3 : (x4 = 3*x3+1 ∧ x3%2 = 1)) + : False := by + obtain ⟨q,p0,p1,p2,p3⟩ := parameters_101 x0 x1 x2 x3 r0 r1 r2 + have hparity := r3.2 + clear r0 r1 r2 r3 + clear p0 p1 p2 + omega + +/-- Terminal branch `11` cannot satisfy the band bounds. -/ +theorem exclude_11 + (x0 x1 x2 : Nat) + (b : Nat) (hb : 1 < b) + (r0 : (x1 = 3*x0+1 ∧ x0%2 = 1)) + (r1 : (x2 = 3*x1+1 ∧ x1%2 = 1)) + : False := by + obtain ⟨q,p0,p1⟩ := parameters_1 x0 x1 r0 + have hparity := r1.2 + clear r0 r1 + clear p0 + omega + + +end Collatz.Exploration.ElevenHalvesArithmetic diff --git a/Collatz/Exploration/ElevenHalvesClock.lean b/Collatz/Exploration/ElevenHalvesClock.lean new file mode 100644 index 00000000..d4821f54 --- /dev/null +++ b/Collatz/Exploration/ElevenHalvesClock.lean @@ -0,0 +1,102 @@ +import Collatz.Exploration.FiveBandClock +import Collatz.Exploration.BandClock +import Collatz.Exploration.ElevenHalvesArithmetic + +/-! A wider sharp band clock, keeping the descent/growth alternative explicit. -/ +namespace Collatz.Exploration.ElevenHalvesClock +open BarrierKernel BandClock + +/-- The inclusive ratio-11/2 band cannot contain thirty-one sampled states. -/ +theorem no_band_thirty {b n : Nat} (hb : 1 < b) + (hs : ∀ k, k ≤ 30 → b ≤ orbit k n ∧ 2*orbit k n ≤ 11*b) : False := by + have bounds0 := hs 0 (by decide) + have bounds1 := hs 1 (by decide) + have bounds2 := hs 2 (by decide) + have bounds3 := hs 3 (by decide) + have bounds4 := hs 4 (by decide) + have bounds5 := hs 5 (by decide) + have bounds6 := hs 6 (by decide) + have bounds7 := hs 7 (by decide) + have bounds8 := hs 8 (by decide) + have bounds9 := hs 9 (by decide) + have bounds10 := hs 10 (by decide) + have bounds11 := hs 11 (by decide) + have bounds12 := hs 12 (by decide) + have bounds13 := hs 13 (by decide) + have bounds14 := hs 14 (by decide) + have bounds15 := hs 15 (by decide) + have bounds16 := hs 16 (by decide) + have bounds17 := hs 17 (by decide) + have bounds18 := hs 18 (by decide) + have bounds19 := hs 19 (by decide) + have bounds20 := hs 20 (by decide) + have bounds21 := hs 21 (by decide) + have bounds22 := hs 22 (by decide) + have bounds23 := hs 23 (by decide) + have bounds24 := hs 24 (by decide) + have bounds25 := hs 25 (by decide) + have bounds26 := hs 26 (by decide) + have bounds27 := hs 27 (by decide) + have bounds28 := hs 28 (by decide) + have bounds29 := hs 29 (by decide) + have bounds30 := hs 30 (by decide) + have rel (k : Nat) (hk : k ≤ 29) : + (2*orbit (k+1) n = orbit k n ∧ (orbit k n)%2 = 0) ∨ + (orbit (k+1) n = 3*orbit k n+1 ∧ (orbit k n)%2 = 1) := by + have hp : 0 < orbit k n := by have := hs k (by omega); omega + have h := FiveBandClock.step_relation hp + rw [← orbit_step_commute, ← orbit_succ_steps] at h + exact h + exact ElevenHalvesArithmetic.impossible_trace b (orbit 0 n) (orbit 1 n) (orbit 2 n) (orbit 3 n) (orbit 4 n) (orbit 5 n) (orbit 6 n) (orbit 7 n) (orbit 8 n) (orbit 9 n) (orbit 10 n) (orbit 11 n) (orbit 12 n) (orbit 13 n) (orbit 14 n) (orbit 15 n) (orbit 16 n) (orbit 17 n) (orbit 18 n) (orbit 19 n) (orbit 20 n) (orbit 21 n) (orbit 22 n) (orbit 23 n) (orbit 24 n) (orbit 25 n) (orbit 26 n) (orbit 27 n) (orbit 28 n) (orbit 29 n) (orbit 30 n) hb + bounds0 bounds1 bounds2 bounds3 bounds4 bounds5 bounds6 bounds7 bounds8 bounds9 bounds10 bounds11 bounds12 bounds13 bounds14 bounds15 bounds16 bounds17 bounds18 bounds19 bounds20 bounds21 bounds22 bounds23 bounds24 bounds25 bounds26 bounds27 bounds28 bounds29 bounds30 + (rel 0 (by decide)) (rel 1 (by decide)) (rel 2 (by decide)) (rel 3 (by decide)) (rel 4 (by decide)) (rel 5 (by decide)) (rel 6 (by decide)) (rel 7 (by decide)) (rel 8 (by decide)) (rel 9 (by decide)) (rel 10 (by decide)) (rel 11 (by decide)) (rel 12 (by decide)) (rel 13 (by decide)) (rel 14 (by decide)) (rel 15 (by decide)) (rel 16 (by decide)) (rel 17 (by decide)) (rel 18 (by decide)) (rel 19 (by decide)) (rel 20 (by decide)) (rel 21 (by decide)) (rel 22 (by decide)) (rel 23 (by decide)) (rel 24 (by decide)) (rel 25 (by decide)) (rel 26 (by decide)) (rel 27 (by decide)) (rel 28 (by decide)) (rel 29 (by decide)) + +/-- A universal exit clock for all natural starts and all integer barriers b>1. -/ +theorem exit_thirty : ExitClock 11 2 30 := by + intro b n hb + by_cases h : ∃ k, k ≤ 30 ∧ (orbit k n < b ∨ 11*b < 2*orbit k n) + · exact h + · exfalso + apply no_band_thirty (n := n) hb + intro k hk + by_cases hl : orbit k n < b + · exact False.elim (h ⟨k,hk,Or.inl hl⟩) + · by_cases hu : 11*b < 2*orbit k n + · exact False.elim (h ⟨k,hk,Or.inr hu⟩) + · omega + +theorem rejection_thirty {b n : Nat} (hb : 1 < b) : + intervalCheck b (11*b/2) 30 n = false := by + by_cases ht : intervalCheck b (11*b/2) 30 n = true + · exfalso + have hs := (intervalCheck_iff b (11*b/2) 30 n).mp ht + apply no_band_thirty (n := n) hb + intro k hk + have := hs k hk + omega + · cases he : intervalCheck b (11*b/2) 30 n <;> simp_all + +/-- An ordinary integer trace attains the thirty-step exit bound. -/ +theorem clock_sharpness : + intervalCheck 71803 (11*71803/2) 29 201714 = true ∧ orbit 30 201714 < 71803 := by decide + +theorem no_clock_twenty_nine : ¬ ExitClock 11 2 29 := by + intro h + have hc := (intervalCheck_iff 71803 (11*71803/2) 29 201714).mp clock_sharpness.1 + exact no_band_through (b := 71803) (n := 201714) h (by decide) (fun k hk => by have := hc k hk; omega) + +/-- Hypothetical lower-surviving orbits have a high visit in every 31-point window. -/ +theorem high_window {b n : Nat} (hb : 1 < b) (h : Kernel b n) (t : Nat) : + ∃ s, t ≤ s ∧ s ≤ t+30 ∧ 11*b < 2*orbit s n := + BandClock.high_window exit_thirty hb h t + +theorem finite_survival_witnesses {b n : Nat} (hb : 1 < b) (N : Nat) + (h : Survives b (31*N-1) n) : + ∃ f : Fin N → Nat, + (∀ q, f q < 31*N ∧ 11*b < 2*orbit (f q) n) ∧ + (∀ a c, f a = f c → a = c) := + BandClock.finite_survival_witnesses exit_thirty hb N h + +theorem anchor_one_control : intervalCheck 1 (11/2) 100 1 = true := by decide + +end Collatz.Exploration.ElevenHalvesClock diff --git a/Collatz/Exploration/ElevenHalvesFamily.lean b/Collatz/Exploration/ElevenHalvesFamily.lean new file mode 100644 index 00000000..686c5785 --- /dev/null +++ b/Collatz/Exploration/ElevenHalvesFamily.lean @@ -0,0 +1,298 @@ +import Collatz.Exploration.ElevenHalvesClock + +namespace Collatz.Exploration.ElevenHalvesFamily +open BarrierKernel BandClock + +def source (q : Nat) := 262144*q+201714 +def barrier (q : Nat) := 93312*q+71803 +def peak (q : Nat) := 497664*q+382948 + +/-- Doubling is one ordinary even step, including the totalized zero input. -/ +theorem step_double (z : Nat) : step (2*z) = z := by + by_cases hz : z = 0 + · simp [hz] + · have hp : 2*z ≠ 0 := by omega + have hm : (2*z)%2 = 0 := by omega + simp [step,hp,hm] + +/-- One odd step on an affine class with fixed odd parity. -/ +theorem step_odd_affine {a c : Nat} (q : Nat) (ha : a%2 = 0) + (hc : c%2 = 1) : + step (a*q+c) = (3*a)*q+(3*c+1) := by + have hp : 0 < a*q+c := by omega + have hm : (a*q+c)%2 = 1 := by simp [Nat.add_mod,Nat.mul_mod,ha,hc] + simp only [step,Nat.ne_of_gt hp,if_false,hm,Nat.one_ne_zero,Nat.mul_add,← Nat.mul_assoc,Nat.add_assoc] + +/-- Componentwise affine order uses monotonicity, with no large-coefficient elimination. -/ +theorem affine_le {a c A C q : Nat} (ha : a ≤ A) (hc : c ≤ C) : a*q+c ≤ A*q+C := + Nat.add_le_add (Nat.mul_le_mul_right q ha) hc + +/-- Exact ordinary affine trace for an infinite arithmetic progression. -/ +theorem family_trace (q : Nat) : + orbit 0 (source q) = 262144*q+201714 ∧ + orbit 1 (source q) = 131072*q+100857 ∧ + orbit 2 (source q) = 393216*q+302572 ∧ + orbit 3 (source q) = 196608*q+151286 ∧ + orbit 4 (source q) = 98304*q+75643 ∧ + orbit 5 (source q) = 294912*q+226930 ∧ + orbit 6 (source q) = 147456*q+113465 ∧ + orbit 7 (source q) = 442368*q+340396 ∧ + orbit 8 (source q) = 221184*q+170198 ∧ + orbit 9 (source q) = 110592*q+85099 ∧ + orbit 10 (source q) = 331776*q+255298 ∧ + orbit 11 (source q) = 165888*q+127649 ∧ + orbit 12 (source q) = 497664*q+382948 ∧ + orbit 13 (source q) = 248832*q+191474 ∧ + orbit 14 (source q) = 124416*q+95737 ∧ + orbit 15 (source q) = 373248*q+287212 ∧ + orbit 16 (source q) = 186624*q+143606 ∧ + orbit 17 (source q) = 93312*q+71803 ∧ + orbit 18 (source q) = 279936*q+215410 ∧ + orbit 19 (source q) = 139968*q+107705 ∧ + orbit 20 (source q) = 419904*q+323116 ∧ + orbit 21 (source q) = 209952*q+161558 ∧ + orbit 22 (source q) = 104976*q+80779 ∧ + orbit 23 (source q) = 314928*q+242338 ∧ + orbit 24 (source q) = 157464*q+121169 ∧ + orbit 25 (source q) = 472392*q+363508 ∧ + orbit 26 (source q) = 236196*q+181754 ∧ + orbit 27 (source q) = 118098*q+90877 ∧ + orbit 28 (source q) = 354294*q+272632 ∧ + orbit 29 (source q) = 177147*q+136316 := by + have h0 : orbit 0 (source q) = 262144*q+201714 := rfl + have h1 : orbit 1 (source q) = 131072*q+100857 := by + rw [orbit_succ_steps,orbit_step_commute,h0] + have he : 262144*q+201714 = 2*(131072*q+100857) := by + simp only [Nat.mul_add,← Nat.mul_assoc,Nat.reduceMul] + rw [he,step_double] + have h2 : orbit 2 (source q) = 393216*q+302572 := by + rw [orbit_succ_steps,orbit_step_commute,h1] + simpa only [Nat.reduceMul,Nat.reduceAdd] using + step_odd_affine (a := 131072) (c := 100857) q (by decide) (by decide) + have h3 : orbit 3 (source q) = 196608*q+151286 := by + rw [orbit_succ_steps,orbit_step_commute,h2] + have he : 393216*q+302572 = 2*(196608*q+151286) := by + simp only [Nat.mul_add,← Nat.mul_assoc,Nat.reduceMul] + rw [he,step_double] + have h4 : orbit 4 (source q) = 98304*q+75643 := by + rw [orbit_succ_steps,orbit_step_commute,h3] + have he : 196608*q+151286 = 2*(98304*q+75643) := by + simp only [Nat.mul_add,← Nat.mul_assoc,Nat.reduceMul] + rw [he,step_double] + have h5 : orbit 5 (source q) = 294912*q+226930 := by + rw [orbit_succ_steps,orbit_step_commute,h4] + simpa only [Nat.reduceMul,Nat.reduceAdd] using + step_odd_affine (a := 98304) (c := 75643) q (by decide) (by decide) + have h6 : orbit 6 (source q) = 147456*q+113465 := by + rw [orbit_succ_steps,orbit_step_commute,h5] + have he : 294912*q+226930 = 2*(147456*q+113465) := by + simp only [Nat.mul_add,← Nat.mul_assoc,Nat.reduceMul] + rw [he,step_double] + have h7 : orbit 7 (source q) = 442368*q+340396 := by + rw [orbit_succ_steps,orbit_step_commute,h6] + simpa only [Nat.reduceMul,Nat.reduceAdd] using + step_odd_affine (a := 147456) (c := 113465) q (by decide) (by decide) + have h8 : orbit 8 (source q) = 221184*q+170198 := by + rw [orbit_succ_steps,orbit_step_commute,h7] + have he : 442368*q+340396 = 2*(221184*q+170198) := by + simp only [Nat.mul_add,← Nat.mul_assoc,Nat.reduceMul] + rw [he,step_double] + have h9 : orbit 9 (source q) = 110592*q+85099 := by + rw [orbit_succ_steps,orbit_step_commute,h8] + have he : 221184*q+170198 = 2*(110592*q+85099) := by + simp only [Nat.mul_add,← Nat.mul_assoc,Nat.reduceMul] + rw [he,step_double] + have h10 : orbit 10 (source q) = 331776*q+255298 := by + rw [orbit_succ_steps,orbit_step_commute,h9] + simpa only [Nat.reduceMul,Nat.reduceAdd] using + step_odd_affine (a := 110592) (c := 85099) q (by decide) (by decide) + have h11 : orbit 11 (source q) = 165888*q+127649 := by + rw [orbit_succ_steps,orbit_step_commute,h10] + have he : 331776*q+255298 = 2*(165888*q+127649) := by + simp only [Nat.mul_add,← Nat.mul_assoc,Nat.reduceMul] + rw [he,step_double] + have h12 : orbit 12 (source q) = 497664*q+382948 := by + rw [orbit_succ_steps,orbit_step_commute,h11] + simpa only [Nat.reduceMul,Nat.reduceAdd] using + step_odd_affine (a := 165888) (c := 127649) q (by decide) (by decide) + have h13 : orbit 13 (source q) = 248832*q+191474 := by + rw [orbit_succ_steps,orbit_step_commute,h12] + have he : 497664*q+382948 = 2*(248832*q+191474) := by + simp only [Nat.mul_add,← Nat.mul_assoc,Nat.reduceMul] + rw [he,step_double] + have h14 : orbit 14 (source q) = 124416*q+95737 := by + rw [orbit_succ_steps,orbit_step_commute,h13] + have he : 248832*q+191474 = 2*(124416*q+95737) := by + simp only [Nat.mul_add,← Nat.mul_assoc,Nat.reduceMul] + rw [he,step_double] + have h15 : orbit 15 (source q) = 373248*q+287212 := by + rw [orbit_succ_steps,orbit_step_commute,h14] + simpa only [Nat.reduceMul,Nat.reduceAdd] using + step_odd_affine (a := 124416) (c := 95737) q (by decide) (by decide) + have h16 : orbit 16 (source q) = 186624*q+143606 := by + rw [orbit_succ_steps,orbit_step_commute,h15] + have he : 373248*q+287212 = 2*(186624*q+143606) := by + simp only [Nat.mul_add,← Nat.mul_assoc,Nat.reduceMul] + rw [he,step_double] + have h17 : orbit 17 (source q) = 93312*q+71803 := by + rw [orbit_succ_steps,orbit_step_commute,h16] + have he : 186624*q+143606 = 2*(93312*q+71803) := by + simp only [Nat.mul_add,← Nat.mul_assoc,Nat.reduceMul] + rw [he,step_double] + have h18 : orbit 18 (source q) = 279936*q+215410 := by + rw [orbit_succ_steps,orbit_step_commute,h17] + simpa only [Nat.reduceMul,Nat.reduceAdd] using + step_odd_affine (a := 93312) (c := 71803) q (by decide) (by decide) + have h19 : orbit 19 (source q) = 139968*q+107705 := by + rw [orbit_succ_steps,orbit_step_commute,h18] + have he : 279936*q+215410 = 2*(139968*q+107705) := by + simp only [Nat.mul_add,← Nat.mul_assoc,Nat.reduceMul] + rw [he,step_double] + have h20 : orbit 20 (source q) = 419904*q+323116 := by + rw [orbit_succ_steps,orbit_step_commute,h19] + simpa only [Nat.reduceMul,Nat.reduceAdd] using + step_odd_affine (a := 139968) (c := 107705) q (by decide) (by decide) + have h21 : orbit 21 (source q) = 209952*q+161558 := by + rw [orbit_succ_steps,orbit_step_commute,h20] + have he : 419904*q+323116 = 2*(209952*q+161558) := by + simp only [Nat.mul_add,← Nat.mul_assoc,Nat.reduceMul] + rw [he,step_double] + have h22 : orbit 22 (source q) = 104976*q+80779 := by + rw [orbit_succ_steps,orbit_step_commute,h21] + have he : 209952*q+161558 = 2*(104976*q+80779) := by + simp only [Nat.mul_add,← Nat.mul_assoc,Nat.reduceMul] + rw [he,step_double] + have h23 : orbit 23 (source q) = 314928*q+242338 := by + rw [orbit_succ_steps,orbit_step_commute,h22] + simpa only [Nat.reduceMul,Nat.reduceAdd] using + step_odd_affine (a := 104976) (c := 80779) q (by decide) (by decide) + have h24 : orbit 24 (source q) = 157464*q+121169 := by + rw [orbit_succ_steps,orbit_step_commute,h23] + have he : 314928*q+242338 = 2*(157464*q+121169) := by + simp only [Nat.mul_add,← Nat.mul_assoc,Nat.reduceMul] + rw [he,step_double] + have h25 : orbit 25 (source q) = 472392*q+363508 := by + rw [orbit_succ_steps,orbit_step_commute,h24] + simpa only [Nat.reduceMul,Nat.reduceAdd] using + step_odd_affine (a := 157464) (c := 121169) q (by decide) (by decide) + have h26 : orbit 26 (source q) = 236196*q+181754 := by + rw [orbit_succ_steps,orbit_step_commute,h25] + have he : 472392*q+363508 = 2*(236196*q+181754) := by + simp only [Nat.mul_add,← Nat.mul_assoc,Nat.reduceMul] + rw [he,step_double] + have h27 : orbit 27 (source q) = 118098*q+90877 := by + rw [orbit_succ_steps,orbit_step_commute,h26] + have he : 236196*q+181754 = 2*(118098*q+90877) := by + simp only [Nat.mul_add,← Nat.mul_assoc,Nat.reduceMul] + rw [he,step_double] + have h28 : orbit 28 (source q) = 354294*q+272632 := by + rw [orbit_succ_steps,orbit_step_commute,h27] + simpa only [Nat.reduceMul,Nat.reduceAdd] using + step_odd_affine (a := 118098) (c := 90877) q (by decide) (by decide) + have h29 : orbit 29 (source q) = 177147*q+136316 := by + rw [orbit_succ_steps,orbit_step_commute,h28] + have he : 354294*q+272632 = 2*(177147*q+136316) := by + simp only [Nat.mul_add,← Nat.mul_assoc,Nat.reduceMul] + rw [he,step_double] + exact ⟨h0,h1,h2,h3,h4,h5,h6,h7,h8,h9,h10,h11,h12,h13,h14,h15,h16,h17,h18,h19,h20,h21,h22,h23,h24,h25,h26,h27,h28,h29⟩ + +/-- Even and odd parameters leave the band in opposite directions. -/ +theorem exit_directions (t : Nat) : + orbit 30 (source (2*t)) = 177147*t+68158 ∧ + orbit 30 (source (2*t+1)) = 1062882*t+940390 ∧ + orbit 30 (source (2*t)) < barrier (2*t) ∧ + 11*barrier (2*t+1) < 2*orbit 30 (source (2*t+1)) := by + have he : orbit 29 (source (2*t)) = 354294*t+136316 := by + have ht := (family_trace (2*t)).2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2 + omega + have ho : orbit 29 (source (2*t+1)) = 354294*t+313463 := by + have ht := (family_trace (2*t+1)).2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2 + omega + have hnextE : orbit 30 (source (2*t)) = 177147*t+68158 := by + rw [orbit_succ_steps,orbit_step_commute,he] + have hm : (354294*t+136316)%2 = 0 := by omega + simp [step,hm] + omega + have hnextO : orbit 30 (source (2*t+1)) = 1062882*t+940390 := by + rw [orbit_succ_steps,orbit_step_commute,ho] + have hm : (354294*t+313463)%2 = 1 := by omega + simp [step,hm] + omega + refine ⟨hnextE,hnextO,?_,?_⟩ <;> simp only [hnextE,hnextO] <;> dsimp [barrier] <;> omega + +/-- Both extrema are attained, and every prefix state lies between them. -/ +theorem family_extrema (q : Nat) : + orbit 17 (source q) = barrier q ∧ orbit 12 (source q) = peak q ∧ + ∀ k, k ≤ 29 → barrier q ≤ orbit k (source q) ∧ orbit k (source q) ≤ peak q := by + obtain ⟨h0,h1,h2,h3,h4,h5,h6,h7,h8,h9,h10,h11,h12,h13,h14,h15,h16,h17,h18,h19,h20,h21,h22,h23,h24,h25,h26,h27,h28,h29⟩ := family_trace q + refine ⟨h17,h12,?_⟩ + intro k hk + have hc : k = 0 ∨ k = 1 ∨ k = 2 ∨ k = 3 ∨ k = 4 ∨ k = 5 ∨ k = 6 ∨ k = 7 ∨ k = 8 ∨ k = 9 ∨ k = 10 ∨ k = 11 ∨ k = 12 ∨ k = 13 ∨ k = 14 ∨ k = 15 ∨ k = 16 ∨ k = 17 ∨ k = 18 ∨ k = 19 ∨ k = 20 ∨ k = 21 ∨ k = 22 ∨ k = 23 ∨ k = 24 ∨ k = 25 ∨ k = 26 ∨ k = 27 ∨ k = 28 ∨ k = 29 := by omega + rcases hc with h0k | h1k | h2k | h3k | h4k | h5k | h6k | h7k | h8k | h9k | h10k | h11k | h12k | h13k | h14k | h15k | h16k | h17k | h18k | h19k | h20k | h21k | h22k | h23k | h24k | h25k | h26k | h27k | h28k | h29k <;> subst k <;> + simp only [h0,h1,h2,h3,h4,h5,h6,h7,h8,h9,h10,h11,h12,h13,h14,h15,h16,h17,h18,h19,h20,h21,h22,h23,h24,h25,h26,h27,h28,h29] <;> clear h0 h1 h2 h3 h4 h5 h6 h7 h8 h9 h10 h11 h12 h13 h14 h15 h16 h17 h18 h19 h20 h21 h22 h23 h24 h25 h26 h27 h28 h29 <;> dsimp [barrier,peak] <;> constructor <;> apply affine_le <;> decide + +/-- The finite-prefix width approaches 16/3 from below, with exact defect four. -/ +theorem peak_identity (q : Nat) : 3*peak q+4 = 16*barrier q := by + simp only [peak,barrier,Nat.mul_add,← Nat.mul_assoc,Nat.add_assoc,Nat.reduceMul,Nat.reduceAdd] + +/-- The whole family survives strictly inside the ratio-16/3 upper bound. -/ +theorem family_bounds (q : Nat) : + ∀ k, k ≤ 29 → barrier q ≤ orbit k (source q) ∧ 3*orbit k (source q) < 16*barrier q := by + intro k hk + obtain ⟨hl,hu⟩ := (family_extrema q).2.2 k hk + refine ⟨hl,?_⟩ + rw [← peak_identity q] + have hinc : 3*peak q < 3*peak q+4 := + Nat.lt_of_lt_of_le (Nat.lt_succ_self _) (Nat.add_le_add_left (by decide : 1 ≤ 4) _) + exact Nat.lt_of_le_of_lt (Nat.mul_le_mul_left 3 hu) hinc + +/-- The explicit extremal witness gives a sharp clock over a rational-width interval. -/ +theorem plateau_exact {P Q : Nat} (hQ : 0 < Q) + (hl : 382948*Q ≤ 71803*P) (hu : 2*P ≤ 11*Q) : + ExitClock P Q 30 ∧ ¬ ExitClock P Q 29 := by + refine ⟨narrower_ratio ElevenHalvesClock.exit_thirty hQ (by simpa only [Nat.mul_comm] using hu),?_⟩ + intro hc + have hb : 1 < barrier 0 := by decide + apply no_band_through (b := barrier 0) (n := source 0) hc hb + intro k hk + obtain ⟨hbounds,hwidth⟩ := (family_extrema 0).2.2 k hk + have h1 := Nat.mul_le_mul_left Q hwidth + have h2 : Q*peak 0 ≤ P*barrier 0 := by + simpa only [peak,barrier,Nat.mul_zero,Nat.zero_add,Nat.mul_comm] using hl + exact ⟨hbounds,Nat.le_trans h1 h2⟩ + +/-- In particular every rational width from 16/3 through 11/2 has clock thirty. -/ +theorem plateau {P Q : Nat} (hQ : 0 < Q) (hl : 16*Q ≤ 3*P) + (hu : 2*P ≤ 11*Q) : ExitClock P Q 30 ∧ ¬ ExitClock P Q 29 := by + have hc : 3*(382948*Q) ≤ 3*(71803*P) := calc + 3*(382948*Q) = (3*382948)*Q := by ac_rfl + _ ≤ (16*71803)*Q := Nat.mul_le_mul_right Q (by decide) + _ = 71803*(16*Q) := by ac_rfl + _ ≤ 71803*(3*P) := Nat.mul_le_mul_left 71803 hl + _ = 3*(71803*P) := by ac_rfl + exact plateau_exact hQ (Nat.le_of_mul_le_mul_left hc (by decide)) hu + +/-- Every family member first exits the ratio-11/2 band exactly at time thirty. -/ +theorem family_first_exit (q : Nat) : + (orbit 30 (source q) < barrier q ∨ 11*barrier q < 2*orbit 30 (source q)) ∧ + ∀ k, k < 30 → barrier q ≤ orbit k (source q) ∧ 2*orbit k (source q) ≤ 11*barrier q := by + have hb : 1 < barrier q := by dsimp [barrier]; omega + have hp : ∀ k, k < 30 → barrier q ≤ orbit k (source q) ∧ 2*orbit k (source q) ≤ 11*barrier q := by + intro k hk + obtain ⟨hl,hu⟩ := (family_extrema q).2.2 k (by omega) + have hmax : 2*peak q ≤ 11*barrier q := by + simp only [peak,barrier,Nat.mul_add,← Nat.mul_assoc,Nat.reduceMul] + exact affine_le (by decide) (by decide) + exact ⟨hl,Nat.le_trans (Nat.mul_le_mul_left 2 hu) hmax⟩ + refine ⟨?_,hp⟩ + obtain ⟨k,hk,hl | hu⟩ := ElevenHalvesClock.exit_thirty (barrier q) (source q) hb + · by_cases he : k = 30 + · subst k; exact Or.inl hl + · have := (hp k (by omega)).1 + omega + · by_cases he : k = 30 + · subst k; exact Or.inr hu + · have := (hp k (by omega)).2 + omega + +end Collatz.Exploration.ElevenHalvesFamily diff --git a/README.md b/README.md index 02fa329a..ad71717e 100644 --- a/README.md +++ b/README.md @@ -38,6 +38,9 @@ own verification instructions. - [Sharp wider-band clock](Research/WiderBandClock.md) — the ratio-21/4 band has a sharp seventeen-step exit clock, with reusable finite witness transfer for lower-surviving prefixes. +- [Sharp thirty-step plateau](Research/ElevenHalvesClock.md) — a universal + clock at ratio 11/2, an infinite family of sharp witnesses, and a whole + rational-width interval with the same optimal duration. - [Arbitrarily long six-band prefixes](Research/SixBandPrefixes.md) — for every finite horizon, an entire sufficiently large residue class stays in `[n,6n]`. This rules out every uniform finite exit clock at ratio six or above, with diff --git a/Research/ElevenHalvesClock.md b/Research/ElevenHalvesClock.md new file mode 100644 index 00000000..dc747296 --- /dev/null +++ b/Research/ElevenHalvesClock.md @@ -0,0 +1,117 @@ +# A sharp thirty-step exit clock and a width plateau + +For every integer barrier b > 1 and every natural start n, Lean proves +that the ordinary Collatz orbit leaves the inclusive band [b,11b/2] by +time thirty. The theorem preserves both possibilities: descent below b +or growth above 11b/2. It does not assert universal descent. + +The duration is sharp throughout the rational-width interval + + 382948/71803 ≤ P/Q ≤ 11/2, Q > 0. + +Precisely, `ElevenHalvesFamily.plateau_exact` proves `ExitClock P Q 30` +and the failure of `ExitClock P Q 29` whenever + + 382948·Q ≤ 71803·P, 2·P ≤ 11·Q. + +This includes every width from 16/3 through 11/2. No claim is made that +the lower endpoint is the smallest possible width with a thirty-step +clock: the current theorem proves an interval of sharpness, not a full +classification of every width below it. + +## An infinite family, with both exit directions + +For every natural q, take + + n(q) = 262144q + 201714, + b(q) = 93312q + 71803, + M(q) = 497664q + 382948. + +The first thirty states (times zero through twenty-nine) lie between b(q) +and M(q), and both extrema are attained: the minimum at time seventeen +and the maximum at time twelve. Their exact relation is + + 3M(q) + 4 = 16b(q). + +Thus every family member survives strictly below the ratio-16/3 upper +bound through time twenty-nine. Algebraically, its prefix width is +16/3 − 4/(3b(q)), approaching 16/3 from below as q grows. This limit is +an interpretation of the exact identity; no real-analysis limit theorem +is formalized here. + +At time thirty, the parity of the parameter changes the exit direction: + + orbit(30,n(2t)) = 177147t + 68158 < b(2t), + orbit(30,n(2t+1)) = 1062882t + 940390 > 11b(2t+1)/2. + +Every member therefore first exits its ratio-11/2 band exactly at time +thirty. This is an unbounded arithmetic progression of sharp witnesses, +rather than a single example. The q=0 witness also gives the wider +interval of sharpness beginning at 382948/71803. + +## How the universal theorem is checked + +The exact-arithmetic branch guide records each ordinary parity word, +its source residue modulo a power of two, and the affine trace of every +state. It produces a complete binary tree with 469 nodes and 235 terminal +branches. Terminal branches either violate forced parity or cannot +satisfy the band inequalities with an integer source in the residue class. +Lean checks every parametric trace, every exclusion, and the assembly of +the complete tree; Python's tree search is not trusted by the proof. + +The certificate is split into dependency modules. A shared `lift_affine` +lemma handles source refinement algebraically, while each remaining +`omega` call receives only the equations it needs. A monolithic build +and an initial split retaining full arithmetic contexts both ended with +exit code 137. Context pruning fixed the resource problem while retaining +the same theorem and branch coverage. + +`BandClock.narrower_ratio` transfers a proved clock to smaller rational +widths by cross multiplication. The universal clock also gives conditional +high visits in every thirty-one-point window and distinct high-visit times +in complete finite blocks, provided the observed prefix survives above b. + +Sources: + +- `Collatz/Exploration/ElevenHalvesArithmetic.lean` and its `Part*.lean` + dependencies: reproducible branch certificates. +- `Collatz/Exploration/ElevenHalvesClock.lean`: universal exit, checker + rejection, sharpness, and conditional high-visit witnesses. +- `Collatz/Exploration/ElevenHalvesFamily.lean`: exact affine family, + extrema, width identity, opposite exit directions, and plateau. +- `scripts/generate_wider_band_arithmetic.py`: configurable generator, + preserving the earlier ratio-21/4 output by default. +- `scripts/audit_eleven_halves_clock.py` and + `scripts/test_eleven_halves_clock.py`: proof and independent arithmetic audits. + +## Verification and further exploration + +The independent tests check 690,242 exhaustive exits, 60,000 large-integer +exits, 2,274 affine-prefix samples, 99,313 lower-surviving windows, 4,438 +distinct block witnesses, and 1,004 members of the infinite sharpness +family, including parameters with 120 decimal digits. The proof audit checks +640 named theorem footprints, covering every theorem in every generated +part, and permits only +`propext`, `Quot.sound`, and `Classical.choice`. Six deliberately false +closed claims must be rejected, including reversal of each exit direction. + +The exploratory script `scripts/explore_band_clocks.py` reproduces candidate +clocks using exact fractions, without claiming Lean verification. A search +at ratio 23/4 closes its tree by time seventy-four and constructs the +seventy-three-step survivor n=2213472310258, b=747890433019; the next value +4317582805162 exceeds the upper band. A separate earlier search found a +candidate clock of 136 at ratio 47/8. These wider universal clocks have +not been formalized in this change. Node-budget exhaustion and surviving +frontiers are explicitly reported as incomplete, never as closed proofs. +Tests exercise both controls and reproduce the thirty-step closed search. + +The proven clock ladder is now: ratio five with duration twelve, ratio +21/4 with duration seventeen, and ratio 11/2 with duration thirty. At +ratio six there is no uniform finite clock, by the separate +[finite-prefix construction](SixBandPrefixes.md). The gap toward six +remains an open research task within this repository. + +These developments use established parity-residue and affine-trace +methods. The generated clauses are proof bookkeeping, not independent +mathematical discoveries. Mathematical priority and the requested 50% +frontier-novelty target remain unverified. No Collatz solution is claimed. diff --git a/scripts/audit_eleven_halves_clock.py b/scripts/audit_eleven_halves_clock.py new file mode 100644 index 00000000..b8fc2e24 --- /dev/null +++ b/scripts/audit_eleven_halves_clock.py @@ -0,0 +1,42 @@ +#!/usr/bin/env python3 +"""Reproduce and audit sharp thirty-step ratio-11/2 clock.""" +import subprocess +from audit_barrier_kernel import ROOT, check_axioms, check_false_certificates +from check_proof_escapes import violations + +MODULES = ['BandClock', 'ElevenHalvesArithmetic', 'ElevenHalvesClock', 'ElevenHalvesFamily'] +PREFIX = 'Collatz.Exploration.' + + +def main(): + subprocess.run(['python3', str(ROOT / 'scripts/generate_wider_band_arithmetic.py'), + '--numerator','11','--denominator','2','--horizon','30', + '--module','ElevenHalvesArithmetic','--leaves','235','--split-lines','1200','--prune-context'], + cwd=ROOT, check=True) + parts=sorted((ROOT/'Collatz/Exploration/ElevenHalvesArithmetic').glob('Part*.lean')) + for path in parts: + assert not violations(path.read_text()) + for name in MODULES: + assert not violations((ROOT / f'Collatz/Exploration/{name}.lean').read_text()) + subprocess.run(['lake', 'build', PREFIX+'ElevenHalvesFamily'], cwd=ROOT, check=True) + subprocess.run(['python3', str(ROOT / 'scripts/test_eleven_halves_clock.py')], + cwd=ROOT, check=True) + count = sum(check_axioms(ROOT / f'Collatz/Exploration/{name}.lean', PREFIX+name) + for name in MODULES) + count += sum(check_axioms(path,PREFIX+'ElevenHalvesArithmetic') for path in parts) + barrier = PREFIX+'BarrierKernel.intervalCheck' + family = PREFIX+'ElevenHalvesFamily' + claims = [ + f'example : Collatz.orbit 30 ({family}.source 1) < {family}.barrier 1 := by decide\n', + f'example : 11*{family}.barrier 0 < 2*Collatz.orbit 30 ({family}.source 0) := by decide\n', + f'example : {barrier} 71803 (11*71803/2) 29 201714 = false := by decide\n', + 'example : Collatz.orbit 30 201714 = 68159 := by decide\n', + f'example : {barrier} 1 (11/2) 30 1 = false := by decide\n', + 'example : (List.range 31).any (fun k => decide (11*2 < 2*Collatz.orbit k 2)) = true := by decide\n', + ] + rejected = check_false_certificates(PREFIX+'ElevenHalvesFamily', claims) + print(f'{count} theorem axiom footprints checked; {rejected} false claims rejected') + + +if __name__ == '__main__': + main() diff --git a/scripts/explore_band_clocks.py b/scripts/explore_band_clocks.py new file mode 100644 index 00000000..5c650e88 --- /dev/null +++ b/scripts/explore_band_clocks.py @@ -0,0 +1,75 @@ +#!/usr/bin/env python3 +"""Exact exploratory branch search. Its output is not a Lean certificate.""" +import argparse +import json +import generate_wider_band_arithmetic as guide + + +def explore(P,Q,horizon,node_budget): + guide.configure(P,Q,horizon,'ExploratoryGuide',1) + nodes=leaves=max_cut=frontiers=0 + deepest=-1 + witness=None + exhausted=False + def walk(word,states,r,m): + nonlocal nodes,leaves,max_cut,frontiers,deepest,witness,exhausted + if nodes>=node_budget: + exhausted=True + return + nodes+=1 + interval=guide.domain(states,r,m) + if interval is None: + leaves+=1 + max_cut=max(max_cut,len(word)) + return + if len(word)>deepest: + deepest=len(word) + n=interval[2] + values=[(a*n+c)//d for a,c,d in states] + b=min(values) + assert all(b<=v and Q*v<=P*b for v in values) + actual=n + for expected in values: + assert actual==expected + actual=actual//2 if actual%2==0 else 3*actual+1 + witness={'start':n,'barrier':b,'through':len(word),'next_state':actual} + if len(word)==horizon: + frontiers+=1 + return + a,c,d=states[-1] + for bit in (0,1): + modulus=2*d + residue=(pow(a,-1,modulus)*(bit*d-c))%modulus + if (r-residue)%min(m,modulus): + nodes+=1;leaves+=1;max_cut=max(max_cut,len(word)+1) + continue + nr,nm=(residue,modulus) if modulus>m else (r,m) + state=(a,c,2*d) if bit==0 else (3*a,3*c+d,d) + walk(word+str(bit),states+[state],nr,nm) + if exhausted: + return + walk('',[(1,0,1)],0,1) + closed=not exhausted and frontiers==0 + if closed: + assert deepest+1==max_cut + assert witness['next_state']0 + for ratio in args.ratios: + P,Q=map(int,ratio.split('/')) + print(json.dumps(explore(P,Q,args.horizon,args.node_budget)),flush=True) + + +if __name__=='__main__': + main() diff --git a/scripts/generate_wider_band_arithmetic.py b/scripts/generate_wider_band_arithmetic.py index b8692af4..042f2768 100644 --- a/scripts/generate_wider_band_arithmetic.py +++ b/scripts/generate_wider_band_arithmetic.py @@ -1,6 +1,7 @@ #!/usr/bin/env python3 """Exact congruence-aware branch guide; Lean checks every parametric trace and leaf.""" import argparse +import re from fractions import Fraction as F from itertools import combinations from math import ceil @@ -9,6 +10,17 @@ ROOT = Path(__file__).resolve().parents[1] SOURCE = ROOT / 'Collatz/Exploration/WiderBandArithmetic.lean' P, Q, HORIZON = 21, 4, 17 +MODULE, EXPECTED_LEAVES = 'WiderBandArithmetic', 76 +PRUNE_CONTEXT = False + + +def configure(p, q, horizon, module, expected_leaves): + global P, Q, HORIZON, MODULE, EXPECTED_LEAVES, SOURCE + assert p > 0 and q > 0 and horizon > 0 and expected_leaves > 0 + assert module.isidentifier() + P, Q, HORIZON = p, q, horizon + MODULE, EXPECTED_LEAVES = module, expected_leaves + SOURCE = ROOT / f'Collatz/Exploration/{module}.lean' def domain(states, residue, modulus): @@ -87,11 +99,23 @@ def header(name, word, bounds=None): def certificate(): nodes = tree() out = ['import Collatz.Basic\n\n', - '/-! Generated residue-and-affine certificates for the inclusive ratio-21/4 band.\n', + f'/-! Generated residue-and-affine certificates for the inclusive ratio-{P}/{Q} band.\n', 'Every branch and arithmetic conclusion is independently checked by Lean. -/\n', - 'namespace Collatz.Exploration.WiderBandArithmetic\n\n', + f'namespace Collatz.Exploration.{MODULE}\n\n', 'set_option maxHeartbeats 2000000\n', 'set_option linter.unusedVariables false\n\n'] + if PRUNE_CONTEXT: + out += ["""/-- Lift one affine identity across a source residue refinement. -/ +theorem lift_affine {x q a c e : Nat} (hx : x = a*q+c) + (hq : q = 2*(q/2)+e) : x = (2*a)*(q/2)+(a*e+c) := by + calc + x = a*q+c := hx + _ = a*(2*(q/2)+e)+c := congrArg (fun u => a*u+c) hq + _ = (2*a)*(q/2)+(a*e+c) := by + simp only [Nat.mul_add] + ac_rfl + +"""] # Prefix lemmas are emitted in increasing length, so parent proofs are available. for word in sorted(nodes, key=lambda w: (len(w), w)): if not word or not nodes[word]['valid']: @@ -103,7 +127,9 @@ def certificate(): header('parameters_'+word, word), ' : ∃ q : Nat, '+' ∧ '.join(f'x{i} = {a}*q+{c}' for i,(a,c) in enumerate(ps))+' := by\n'] if depth == 1: - out += [' let q := x0\n', ' have p0 : x0 = q := rfl\n'] + out += [' let q := x0\n', + ' have p0 : x0 = 1*q+0 := by omega\n' if PRUNE_CONTEXT else + ' have p0 : x0 = q := rfl\n'] else: args = ' '.join([f'x{i}' for i in range(depth)]+[f'r{i}' for i in range(depth-1)]) binders = ','.join(['q']+[f'p{i}' for i in range(depth)]) @@ -113,12 +139,27 @@ def certificate(): if node['modulus'] > parent['modulus']: epsilon = (node['residue']-parent['residue'])//parent['modulus'] assert epsilon in (0,1) - out += [f' have hq : q = 2*(q/2)+{epsilon} := by omega\n'] + if PRUNE_CONTEXT: + discard = ['hstep']+[f'p{i}' for i in range(depth-1)] + out += [f' have hq : q = 2*(q/2)+{epsilon} := by\n', + ' clear '+' '.join(discard)+'\n omega\n'] + else: + out += [f' have hq : q = 2*(q/2)+{epsilon} := by omega\n'] witness = 'q/2' else: witness = 'q' out += [' clear hparity\n'] - out += [' refine ⟨'+witness+','+','.join('?_' for _ in range(depth+1))+'⟩ <;> omega\n\n'] + if PRUNE_CONTEXT: + out += [' refine ⟨'+witness+','+','.join('?_' for _ in range(depth+1))+'⟩\n'] + for i in range(depth): + if witness == 'q': + out += [f' · exact p{i}\n'] + else: + out += [f' · simpa only [Nat.reduceMul,Nat.reduceAdd] using lift_affine p{i} hq\n'] + discard = [f'p{i}' for i in range(depth-1)] + out += [' · '+('clear '+' '.join(discard)+'\n ' if discard else '')+'omega\n\n'] + else: + out += [' refine ⟨'+witness+','+','.join('?_' for _ in range(depth+1))+'⟩ <;> omega\n\n'] leaves = [w for w,n in nodes.items() if n['terminal']] for word in leaves: node = nodes[word] @@ -130,13 +171,21 @@ def certificate(): args = ' '.join([f'x{i}' for i in range(depth+1)]+[f'r{i}' for i in range(depth)]) binders = ','.join(['q']+[f'p{i}' for i in range(depth+1)]) out += [f' obtain ⟨{binders}⟩ := parameters_{word} {args}\n', - ' clear '+' '.join(f'r{i}' for i in range(depth))+'\n', ' omega\n\n'] + ' clear '+' '.join(f'r{i}' for i in range(depth))+'\n'] + if PRUNE_CONTEXT: + discard = [f'p{i}' for i in range(depth+1) if i not in core] + if discard: + out += [' clear '+' '.join(discard)+'\n'] + out += [' omega\n\n'] else: args = ' '.join([f'x{i}' for i in range(depth)]+[f'r{i}' for i in range(depth-1)]) binders = ','.join(['q']+[f'p{i}' for i in range(depth)]) out += [f' obtain ⟨{binders}⟩ := parameters_{word[:-1]} {args}\n', f' have hparity := r{depth-1}.2\n', - ' clear '+' '.join(f'r{i}' for i in range(depth))+'\n', ' omega\n\n'] + ' clear '+' '.join(f'r{i}' for i in range(depth))+'\n'] + if PRUNE_CONTEXT and depth > 1: + out += [' clear '+' '.join(f'p{i}' for i in range(depth-1))+'\n'] + out += [' omega\n\n'] out += ['theorem impossible_trace\n', ' (b '+' '.join(f'x{i}' for i in range(HORIZON+1))+' : Nat) (hb : 1 < b)\n'] out += [f' (h{i} : b ≤ x{i} ∧ {Q}*x{i} ≤ {P}*b)\n' for i in range(HORIZON+1)] @@ -157,22 +206,68 @@ def emit(word, indent): out.append(' '*indent+f'· -- branch {bit} at time {k}\n') emit(word+str(bit), indent+2) emit('', 2) - out += ['\nend Collatz.Exploration.WiderBandArithmetic\n'] - assert len(leaves) == 76 and max(map(len, leaves)) == HORIZON + out += [f'\nend Collatz.Exploration.{MODULE}\n'] + assert len(leaves) == EXPECTED_LEAVES and max(map(len, leaves)) == HORIZON assert sum(F(1,2**len(w)) for w in leaves) == 1 return ''.join(out), nodes +def split_sources(expected, line_budget): + """Keep certificate dependencies in order while limiting each Lean source size.""" + preamble = expected.split('set_option linter.unusedVariables false\n\n', 1)[0] + body = expected.split('set_option linter.unusedVariables false\n\n', 1)[1] + prefix, conclusion = body.split('theorem impossible_trace\n', 1) + conclusion = 'theorem impossible_trace\n'+conclusion + blocks = [b for b in re.split(r'(?=/--)', prefix) if b.strip()] + groups, group, count = [], [], 0 + for block in blocks: + size = len(block.splitlines()) + if group and count+size > line_budget: + groups.append(''.join(group));group=[];count=0 + group.append(block);count+=size + if group: + groups.append(''.join(group)) + outputs = {} + previous = 'Collatz.Basic' + for index, group in enumerate(groups): + part = f'Part{index:02d}' + path = ROOT/f'Collatz/Exploration/{MODULE}/{part}.lean' + outputs[path] = (f'import {previous}\n\n' + f'namespace Collatz.Exploration.{MODULE}\n\n' + 'set_option maxHeartbeats 2000000\n' + 'set_option linter.unusedVariables false\n\n'+group+ + f'\nend Collatz.Exploration.{MODULE}\n') + previous = f'Collatz.Exploration.{MODULE}.{part}' + outputs[SOURCE] = preamble.replace('import Collatz.Basic',f'import {previous}')+ \ + 'set_option linter.unusedVariables false\n\n'+conclusion + return outputs + + def main(): parser = argparse.ArgumentParser(description=__doc__) parser.add_argument('--write', action='store_true') + parser.add_argument('--split-lines', type=int, default=0) + parser.add_argument('--prune-context', action='store_true') + parser.add_argument('--numerator', type=int, default=21) + parser.add_argument('--denominator', type=int, default=4) + parser.add_argument('--horizon', type=int, default=17) + parser.add_argument('--module', default='WiderBandArithmetic') + parser.add_argument('--leaves', type=int, default=76) args = parser.parse_args() + configure(args.numerator,args.denominator,args.horizon,args.module,args.leaves) + global PRUNE_CONTEXT + PRUNE_CONTEXT = args.prune_context expected, nodes = certificate() - if args.write: - SOURCE.write_text(expected) - else: - assert SOURCE.read_text() == expected, 'Generated certificate differs' - print(f'{len(nodes)} tree nodes; 76 terminal branches; maximum depth {HORIZON}; source reproduced') + outputs = split_sources(expected,args.split_lines) if args.split_lines else {SOURCE:expected} + for path, content in outputs.items(): + if args.write: + path.parent.mkdir(parents=True,exist_ok=True) + path.write_text(content) + else: + assert path.read_text() == content, f'Generated certificate differs: {path}' + if args.split_lines: + assert set(SOURCE.with_suffix('').glob('Part*.lean')) == set(outputs)-{SOURCE} + print(f'{len(nodes)} tree nodes; {EXPECTED_LEAVES} terminal branches; maximum depth {HORIZON}; source reproduced') if __name__ == '__main__': diff --git a/scripts/test_eleven_halves_clock.py b/scripts/test_eleven_halves_clock.py new file mode 100644 index 00000000..d66351ea --- /dev/null +++ b/scripts/test_eleven_halves_clock.py @@ -0,0 +1,104 @@ +#!/usr/bin/env python3 +"""Direct rational-band exits, parametric prefixes, and finite high-visit witnesses.""" +import random +from test_barrier_kernel import trajectory +import generate_wider_band_arithmetic as guide +from generate_wider_band_arithmetic import tree, parameters +guide.configure(11,2,30,'ElevenHalvesArithmetic',235) + + +def exit_time(P, Q, b, start): + n = start + for k in range(31): + if n < b or P*b < Q*n: + return k + n = n//2 if n % 2 == 0 else 3*n+1 + raise AssertionError((P, Q, b, start, 'accepted thirty-step band')) + + +def main(): + exhaustive = large = windows = blocks = prefixes = 0 + maximum = 0 + for P, Q in [(11,2)]: + for b in range(2, 501): + for n in range(P*b//Q+3): + k = exit_time(P,Q,b,n) + maximum = max(maximum,k) + exhaustive += 1 + rng = random.Random(P*100+Q) + for _ in range(10000): + b = rng.randrange(2,10**120) + for n in [0,b,2*b,P*b//Q,P*b//Q+1,rng.randrange(b,P*b//Q+1)]: + maximum = max(maximum,exit_time(P,Q,b,n)) + large += 1 + sharp = trajectory(201714,30) + assert min(sharp[:-1]) == 71803 and max(sharp[:-1]) == 382948 + assert sharp[-1] == 68158 + assert all(71803 <= n and 2*n <= 11*71803 for n in sharp[:-1]) + assert exit_time(11,2,71803,201714) == 30 + assert exit_time(382948,71803,71803,201714)==30 + maximum = max(maximum,30) + assert maximum == 30 + family = 0 + for q in list(range(1000))+[2**180-1,2**180,10**120-1,10**120]: + start=262144*q+201714 + barrier=93312*q+71803 + peak=497664*q+382948 + values=trajectory(start,30) + assert min(values[:30])==barrier and max(values[:30])==peak + assert values[17]==barrier and values[12]==peak + assert 3*peak+4==16*barrier + for P,Q in [(16,3),(27,5),(11,2),(54,10)]: + assert all(barrier<=x and Q*x<=P*barrier for x in values[:30]) + assert exit_time(P,Q,barrier,start)==30 + if q%2==0: + assert values[30]==177147*(q//2)+68158 and values[30]0 + assert limited['budget_exhausted'] and limited['candidate_clock'] is None + print(f'{exhaustive} exhaustive and {large} large-integer band exits; maximum 30; ' + f'{prefixes} affine prefix samples; {windows} lower-surviving windows; ' + f'{blocks} distinct block witnesses; {family} infinite-family samples; sharpness and hypothesis controls passed') + + +if __name__ == '__main__': + main()