Current library: Alpha v34, 4,223 checked-use theorems; Stable remains 432. Historical first admissions, original proof editions, and non-admitted aliases are preserved. Exact original first-admission records.
Statement with defined notation
∀ p. ∀ q. ∀ z. ∀ bb. ∀ bc. ∀ l. ∀ T. z = 0 → (∀ x. Lt(x,l) → ∃ y. BetaAt(bb,bc,x,y) ∧ (∃ n. ∃ m. (∀ k. Lt(k,z) → ∃ i. BetaAt(n,m,k,i) ∧ (i = 0 ∧ (Lt(q · S x,p · S k) ∧ ¬Lt(p · S k,q · S x)) ∨ i = 1 ∧ (Lt(p · S k,q · S x) ∧ ¬Lt(q · S x,p · S k)))) ∧ BitCount(n,m,z,y))) → Sum(bb,bc,l,T) → T = 0Every purple notation token opens its conservative definition. This is a reading surface; the compiler expands the statement before the unchanged kernel checks it.
Definitions used by this theorem
In the theorem statement
10 occurrences
In local proof propositions
13 occurrences
Exact expanded native-PA statement
forall p q z bb bc l T. z = 0 -> (forall erc_row_fubini_zero_width_prefix. (exists erc_lt_gap_fubini_zero_width_prefix_bound. erc_lt_gap_fubini_zero_width_prefix_bound + S (erc_row_fubini_zero_width_prefix) = l) -> exists erc_count_fubini_zero_width_prefix. ((((exists ff_h_erc_fubini_zero_width_prefix_decoded. ff_h_erc_fubini_zero_width_prefix_decoded + S (erc_count_fubini_zero_width_prefix) = S ((S (erc_row_fubini_zero_width_prefix)) * bc)) /\ exists ff_q_erc_fubini_zero_width_prefix_decoded. bb = ff_q_erc_fubini_zero_width_prefix_decoded * S ((S (erc_row_fubini_zero_width_prefix)) * bc) + (erc_count_fubini_zero_width_prefix))) /\ (exists erc_row_code_fubini_zero_width_prefix_witness erc_row_scale_fubini_zero_width_prefix_witness. ((forall eri_column_erc_fubini_zero_width_prefix_witness_row. (exists eri_gap_erc_fubini_zero_width_prefix_witness_row_bound. eri_gap_erc_fubini_zero_width_prefix_witness_row_bound + S (eri_column_erc_fubini_zero_width_prefix_witness_row) = z) -> exists eri_bit_erc_fubini_zero_width_prefix_witness_row. ((((exists ff_h_eri_erc_fubini_zero_width_prefix_witness_row_decoded. ff_h_eri_erc_fubini_zero_width_prefix_witness_row_decoded + S (eri_bit_erc_fubini_zero_width_prefix_witness_row) = S ((S (eri_column_erc_fubini_zero_width_prefix_witness_row)) * erc_row_scale_fubini_zero_width_prefix_witness)) /\ exists ff_q_eri_erc_fubini_zero_width_prefix_witness_row_decoded. erc_row_code_fubini_zero_width_prefix_witness = ff_q_eri_erc_fubini_zero_width_prefix_witness_row_decoded * S ((S (eri_column_erc_fubini_zero_width_prefix_witness_row)) * erc_row_scale_fubini_zero_width_prefix_witness) + (eri_bit_erc_fubini_zero_width_prefix_witness_row))) /\ (((eri_bit_erc_fubini_zero_width_prefix_witness_row = 0 /\ ((exists eri_gap_erc_fubini_zero_width_prefix_witness_row_choice_left. eri_gap_erc_fubini_zero_width_prefix_witness_row_choice_left + S (q * S erc_row_fubini_zero_width_prefix) = p * S eri_column_erc_fubini_zero_width_prefix_witness_row) /\ ~(exists eri_gap_erc_fubini_zero_width_prefix_witness_row_choice_right. eri_gap_erc_fubini_zero_width_prefix_witness_row_choice_right + S (p * S eri_column_erc_fubini_zero_width_prefix_witness_row) = q * S erc_row_fubini_zero_width_prefix))) \/ (eri_bit_erc_fubini_zero_width_prefix_witness_row = 1 /\ ((exists eri_gap_erc_fubini_zero_width_prefix_witness_row_choice_right. eri_gap_erc_fubini_zero_width_prefix_witness_row_choice_right + S (p * S eri_column_erc_fubini_zero_width_prefix_witness_row) = q * S erc_row_fubini_zero_width_prefix) /\ ~(exists eri_gap_erc_fubini_zero_width_prefix_witness_row_choice_left. eri_gap_erc_fubini_zero_width_prefix_witness_row_choice_left + S (q * S erc_row_fubini_zero_width_prefix) = p * S eri_column_erc_fubini_zero_width_prefix_witness_row))))))) /\ (((exists ff_u_erc_fubini_zero_width_prefix_witness_count_sum ff_v_erc_fubini_zero_width_prefix_witness_count_sum. ((((exists ff_h_erc_fubini_zero_width_prefix_witness_count_sum_start. ff_h_erc_fubini_zero_width_prefix_witness_count_sum_start + S (0) = S ((S (0)) * ff_v_erc_fubini_zero_width_prefix_witness_count_sum)) /\ exists ff_q_erc_fubini_zero_width_prefix_witness_count_sum_start. ff_u_erc_fubini_zero_width_prefix_witness_count_sum = ff_q_erc_fubini_zero_width_prefix_witness_count_sum_start * S ((S (0)) * ff_v_erc_fubini_zero_width_prefix_witness_count_sum) + (0))) /\ ((((exists ff_h_erc_fubini_zero_width_prefix_witness_count_sum_terminal. ff_h_erc_fubini_zero_width_prefix_witness_count_sum_terminal + S (erc_count_fubini_zero_width_prefix) = S ((S (z)) * ff_v_erc_fubini_zero_width_prefix_witness_count_sum)) /\ exists ff_q_erc_fubini_zero_width_prefix_witness_count_sum_terminal. ff_u_erc_fubini_zero_width_prefix_witness_count_sum = ff_q_erc_fubini_zero_width_prefix_witness_count_sum_terminal * S ((S (z)) * ff_v_erc_fubini_zero_width_prefix_witness_count_sum) + (erc_count_fubini_zero_width_prefix))) /\ forall ff_i_erc_fubini_zero_width_prefix_witness_count_sum. (exists ff_lt_erc_fubini_zero_width_prefix_witness_count_sum_bound. ff_lt_erc_fubini_zero_width_prefix_witness_count_sum_bound + S ff_i_erc_fubini_zero_width_prefix_witness_count_sum = z) -> exists ff_a_erc_fubini_zero_width_prefix_witness_count_sum ff_r_erc_fubini_zero_width_prefix_witness_count_sum ff_s_erc_fubini_zero_width_prefix_witness_count_sum. ((((exists ff_h_erc_fubini_zero_width_prefix_witness_count_sum_summand. ff_h_erc_fubini_zero_width_prefix_witness_count_sum_summand + S (ff_a_erc_fubini_zero_width_prefix_witness_count_sum) = S ((S (ff_i_erc_fubini_zero_width_prefix_witness_count_sum)) * erc_row_scale_fubini_zero_width_prefix_witness)) /\ exists ff_q_erc_fubini_zero_width_prefix_witness_count_sum_summand. erc_row_code_fubini_zero_width_prefix_witness = ff_q_erc_fubini_zero_width_prefix_witness_count_sum_summand * S ((S (ff_i_erc_fubini_zero_width_prefix_witness_count_sum)) * erc_row_scale_fubini_zero_width_prefix_witness) + (ff_a_erc_fubini_zero_width_prefix_witness_count_sum))) /\ ((((exists ff_h_erc_fubini_zero_width_prefix_witness_count_sum_partial. ff_h_erc_fubini_zero_width_prefix_witness_count_sum_partial + S (ff_r_erc_fubini_zero_width_prefix_witness_count_sum) = S ((S (ff_i_erc_fubini_zero_width_prefix_witness_count_sum)) * ff_v_erc_fubini_zero_width_prefix_witness_count_sum)) /\ exists ff_q_erc_fubini_zero_width_prefix_witness_count_sum_partial. ff_u_erc_fubini_zero_width_prefix_witness_count_sum = ff_q_erc_fubini_zero_width_prefix_witness_count_sum_partial * S ((S (ff_i_erc_fubini_zero_width_prefix_witness_count_sum)) * ff_v_erc_fubini_zero_width_prefix_witness_count_sum) + (ff_r_erc_fubini_zero_width_prefix_witness_count_sum))) /\ ((((exists ff_h_erc_fubini_zero_width_prefix_witness_count_sum_successor. ff_h_erc_fubini_zero_width_prefix_witness_count_sum_successor + S (ff_s_erc_fubini_zero_width_prefix_witness_count_sum) = S ((S (S ff_i_erc_fubini_zero_width_prefix_witness_count_sum)) * ff_v_erc_fubini_zero_width_prefix_witness_count_sum)) /\ exists ff_q_erc_fubini_zero_width_prefix_witness_count_sum_successor. ff_u_erc_fubini_zero_width_prefix_witness_count_sum = ff_q_erc_fubini_zero_width_prefix_witness_count_sum_successor * S ((S (S ff_i_erc_fubini_zero_width_prefix_witness_count_sum)) * ff_v_erc_fubini_zero_width_prefix_witness_count_sum) + (ff_s_erc_fubini_zero_width_prefix_witness_count_sum))) /\ ff_s_erc_fubini_zero_width_prefix_witness_count_sum = ff_r_erc_fubini_zero_width_prefix_witness_count_sum + ff_a_erc_fubini_zero_width_prefix_witness_count_sum)))))) /\ (forall ff_i_erc_fubini_zero_width_prefix_witness_count_bits. (exists ff_lt_erc_fubini_zero_width_prefix_witness_count_bits_bound. ff_lt_erc_fubini_zero_width_prefix_witness_count_bits_bound + S ff_i_erc_fubini_zero_width_prefix_witness_count_bits = z) -> exists ff_bit_erc_fubini_zero_width_prefix_witness_count_bits. ((((exists ff_h_erc_fubini_zero_width_prefix_witness_count_bits_decoded. ff_h_erc_fubini_zero_width_prefix_witness_count_bits_decoded + S (ff_bit_erc_fubini_zero_width_prefix_witness_count_bits) = S ((S (ff_i_erc_fubini_zero_width_prefix_witness_count_bits)) * erc_row_scale_fubini_zero_width_prefix_witness)) /\ exists ff_q_erc_fubini_zero_width_prefix_witness_count_bits_decoded. erc_row_code_fubini_zero_width_prefix_witness = ff_q_erc_fubini_zero_width_prefix_witness_count_bits_decoded * S ((S (ff_i_erc_fubini_zero_width_prefix_witness_count_bits)) * erc_row_scale_fubini_zero_width_prefix_witness) + (ff_bit_erc_fubini_zero_width_prefix_witness_count_bits))) /\ (ff_bit_erc_fubini_zero_width_prefix_witness_count_bits = 0 \/ ff_bit_erc_fubini_zero_width_prefix_witness_count_bits = 1))))))))) -> (exists ff_u_fubini_zero_width_sum ff_v_fubini_zero_width_sum. ((((exists ff_h_fubini_zero_width_sum_start. ff_h_fubini_zero_width_sum_start + S (0) = S ((S (0)) * ff_v_fubini_zero_width_sum)) /\ exists ff_q_fubini_zero_width_sum_start. ff_u_fubini_zero_width_sum = ff_q_fubini_zero_width_sum_start * S ((S (0)) * ff_v_fubini_zero_width_sum) + (0))) /\ ((((exists ff_h_fubini_zero_width_sum_terminal. ff_h_fubini_zero_width_sum_terminal + S (T) = S ((S (l)) * ff_v_fubini_zero_width_sum)) /\ exists ff_q_fubini_zero_width_sum_terminal. ff_u_fubini_zero_width_sum = ff_q_fubini_zero_width_sum_terminal * S ((S (l)) * ff_v_fubini_zero_width_sum) + (T))) /\ forall ff_i_fubini_zero_width_sum. (exists ff_lt_fubini_zero_width_sum_bound. ff_lt_fubini_zero_width_sum_bound + S ff_i_fubini_zero_width_sum = l) -> exists ff_a_fubini_zero_width_sum ff_r_fubini_zero_width_sum ff_s_fubini_zero_width_sum. ((((exists ff_h_fubini_zero_width_sum_summand. ff_h_fubini_zero_width_sum_summand + S (ff_a_fubini_zero_width_sum) = S ((S (ff_i_fubini_zero_width_sum)) * bc)) /\ exists ff_q_fubini_zero_width_sum_summand. bb = ff_q_fubini_zero_width_sum_summand * S ((S (ff_i_fubini_zero_width_sum)) * bc) + (ff_a_fubini_zero_width_sum))) /\ ((((exists ff_h_fubini_zero_width_sum_partial. ff_h_fubini_zero_width_sum_partial + S (ff_r_fubini_zero_width_sum) = S ((S (ff_i_fubini_zero_width_sum)) * ff_v_fubini_zero_width_sum)) /\ exists ff_q_fubini_zero_width_sum_partial. ff_u_fubini_zero_width_sum = ff_q_fubini_zero_width_sum_partial * S ((S (ff_i_fubini_zero_width_sum)) * ff_v_fubini_zero_width_sum) + (ff_r_fubini_zero_width_sum))) /\ ((((exists ff_h_fubini_zero_width_sum_successor. ff_h_fubini_zero_width_sum_successor + S (ff_s_fubini_zero_width_sum) = S ((S (S ff_i_fubini_zero_width_sum)) * ff_v_fubini_zero_width_sum)) /\ exists ff_q_fubini_zero_width_sum_successor. ff_u_fubini_zero_width_sum = ff_q_fubini_zero_width_sum_successor * S ((S (S ff_i_fubini_zero_width_sum)) * ff_v_fubini_zero_width_sum) + (ff_s_fubini_zero_width_sum))) /\ ff_s_fubini_zero_width_sum = ff_r_fubini_zero_width_sum + ff_a_fubini_zero_width_sum)))))) -> T = 0Proof neighborhood
Direct theorem prerequisites
PA0045 beta_repeat_exists PA00E6 eisenstein_rectangle_decoded_row_count PA0048 bit_count_zero PA00CT beta_sum_transport_prefix PA00EK beta_repeat_sum_exact PA000H mul_comm PA000D mul_zero_leftDirect theorem dependents
Definition-aware tactic body
Only local propositions introduced by have or suffices are compacted. The untrusted compiler re-expands each one before the original tactic script is replayed; defined notation is never accepted by the kernel. Open the exact replay line beneath every changed command.
Read the argument
Proof checkpoints
This is a reading aid, not a new proof or a proof-tree certificate. Checkpoint groups are consecutive commands, not inferred branch boundaries. Every step links to the preserved script.
Named ingredients (7)
01Fix variables and assumptionsL1–10
02Establish hrepeatL11–14
Establish this local claim before using it. It is not an additional assumption.
- L11
have hrepeat : ∃ rb. ∃ rc. Repeat(rb,rc,z,l)Definitions: Repeat(rb,rc,z,l)Original native command in the exact edition - L12
specialize beta_repeat_exists z - L13
specialize beta_repeat_exists l - L14
exact beta_repeat_exists
03Separate the logical casesL15–16
04Establish hpreserveL17–21
Establish this local claim before using it. It is not an additional assumption.
- L17
have hpreserve : ∀ i. ∀ n. Lt(i,l) → BetaAt(bb,bc,i,n) → BetaAt(x,x1,i,n)Definitions: Lt(i,l)BetaAt(bb,bc,i,n)BetaAt(x,x1,i,n)Original native command in the exact edition - L18
intro i - L19
intro n - L20
intro hi - L21
intro hn
05Establish hwitnessL22–31
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply eisenstein rectangle decoded row count.
- L22
have hwitness : ∃ erc_row_code_fubini_zero_width_decoded_witness. ∃ erc_row_scale_fubini_zero_width_decoded_witness. (∀ x. Lt(x,z) → ∃ y. BetaAt(erc_row_code_fubini_zero_width_decoded_witness,erc_row_scale_fubini_zero_width_decoded_witness,x,y) ∧ (y = 0 ∧ (Lt(q · S i,p · S x) ∧ ¬Lt(p · S x,q · S i)) ∨ y = 1 ∧ (Lt(p · S x,q · S i) ∧ ¬Lt(q · S i,p · S x)))) ∧ BitCount(erc_row_code_fubini_zero_width_decoded_witness,erc_row_scale_fubini_zero_width_decoded_witness,z,n)Definitions: Lt(x,z)BetaAt(erc_row_code_fubini_zero_width_decoded_witness,erc_row_scale_fubini_zero_width_decoded_witness,x,y)Lt(q · S i,p · S x)Lt(p · S x,q · S i)BitCount(erc_row_code_fubini_zero_width_decoded_witness,erc_row_scale_fubini_zero_width_decoded_witness,z,n)Original native command in the exact edition - L23
specialize eisenstein_rectangle_decoded_row_count p - L24
specialize eisenstein_rectangle_decoded_row_count q - L25
specialize eisenstein_rectangle_decoded_row_count z - L26
specialize eisenstein_rectangle_decoded_row_count bb - L27
specialize eisenstein_rectangle_decoded_row_count bc - L28
specialize eisenstein_rectangle_decoded_row_count l - L29
specialize eisenstein_rectangle_decoded_row_count i - L30
specialize eisenstein_rectangle_decoded_row_count n - L31
apply eisenstein_rectangle_decoded_row_count
06Use earlier factsL32–34
07Separate the logical casesL35–37
08Establish hnzeroL38–45
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply bit count zero.
09Establish hzero_entryL46–54
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hrepeat witness witness.
- L46
have hzero_entry : BetaAt(x,x1,i,z)Definitions: BetaAt(x,x1,i,z)Original native command in the exact edition - L47
specialize hrepeat_witness_witness i - L48
apply hrepeat_witness_witness - L49
exact hi - L50
rewrite hz at hzero_entry - L51
rewrite hz at hzero_entry - L52
rewrite hnzero - L53
rewrite hnzero - L54
exact hzero_entry
10Establish hrepeat_sumL55–64
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta sum transport prefix.
- L55
have hrepeat_sum : Sum(x,x1,l,T)Definitions: Sum(x,x1,l,T)Original native command in the exact edition - L56
specialize beta_sum_transport_prefix bb - L57
specialize beta_sum_transport_prefix bc - L58
specialize beta_sum_transport_prefix x - L59
specialize beta_sum_transport_prefix x1 - L60
specialize beta_sum_transport_prefix l - L61
specialize beta_sum_transport_prefix T - L62
apply beta_sum_transport_prefix - L63
exact hsum - L64
exact hpreserve
11Establish hproductL65–74
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta repeat sum exact.
- L65
have hproduct : T = l * z - L66
specialize beta_repeat_sum_exact x - L67
specialize beta_repeat_sum_exact x1 - L68
specialize beta_repeat_sum_exact z - L69
specialize beta_repeat_sum_exact l - L70
specialize beta_repeat_sum_exact T - L71
apply beta_repeat_sum_exact - L72
exact hrepeat_witness_witness - L73
exact hrepeat_sum - L74
rewrite hz at hproduct
12Calculate and transport equalitiesL75–75
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L75
trans l * 0
13Use earlier factsL76–76
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L76
exact hproduct
14Calculate and transport equalitiesL77–77
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L77
trans 0 * l
Original defined command ledger · 82 lines
- 0001
intro p - 0002
intro q - 0003
intro z - 0004
intro bb - 0005
intro bc - 0006
intro l - 0007
intro T - 0008
intro hz - 0009
intro hprefix - 0010
intro hsum - 0011
have hrepeat : ∃ rb. ∃ rc. Repeat(rb,rc,z,l)Exact native replay line
have hrepeat : exists rb rc. (forall ff_i_fubini_zero_width_repeat. (exists ff_lt_fubini_zero_width_repeat_bound. ff_lt_fubini_zero_width_repeat_bound + S ff_i_fubini_zero_width_repeat = l) -> (((exists ff_h_fubini_zero_width_repeat_decoded. ff_h_fubini_zero_width_repeat_decoded + S (z) = S ((S (ff_i_fubini_zero_width_repeat)) * rc)) /\ exists ff_q_fubini_zero_width_repeat_decoded. rb = ff_q_fubini_zero_width_repeat_decoded * S ((S (ff_i_fubini_zero_width_repeat)) * rc) + (z)))) - 0012
specialize beta_repeat_exists z - 0013
specialize beta_repeat_exists l - 0014
exact beta_repeat_exists - 0015
cases hrepeat - 0016
cases hrepeat_witness - 0017
have hpreserve : ∀ i. ∀ n. Lt(i,l) → BetaAt(bb,bc,i,n) → BetaAt(x,x1,i,n)Exact native replay line
have hpreserve : forall i n. (exists efrd_lt_gap_fubini_zero_width_preserve_bound. efrd_lt_gap_fubini_zero_width_preserve_bound + S (i) = l) -> (((exists ff_h_fubini_zero_width_preserve_source. ff_h_fubini_zero_width_preserve_source + S (n) = S ((S (i)) * bc)) /\ exists ff_q_fubini_zero_width_preserve_source. bb = ff_q_fubini_zero_width_preserve_source * S ((S (i)) * bc) + (n))) -> (((exists ff_h_fubini_zero_width_preserve_target. ff_h_fubini_zero_width_preserve_target + S (n) = S ((S (i)) * x1)) /\ exists ff_q_fubini_zero_width_preserve_target. x = ff_q_fubini_zero_width_preserve_target * S ((S (i)) * x1) + (n))) - 0018
intro i - 0019
intro n - 0020
intro hi - 0021
intro hn - 0022
have hwitness : ∃ erc_row_code_fubini_zero_width_decoded_witness. ∃ erc_row_scale_fubini_zero_width_decoded_witness. (∀ x. Lt(x,z) → ∃ y. BetaAt(erc_row_code_fubini_zero_width_decoded_witness,erc_row_scale_fubini_zero_width_decoded_witness,x,y) ∧ (y = 0 ∧ (Lt(q · S i,p · S x) ∧ ¬Lt(p · S x,q · S i)) ∨ y = 1 ∧ (Lt(p · S x,q · S i) ∧ ¬Lt(q · S i,p · S x)))) ∧ BitCount(erc_row_code_fubini_zero_width_decoded_witness,erc_row_scale_fubini_zero_width_decoded_witness,z,n)Exact native replay line
have hwitness : exists erc_row_code_fubini_zero_width_decoded_witness erc_row_scale_fubini_zero_width_decoded_witness. ((forall eri_column_erc_fubini_zero_width_decoded_witness_row. (exists eri_gap_erc_fubini_zero_width_decoded_witness_row_bound. eri_gap_erc_fubini_zero_width_decoded_witness_row_bound + S (eri_column_erc_fubini_zero_width_decoded_witness_row) = z) -> exists eri_bit_erc_fubini_zero_width_decoded_witness_row. ((((exists ff_h_eri_erc_fubini_zero_width_decoded_witness_row_decoded. ff_h_eri_erc_fubini_zero_width_decoded_witness_row_decoded + S (eri_bit_erc_fubini_zero_width_decoded_witness_row) = S ((S (eri_column_erc_fubini_zero_width_decoded_witness_row)) * erc_row_scale_fubini_zero_width_decoded_witness)) /\ exists ff_q_eri_erc_fubini_zero_width_decoded_witness_row_decoded. erc_row_code_fubini_zero_width_decoded_witness = ff_q_eri_erc_fubini_zero_width_decoded_witness_row_decoded * S ((S (eri_column_erc_fubini_zero_width_decoded_witness_row)) * erc_row_scale_fubini_zero_width_decoded_witness) + (eri_bit_erc_fubini_zero_width_decoded_witness_row))) /\ (((eri_bit_erc_fubini_zero_width_decoded_witness_row = 0 /\ ((exists eri_gap_erc_fubini_zero_width_decoded_witness_row_choice_left. eri_gap_erc_fubini_zero_width_decoded_witness_row_choice_left + S (q * S i) = p * S eri_column_erc_fubini_zero_width_decoded_witness_row) /\ ~(exists eri_gap_erc_fubini_zero_width_decoded_witness_row_choice_right. eri_gap_erc_fubini_zero_width_decoded_witness_row_choice_right + S (p * S eri_column_erc_fubini_zero_width_decoded_witness_row) = q * S i))) \/ (eri_bit_erc_fubini_zero_width_decoded_witness_row = 1 /\ ((exists eri_gap_erc_fubini_zero_width_decoded_witness_row_choice_right. eri_gap_erc_fubini_zero_width_decoded_witness_row_choice_right + S (p * S eri_column_erc_fubini_zero_width_decoded_witness_row) = q * S i) /\ ~(exists eri_gap_erc_fubini_zero_width_decoded_witness_row_choice_left. eri_gap_erc_fubini_zero_width_decoded_witness_row_choice_left + S (q * S i) = p * S eri_column_erc_fubini_zero_width_decoded_witness_row))))))) /\ (((exists ff_u_erc_fubini_zero_width_decoded_witness_count_sum ff_v_erc_fubini_zero_width_decoded_witness_count_sum. ((((exists ff_h_erc_fubini_zero_width_decoded_witness_count_sum_start. ff_h_erc_fubini_zero_width_decoded_witness_count_sum_start + S (0) = S ((S (0)) * ff_v_erc_fubini_zero_width_decoded_witness_count_sum)) /\ exists ff_q_erc_fubini_zero_width_decoded_witness_count_sum_start. ff_u_erc_fubini_zero_width_decoded_witness_count_sum = ff_q_erc_fubini_zero_width_decoded_witness_count_sum_start * S ((S (0)) * ff_v_erc_fubini_zero_width_decoded_witness_count_sum) + (0))) /\ ((((exists ff_h_erc_fubini_zero_width_decoded_witness_count_sum_terminal. ff_h_erc_fubini_zero_width_decoded_witness_count_sum_terminal + S (n) = S ((S (z)) * ff_v_erc_fubini_zero_width_decoded_witness_count_sum)) /\ exists ff_q_erc_fubini_zero_width_decoded_witness_count_sum_terminal. ff_u_erc_fubini_zero_width_decoded_witness_count_sum = ff_q_erc_fubini_zero_width_decoded_witness_count_sum_terminal * S ((S (z)) * ff_v_erc_fubini_zero_width_decoded_witness_count_sum) + (n))) /\ forall ff_i_erc_fubini_zero_width_decoded_witness_count_sum. (exists ff_lt_erc_fubini_zero_width_decoded_witness_count_sum_bound. ff_lt_erc_fubini_zero_width_decoded_witness_count_sum_bound + S ff_i_erc_fubini_zero_width_decoded_witness_count_sum = z) -> exists ff_a_erc_fubini_zero_width_decoded_witness_count_sum ff_r_erc_fubini_zero_width_decoded_witness_count_sum ff_s_erc_fubini_zero_width_decoded_witness_count_sum. ((((exists ff_h_erc_fubini_zero_width_decoded_witness_count_sum_summand. ff_h_erc_fubini_zero_width_decoded_witness_count_sum_summand + S (ff_a_erc_fubini_zero_width_decoded_witness_count_sum) = S ((S (ff_i_erc_fubini_zero_width_decoded_witness_count_sum)) * erc_row_scale_fubini_zero_width_decoded_witness)) /\ exists ff_q_erc_fubini_zero_width_decoded_witness_count_sum_summand. erc_row_code_fubini_zero_width_decoded_witness = ff_q_erc_fubini_zero_width_decoded_witness_count_sum_summand * S ((S (ff_i_erc_fubini_zero_width_decoded_witness_count_sum)) * erc_row_scale_fubini_zero_width_decoded_witness) + (ff_a_erc_fubini_zero_width_decoded_witness_count_sum))) /\ ((((exists ff_h_erc_fubini_zero_width_decoded_witness_count_sum_partial. ff_h_erc_fubini_zero_width_decoded_witness_count_sum_partial + S (ff_r_erc_fubini_zero_width_decoded_witness_count_sum) = S ((S (ff_i_erc_fubini_zero_width_decoded_witness_count_sum)) * ff_v_erc_fubini_zero_width_decoded_witness_count_sum)) /\ exists ff_q_erc_fubini_zero_width_decoded_witness_count_sum_partial. ff_u_erc_fubini_zero_width_decoded_witness_count_sum = ff_q_erc_fubini_zero_width_decoded_witness_count_sum_partial * S ((S (ff_i_erc_fubini_zero_width_decoded_witness_count_sum)) * ff_v_erc_fubini_zero_width_decoded_witness_count_sum) + (ff_r_erc_fubini_zero_width_decoded_witness_count_sum))) /\ ((((exists ff_h_erc_fubini_zero_width_decoded_witness_count_sum_successor. ff_h_erc_fubini_zero_width_decoded_witness_count_sum_successor + S (ff_s_erc_fubini_zero_width_decoded_witness_count_sum) = S ((S (S ff_i_erc_fubini_zero_width_decoded_witness_count_sum)) * ff_v_erc_fubini_zero_width_decoded_witness_count_sum)) /\ exists ff_q_erc_fubini_zero_width_decoded_witness_count_sum_successor. ff_u_erc_fubini_zero_width_decoded_witness_count_sum = ff_q_erc_fubini_zero_width_decoded_witness_count_sum_successor * S ((S (S ff_i_erc_fubini_zero_width_decoded_witness_count_sum)) * ff_v_erc_fubini_zero_width_decoded_witness_count_sum) + (ff_s_erc_fubini_zero_width_decoded_witness_count_sum))) /\ ff_s_erc_fubini_zero_width_decoded_witness_count_sum = ff_r_erc_fubini_zero_width_decoded_witness_count_sum + ff_a_erc_fubini_zero_width_decoded_witness_count_sum)))))) /\ (forall ff_i_erc_fubini_zero_width_decoded_witness_count_bits. (exists ff_lt_erc_fubini_zero_width_decoded_witness_count_bits_bound. ff_lt_erc_fubini_zero_width_decoded_witness_count_bits_bound + S ff_i_erc_fubini_zero_width_decoded_witness_count_bits = z) -> exists ff_bit_erc_fubini_zero_width_decoded_witness_count_bits. ((((exists ff_h_erc_fubini_zero_width_decoded_witness_count_bits_decoded. ff_h_erc_fubini_zero_width_decoded_witness_count_bits_decoded + S (ff_bit_erc_fubini_zero_width_decoded_witness_count_bits) = S ((S (ff_i_erc_fubini_zero_width_decoded_witness_count_bits)) * erc_row_scale_fubini_zero_width_decoded_witness)) /\ exists ff_q_erc_fubini_zero_width_decoded_witness_count_bits_decoded. erc_row_code_fubini_zero_width_decoded_witness = ff_q_erc_fubini_zero_width_decoded_witness_count_bits_decoded * S ((S (ff_i_erc_fubini_zero_width_decoded_witness_count_bits)) * erc_row_scale_fubini_zero_width_decoded_witness) + (ff_bit_erc_fubini_zero_width_decoded_witness_count_bits))) /\ (ff_bit_erc_fubini_zero_width_decoded_witness_count_bits = 0 \/ ff_bit_erc_fubini_zero_width_decoded_witness_count_bits = 1)))))) - 0023
specialize eisenstein_rectangle_decoded_row_count p - 0024
specialize eisenstein_rectangle_decoded_row_count q - 0025
specialize eisenstein_rectangle_decoded_row_count z - 0026
specialize eisenstein_rectangle_decoded_row_count bb - 0027
specialize eisenstein_rectangle_decoded_row_count bc - 0028
specialize eisenstein_rectangle_decoded_row_count l - 0029
specialize eisenstein_rectangle_decoded_row_count i - 0030
specialize eisenstein_rectangle_decoded_row_count n - 0031
apply eisenstein_rectangle_decoded_row_count - 0032
exact hprefix - 0033
exact hi - 0034
exact hn - 0035
cases hwitness - 0036
cases hwitness_witness - 0037
cases hwitness_witness_witness - 0038
have hnzero : n = 0 - 0039
specialize bit_count_zero x2 - 0040
specialize bit_count_zero x3 - 0041
specialize bit_count_zero z - 0042
specialize bit_count_zero n - 0043
apply bit_count_zero - 0044
exact hz - 0045
exact hwitness_witness_witness_right - 0046
have hzero_entry : BetaAt(x,x1,i,z)Exact native replay line
have hzero_entry : ((exists ff_h_fubini_zero_width_repeat_entry. ff_h_fubini_zero_width_repeat_entry + S (z) = S ((S (i)) * x1)) /\ exists ff_q_fubini_zero_width_repeat_entry. x = ff_q_fubini_zero_width_repeat_entry * S ((S (i)) * x1) + (z)) - 0047
specialize hrepeat_witness_witness i - 0048
apply hrepeat_witness_witness - 0049
exact hi - 0050
rewrite hz at hzero_entry - 0051
rewrite hz at hzero_entry - 0052
rewrite hnzero - 0053
rewrite hnzero - 0054
exact hzero_entry - 0055
have hrepeat_sum : Sum(x,x1,l,T)Exact native replay line
have hrepeat_sum : exists ff_u_fubini_zero_width_transport_sum ff_v_fubini_zero_width_transport_sum. ((((exists ff_h_fubini_zero_width_transport_sum_start. ff_h_fubini_zero_width_transport_sum_start + S (0) = S ((S (0)) * ff_v_fubini_zero_width_transport_sum)) /\ exists ff_q_fubini_zero_width_transport_sum_start. ff_u_fubini_zero_width_transport_sum = ff_q_fubini_zero_width_transport_sum_start * S ((S (0)) * ff_v_fubini_zero_width_transport_sum) + (0))) /\ ((((exists ff_h_fubini_zero_width_transport_sum_terminal. ff_h_fubini_zero_width_transport_sum_terminal + S (T) = S ((S (l)) * ff_v_fubini_zero_width_transport_sum)) /\ exists ff_q_fubini_zero_width_transport_sum_terminal. ff_u_fubini_zero_width_transport_sum = ff_q_fubini_zero_width_transport_sum_terminal * S ((S (l)) * ff_v_fubini_zero_width_transport_sum) + (T))) /\ forall ff_i_fubini_zero_width_transport_sum. (exists ff_lt_fubini_zero_width_transport_sum_bound. ff_lt_fubini_zero_width_transport_sum_bound + S ff_i_fubini_zero_width_transport_sum = l) -> exists ff_a_fubini_zero_width_transport_sum ff_r_fubini_zero_width_transport_sum ff_s_fubini_zero_width_transport_sum. ((((exists ff_h_fubini_zero_width_transport_sum_summand. ff_h_fubini_zero_width_transport_sum_summand + S (ff_a_fubini_zero_width_transport_sum) = S ((S (ff_i_fubini_zero_width_transport_sum)) * x1)) /\ exists ff_q_fubini_zero_width_transport_sum_summand. x = ff_q_fubini_zero_width_transport_sum_summand * S ((S (ff_i_fubini_zero_width_transport_sum)) * x1) + (ff_a_fubini_zero_width_transport_sum))) /\ ((((exists ff_h_fubini_zero_width_transport_sum_partial. ff_h_fubini_zero_width_transport_sum_partial + S (ff_r_fubini_zero_width_transport_sum) = S ((S (ff_i_fubini_zero_width_transport_sum)) * ff_v_fubini_zero_width_transport_sum)) /\ exists ff_q_fubini_zero_width_transport_sum_partial. ff_u_fubini_zero_width_transport_sum = ff_q_fubini_zero_width_transport_sum_partial * S ((S (ff_i_fubini_zero_width_transport_sum)) * ff_v_fubini_zero_width_transport_sum) + (ff_r_fubini_zero_width_transport_sum))) /\ ((((exists ff_h_fubini_zero_width_transport_sum_successor. ff_h_fubini_zero_width_transport_sum_successor + S (ff_s_fubini_zero_width_transport_sum) = S ((S (S ff_i_fubini_zero_width_transport_sum)) * ff_v_fubini_zero_width_transport_sum)) /\ exists ff_q_fubini_zero_width_transport_sum_successor. ff_u_fubini_zero_width_transport_sum = ff_q_fubini_zero_width_transport_sum_successor * S ((S (S ff_i_fubini_zero_width_transport_sum)) * ff_v_fubini_zero_width_transport_sum) + (ff_s_fubini_zero_width_transport_sum))) /\ ff_s_fubini_zero_width_transport_sum = ff_r_fubini_zero_width_transport_sum + ff_a_fubini_zero_width_transport_sum))))) - 0056
specialize beta_sum_transport_prefix bb - 0057
specialize beta_sum_transport_prefix bc - 0058
specialize beta_sum_transport_prefix x - 0059
specialize beta_sum_transport_prefix x1 - 0060
specialize beta_sum_transport_prefix l - 0061
specialize beta_sum_transport_prefix T - 0062
apply beta_sum_transport_prefix - 0063
exact hsum - 0064
exact hpreserve - 0065
have hproduct : T = l * z - 0066
specialize beta_repeat_sum_exact x - 0067
specialize beta_repeat_sum_exact x1 - 0068
specialize beta_repeat_sum_exact z - 0069
specialize beta_repeat_sum_exact l - 0070
specialize beta_repeat_sum_exact T - 0071
apply beta_repeat_sum_exact - 0072
exact hrepeat_witness_witness - 0073
exact hrepeat_sum - 0074
rewrite hz at hproduct - 0075
trans l * 0 - 0076
exact hproduct - 0077
trans 0 * l - 0078
specialize mul_comm l - 0079
specialize mul_comm 0 - 0080
exact mul_comm - 0081
specialize mul_zero_left l - 0082
exact mul_zero_left