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
∀ bb. ∀ bc. ∀ sb. ∀ sc. ∀ w. ∀ r. ∀ db. ∀ dc. ∀ eb. ∀ ec. ∀ v. ∀ s. ∀ i. ∀ b. ∀ c. ∀ d. ∀ e. (∀ x. Lt(x,r) → ∃ y. ∃ z. BetaAt(bb,bc,x,y) ∧ (BetaAt(sb,sc,x,z) ∧ (x = 0 ∧ (∀ n. Lt(n,w) → ∃ m. BetaAt(y,z,n,m) ∧ (n = 0 ∧ m = 1 ∨ (∃ k. n = S k ∧ m = 0))) ∨ (∃ n. ∃ m. ∃ k. x = S n ∧ (BetaAt(bb,bc,n,m) ∧ (BetaAt(sb,sc,n,k) ∧ (∀ j. Lt(j,w) → ∃ u. BetaAt(y,z,j,u) ∧ (j = 0 ∧ u = 1 ∨ (∃ x0. ∃ x1. ∃ x2. j = S x0 ∧ (BetaAt(m,k,x0,x1) ∧ (BetaAt(m,k,S x0,x2) ∧ u = x1 + x2))))))))))) → (∀ x. Lt(x,s) → ∃ y. ∃ z. BetaAt(db,dc,x,y) ∧ (BetaAt(eb,ec,x,z) ∧ (x = 0 ∧ (∀ n. Lt(n,v) → ∃ m. BetaAt(y,z,n,m) ∧ (n = 0 ∧ m = 1 ∨ (∃ k. n = S k ∧ m = 0))) ∨ (∃ n. ∃ m. ∃ k. x = S n ∧ (BetaAt(db,dc,n,m) ∧ (BetaAt(eb,ec,n,k) ∧ (∀ j. Lt(j,v) → ∃ u. BetaAt(y,z,j,u) ∧ (j = 0 ∧ u = 1 ∨ (∃ x0. ∃ x1. ∃ x2. j = S x0 ∧ (BetaAt(m,k,x0,x1) ∧ (BetaAt(m,k,S x0,x2) ∧ u = x1 + x2))))))))))) → Lt(i,r) → Lt(i,s) → BetaAt(bb,bc,i,b) → BetaAt(sb,sc,i,c) → BetaAt(db,dc,i,d) → BetaAt(eb,ec,i,e) → ∀ x. ∀ y. ∀ z. Lt(x,w) → Lt(x,v) → BetaAt(b,c,x,y) → BetaAt(d,e,x,z) → y = zEvery purple notation token opens its conservative definition. Expanding the displayed statement recovers the exact first-order Peano-arithmetic formula checked by the unchanged kernel.
Definitions used by this theorem
In the theorem statement
32 occurrences
In local proof propositions
54 occurrences
Exact expanded native-PA statement
forall bb bc sb sc w r db dc eb ec v s i b c d e. (forall bcf_row_index_bptrpf_left_table. (exists bcf_lt_gap_bptrpf_left_table_row_bound. bcf_lt_gap_bptrpf_left_table_row_bound + S (bcf_row_index_bptrpf_left_table) = r) -> exists bcf_row_code_bptrpf_left_table bcf_row_scale_bptrpf_left_table. ((((exists bcf_height_bptrpf_left_table_decoded_row_code. bcf_height_bptrpf_left_table_decoded_row_code + S (bcf_row_code_bptrpf_left_table) = S ((S (bcf_row_index_bptrpf_left_table)) * bc)) /\ exists bcf_quotient_bptrpf_left_table_decoded_row_code. bb = bcf_quotient_bptrpf_left_table_decoded_row_code * S ((S (bcf_row_index_bptrpf_left_table)) * bc) + (bcf_row_code_bptrpf_left_table))) /\ ((((exists bcf_height_bptrpf_left_table_decoded_row_scale. bcf_height_bptrpf_left_table_decoded_row_scale + S (bcf_row_scale_bptrpf_left_table) = S ((S (bcf_row_index_bptrpf_left_table)) * sc)) /\ exists bcf_quotient_bptrpf_left_table_decoded_row_scale. sb = bcf_quotient_bptrpf_left_table_decoded_row_scale * S ((S (bcf_row_index_bptrpf_left_table)) * sc) + (bcf_row_scale_bptrpf_left_table))) /\ ((bcf_row_index_bptrpf_left_table = 0 /\ (forall bcf_index_bptrpf_left_table_zero_row. (exists bcf_lt_gap_bptrpf_left_table_zero_row_bound. bcf_lt_gap_bptrpf_left_table_zero_row_bound + S (bcf_index_bptrpf_left_table_zero_row) = w) -> exists bcf_value_bptrpf_left_table_zero_row. ((((exists bcf_height_bptrpf_left_table_zero_row_entry. bcf_height_bptrpf_left_table_zero_row_entry + S (bcf_value_bptrpf_left_table_zero_row) = S ((S (bcf_index_bptrpf_left_table_zero_row)) * bcf_row_scale_bptrpf_left_table)) /\ exists bcf_quotient_bptrpf_left_table_zero_row_entry. bcf_row_code_bptrpf_left_table = bcf_quotient_bptrpf_left_table_zero_row_entry * S ((S (bcf_index_bptrpf_left_table_zero_row)) * bcf_row_scale_bptrpf_left_table) + (bcf_value_bptrpf_left_table_zero_row))) /\ ((bcf_index_bptrpf_left_table_zero_row = 0 /\ bcf_value_bptrpf_left_table_zero_row = 1) \/ exists bcf_predecessor_bptrpf_left_table_zero_row. bcf_index_bptrpf_left_table_zero_row = S bcf_predecessor_bptrpf_left_table_zero_row /\ bcf_value_bptrpf_left_table_zero_row = 0)))) \/ exists bcf_predecessor_bptrpf_left_table bcf_previous_code_bptrpf_left_table bcf_previous_scale_bptrpf_left_table. bcf_row_index_bptrpf_left_table = S bcf_predecessor_bptrpf_left_table /\ ((((exists bcf_height_bptrpf_left_table_decoded_previous_code. bcf_height_bptrpf_left_table_decoded_previous_code + S (bcf_previous_code_bptrpf_left_table) = S ((S (bcf_predecessor_bptrpf_left_table)) * bc)) /\ exists bcf_quotient_bptrpf_left_table_decoded_previous_code. bb = bcf_quotient_bptrpf_left_table_decoded_previous_code * S ((S (bcf_predecessor_bptrpf_left_table)) * bc) + (bcf_previous_code_bptrpf_left_table))) /\ ((((exists bcf_height_bptrpf_left_table_decoded_previous_scale. bcf_height_bptrpf_left_table_decoded_previous_scale + S (bcf_previous_scale_bptrpf_left_table) = S ((S (bcf_predecessor_bptrpf_left_table)) * sc)) /\ exists bcf_quotient_bptrpf_left_table_decoded_previous_scale. sb = bcf_quotient_bptrpf_left_table_decoded_previous_scale * S ((S (bcf_predecessor_bptrpf_left_table)) * sc) + (bcf_previous_scale_bptrpf_left_table))) /\ (forall bcf_index_bptrpf_left_table_row_step. (exists bcf_lt_gap_bptrpf_left_table_row_step_bound. bcf_lt_gap_bptrpf_left_table_row_step_bound + S (bcf_index_bptrpf_left_table_row_step) = w) -> exists bcf_value_bptrpf_left_table_row_step. ((((exists bcf_height_bptrpf_left_table_row_step_entry. bcf_height_bptrpf_left_table_row_step_entry + S (bcf_value_bptrpf_left_table_row_step) = S ((S (bcf_index_bptrpf_left_table_row_step)) * bcf_row_scale_bptrpf_left_table)) /\ exists bcf_quotient_bptrpf_left_table_row_step_entry. bcf_row_code_bptrpf_left_table = bcf_quotient_bptrpf_left_table_row_step_entry * S ((S (bcf_index_bptrpf_left_table_row_step)) * bcf_row_scale_bptrpf_left_table) + (bcf_value_bptrpf_left_table_row_step))) /\ ((bcf_index_bptrpf_left_table_row_step = 0 /\ bcf_value_bptrpf_left_table_row_step = 1) \/ exists bcf_predecessor_bptrpf_left_table_row_step bcf_left_bptrpf_left_table_row_step bcf_right_bptrpf_left_table_row_step. bcf_index_bptrpf_left_table_row_step = S bcf_predecessor_bptrpf_left_table_row_step /\ ((((exists bcf_height_bptrpf_left_table_row_step_previous_left. bcf_height_bptrpf_left_table_row_step_previous_left + S (bcf_left_bptrpf_left_table_row_step) = S ((S (bcf_predecessor_bptrpf_left_table_row_step)) * bcf_previous_scale_bptrpf_left_table)) /\ exists bcf_quotient_bptrpf_left_table_row_step_previous_left. bcf_previous_code_bptrpf_left_table = bcf_quotient_bptrpf_left_table_row_step_previous_left * S ((S (bcf_predecessor_bptrpf_left_table_row_step)) * bcf_previous_scale_bptrpf_left_table) + (bcf_left_bptrpf_left_table_row_step))) /\ ((((exists bcf_height_bptrpf_left_table_row_step_previous_right. bcf_height_bptrpf_left_table_row_step_previous_right + S (bcf_right_bptrpf_left_table_row_step) = S ((S (S (bcf_predecessor_bptrpf_left_table_row_step))) * bcf_previous_scale_bptrpf_left_table)) /\ exists bcf_quotient_bptrpf_left_table_row_step_previous_right. bcf_previous_code_bptrpf_left_table = bcf_quotient_bptrpf_left_table_row_step_previous_right * S ((S (S (bcf_predecessor_bptrpf_left_table_row_step))) * bcf_previous_scale_bptrpf_left_table) + (bcf_right_bptrpf_left_table_row_step))) /\ bcf_value_bptrpf_left_table_row_step = bcf_left_bptrpf_left_table_row_step + bcf_right_bptrpf_left_table_row_step))))))))))) -> (forall bcf_row_index_bptrpf_right_table. (exists bcf_lt_gap_bptrpf_right_table_row_bound. bcf_lt_gap_bptrpf_right_table_row_bound + S (bcf_row_index_bptrpf_right_table) = s) -> exists bcf_row_code_bptrpf_right_table bcf_row_scale_bptrpf_right_table. ((((exists bcf_height_bptrpf_right_table_decoded_row_code. bcf_height_bptrpf_right_table_decoded_row_code + S (bcf_row_code_bptrpf_right_table) = S ((S (bcf_row_index_bptrpf_right_table)) * dc)) /\ exists bcf_quotient_bptrpf_right_table_decoded_row_code. db = bcf_quotient_bptrpf_right_table_decoded_row_code * S ((S (bcf_row_index_bptrpf_right_table)) * dc) + (bcf_row_code_bptrpf_right_table))) /\ ((((exists bcf_height_bptrpf_right_table_decoded_row_scale. bcf_height_bptrpf_right_table_decoded_row_scale + S (bcf_row_scale_bptrpf_right_table) = S ((S (bcf_row_index_bptrpf_right_table)) * ec)) /\ exists bcf_quotient_bptrpf_right_table_decoded_row_scale. eb = bcf_quotient_bptrpf_right_table_decoded_row_scale * S ((S (bcf_row_index_bptrpf_right_table)) * ec) + (bcf_row_scale_bptrpf_right_table))) /\ ((bcf_row_index_bptrpf_right_table = 0 /\ (forall bcf_index_bptrpf_right_table_zero_row. (exists bcf_lt_gap_bptrpf_right_table_zero_row_bound. bcf_lt_gap_bptrpf_right_table_zero_row_bound + S (bcf_index_bptrpf_right_table_zero_row) = v) -> exists bcf_value_bptrpf_right_table_zero_row. ((((exists bcf_height_bptrpf_right_table_zero_row_entry. bcf_height_bptrpf_right_table_zero_row_entry + S (bcf_value_bptrpf_right_table_zero_row) = S ((S (bcf_index_bptrpf_right_table_zero_row)) * bcf_row_scale_bptrpf_right_table)) /\ exists bcf_quotient_bptrpf_right_table_zero_row_entry. bcf_row_code_bptrpf_right_table = bcf_quotient_bptrpf_right_table_zero_row_entry * S ((S (bcf_index_bptrpf_right_table_zero_row)) * bcf_row_scale_bptrpf_right_table) + (bcf_value_bptrpf_right_table_zero_row))) /\ ((bcf_index_bptrpf_right_table_zero_row = 0 /\ bcf_value_bptrpf_right_table_zero_row = 1) \/ exists bcf_predecessor_bptrpf_right_table_zero_row. bcf_index_bptrpf_right_table_zero_row = S bcf_predecessor_bptrpf_right_table_zero_row /\ bcf_value_bptrpf_right_table_zero_row = 0)))) \/ exists bcf_predecessor_bptrpf_right_table bcf_previous_code_bptrpf_right_table bcf_previous_scale_bptrpf_right_table. bcf_row_index_bptrpf_right_table = S bcf_predecessor_bptrpf_right_table /\ ((((exists bcf_height_bptrpf_right_table_decoded_previous_code. bcf_height_bptrpf_right_table_decoded_previous_code + S (bcf_previous_code_bptrpf_right_table) = S ((S (bcf_predecessor_bptrpf_right_table)) * dc)) /\ exists bcf_quotient_bptrpf_right_table_decoded_previous_code. db = bcf_quotient_bptrpf_right_table_decoded_previous_code * S ((S (bcf_predecessor_bptrpf_right_table)) * dc) + (bcf_previous_code_bptrpf_right_table))) /\ ((((exists bcf_height_bptrpf_right_table_decoded_previous_scale. bcf_height_bptrpf_right_table_decoded_previous_scale + S (bcf_previous_scale_bptrpf_right_table) = S ((S (bcf_predecessor_bptrpf_right_table)) * ec)) /\ exists bcf_quotient_bptrpf_right_table_decoded_previous_scale. eb = bcf_quotient_bptrpf_right_table_decoded_previous_scale * S ((S (bcf_predecessor_bptrpf_right_table)) * ec) + (bcf_previous_scale_bptrpf_right_table))) /\ (forall bcf_index_bptrpf_right_table_row_step. (exists bcf_lt_gap_bptrpf_right_table_row_step_bound. bcf_lt_gap_bptrpf_right_table_row_step_bound + S (bcf_index_bptrpf_right_table_row_step) = v) -> exists bcf_value_bptrpf_right_table_row_step. ((((exists bcf_height_bptrpf_right_table_row_step_entry. bcf_height_bptrpf_right_table_row_step_entry + S (bcf_value_bptrpf_right_table_row_step) = S ((S (bcf_index_bptrpf_right_table_row_step)) * bcf_row_scale_bptrpf_right_table)) /\ exists bcf_quotient_bptrpf_right_table_row_step_entry. bcf_row_code_bptrpf_right_table = bcf_quotient_bptrpf_right_table_row_step_entry * S ((S (bcf_index_bptrpf_right_table_row_step)) * bcf_row_scale_bptrpf_right_table) + (bcf_value_bptrpf_right_table_row_step))) /\ ((bcf_index_bptrpf_right_table_row_step = 0 /\ bcf_value_bptrpf_right_table_row_step = 1) \/ exists bcf_predecessor_bptrpf_right_table_row_step bcf_left_bptrpf_right_table_row_step bcf_right_bptrpf_right_table_row_step. bcf_index_bptrpf_right_table_row_step = S bcf_predecessor_bptrpf_right_table_row_step /\ ((((exists bcf_height_bptrpf_right_table_row_step_previous_left. bcf_height_bptrpf_right_table_row_step_previous_left + S (bcf_left_bptrpf_right_table_row_step) = S ((S (bcf_predecessor_bptrpf_right_table_row_step)) * bcf_previous_scale_bptrpf_right_table)) /\ exists bcf_quotient_bptrpf_right_table_row_step_previous_left. bcf_previous_code_bptrpf_right_table = bcf_quotient_bptrpf_right_table_row_step_previous_left * S ((S (bcf_predecessor_bptrpf_right_table_row_step)) * bcf_previous_scale_bptrpf_right_table) + (bcf_left_bptrpf_right_table_row_step))) /\ ((((exists bcf_height_bptrpf_right_table_row_step_previous_right. bcf_height_bptrpf_right_table_row_step_previous_right + S (bcf_right_bptrpf_right_table_row_step) = S ((S (S (bcf_predecessor_bptrpf_right_table_row_step))) * bcf_previous_scale_bptrpf_right_table)) /\ exists bcf_quotient_bptrpf_right_table_row_step_previous_right. bcf_previous_code_bptrpf_right_table = bcf_quotient_bptrpf_right_table_row_step_previous_right * S ((S (S (bcf_predecessor_bptrpf_right_table_row_step))) * bcf_previous_scale_bptrpf_right_table) + (bcf_right_bptrpf_right_table_row_step))) /\ bcf_value_bptrpf_right_table_row_step = bcf_left_bptrpf_right_table_row_step + bcf_right_bptrpf_right_table_row_step))))))))))) -> (exists bcf_lt_gap_bptrpf_left_row_bound. bcf_lt_gap_bptrpf_left_row_bound + S (i) = r) -> (exists bcf_lt_gap_bptrpf_right_row_bound. bcf_lt_gap_bptrpf_right_row_bound + S (i) = s) -> (((exists bcf_height_bptrpf_left_code_at. bcf_height_bptrpf_left_code_at + S (b) = S ((S (i)) * bc)) /\ exists bcf_quotient_bptrpf_left_code_at. bb = bcf_quotient_bptrpf_left_code_at * S ((S (i)) * bc) + (b))) -> (((exists bcf_height_bptrpf_left_scale_at. bcf_height_bptrpf_left_scale_at + S (c) = S ((S (i)) * sc)) /\ exists bcf_quotient_bptrpf_left_scale_at. sb = bcf_quotient_bptrpf_left_scale_at * S ((S (i)) * sc) + (c))) -> (((exists bcf_height_bptrpf_right_code_at. bcf_height_bptrpf_right_code_at + S (d) = S ((S (i)) * dc)) /\ exists bcf_quotient_bptrpf_right_code_at. db = bcf_quotient_bptrpf_right_code_at * S ((S (i)) * dc) + (d))) -> (((exists bcf_height_bptrpf_right_scale_at. bcf_height_bptrpf_right_scale_at + S (e) = S ((S (i)) * ec)) /\ exists bcf_quotient_bptrpf_right_scale_at. eb = bcf_quotient_bptrpf_right_scale_at * S ((S (i)) * ec) + (e))) -> (forall bcf_index_bptrpf_agree bcf_left_value_bptrpf_agree bcf_right_value_bptrpf_agree. (exists bcf_lt_gap_bptrpf_agree_left_bound. bcf_lt_gap_bptrpf_agree_left_bound + S (bcf_index_bptrpf_agree) = w) -> (exists bcf_lt_gap_bptrpf_agree_right_bound. bcf_lt_gap_bptrpf_agree_right_bound + S (bcf_index_bptrpf_agree) = v) -> (((exists bcf_height_bptrpf_agree_left_entry. bcf_height_bptrpf_agree_left_entry + S (bcf_left_value_bptrpf_agree) = S ((S (bcf_index_bptrpf_agree)) * c)) /\ exists bcf_quotient_bptrpf_agree_left_entry. b = bcf_quotient_bptrpf_agree_left_entry * S ((S (bcf_index_bptrpf_agree)) * c) + (bcf_left_value_bptrpf_agree))) -> (((exists bcf_height_bptrpf_agree_right_entry. bcf_height_bptrpf_agree_right_entry + S (bcf_right_value_bptrpf_agree) = S ((S (bcf_index_bptrpf_agree)) * e)) /\ exists bcf_quotient_bptrpf_agree_right_entry. d = bcf_quotient_bptrpf_agree_right_entry * S ((S (bcf_index_bptrpf_agree)) * e) + (bcf_right_value_bptrpf_agree))) -> bcf_left_value_bptrpf_agree = bcf_right_value_bptrpf_agree)Proof neighborhood
Direct theorem prerequisites
BT0042 beta_at_unique BT000C succ_ne_zero BT000D succ_injective BT0019 lt_to_le BT00T9 beta_pascal_zero_row_pointwise_functional BT00TA beta_pascal_row_step_pointwise_functionalDirect theorem dependents
Definition-aware tactic body
Only local propositions introduced by have or suffices are compacted. Every changed line has an exact-AST conservative-expansion receipt; the kernel still receives the immutable original tactic script.
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 (6)
01Fix variables and assumptionsL1–10
02Fix variables and assumptionsL11–13
03Induction on iL14–23
04Fix variables and assumptionsL24–26
05Establish hleft_rowL27–30
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hleft table.
- L27
have hleft_row : ∃ bcf_row_code_bptrpf_left_base. ∃ bcf_row_scale_bptrpf_left_base. BetaAt(bb,bc,0,bcf_row_code_bptrpf_left_base) ∧ (BetaAt(sb,sc,0,bcf_row_scale_bptrpf_left_base) ∧ (0 = 0 ∧ (∀ x. Lt(x,w) → ∃ y. BetaAt(bcf_row_code_bptrpf_left_base,bcf_row_scale_bptrpf_left_base,x,y) ∧ (x = 0 ∧ y = 1 ∨ (∃ z. x = S z ∧ y = 0))) ∨ (∃ x. ∃ y. ∃ z. 0 = S x ∧ (BetaAt(bb,bc,x,y) ∧ (BetaAt(sb,sc,x,z) ∧ (∀ n. Lt(n,w) → ∃ m. BetaAt(bcf_row_code_bptrpf_left_base,bcf_row_scale_bptrpf_left_base,n,m) ∧ (n = 0 ∧ m = 1 ∨ (∃ k. ∃ i. ∃ j. n = S k ∧ (BetaAt(y,z,k,i) ∧ (BetaAt(y,z,S k,j) ∧ m = i + j))))))))))Definitions: BetaAt(bb,bc,0,bcf_row_code_bptrpf_left_base)BetaAt(sb,sc,0,bcf_row_scale_bptrpf_left_base)Lt(x,w)BetaAt(bcf_row_code_bptrpf_left_base,bcf_row_scale_bptrpf_left_base,x,y)BetaAt(bb,bc,x,y)BetaAt(sb,sc,x,z)Lt(n,w)BetaAt(bcf_row_code_bptrpf_left_base,bcf_row_scale_bptrpf_left_base,n,m)BetaAt(y,z,k,i)BetaAt(y,z,S k,j)Original native command in the exact edition - L28
specialize hleft_table 0 - L29
apply hleft_table - L30
exact hir
06Separate the logical casesL31–34
07Establish hright_rowL35–38
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hright table.
- L35Definitions: BetaAt(db,dc,0,bcf_row_code_bptrpf_right_base)BetaAt(eb,ec,0,bcf_row_scale_bptrpf_right_base)Lt(x,v)BetaAt(bcf_row_code_bptrpf_right_base,bcf_row_scale_bptrpf_right_base,x,y)BetaAt(db,dc,x,y)BetaAt(eb,ec,x,z)Lt(n,v)BetaAt(bcf_row_code_bptrpf_right_base,bcf_row_scale_bptrpf_right_base,n,m)BetaAt(y,z,k,i)BetaAt(y,z,S k,j)Original native command in the exact edition
have hright_row · expand full local formula (606 characters)
have hright_row : ∃ bcf_row_code_bptrpf_right_base. ∃ bcf_row_scale_bptrpf_right_base. BetaAt(db,dc,0,bcf_row_code_bptrpf_right_base) ∧ (BetaAt(eb,ec,0,bcf_row_scale_bptrpf_right_base) ∧ (0 = 0 ∧ (∀ x. Lt(x,v) → ∃ y. BetaAt(bcf_row_code_bptrpf_right_base,bcf_row_scale_bptrpf_right_base,x,y) ∧ (x = 0 ∧ y = 1 ∨ (∃ z. x = S z ∧ y = 0))) ∨ (∃ x. ∃ y. ∃ z. 0 = S x ∧ (BetaAt(db,dc,x,y) ∧ (BetaAt(eb,ec,x,z) ∧ (∀ n. Lt(n,v) → ∃ m. BetaAt(bcf_row_code_bptrpf_right_base,bcf_row_scale_bptrpf_right_base,n,m) ∧ (n = 0 ∧ m = 1 ∨ (∃ k. ∃ i. ∃ j. n = S k ∧ (BetaAt(y,z,k,i) ∧ (BetaAt(y,z,S k,j) ∧ m = i + j)))))))))) - L36
specialize hright_table 0 - L37
apply hright_table - L38
exact his
08Separate the logical casesL39–42
09Establish hbL43–51
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at unique.
10Establish hcL52–60
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at unique.
11Establish hdL61–69
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at unique.
12Establish heL70–78
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at unique.
13Separate the logical casesL79–82
14Fix variables and assumptionsL83–89
15Establish hleft_semanticL90–94
Establish this local claim before using it. It is not an additional assumption.
- L90
have hleft_semantic : BetaAt(x,x1,j,u)Definitions: BetaAt(x,x1,j,u)Original native command in the exact edition - L91
rewrite <- hb - L92
rewrite <- hc - L93
rewrite <- hc - L94
exact hleft_entry
16Establish hright_semanticL95–104
Establish this local claim before using it. It is not an additional assumption.
- L95
have hright_semantic : BetaAt(x2,x3,j,y)Definitions: BetaAt(x2,x3,j,y)Original native command in the exact edition - L96
rewrite <- hd - L97
rewrite <- he - L98
rewrite <- he - L99
exact hright_entry - L100
specialize beta_pascal_zero_row_pointwise_functional x - L101
specialize beta_pascal_zero_row_pointwise_functional x1 - L102
specialize beta_pascal_zero_row_pointwise_functional x2 - L103
specialize beta_pascal_zero_row_pointwise_functional x3 - L104
specialize beta_pascal_zero_row_pointwise_functional w
17Use earlier factsL105–114
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L105
specialize beta_pascal_zero_row_pointwise_functional v - L106
specialize beta_pascal_zero_row_pointwise_functional j - L107
specialize beta_pascal_zero_row_pointwise_functional u - L108
specialize beta_pascal_zero_row_pointwise_functional y - L109
apply beta_pascal_zero_row_pointwise_functional - L110
exact hleft_row_witness_witness_right_right_left_right - L111
exact hright_row_witness_witness_right_right_left_right - L112
exact hjw - L113
exact hjv - L114
exact hleft_semantic
18Use earlier factsL115–115
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L115
exact hright_semantic
19Separate the logical casesL116–120
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
20Establish hbadL121–126
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply succ ne zero.
21Separate the logical casesL127–131
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
22Establish hbadL132–141
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply succ ne zero.
23Fix variables and assumptionsL142–149
24Establish hleft_rowL150–153
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hleft table.
- L150Definitions: BetaAt(bb,bc,S i,bcf_row_code_bptrpf_left_step)BetaAt(sb,sc,S i,bcf_row_scale_bptrpf_left_step)Lt(x,w)BetaAt(bcf_row_code_bptrpf_left_step,bcf_row_scale_bptrpf_left_step,x,y)BetaAt(bb,bc,x,y)BetaAt(sb,sc,x,z)Lt(n,w)BetaAt(bcf_row_code_bptrpf_left_step,bcf_row_scale_bptrpf_left_step,n,m)BetaAt(y,z,k,j)BetaAt(y,z,S k,u)Original native command in the exact edition
have hleft_row · expand full local formula (605 characters)
have hleft_row : ∃ bcf_row_code_bptrpf_left_step. ∃ bcf_row_scale_bptrpf_left_step. BetaAt(bb,bc,S i,bcf_row_code_bptrpf_left_step) ∧ (BetaAt(sb,sc,S i,bcf_row_scale_bptrpf_left_step) ∧ (S i = 0 ∧ (∀ x. Lt(x,w) → ∃ y. BetaAt(bcf_row_code_bptrpf_left_step,bcf_row_scale_bptrpf_left_step,x,y) ∧ (x = 0 ∧ y = 1 ∨ (∃ z. x = S z ∧ y = 0))) ∨ (∃ x. ∃ y. ∃ z. S i = S x ∧ (BetaAt(bb,bc,x,y) ∧ (BetaAt(sb,sc,x,z) ∧ (∀ n. Lt(n,w) → ∃ m. BetaAt(bcf_row_code_bptrpf_left_step,bcf_row_scale_bptrpf_left_step,n,m) ∧ (n = 0 ∧ m = 1 ∨ (∃ k. ∃ j. ∃ u. n = S k ∧ (BetaAt(y,z,k,j) ∧ (BetaAt(y,z,S k,u) ∧ m = j + u)))))))))) - L151
specialize hleft_table (S i) - L152
apply hleft_table - L153
exact hir
25Separate the logical casesL154–157
26Establish hright_rowL158–161
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hright table.
- L158Definitions: BetaAt(db,dc,S i,bcf_row_code_bptrpf_right_step)BetaAt(eb,ec,S i,bcf_row_scale_bptrpf_right_step)Lt(x,v)BetaAt(bcf_row_code_bptrpf_right_step,bcf_row_scale_bptrpf_right_step,x,y)BetaAt(db,dc,x,y)BetaAt(eb,ec,x,z)Lt(n,v)BetaAt(bcf_row_code_bptrpf_right_step,bcf_row_scale_bptrpf_right_step,n,m)BetaAt(y,z,k,j)BetaAt(y,z,S k,u)Original native command in the exact edition
have hright_row · expand full local formula (614 characters)
have hright_row : ∃ bcf_row_code_bptrpf_right_step. ∃ bcf_row_scale_bptrpf_right_step. BetaAt(db,dc,S i,bcf_row_code_bptrpf_right_step) ∧ (BetaAt(eb,ec,S i,bcf_row_scale_bptrpf_right_step) ∧ (S i = 0 ∧ (∀ x. Lt(x,v) → ∃ y. BetaAt(bcf_row_code_bptrpf_right_step,bcf_row_scale_bptrpf_right_step,x,y) ∧ (x = 0 ∧ y = 1 ∨ (∃ z. x = S z ∧ y = 0))) ∨ (∃ x. ∃ y. ∃ z. S i = S x ∧ (BetaAt(db,dc,x,y) ∧ (BetaAt(eb,ec,x,z) ∧ (∀ n. Lt(n,v) → ∃ m. BetaAt(bcf_row_code_bptrpf_right_step,bcf_row_scale_bptrpf_right_step,n,m) ∧ (n = 0 ∧ m = 1 ∨ (∃ k. ∃ j. ∃ u. n = S k ∧ (BetaAt(y,z,k,j) ∧ (BetaAt(y,z,S k,u) ∧ m = j + u)))))))))) - L159
specialize hright_table (S i) - L160
apply hright_table - L161
exact his
27Separate the logical casesL162–165
28Establish hbL166–174
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at unique.
29Establish hcL175–183
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at unique.
30Establish hdL184–192
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at unique.
31Establish heL193–201
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at unique.
32Separate the logical casesL202–204
33Use earlier factsL205–207
34Separate the logical casesL208–216
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L208
cases hleft_row_witness_witness_right_right_right - L209
cases hleft_row_witness_witness_right_right_right_witness - L210
cases hleft_row_witness_witness_right_right_right_witness_witness - L211
cases hleft_row_witness_witness_right_right_right_witness_witness_witness - L212
cases hleft_row_witness_witness_right_right_right_witness_witness_witness_right - L213
cases hleft_row_witness_witness_right_right_right_witness_witness_witness_right_right - L214
cases hright_row_witness_witness_right_right - L215
cases hright_row_witness_witness_right_right_left - L216
exfalso
35Use earlier factsL217–219
36Separate the logical casesL220–225
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L220
cases hright_row_witness_witness_right_right_right - L221
cases hright_row_witness_witness_right_right_right_witness - L222
cases hright_row_witness_witness_right_right_right_witness_witness - L223
cases hright_row_witness_witness_right_right_right_witness_witness_witness - L224
cases hright_row_witness_witness_right_right_right_witness_witness_witness_right - L225
cases hright_row_witness_witness_right_right_right_witness_witness_witness_right_right
37Establish hleft_predecessorL226–230
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply succ injective.
38Establish hright_predecessorL231–235
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply succ injective.
39Establish hprevious_left_boundL236–240
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply lt to le.
40Establish hprevious_right_boundL241–245
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply lt to le.
41Establish hprevious_left_codeL246–249
Establish this local claim before using it. It is not an additional assumption.
- L246
have hprevious_left_code : BetaAt(bb,bc,i,x5)Definitions: BetaAt(bb,bc,i,x5)Original native command in the exact edition - L247
rewrite hleft_predecessor - L248
rewrite hleft_predecessor - L249
exact hleft_row_witness_witness_right_right_right_witness_witness_witness_right_left
42Establish hprevious_left_scaleL250–253
Establish this local claim before using it. It is not an additional assumption.
- L250
have hprevious_left_scale : BetaAt(sb,sc,i,x6)Definitions: BetaAt(sb,sc,i,x6)Original native command in the exact edition - L251
rewrite hleft_predecessor - L252
rewrite hleft_predecessor - L253
exact hleft_row_witness_witness_right_right_right_witness_witness_witness_right_right_left
43Establish hprevious_right_codeL254–257
Establish this local claim before using it. It is not an additional assumption.
- L254
have hprevious_right_code : BetaAt(db,dc,i,x8)Definitions: BetaAt(db,dc,i,x8)Original native command in the exact edition - L255
rewrite hright_predecessor - L256
rewrite hright_predecessor - L257
exact hright_row_witness_witness_right_right_right_witness_witness_witness_right_left
44Establish hprevious_right_scaleL258–261
Establish this local claim before using it. It is not an additional assumption.
- L258
have hprevious_right_scale : BetaAt(eb,ec,i,x9)Definitions: BetaAt(eb,ec,i,x9)Original native command in the exact edition - L259
rewrite hright_predecessor - L260
rewrite hright_predecessor - L261
exact hright_row_witness_witness_right_right_right_witness_witness_witness_right_right_left
45Establish hcurrent_semanticL262–271
Establish this local claim before using it. It is not an additional assumption.
- L262
have hcurrent_semantic : ∀ bcf_index_bptrpf_step_semantic_agree. ∀ bcf_left_value_bptrpf_step_semantic_agree. ∀ bcf_right_value_bptrpf_step_semantic_agree. Lt(bcf_index_bptrpf_step_semantic_agree,w) → Lt(bcf_index_bptrpf_step_semantic_agree,v) → BetaAt(x,x1,bcf_index_bptrpf_step_semantic_agree,bcf_left_value_bptrpf_step_semantic_agree) → BetaAt(x2,x3,bcf_index_bptrpf_step_semantic_agree,bcf_right_value_bptrpf_step_semantic_agree) → bcf_left_value_bptrpf_step_semantic_agree = bcf_right_value_bptrpf_step_semantic_agreeDefinitions: Lt(bcf_index_bptrpf_step_semantic_agree,w)Lt(bcf_index_bptrpf_step_semantic_agree,v)BetaAt(x,x1,bcf_index_bptrpf_step_semantic_agree,bcf_left_value_bptrpf_step_semantic_agree)BetaAt(x2,x3,bcf_index_bptrpf_step_semantic_agree,bcf_right_value_bptrpf_step_semantic_agree)Original native command in the exact edition - L263
specialize beta_pascal_row_step_pointwise_functional x5 - L264
specialize beta_pascal_row_step_pointwise_functional x6 - L265
specialize beta_pascal_row_step_pointwise_functional x8 - L266
specialize beta_pascal_row_step_pointwise_functional x9 - L267
specialize beta_pascal_row_step_pointwise_functional x - L268
specialize beta_pascal_row_step_pointwise_functional x1 - L269
specialize beta_pascal_row_step_pointwise_functional x2 - L270
specialize beta_pascal_row_step_pointwise_functional x3 - L271
specialize beta_pascal_row_step_pointwise_functional w
46Use earlier factsL272–281
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L272
specialize beta_pascal_row_step_pointwise_functional v - L273
apply beta_pascal_row_step_pointwise_functional - L274
exact hleft_row_witness_witness_right_right_right_witness_witness_witness_right_right_right - L275
exact hright_row_witness_witness_right_right_right_witness_witness_witness_right_right_right - L276
specialize IH x5 - L277
specialize IH x6 - L278
specialize IH x8 - L279
specialize IH x9 - L280
apply IH - L281
exact hleft_table
47Use earlier factsL282–288
48Fix variables and assumptionsL289–295
49Establish hleft_semanticL296–300
Establish this local claim before using it. It is not an additional assumption.
- L296
have hleft_semantic : BetaAt(x,x1,j,u)Definitions: BetaAt(x,x1,j,u)Original native command in the exact edition - L297
rewrite <- hb - L298
rewrite <- hc - L299
rewrite <- hc - L300
exact hleft_entry
50Establish hright_semanticL301–310
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hcurrent semantic.
- L301
have hright_semantic : BetaAt(x2,x3,j,y)Definitions: BetaAt(x2,x3,j,y)Original native command in the exact edition - L302
rewrite <- hd - L303
rewrite <- he - L304
rewrite <- he - L305
exact hright_entry - L306
specialize hcurrent_semantic j - L307
specialize hcurrent_semantic u - L308
specialize hcurrent_semantic y - L309
apply hcurrent_semantic - L310
exact hjw
Original defined command ledger · 313 lines
- 0001
intro bb - 0002
intro bc - 0003
intro sb - 0004
intro sc - 0005
intro w - 0006
intro r - 0007
intro db - 0008
intro dc - 0009
intro eb - 0010
intro ec - 0011
intro v - 0012
intro s - 0013
intro i - 0014
induction i - 0015
intro b - 0016
intro c - 0017
intro d - 0018
intro e - 0019
intro hleft_table - 0020
intro hright_table - 0021
intro hir - 0022
intro his - 0023
intro hbb - 0024
intro hsb - 0025
intro hdb - 0026
intro heb - 0027
have hleft_row : ∃ bcf_row_code_bptrpf_left_base. ∃ bcf_row_scale_bptrpf_left_base. BetaAt(bb,bc,0,bcf_row_code_bptrpf_left_base) ∧ (BetaAt(sb,sc,0,bcf_row_scale_bptrpf_left_base) ∧ (0 = 0 ∧ (∀ x. Lt(x,w) → ∃ y. BetaAt(bcf_row_code_bptrpf_left_base,bcf_row_scale_bptrpf_left_base,x,y) ∧ (x = 0 ∧ y = 1 ∨ (∃ z. x = S z ∧ y = 0))) ∨ (∃ x. ∃ y. ∃ z. 0 = S x ∧ (BetaAt(bb,bc,x,y) ∧ (BetaAt(sb,sc,x,z) ∧ (∀ n. Lt(n,w) → ∃ m. BetaAt(bcf_row_code_bptrpf_left_base,bcf_row_scale_bptrpf_left_base,n,m) ∧ (n = 0 ∧ m = 1 ∨ (∃ k. ∃ i. ∃ j. n = S k ∧ (BetaAt(y,z,k,i) ∧ (BetaAt(y,z,S k,j) ∧ m = i + j))))))))))Exact native replay line
have hleft_row : exists bcf_row_code_bptrpf_left_base bcf_row_scale_bptrpf_left_base. ((((exists bcf_height_bptrpf_left_base_decoded_row_code. bcf_height_bptrpf_left_base_decoded_row_code + S (bcf_row_code_bptrpf_left_base) = S ((S (0)) * bc)) /\ exists bcf_quotient_bptrpf_left_base_decoded_row_code. bb = bcf_quotient_bptrpf_left_base_decoded_row_code * S ((S (0)) * bc) + (bcf_row_code_bptrpf_left_base))) /\ ((((exists bcf_height_bptrpf_left_base_decoded_row_scale. bcf_height_bptrpf_left_base_decoded_row_scale + S (bcf_row_scale_bptrpf_left_base) = S ((S (0)) * sc)) /\ exists bcf_quotient_bptrpf_left_base_decoded_row_scale. sb = bcf_quotient_bptrpf_left_base_decoded_row_scale * S ((S (0)) * sc) + (bcf_row_scale_bptrpf_left_base))) /\ ((0 = 0 /\ (forall bcf_index_bptrpf_left_base_zero_row. (exists bcf_lt_gap_bptrpf_left_base_zero_row_bound. bcf_lt_gap_bptrpf_left_base_zero_row_bound + S (bcf_index_bptrpf_left_base_zero_row) = w) -> exists bcf_value_bptrpf_left_base_zero_row. ((((exists bcf_height_bptrpf_left_base_zero_row_entry. bcf_height_bptrpf_left_base_zero_row_entry + S (bcf_value_bptrpf_left_base_zero_row) = S ((S (bcf_index_bptrpf_left_base_zero_row)) * bcf_row_scale_bptrpf_left_base)) /\ exists bcf_quotient_bptrpf_left_base_zero_row_entry. bcf_row_code_bptrpf_left_base = bcf_quotient_bptrpf_left_base_zero_row_entry * S ((S (bcf_index_bptrpf_left_base_zero_row)) * bcf_row_scale_bptrpf_left_base) + (bcf_value_bptrpf_left_base_zero_row))) /\ ((bcf_index_bptrpf_left_base_zero_row = 0 /\ bcf_value_bptrpf_left_base_zero_row = 1) \/ exists bcf_predecessor_bptrpf_left_base_zero_row. bcf_index_bptrpf_left_base_zero_row = S bcf_predecessor_bptrpf_left_base_zero_row /\ bcf_value_bptrpf_left_base_zero_row = 0)))) \/ exists bcf_predecessor_bptrpf_left_base bcf_previous_code_bptrpf_left_base bcf_previous_scale_bptrpf_left_base. 0 = S bcf_predecessor_bptrpf_left_base /\ ((((exists bcf_height_bptrpf_left_base_decoded_previous_code. bcf_height_bptrpf_left_base_decoded_previous_code + S (bcf_previous_code_bptrpf_left_base) = S ((S (bcf_predecessor_bptrpf_left_base)) * bc)) /\ exists bcf_quotient_bptrpf_left_base_decoded_previous_code. bb = bcf_quotient_bptrpf_left_base_decoded_previous_code * S ((S (bcf_predecessor_bptrpf_left_base)) * bc) + (bcf_previous_code_bptrpf_left_base))) /\ ((((exists bcf_height_bptrpf_left_base_decoded_previous_scale. bcf_height_bptrpf_left_base_decoded_previous_scale + S (bcf_previous_scale_bptrpf_left_base) = S ((S (bcf_predecessor_bptrpf_left_base)) * sc)) /\ exists bcf_quotient_bptrpf_left_base_decoded_previous_scale. sb = bcf_quotient_bptrpf_left_base_decoded_previous_scale * S ((S (bcf_predecessor_bptrpf_left_base)) * sc) + (bcf_previous_scale_bptrpf_left_base))) /\ (forall bcf_index_bptrpf_left_base_row_step. (exists bcf_lt_gap_bptrpf_left_base_row_step_bound. bcf_lt_gap_bptrpf_left_base_row_step_bound + S (bcf_index_bptrpf_left_base_row_step) = w) -> exists bcf_value_bptrpf_left_base_row_step. ((((exists bcf_height_bptrpf_left_base_row_step_entry. bcf_height_bptrpf_left_base_row_step_entry + S (bcf_value_bptrpf_left_base_row_step) = S ((S (bcf_index_bptrpf_left_base_row_step)) * bcf_row_scale_bptrpf_left_base)) /\ exists bcf_quotient_bptrpf_left_base_row_step_entry. bcf_row_code_bptrpf_left_base = bcf_quotient_bptrpf_left_base_row_step_entry * S ((S (bcf_index_bptrpf_left_base_row_step)) * bcf_row_scale_bptrpf_left_base) + (bcf_value_bptrpf_left_base_row_step))) /\ ((bcf_index_bptrpf_left_base_row_step = 0 /\ bcf_value_bptrpf_left_base_row_step = 1) \/ exists bcf_predecessor_bptrpf_left_base_row_step bcf_left_bptrpf_left_base_row_step bcf_right_bptrpf_left_base_row_step. bcf_index_bptrpf_left_base_row_step = S bcf_predecessor_bptrpf_left_base_row_step /\ ((((exists bcf_height_bptrpf_left_base_row_step_previous_left. bcf_height_bptrpf_left_base_row_step_previous_left + S (bcf_left_bptrpf_left_base_row_step) = S ((S (bcf_predecessor_bptrpf_left_base_row_step)) * bcf_previous_scale_bptrpf_left_base)) /\ exists bcf_quotient_bptrpf_left_base_row_step_previous_left. bcf_previous_code_bptrpf_left_base = bcf_quotient_bptrpf_left_base_row_step_previous_left * S ((S (bcf_predecessor_bptrpf_left_base_row_step)) * bcf_previous_scale_bptrpf_left_base) + (bcf_left_bptrpf_left_base_row_step))) /\ ((((exists bcf_height_bptrpf_left_base_row_step_previous_right. bcf_height_bptrpf_left_base_row_step_previous_right + S (bcf_right_bptrpf_left_base_row_step) = S ((S (S (bcf_predecessor_bptrpf_left_base_row_step))) * bcf_previous_scale_bptrpf_left_base)) /\ exists bcf_quotient_bptrpf_left_base_row_step_previous_right. bcf_previous_code_bptrpf_left_base = bcf_quotient_bptrpf_left_base_row_step_previous_right * S ((S (S (bcf_predecessor_bptrpf_left_base_row_step))) * bcf_previous_scale_bptrpf_left_base) + (bcf_right_bptrpf_left_base_row_step))) /\ bcf_value_bptrpf_left_base_row_step = bcf_left_bptrpf_left_base_row_step + bcf_right_bptrpf_left_base_row_step)))))))))) - 0028
specialize hleft_table 0 - 0029
apply hleft_table - 0030
exact hir - 0031
cases hleft_row - 0032
cases hleft_row_witness - 0033
cases hleft_row_witness_witness - 0034
cases hleft_row_witness_witness_right - 0035
have hright_row : ∃ bcf_row_code_bptrpf_right_base. ∃ bcf_row_scale_bptrpf_right_base. BetaAt(db,dc,0,bcf_row_code_bptrpf_right_base) ∧ (BetaAt(eb,ec,0,bcf_row_scale_bptrpf_right_base) ∧ (0 = 0 ∧ (∀ x. Lt(x,v) → ∃ y. BetaAt(bcf_row_code_bptrpf_right_base,bcf_row_scale_bptrpf_right_base,x,y) ∧ (x = 0 ∧ y = 1 ∨ (∃ z. x = S z ∧ y = 0))) ∨ (∃ x. ∃ y. ∃ z. 0 = S x ∧ (BetaAt(db,dc,x,y) ∧ (BetaAt(eb,ec,x,z) ∧ (∀ n. Lt(n,v) → ∃ m. BetaAt(bcf_row_code_bptrpf_right_base,bcf_row_scale_bptrpf_right_base,n,m) ∧ (n = 0 ∧ m = 1 ∨ (∃ k. ∃ i. ∃ j. n = S k ∧ (BetaAt(y,z,k,i) ∧ (BetaAt(y,z,S k,j) ∧ m = i + j))))))))))Exact native replay line
have hright_row : exists bcf_row_code_bptrpf_right_base bcf_row_scale_bptrpf_right_base. ((((exists bcf_height_bptrpf_right_base_decoded_row_code. bcf_height_bptrpf_right_base_decoded_row_code + S (bcf_row_code_bptrpf_right_base) = S ((S (0)) * dc)) /\ exists bcf_quotient_bptrpf_right_base_decoded_row_code. db = bcf_quotient_bptrpf_right_base_decoded_row_code * S ((S (0)) * dc) + (bcf_row_code_bptrpf_right_base))) /\ ((((exists bcf_height_bptrpf_right_base_decoded_row_scale. bcf_height_bptrpf_right_base_decoded_row_scale + S (bcf_row_scale_bptrpf_right_base) = S ((S (0)) * ec)) /\ exists bcf_quotient_bptrpf_right_base_decoded_row_scale. eb = bcf_quotient_bptrpf_right_base_decoded_row_scale * S ((S (0)) * ec) + (bcf_row_scale_bptrpf_right_base))) /\ ((0 = 0 /\ (forall bcf_index_bptrpf_right_base_zero_row. (exists bcf_lt_gap_bptrpf_right_base_zero_row_bound. bcf_lt_gap_bptrpf_right_base_zero_row_bound + S (bcf_index_bptrpf_right_base_zero_row) = v) -> exists bcf_value_bptrpf_right_base_zero_row. ((((exists bcf_height_bptrpf_right_base_zero_row_entry. bcf_height_bptrpf_right_base_zero_row_entry + S (bcf_value_bptrpf_right_base_zero_row) = S ((S (bcf_index_bptrpf_right_base_zero_row)) * bcf_row_scale_bptrpf_right_base)) /\ exists bcf_quotient_bptrpf_right_base_zero_row_entry. bcf_row_code_bptrpf_right_base = bcf_quotient_bptrpf_right_base_zero_row_entry * S ((S (bcf_index_bptrpf_right_base_zero_row)) * bcf_row_scale_bptrpf_right_base) + (bcf_value_bptrpf_right_base_zero_row))) /\ ((bcf_index_bptrpf_right_base_zero_row = 0 /\ bcf_value_bptrpf_right_base_zero_row = 1) \/ exists bcf_predecessor_bptrpf_right_base_zero_row. bcf_index_bptrpf_right_base_zero_row = S bcf_predecessor_bptrpf_right_base_zero_row /\ bcf_value_bptrpf_right_base_zero_row = 0)))) \/ exists bcf_predecessor_bptrpf_right_base bcf_previous_code_bptrpf_right_base bcf_previous_scale_bptrpf_right_base. 0 = S bcf_predecessor_bptrpf_right_base /\ ((((exists bcf_height_bptrpf_right_base_decoded_previous_code. bcf_height_bptrpf_right_base_decoded_previous_code + S (bcf_previous_code_bptrpf_right_base) = S ((S (bcf_predecessor_bptrpf_right_base)) * dc)) /\ exists bcf_quotient_bptrpf_right_base_decoded_previous_code. db = bcf_quotient_bptrpf_right_base_decoded_previous_code * S ((S (bcf_predecessor_bptrpf_right_base)) * dc) + (bcf_previous_code_bptrpf_right_base))) /\ ((((exists bcf_height_bptrpf_right_base_decoded_previous_scale. bcf_height_bptrpf_right_base_decoded_previous_scale + S (bcf_previous_scale_bptrpf_right_base) = S ((S (bcf_predecessor_bptrpf_right_base)) * ec)) /\ exists bcf_quotient_bptrpf_right_base_decoded_previous_scale. eb = bcf_quotient_bptrpf_right_base_decoded_previous_scale * S ((S (bcf_predecessor_bptrpf_right_base)) * ec) + (bcf_previous_scale_bptrpf_right_base))) /\ (forall bcf_index_bptrpf_right_base_row_step. (exists bcf_lt_gap_bptrpf_right_base_row_step_bound. bcf_lt_gap_bptrpf_right_base_row_step_bound + S (bcf_index_bptrpf_right_base_row_step) = v) -> exists bcf_value_bptrpf_right_base_row_step. ((((exists bcf_height_bptrpf_right_base_row_step_entry. bcf_height_bptrpf_right_base_row_step_entry + S (bcf_value_bptrpf_right_base_row_step) = S ((S (bcf_index_bptrpf_right_base_row_step)) * bcf_row_scale_bptrpf_right_base)) /\ exists bcf_quotient_bptrpf_right_base_row_step_entry. bcf_row_code_bptrpf_right_base = bcf_quotient_bptrpf_right_base_row_step_entry * S ((S (bcf_index_bptrpf_right_base_row_step)) * bcf_row_scale_bptrpf_right_base) + (bcf_value_bptrpf_right_base_row_step))) /\ ((bcf_index_bptrpf_right_base_row_step = 0 /\ bcf_value_bptrpf_right_base_row_step = 1) \/ exists bcf_predecessor_bptrpf_right_base_row_step bcf_left_bptrpf_right_base_row_step bcf_right_bptrpf_right_base_row_step. bcf_index_bptrpf_right_base_row_step = S bcf_predecessor_bptrpf_right_base_row_step /\ ((((exists bcf_height_bptrpf_right_base_row_step_previous_left. bcf_height_bptrpf_right_base_row_step_previous_left + S (bcf_left_bptrpf_right_base_row_step) = S ((S (bcf_predecessor_bptrpf_right_base_row_step)) * bcf_previous_scale_bptrpf_right_base)) /\ exists bcf_quotient_bptrpf_right_base_row_step_previous_left. bcf_previous_code_bptrpf_right_base = bcf_quotient_bptrpf_right_base_row_step_previous_left * S ((S (bcf_predecessor_bptrpf_right_base_row_step)) * bcf_previous_scale_bptrpf_right_base) + (bcf_left_bptrpf_right_base_row_step))) /\ ((((exists bcf_height_bptrpf_right_base_row_step_previous_right. bcf_height_bptrpf_right_base_row_step_previous_right + S (bcf_right_bptrpf_right_base_row_step) = S ((S (S (bcf_predecessor_bptrpf_right_base_row_step))) * bcf_previous_scale_bptrpf_right_base)) /\ exists bcf_quotient_bptrpf_right_base_row_step_previous_right. bcf_previous_code_bptrpf_right_base = bcf_quotient_bptrpf_right_base_row_step_previous_right * S ((S (S (bcf_predecessor_bptrpf_right_base_row_step))) * bcf_previous_scale_bptrpf_right_base) + (bcf_right_bptrpf_right_base_row_step))) /\ bcf_value_bptrpf_right_base_row_step = bcf_left_bptrpf_right_base_row_step + bcf_right_bptrpf_right_base_row_step)))))))))) - 0036
specialize hright_table 0 - 0037
apply hright_table - 0038
exact his - 0039
cases hright_row - 0040
cases hright_row_witness - 0041
cases hright_row_witness_witness - 0042
cases hright_row_witness_witness_right - 0043
have hb : b = x - 0044
specialize beta_at_unique bb - 0045
specialize beta_at_unique bc - 0046
specialize beta_at_unique 0 - 0047
specialize beta_at_unique b - 0048
specialize beta_at_unique x - 0049
apply beta_at_unique - 0050
exact hbb - 0051
exact hleft_row_witness_witness_left - 0052
have hc : c = x1 - 0053
specialize beta_at_unique sb - 0054
specialize beta_at_unique sc - 0055
specialize beta_at_unique 0 - 0056
specialize beta_at_unique c - 0057
specialize beta_at_unique x1 - 0058
apply beta_at_unique - 0059
exact hsb - 0060
exact hleft_row_witness_witness_right_left - 0061
have hd : d = x2 - 0062
specialize beta_at_unique db - 0063
specialize beta_at_unique dc - 0064
specialize beta_at_unique 0 - 0065
specialize beta_at_unique d - 0066
specialize beta_at_unique x2 - 0067
apply beta_at_unique - 0068
exact hdb - 0069
exact hright_row_witness_witness_left - 0070
have he : e = x3 - 0071
specialize beta_at_unique eb - 0072
specialize beta_at_unique ec - 0073
specialize beta_at_unique 0 - 0074
specialize beta_at_unique e - 0075
specialize beta_at_unique x3 - 0076
apply beta_at_unique - 0077
exact heb - 0078
exact hright_row_witness_witness_right_left - 0079
cases hleft_row_witness_witness_right_right - 0080
cases hleft_row_witness_witness_right_right_left - 0081
cases hright_row_witness_witness_right_right - 0082
cases hright_row_witness_witness_right_right_left - 0083
intro j - 0084
intro u - 0085
intro y - 0086
intro hjw - 0087
intro hjv - 0088
intro hleft_entry - 0089
intro hright_entry - 0090
have hleft_semantic : BetaAt(x,x1,j,u)Exact native replay line
have hleft_semantic : ((exists bcf_height_bptrpf_base_left_semantic. bcf_height_bptrpf_base_left_semantic + S (u) = S ((S (j)) * x1)) /\ exists bcf_quotient_bptrpf_base_left_semantic. x = bcf_quotient_bptrpf_base_left_semantic * S ((S (j)) * x1) + (u)) - 0091
rewrite <- hb - 0092
rewrite <- hc - 0093
rewrite <- hc - 0094
exact hleft_entry - 0095
have hright_semantic : BetaAt(x2,x3,j,y)Exact native replay line
have hright_semantic : ((exists bcf_height_bptrpf_base_right_semantic. bcf_height_bptrpf_base_right_semantic + S (y) = S ((S (j)) * x3)) /\ exists bcf_quotient_bptrpf_base_right_semantic. x2 = bcf_quotient_bptrpf_base_right_semantic * S ((S (j)) * x3) + (y)) - 0096
rewrite <- hd - 0097
rewrite <- he - 0098
rewrite <- he - 0099
exact hright_entry - 0100
specialize beta_pascal_zero_row_pointwise_functional x - 0101
specialize beta_pascal_zero_row_pointwise_functional x1 - 0102
specialize beta_pascal_zero_row_pointwise_functional x2 - 0103
specialize beta_pascal_zero_row_pointwise_functional x3 - 0104
specialize beta_pascal_zero_row_pointwise_functional w - 0105
specialize beta_pascal_zero_row_pointwise_functional v - 0106
specialize beta_pascal_zero_row_pointwise_functional j - 0107
specialize beta_pascal_zero_row_pointwise_functional u - 0108
specialize beta_pascal_zero_row_pointwise_functional y - 0109
apply beta_pascal_zero_row_pointwise_functional - 0110
exact hleft_row_witness_witness_right_right_left_right - 0111
exact hright_row_witness_witness_right_right_left_right - 0112
exact hjw - 0113
exact hjv - 0114
exact hleft_semantic - 0115
exact hright_semantic - 0116
cases hright_row_witness_witness_right_right_right - 0117
cases hright_row_witness_witness_right_right_right_witness - 0118
cases hright_row_witness_witness_right_right_right_witness_witness - 0119
cases hright_row_witness_witness_right_right_right_witness_witness_witness - 0120
exfalso - 0121
have hbad : S x4 = 0 - 0122
symm - 0123
exact hright_row_witness_witness_right_right_right_witness_witness_witness_left - 0124
specialize succ_ne_zero x4 - 0125
apply succ_ne_zero - 0126
exact hbad - 0127
cases hleft_row_witness_witness_right_right_right - 0128
cases hleft_row_witness_witness_right_right_right_witness - 0129
cases hleft_row_witness_witness_right_right_right_witness_witness - 0130
cases hleft_row_witness_witness_right_right_right_witness_witness_witness - 0131
exfalso - 0132
have hbad : S x4 = 0 - 0133
symm - 0134
exact hleft_row_witness_witness_right_right_right_witness_witness_witness_left - 0135
specialize succ_ne_zero x4 - 0136
apply succ_ne_zero - 0137
exact hbad - 0138
intro b - 0139
intro c - 0140
intro d - 0141
intro e - 0142
intro hleft_table - 0143
intro hright_table - 0144
intro hir - 0145
intro his - 0146
intro hbb - 0147
intro hsb - 0148
intro hdb - 0149
intro heb - 0150
have hleft_row : ∃ bcf_row_code_bptrpf_left_step. ∃ bcf_row_scale_bptrpf_left_step. BetaAt(bb,bc,S i,bcf_row_code_bptrpf_left_step) ∧ (BetaAt(sb,sc,S i,bcf_row_scale_bptrpf_left_step) ∧ (S i = 0 ∧ (∀ x. Lt(x,w) → ∃ y. BetaAt(bcf_row_code_bptrpf_left_step,bcf_row_scale_bptrpf_left_step,x,y) ∧ (x = 0 ∧ y = 1 ∨ (∃ z. x = S z ∧ y = 0))) ∨ (∃ x. ∃ y. ∃ z. S i = S x ∧ (BetaAt(bb,bc,x,y) ∧ (BetaAt(sb,sc,x,z) ∧ (∀ n. Lt(n,w) → ∃ m. BetaAt(bcf_row_code_bptrpf_left_step,bcf_row_scale_bptrpf_left_step,n,m) ∧ (n = 0 ∧ m = 1 ∨ (∃ k. ∃ j. ∃ u. n = S k ∧ (BetaAt(y,z,k,j) ∧ (BetaAt(y,z,S k,u) ∧ m = j + u))))))))))Exact native replay line
have hleft_row : exists bcf_row_code_bptrpf_left_step bcf_row_scale_bptrpf_left_step. ((((exists bcf_height_bptrpf_left_step_decoded_row_code. bcf_height_bptrpf_left_step_decoded_row_code + S (bcf_row_code_bptrpf_left_step) = S ((S (S i)) * bc)) /\ exists bcf_quotient_bptrpf_left_step_decoded_row_code. bb = bcf_quotient_bptrpf_left_step_decoded_row_code * S ((S (S i)) * bc) + (bcf_row_code_bptrpf_left_step))) /\ ((((exists bcf_height_bptrpf_left_step_decoded_row_scale. bcf_height_bptrpf_left_step_decoded_row_scale + S (bcf_row_scale_bptrpf_left_step) = S ((S (S i)) * sc)) /\ exists bcf_quotient_bptrpf_left_step_decoded_row_scale. sb = bcf_quotient_bptrpf_left_step_decoded_row_scale * S ((S (S i)) * sc) + (bcf_row_scale_bptrpf_left_step))) /\ ((S i = 0 /\ (forall bcf_index_bptrpf_left_step_zero_row. (exists bcf_lt_gap_bptrpf_left_step_zero_row_bound. bcf_lt_gap_bptrpf_left_step_zero_row_bound + S (bcf_index_bptrpf_left_step_zero_row) = w) -> exists bcf_value_bptrpf_left_step_zero_row. ((((exists bcf_height_bptrpf_left_step_zero_row_entry. bcf_height_bptrpf_left_step_zero_row_entry + S (bcf_value_bptrpf_left_step_zero_row) = S ((S (bcf_index_bptrpf_left_step_zero_row)) * bcf_row_scale_bptrpf_left_step)) /\ exists bcf_quotient_bptrpf_left_step_zero_row_entry. bcf_row_code_bptrpf_left_step = bcf_quotient_bptrpf_left_step_zero_row_entry * S ((S (bcf_index_bptrpf_left_step_zero_row)) * bcf_row_scale_bptrpf_left_step) + (bcf_value_bptrpf_left_step_zero_row))) /\ ((bcf_index_bptrpf_left_step_zero_row = 0 /\ bcf_value_bptrpf_left_step_zero_row = 1) \/ exists bcf_predecessor_bptrpf_left_step_zero_row. bcf_index_bptrpf_left_step_zero_row = S bcf_predecessor_bptrpf_left_step_zero_row /\ bcf_value_bptrpf_left_step_zero_row = 0)))) \/ exists bcf_predecessor_bptrpf_left_step bcf_previous_code_bptrpf_left_step bcf_previous_scale_bptrpf_left_step. S i = S bcf_predecessor_bptrpf_left_step /\ ((((exists bcf_height_bptrpf_left_step_decoded_previous_code. bcf_height_bptrpf_left_step_decoded_previous_code + S (bcf_previous_code_bptrpf_left_step) = S ((S (bcf_predecessor_bptrpf_left_step)) * bc)) /\ exists bcf_quotient_bptrpf_left_step_decoded_previous_code. bb = bcf_quotient_bptrpf_left_step_decoded_previous_code * S ((S (bcf_predecessor_bptrpf_left_step)) * bc) + (bcf_previous_code_bptrpf_left_step))) /\ ((((exists bcf_height_bptrpf_left_step_decoded_previous_scale. bcf_height_bptrpf_left_step_decoded_previous_scale + S (bcf_previous_scale_bptrpf_left_step) = S ((S (bcf_predecessor_bptrpf_left_step)) * sc)) /\ exists bcf_quotient_bptrpf_left_step_decoded_previous_scale. sb = bcf_quotient_bptrpf_left_step_decoded_previous_scale * S ((S (bcf_predecessor_bptrpf_left_step)) * sc) + (bcf_previous_scale_bptrpf_left_step))) /\ (forall bcf_index_bptrpf_left_step_row_step. (exists bcf_lt_gap_bptrpf_left_step_row_step_bound. bcf_lt_gap_bptrpf_left_step_row_step_bound + S (bcf_index_bptrpf_left_step_row_step) = w) -> exists bcf_value_bptrpf_left_step_row_step. ((((exists bcf_height_bptrpf_left_step_row_step_entry. bcf_height_bptrpf_left_step_row_step_entry + S (bcf_value_bptrpf_left_step_row_step) = S ((S (bcf_index_bptrpf_left_step_row_step)) * bcf_row_scale_bptrpf_left_step)) /\ exists bcf_quotient_bptrpf_left_step_row_step_entry. bcf_row_code_bptrpf_left_step = bcf_quotient_bptrpf_left_step_row_step_entry * S ((S (bcf_index_bptrpf_left_step_row_step)) * bcf_row_scale_bptrpf_left_step) + (bcf_value_bptrpf_left_step_row_step))) /\ ((bcf_index_bptrpf_left_step_row_step = 0 /\ bcf_value_bptrpf_left_step_row_step = 1) \/ exists bcf_predecessor_bptrpf_left_step_row_step bcf_left_bptrpf_left_step_row_step bcf_right_bptrpf_left_step_row_step. bcf_index_bptrpf_left_step_row_step = S bcf_predecessor_bptrpf_left_step_row_step /\ ((((exists bcf_height_bptrpf_left_step_row_step_previous_left. bcf_height_bptrpf_left_step_row_step_previous_left + S (bcf_left_bptrpf_left_step_row_step) = S ((S (bcf_predecessor_bptrpf_left_step_row_step)) * bcf_previous_scale_bptrpf_left_step)) /\ exists bcf_quotient_bptrpf_left_step_row_step_previous_left. bcf_previous_code_bptrpf_left_step = bcf_quotient_bptrpf_left_step_row_step_previous_left * S ((S (bcf_predecessor_bptrpf_left_step_row_step)) * bcf_previous_scale_bptrpf_left_step) + (bcf_left_bptrpf_left_step_row_step))) /\ ((((exists bcf_height_bptrpf_left_step_row_step_previous_right. bcf_height_bptrpf_left_step_row_step_previous_right + S (bcf_right_bptrpf_left_step_row_step) = S ((S (S (bcf_predecessor_bptrpf_left_step_row_step))) * bcf_previous_scale_bptrpf_left_step)) /\ exists bcf_quotient_bptrpf_left_step_row_step_previous_right. bcf_previous_code_bptrpf_left_step = bcf_quotient_bptrpf_left_step_row_step_previous_right * S ((S (S (bcf_predecessor_bptrpf_left_step_row_step))) * bcf_previous_scale_bptrpf_left_step) + (bcf_right_bptrpf_left_step_row_step))) /\ bcf_value_bptrpf_left_step_row_step = bcf_left_bptrpf_left_step_row_step + bcf_right_bptrpf_left_step_row_step)))))))))) - 0151
specialize hleft_table (S i) - 0152
apply hleft_table - 0153
exact hir - 0154
cases hleft_row - 0155
cases hleft_row_witness - 0156
cases hleft_row_witness_witness - 0157
cases hleft_row_witness_witness_right - 0158
have hright_row : ∃ bcf_row_code_bptrpf_right_step. ∃ bcf_row_scale_bptrpf_right_step. BetaAt(db,dc,S i,bcf_row_code_bptrpf_right_step) ∧ (BetaAt(eb,ec,S i,bcf_row_scale_bptrpf_right_step) ∧ (S i = 0 ∧ (∀ x. Lt(x,v) → ∃ y. BetaAt(bcf_row_code_bptrpf_right_step,bcf_row_scale_bptrpf_right_step,x,y) ∧ (x = 0 ∧ y = 1 ∨ (∃ z. x = S z ∧ y = 0))) ∨ (∃ x. ∃ y. ∃ z. S i = S x ∧ (BetaAt(db,dc,x,y) ∧ (BetaAt(eb,ec,x,z) ∧ (∀ n. Lt(n,v) → ∃ m. BetaAt(bcf_row_code_bptrpf_right_step,bcf_row_scale_bptrpf_right_step,n,m) ∧ (n = 0 ∧ m = 1 ∨ (∃ k. ∃ j. ∃ u. n = S k ∧ (BetaAt(y,z,k,j) ∧ (BetaAt(y,z,S k,u) ∧ m = j + u))))))))))Exact native replay line
have hright_row : exists bcf_row_code_bptrpf_right_step bcf_row_scale_bptrpf_right_step. ((((exists bcf_height_bptrpf_right_step_decoded_row_code. bcf_height_bptrpf_right_step_decoded_row_code + S (bcf_row_code_bptrpf_right_step) = S ((S (S i)) * dc)) /\ exists bcf_quotient_bptrpf_right_step_decoded_row_code. db = bcf_quotient_bptrpf_right_step_decoded_row_code * S ((S (S i)) * dc) + (bcf_row_code_bptrpf_right_step))) /\ ((((exists bcf_height_bptrpf_right_step_decoded_row_scale. bcf_height_bptrpf_right_step_decoded_row_scale + S (bcf_row_scale_bptrpf_right_step) = S ((S (S i)) * ec)) /\ exists bcf_quotient_bptrpf_right_step_decoded_row_scale. eb = bcf_quotient_bptrpf_right_step_decoded_row_scale * S ((S (S i)) * ec) + (bcf_row_scale_bptrpf_right_step))) /\ ((S i = 0 /\ (forall bcf_index_bptrpf_right_step_zero_row. (exists bcf_lt_gap_bptrpf_right_step_zero_row_bound. bcf_lt_gap_bptrpf_right_step_zero_row_bound + S (bcf_index_bptrpf_right_step_zero_row) = v) -> exists bcf_value_bptrpf_right_step_zero_row. ((((exists bcf_height_bptrpf_right_step_zero_row_entry. bcf_height_bptrpf_right_step_zero_row_entry + S (bcf_value_bptrpf_right_step_zero_row) = S ((S (bcf_index_bptrpf_right_step_zero_row)) * bcf_row_scale_bptrpf_right_step)) /\ exists bcf_quotient_bptrpf_right_step_zero_row_entry. bcf_row_code_bptrpf_right_step = bcf_quotient_bptrpf_right_step_zero_row_entry * S ((S (bcf_index_bptrpf_right_step_zero_row)) * bcf_row_scale_bptrpf_right_step) + (bcf_value_bptrpf_right_step_zero_row))) /\ ((bcf_index_bptrpf_right_step_zero_row = 0 /\ bcf_value_bptrpf_right_step_zero_row = 1) \/ exists bcf_predecessor_bptrpf_right_step_zero_row. bcf_index_bptrpf_right_step_zero_row = S bcf_predecessor_bptrpf_right_step_zero_row /\ bcf_value_bptrpf_right_step_zero_row = 0)))) \/ exists bcf_predecessor_bptrpf_right_step bcf_previous_code_bptrpf_right_step bcf_previous_scale_bptrpf_right_step. S i = S bcf_predecessor_bptrpf_right_step /\ ((((exists bcf_height_bptrpf_right_step_decoded_previous_code. bcf_height_bptrpf_right_step_decoded_previous_code + S (bcf_previous_code_bptrpf_right_step) = S ((S (bcf_predecessor_bptrpf_right_step)) * dc)) /\ exists bcf_quotient_bptrpf_right_step_decoded_previous_code. db = bcf_quotient_bptrpf_right_step_decoded_previous_code * S ((S (bcf_predecessor_bptrpf_right_step)) * dc) + (bcf_previous_code_bptrpf_right_step))) /\ ((((exists bcf_height_bptrpf_right_step_decoded_previous_scale. bcf_height_bptrpf_right_step_decoded_previous_scale + S (bcf_previous_scale_bptrpf_right_step) = S ((S (bcf_predecessor_bptrpf_right_step)) * ec)) /\ exists bcf_quotient_bptrpf_right_step_decoded_previous_scale. eb = bcf_quotient_bptrpf_right_step_decoded_previous_scale * S ((S (bcf_predecessor_bptrpf_right_step)) * ec) + (bcf_previous_scale_bptrpf_right_step))) /\ (forall bcf_index_bptrpf_right_step_row_step. (exists bcf_lt_gap_bptrpf_right_step_row_step_bound. bcf_lt_gap_bptrpf_right_step_row_step_bound + S (bcf_index_bptrpf_right_step_row_step) = v) -> exists bcf_value_bptrpf_right_step_row_step. ((((exists bcf_height_bptrpf_right_step_row_step_entry. bcf_height_bptrpf_right_step_row_step_entry + S (bcf_value_bptrpf_right_step_row_step) = S ((S (bcf_index_bptrpf_right_step_row_step)) * bcf_row_scale_bptrpf_right_step)) /\ exists bcf_quotient_bptrpf_right_step_row_step_entry. bcf_row_code_bptrpf_right_step = bcf_quotient_bptrpf_right_step_row_step_entry * S ((S (bcf_index_bptrpf_right_step_row_step)) * bcf_row_scale_bptrpf_right_step) + (bcf_value_bptrpf_right_step_row_step))) /\ ((bcf_index_bptrpf_right_step_row_step = 0 /\ bcf_value_bptrpf_right_step_row_step = 1) \/ exists bcf_predecessor_bptrpf_right_step_row_step bcf_left_bptrpf_right_step_row_step bcf_right_bptrpf_right_step_row_step. bcf_index_bptrpf_right_step_row_step = S bcf_predecessor_bptrpf_right_step_row_step /\ ((((exists bcf_height_bptrpf_right_step_row_step_previous_left. bcf_height_bptrpf_right_step_row_step_previous_left + S (bcf_left_bptrpf_right_step_row_step) = S ((S (bcf_predecessor_bptrpf_right_step_row_step)) * bcf_previous_scale_bptrpf_right_step)) /\ exists bcf_quotient_bptrpf_right_step_row_step_previous_left. bcf_previous_code_bptrpf_right_step = bcf_quotient_bptrpf_right_step_row_step_previous_left * S ((S (bcf_predecessor_bptrpf_right_step_row_step)) * bcf_previous_scale_bptrpf_right_step) + (bcf_left_bptrpf_right_step_row_step))) /\ ((((exists bcf_height_bptrpf_right_step_row_step_previous_right. bcf_height_bptrpf_right_step_row_step_previous_right + S (bcf_right_bptrpf_right_step_row_step) = S ((S (S (bcf_predecessor_bptrpf_right_step_row_step))) * bcf_previous_scale_bptrpf_right_step)) /\ exists bcf_quotient_bptrpf_right_step_row_step_previous_right. bcf_previous_code_bptrpf_right_step = bcf_quotient_bptrpf_right_step_row_step_previous_right * S ((S (S (bcf_predecessor_bptrpf_right_step_row_step))) * bcf_previous_scale_bptrpf_right_step) + (bcf_right_bptrpf_right_step_row_step))) /\ bcf_value_bptrpf_right_step_row_step = bcf_left_bptrpf_right_step_row_step + bcf_right_bptrpf_right_step_row_step)))))))))) - 0159
specialize hright_table (S i) - 0160
apply hright_table - 0161
exact his - 0162
cases hright_row - 0163
cases hright_row_witness - 0164
cases hright_row_witness_witness - 0165
cases hright_row_witness_witness_right - 0166
have hb : b = x - 0167
specialize beta_at_unique bb - 0168
specialize beta_at_unique bc - 0169
specialize beta_at_unique (S i) - 0170
specialize beta_at_unique b - 0171
specialize beta_at_unique x - 0172
apply beta_at_unique - 0173
exact hbb - 0174
exact hleft_row_witness_witness_left - 0175
have hc : c = x1 - 0176
specialize beta_at_unique sb - 0177
specialize beta_at_unique sc - 0178
specialize beta_at_unique (S i) - 0179
specialize beta_at_unique c - 0180
specialize beta_at_unique x1 - 0181
apply beta_at_unique - 0182
exact hsb - 0183
exact hleft_row_witness_witness_right_left - 0184
have hd : d = x2 - 0185
specialize beta_at_unique db - 0186
specialize beta_at_unique dc - 0187
specialize beta_at_unique (S i) - 0188
specialize beta_at_unique d - 0189
specialize beta_at_unique x2 - 0190
apply beta_at_unique - 0191
exact hdb - 0192
exact hright_row_witness_witness_left - 0193
have he : e = x3 - 0194
specialize beta_at_unique eb - 0195
specialize beta_at_unique ec - 0196
specialize beta_at_unique (S i) - 0197
specialize beta_at_unique e - 0198
specialize beta_at_unique x3 - 0199
apply beta_at_unique - 0200
exact heb - 0201
exact hright_row_witness_witness_right_left - 0202
cases hleft_row_witness_witness_right_right - 0203
cases hleft_row_witness_witness_right_right_left - 0204
exfalso - 0205
specialize succ_ne_zero i - 0206
apply succ_ne_zero - 0207
exact hleft_row_witness_witness_right_right_left_left - 0208
cases hleft_row_witness_witness_right_right_right - 0209
cases hleft_row_witness_witness_right_right_right_witness - 0210
cases hleft_row_witness_witness_right_right_right_witness_witness - 0211
cases hleft_row_witness_witness_right_right_right_witness_witness_witness - 0212
cases hleft_row_witness_witness_right_right_right_witness_witness_witness_right - 0213
cases hleft_row_witness_witness_right_right_right_witness_witness_witness_right_right - 0214
cases hright_row_witness_witness_right_right - 0215
cases hright_row_witness_witness_right_right_left - 0216
exfalso - 0217
specialize succ_ne_zero i - 0218
apply succ_ne_zero - 0219
exact hright_row_witness_witness_right_right_left_left - 0220
cases hright_row_witness_witness_right_right_right - 0221
cases hright_row_witness_witness_right_right_right_witness - 0222
cases hright_row_witness_witness_right_right_right_witness_witness - 0223
cases hright_row_witness_witness_right_right_right_witness_witness_witness - 0224
cases hright_row_witness_witness_right_right_right_witness_witness_witness_right - 0225
cases hright_row_witness_witness_right_right_right_witness_witness_witness_right_right - 0226
have hleft_predecessor : i = x4 - 0227
specialize succ_injective i - 0228
specialize succ_injective x4 - 0229
apply succ_injective - 0230
exact hleft_row_witness_witness_right_right_right_witness_witness_witness_left - 0231
have hright_predecessor : i = x7 - 0232
specialize succ_injective i - 0233
specialize succ_injective x7 - 0234
apply succ_injective - 0235
exact hright_row_witness_witness_right_right_right_witness_witness_witness_left - 0236
have hprevious_left_bound : Lt(i,r)Exact native replay line
have hprevious_left_bound : exists bcf_lt_gap_bptrpf_previous_left_bound. bcf_lt_gap_bptrpf_previous_left_bound + S (i) = r - 0237
specialize lt_to_le (S i) - 0238
specialize lt_to_le r - 0239
apply lt_to_le - 0240
exact hir - 0241
have hprevious_right_bound : Lt(i,s)Exact native replay line
have hprevious_right_bound : exists bcf_lt_gap_bptrpf_previous_right_bound. bcf_lt_gap_bptrpf_previous_right_bound + S (i) = s - 0242
specialize lt_to_le (S i) - 0243
specialize lt_to_le s - 0244
apply lt_to_le - 0245
exact his - 0246
have hprevious_left_code : BetaAt(bb,bc,i,x5)Exact native replay line
have hprevious_left_code : ((exists bcf_height_bptrpf_previous_left_code_at. bcf_height_bptrpf_previous_left_code_at + S (x5) = S ((S (i)) * bc)) /\ exists bcf_quotient_bptrpf_previous_left_code_at. bb = bcf_quotient_bptrpf_previous_left_code_at * S ((S (i)) * bc) + (x5)) - 0247
rewrite hleft_predecessor - 0248
rewrite hleft_predecessor - 0249
exact hleft_row_witness_witness_right_right_right_witness_witness_witness_right_left - 0250
have hprevious_left_scale : BetaAt(sb,sc,i,x6)Exact native replay line
have hprevious_left_scale : ((exists bcf_height_bptrpf_previous_left_scale_at. bcf_height_bptrpf_previous_left_scale_at + S (x6) = S ((S (i)) * sc)) /\ exists bcf_quotient_bptrpf_previous_left_scale_at. sb = bcf_quotient_bptrpf_previous_left_scale_at * S ((S (i)) * sc) + (x6)) - 0251
rewrite hleft_predecessor - 0252
rewrite hleft_predecessor - 0253
exact hleft_row_witness_witness_right_right_right_witness_witness_witness_right_right_left - 0254
have hprevious_right_code : BetaAt(db,dc,i,x8)Exact native replay line
have hprevious_right_code : ((exists bcf_height_bptrpf_previous_right_code_at. bcf_height_bptrpf_previous_right_code_at + S (x8) = S ((S (i)) * dc)) /\ exists bcf_quotient_bptrpf_previous_right_code_at. db = bcf_quotient_bptrpf_previous_right_code_at * S ((S (i)) * dc) + (x8)) - 0255
rewrite hright_predecessor - 0256
rewrite hright_predecessor - 0257
exact hright_row_witness_witness_right_right_right_witness_witness_witness_right_left - 0258
have hprevious_right_scale : BetaAt(eb,ec,i,x9)Exact native replay line
have hprevious_right_scale : ((exists bcf_height_bptrpf_previous_right_scale_at. bcf_height_bptrpf_previous_right_scale_at + S (x9) = S ((S (i)) * ec)) /\ exists bcf_quotient_bptrpf_previous_right_scale_at. eb = bcf_quotient_bptrpf_previous_right_scale_at * S ((S (i)) * ec) + (x9)) - 0259
rewrite hright_predecessor - 0260
rewrite hright_predecessor - 0261
exact hright_row_witness_witness_right_right_right_witness_witness_witness_right_right_left - 0262
have hcurrent_semantic : ∀ bcf_index_bptrpf_step_semantic_agree. ∀ bcf_left_value_bptrpf_step_semantic_agree. ∀ bcf_right_value_bptrpf_step_semantic_agree. Lt(bcf_index_bptrpf_step_semantic_agree,w) → Lt(bcf_index_bptrpf_step_semantic_agree,v) → BetaAt(x,x1,bcf_index_bptrpf_step_semantic_agree,bcf_left_value_bptrpf_step_semantic_agree) → BetaAt(x2,x3,bcf_index_bptrpf_step_semantic_agree,bcf_right_value_bptrpf_step_semantic_agree) → bcf_left_value_bptrpf_step_semantic_agree = bcf_right_value_bptrpf_step_semantic_agreeExact native replay line
have hcurrent_semantic : forall bcf_index_bptrpf_step_semantic_agree bcf_left_value_bptrpf_step_semantic_agree bcf_right_value_bptrpf_step_semantic_agree. (exists bcf_lt_gap_bptrpf_step_semantic_agree_left_bound. bcf_lt_gap_bptrpf_step_semantic_agree_left_bound + S (bcf_index_bptrpf_step_semantic_agree) = w) -> (exists bcf_lt_gap_bptrpf_step_semantic_agree_right_bound. bcf_lt_gap_bptrpf_step_semantic_agree_right_bound + S (bcf_index_bptrpf_step_semantic_agree) = v) -> (((exists bcf_height_bptrpf_step_semantic_agree_left_entry. bcf_height_bptrpf_step_semantic_agree_left_entry + S (bcf_left_value_bptrpf_step_semantic_agree) = S ((S (bcf_index_bptrpf_step_semantic_agree)) * x1)) /\ exists bcf_quotient_bptrpf_step_semantic_agree_left_entry. x = bcf_quotient_bptrpf_step_semantic_agree_left_entry * S ((S (bcf_index_bptrpf_step_semantic_agree)) * x1) + (bcf_left_value_bptrpf_step_semantic_agree))) -> (((exists bcf_height_bptrpf_step_semantic_agree_right_entry. bcf_height_bptrpf_step_semantic_agree_right_entry + S (bcf_right_value_bptrpf_step_semantic_agree) = S ((S (bcf_index_bptrpf_step_semantic_agree)) * x3)) /\ exists bcf_quotient_bptrpf_step_semantic_agree_right_entry. x2 = bcf_quotient_bptrpf_step_semantic_agree_right_entry * S ((S (bcf_index_bptrpf_step_semantic_agree)) * x3) + (bcf_right_value_bptrpf_step_semantic_agree))) -> bcf_left_value_bptrpf_step_semantic_agree = bcf_right_value_bptrpf_step_semantic_agree - 0263
specialize beta_pascal_row_step_pointwise_functional x5 - 0264
specialize beta_pascal_row_step_pointwise_functional x6 - 0265
specialize beta_pascal_row_step_pointwise_functional x8 - 0266
specialize beta_pascal_row_step_pointwise_functional x9 - 0267
specialize beta_pascal_row_step_pointwise_functional x - 0268
specialize beta_pascal_row_step_pointwise_functional x1 - 0269
specialize beta_pascal_row_step_pointwise_functional x2 - 0270
specialize beta_pascal_row_step_pointwise_functional x3 - 0271
specialize beta_pascal_row_step_pointwise_functional w - 0272
specialize beta_pascal_row_step_pointwise_functional v - 0273
apply beta_pascal_row_step_pointwise_functional - 0274
exact hleft_row_witness_witness_right_right_right_witness_witness_witness_right_right_right - 0275
exact hright_row_witness_witness_right_right_right_witness_witness_witness_right_right_right - 0276
specialize IH x5 - 0277
specialize IH x6 - 0278
specialize IH x8 - 0279
specialize IH x9 - 0280
apply IH - 0281
exact hleft_table - 0282
exact hright_table - 0283
exact hprevious_left_bound - 0284
exact hprevious_right_bound - 0285
exact hprevious_left_code - 0286
exact hprevious_left_scale - 0287
exact hprevious_right_code - 0288
exact hprevious_right_scale - 0289
intro j - 0290
intro u - 0291
intro y - 0292
intro hjw - 0293
intro hjv - 0294
intro hleft_entry - 0295
intro hright_entry - 0296
have hleft_semantic : BetaAt(x,x1,j,u)Exact native replay line
have hleft_semantic : ((exists bcf_height_bptrpf_step_left_semantic. bcf_height_bptrpf_step_left_semantic + S (u) = S ((S (j)) * x1)) /\ exists bcf_quotient_bptrpf_step_left_semantic. x = bcf_quotient_bptrpf_step_left_semantic * S ((S (j)) * x1) + (u)) - 0297
rewrite <- hb - 0298
rewrite <- hc - 0299
rewrite <- hc - 0300
exact hleft_entry - 0301
have hright_semantic : BetaAt(x2,x3,j,y)Exact native replay line
have hright_semantic : ((exists bcf_height_bptrpf_step_right_semantic. bcf_height_bptrpf_step_right_semantic + S (y) = S ((S (j)) * x3)) /\ exists bcf_quotient_bptrpf_step_right_semantic. x2 = bcf_quotient_bptrpf_step_right_semantic * S ((S (j)) * x3) + (y)) - 0302
rewrite <- hd - 0303
rewrite <- he - 0304
rewrite <- he - 0305
exact hright_entry - 0306
specialize hcurrent_semantic j - 0307
specialize hcurrent_semantic u - 0308
specialize hcurrent_semantic y - 0309
apply hcurrent_semantic - 0310
exact hjw - 0311
exact hjv - 0312
exact hleft_semantic - 0313
exact hright_semantic