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.
Exact expanded PA statement
forall bb bc sb sc w r i j b c z. (forall bcf_row_index_bptscr_table. (exists bcf_lt_gap_bptscr_table_row_bound. bcf_lt_gap_bptscr_table_row_bound + S (bcf_row_index_bptscr_table) = r) -> exists bcf_row_code_bptscr_table bcf_row_scale_bptscr_table. ((((exists bcf_height_bptscr_table_decoded_row_code. bcf_height_bptscr_table_decoded_row_code + S (bcf_row_code_bptscr_table) = S ((S (bcf_row_index_bptscr_table)) * bc)) /\ exists bcf_quotient_bptscr_table_decoded_row_code. bb = bcf_quotient_bptscr_table_decoded_row_code * S ((S (bcf_row_index_bptscr_table)) * bc) + (bcf_row_code_bptscr_table))) /\ ((((exists bcf_height_bptscr_table_decoded_row_scale. bcf_height_bptscr_table_decoded_row_scale + S (bcf_row_scale_bptscr_table) = S ((S (bcf_row_index_bptscr_table)) * sc)) /\ exists bcf_quotient_bptscr_table_decoded_row_scale. sb = bcf_quotient_bptscr_table_decoded_row_scale * S ((S (bcf_row_index_bptscr_table)) * sc) + (bcf_row_scale_bptscr_table))) /\ ((bcf_row_index_bptscr_table = 0 /\ (forall bcf_index_bptscr_table_zero_row. (exists bcf_lt_gap_bptscr_table_zero_row_bound. bcf_lt_gap_bptscr_table_zero_row_bound + S (bcf_index_bptscr_table_zero_row) = w) -> exists bcf_value_bptscr_table_zero_row. ((((exists bcf_height_bptscr_table_zero_row_entry. bcf_height_bptscr_table_zero_row_entry + S (bcf_value_bptscr_table_zero_row) = S ((S (bcf_index_bptscr_table_zero_row)) * bcf_row_scale_bptscr_table)) /\ exists bcf_quotient_bptscr_table_zero_row_entry. bcf_row_code_bptscr_table = bcf_quotient_bptscr_table_zero_row_entry * S ((S (bcf_index_bptscr_table_zero_row)) * bcf_row_scale_bptscr_table) + (bcf_value_bptscr_table_zero_row))) /\ ((bcf_index_bptscr_table_zero_row = 0 /\ bcf_value_bptscr_table_zero_row = 1) \/ exists bcf_predecessor_bptscr_table_zero_row. bcf_index_bptscr_table_zero_row = S bcf_predecessor_bptscr_table_zero_row /\ bcf_value_bptscr_table_zero_row = 0)))) \/ exists bcf_predecessor_bptscr_table bcf_previous_code_bptscr_table bcf_previous_scale_bptscr_table. bcf_row_index_bptscr_table = S bcf_predecessor_bptscr_table /\ ((((exists bcf_height_bptscr_table_decoded_previous_code. bcf_height_bptscr_table_decoded_previous_code + S (bcf_previous_code_bptscr_table) = S ((S (bcf_predecessor_bptscr_table)) * bc)) /\ exists bcf_quotient_bptscr_table_decoded_previous_code. bb = bcf_quotient_bptscr_table_decoded_previous_code * S ((S (bcf_predecessor_bptscr_table)) * bc) + (bcf_previous_code_bptscr_table))) /\ ((((exists bcf_height_bptscr_table_decoded_previous_scale. bcf_height_bptscr_table_decoded_previous_scale + S (bcf_previous_scale_bptscr_table) = S ((S (bcf_predecessor_bptscr_table)) * sc)) /\ exists bcf_quotient_bptscr_table_decoded_previous_scale. sb = bcf_quotient_bptscr_table_decoded_previous_scale * S ((S (bcf_predecessor_bptscr_table)) * sc) + (bcf_previous_scale_bptscr_table))) /\ (forall bcf_index_bptscr_table_row_step. (exists bcf_lt_gap_bptscr_table_row_step_bound. bcf_lt_gap_bptscr_table_row_step_bound + S (bcf_index_bptscr_table_row_step) = w) -> exists bcf_value_bptscr_table_row_step. ((((exists bcf_height_bptscr_table_row_step_entry. bcf_height_bptscr_table_row_step_entry + S (bcf_value_bptscr_table_row_step) = S ((S (bcf_index_bptscr_table_row_step)) * bcf_row_scale_bptscr_table)) /\ exists bcf_quotient_bptscr_table_row_step_entry. bcf_row_code_bptscr_table = bcf_quotient_bptscr_table_row_step_entry * S ((S (bcf_index_bptscr_table_row_step)) * bcf_row_scale_bptscr_table) + (bcf_value_bptscr_table_row_step))) /\ ((bcf_index_bptscr_table_row_step = 0 /\ bcf_value_bptscr_table_row_step = 1) \/ exists bcf_predecessor_bptscr_table_row_step bcf_left_bptscr_table_row_step bcf_right_bptscr_table_row_step. bcf_index_bptscr_table_row_step = S bcf_predecessor_bptscr_table_row_step /\ ((((exists bcf_height_bptscr_table_row_step_previous_left. bcf_height_bptscr_table_row_step_previous_left + S (bcf_left_bptscr_table_row_step) = S ((S (bcf_predecessor_bptscr_table_row_step)) * bcf_previous_scale_bptscr_table)) /\ exists bcf_quotient_bptscr_table_row_step_previous_left. bcf_previous_code_bptscr_table = bcf_quotient_bptscr_table_row_step_previous_left * S ((S (bcf_predecessor_bptscr_table_row_step)) * bcf_previous_scale_bptscr_table) + (bcf_left_bptscr_table_row_step))) /\ ((((exists bcf_height_bptscr_table_row_step_previous_right. bcf_height_bptscr_table_row_step_previous_right + S (bcf_right_bptscr_table_row_step) = S ((S (S (bcf_predecessor_bptscr_table_row_step))) * bcf_previous_scale_bptscr_table)) /\ exists bcf_quotient_bptscr_table_row_step_previous_right. bcf_previous_code_bptscr_table = bcf_quotient_bptscr_table_row_step_previous_right * S ((S (S (bcf_predecessor_bptscr_table_row_step))) * bcf_previous_scale_bptscr_table) + (bcf_right_bptscr_table_row_step))) /\ bcf_value_bptscr_table_row_step = bcf_left_bptscr_table_row_step + bcf_right_bptscr_table_row_step))))))))))) -> (exists bcf_lt_gap_bptscr_row_bound. bcf_lt_gap_bptscr_row_bound + S (S i) = r) -> (exists bcf_lt_gap_bptscr_cell_bound. bcf_lt_gap_bptscr_cell_bound + S (S j) = w) -> (((exists bcf_height_bptscr_row_code_at. bcf_height_bptscr_row_code_at + S (b) = S ((S (S i)) * bc)) /\ exists bcf_quotient_bptscr_row_code_at. bb = bcf_quotient_bptscr_row_code_at * S ((S (S i)) * bc) + (b))) -> (((exists bcf_height_bptscr_row_scale_at. bcf_height_bptscr_row_scale_at + S (c) = S ((S (S i)) * sc)) /\ exists bcf_quotient_bptscr_row_scale_at. sb = bcf_quotient_bptscr_row_scale_at * S ((S (S i)) * sc) + (c))) -> (((exists bcf_height_bptscr_current_at. bcf_height_bptscr_current_at + S (z) = S ((S (S j)) * c)) /\ exists bcf_quotient_bptscr_current_at. b = bcf_quotient_bptscr_current_at * S ((S (S j)) * c) + (z))) -> (exists bcf_previous_code_bptscr_result bcf_previous_scale_bptscr_result bcf_left_value_bptscr_result bcf_right_value_bptscr_result. (((exists bcf_height_bptscr_result_previous_code_at. bcf_height_bptscr_result_previous_code_at + S (bcf_previous_code_bptscr_result) = S ((S (i)) * bc)) /\ exists bcf_quotient_bptscr_result_previous_code_at. bb = bcf_quotient_bptscr_result_previous_code_at * S ((S (i)) * bc) + (bcf_previous_code_bptscr_result))) /\ ((((exists bcf_height_bptscr_result_previous_scale_at. bcf_height_bptscr_result_previous_scale_at + S (bcf_previous_scale_bptscr_result) = S ((S (i)) * sc)) /\ exists bcf_quotient_bptscr_result_previous_scale_at. sb = bcf_quotient_bptscr_result_previous_scale_at * S ((S (i)) * sc) + (bcf_previous_scale_bptscr_result))) /\ ((((exists bcf_height_bptscr_result_left_at. bcf_height_bptscr_result_left_at + S (bcf_left_value_bptscr_result) = S ((S (j)) * bcf_previous_scale_bptscr_result)) /\ exists bcf_quotient_bptscr_result_left_at. bcf_previous_code_bptscr_result = bcf_quotient_bptscr_result_left_at * S ((S (j)) * bcf_previous_scale_bptscr_result) + (bcf_left_value_bptscr_result))) /\ ((((exists bcf_height_bptscr_result_right_at. bcf_height_bptscr_result_right_at + S (bcf_right_value_bptscr_result) = S ((S (S (j))) * bcf_previous_scale_bptscr_result)) /\ exists bcf_quotient_bptscr_result_right_at. bcf_previous_code_bptscr_result = bcf_quotient_bptscr_result_right_at * S ((S (S (j))) * bcf_previous_scale_bptscr_result) + (bcf_right_value_bptscr_result))) /\ z = bcf_left_value_bptscr_result + bcf_right_value_bptscr_result))))Structural proof guide
A decoded successor table cell is the sum of predecessor cells.
Direct prerequisites: beta_at_unique, succ_ne_zero, succ_injective. The authored body proceeds by case analysis (22), intermediate claims (12), equality transport (11).
Proof neighborhood
Direct dependencies
Direct dependents
Formal native tactic body
Dependencies are hypotheses of the historical Alpha-v12 body receipt. The complete historical Alpha-v18 proof bundle independently checks every dependency; current Alpha v25 preserves that checked theorem use without changing Stable membership.
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 (3)
01Fix variables and assumptionsL1–10
02Fix variables and assumptionsL11–17
03Establish hrowL18–21
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply htable.
- L18Definitions: LtBetaAt
have hrow · expand full local formula (624 characters)
have hrow : ∃ bcf_row_code_bptscr_semantic_row. ∃ bcf_row_scale_bptscr_semantic_row. BetaAt(bb,bc,S i,bcf_row_code_bptscr_semantic_row) ∧ (BetaAt(sb,sc,S i,bcf_row_scale_bptscr_semantic_row) ∧ (S i = 0 ∧ (∀ x. Lt(x,w) → ∃ y. BetaAt(bcf_row_code_bptscr_semantic_row,bcf_row_scale_bptscr_semantic_row,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_bptscr_semantic_row,bcf_row_scale_bptscr_semantic_row,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)))))))))) - L19
specialize htable (S i) - L20
apply htable - L21
exact hrow_bound
04Separate the logical casesL22–25
05Establish hcodeL26–34
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at unique.
06Establish hscaleL35–43
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at unique.
07Separate the logical casesL44–46
08Use earlier factsL47–49
09Separate the logical casesL50–55
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L50
cases hrow_witness_witness_right_right_right - L51
cases hrow_witness_witness_right_right_right_witness - L52
cases hrow_witness_witness_right_right_right_witness_witness - L53
cases hrow_witness_witness_right_right_right_witness_witness_witness - L54
cases hrow_witness_witness_right_right_right_witness_witness_witness_right - L55
cases hrow_witness_witness_right_right_right_witness_witness_witness_right_right
10Establish hpredecessorL56–60
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply succ injective.
11Establish hprevious_codeL61–64
Establish this local claim before using it. It is not an additional assumption.
- L61
have hprevious_code : ((exists bcf_height_bptscr_previous_code_at. bcf_height_bptscr_previous_code_at + S (x3) = S ((S (i)) * bc)) /\ exists bcf_quotient_bptscr_previous_code_at. bb = bcf_quotient_bptscr_previous_code_at * S ((S (i)) * bc) + (x3)) - L62
rewrite hpredecessor - L63
rewrite hpredecessor - L64
exact hrow_witness_witness_right_right_right_witness_witness_witness_right_left
12Establish hprevious_scaleL65–68
Establish this local claim before using it. It is not an additional assumption.
- L65
have hprevious_scale : ((exists bcf_height_bptscr_previous_scale_at. bcf_height_bptscr_previous_scale_at + S (x4) = S ((S (i)) * sc)) /\ exists bcf_quotient_bptscr_previous_scale_at. sb = bcf_quotient_bptscr_previous_scale_at * S ((S (i)) * sc) + (x4)) - L66
rewrite hpredecessor - L67
rewrite hpredecessor - L68
exact hrow_witness_witness_right_right_right_witness_witness_witness_right_right_left
13Establish hsemantic_currentL69–73
Establish this local claim before using it. It is not an additional assumption.
- L69
have hsemantic_current : ((exists bcf_height_bptscr_semantic_current_at. bcf_height_bptscr_semantic_current_at + S (z) = S ((S (S j)) * x1)) /\ exists bcf_quotient_bptscr_semantic_current_at. x = bcf_quotient_bptscr_semantic_current_at * S ((S (S j)) * x1) + (z)) - L70
rewrite <- hcode - L71
rewrite <- hscale - L72
rewrite <- hscale - L73
exact hcurrent
14Establish hcellL74–77
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hrow witness witness right right right witness witness witness right right right.
- L74
have hcell : ∃ bcf_cell_value_bptscr_semantic_cell. BetaAt(x,x1,S j,bcf_cell_value_bptscr_semantic_cell) ∧ (S j = 0 ∧ bcf_cell_value_bptscr_semantic_cell = 1 ∨ (∃ y. ∃ z. ∃ n. S j = S y ∧ (BetaAt(x3,x4,y,z) ∧ (BetaAt(x3,x4,S y,n) ∧ bcf_cell_value_bptscr_semantic_cell = z + n))))Definitions: BetaAt - L75
specialize hrow_witness_witness_right_right_right_witness_witness_witness_right_right_right (S j) - L76
apply hrow_witness_witness_right_right_right_witness_witness_witness_right_right_right - L77
exact hcell_bound
15Separate the logical casesL78–79
16Establish hvalueL80–88
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at unique.
17Separate the logical casesL89–91
18Use earlier factsL92–94
19Separate the logical casesL95–100
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L95
cases hcell_witness_right_right - L96
cases hcell_witness_right_right_witness - L97
cases hcell_witness_right_right_witness_witness - L98
cases hcell_witness_right_right_witness_witness_witness - L99
cases hcell_witness_right_right_witness_witness_witness_right - L100
cases hcell_witness_right_right_witness_witness_witness_right_right
20Establish hcell_predecessorL101–105
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply succ injective.
21Establish hleftL106–109
Establish this local claim before using it. It is not an additional assumption.
- L106
have hleft : ((exists bcf_height_bptscr_returned_left_at. bcf_height_bptscr_returned_left_at + S (x7) = S ((S (j)) * x4)) /\ exists bcf_quotient_bptscr_returned_left_at. x3 = bcf_quotient_bptscr_returned_left_at * S ((S (j)) * x4) + (x7)) - L107
rewrite hcell_predecessor - L108
rewrite hcell_predecessor - L109
exact hcell_witness_right_right_witness_witness_witness_right_left
22Establish hrightL110–113
Establish this local claim before using it. It is not an additional assumption.
- L110
have hright : ((exists bcf_height_bptscr_returned_right_at. bcf_height_bptscr_returned_right_at + S (x8) = S ((S (S j)) * x4)) /\ exists bcf_quotient_bptscr_returned_right_at. x3 = bcf_quotient_bptscr_returned_right_at * S ((S (S j)) * x4) + (x8)) - L111
rewrite hcell_predecessor - L112
rewrite hcell_predecessor - L113
exact hcell_witness_right_right_witness_witness_witness_right_right_left
23Construct an explicit witnessL114–117
24Separate the logical casesL118–118
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L118
split
25Use earlier factsL119–119
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L119
exact hprevious_code
26Separate the logical casesL120–120
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L120
split
27Use earlier factsL121–121
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L121
exact hprevious_scale
28Separate the logical casesL122–122
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L122
split
29Use earlier factsL123–123
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L123
exact hleft
30Separate the logical casesL124–124
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L124
split
31Use earlier factsL125–125
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L125
exact hright
32Calculate and transport equalitiesL126–126
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L126
trans x5
Original exact command ledger · 128 lines
- 0001
intro bb - 0002
intro bc - 0003
intro sb - 0004
intro sc - 0005
intro w - 0006
intro r - 0007
intro i - 0008
intro j - 0009
intro b - 0010
intro c - 0011
intro z - 0012
intro htable - 0013
intro hrow_bound - 0014
intro hcell_bound - 0015
intro hrow_code - 0016
intro hrow_scale - 0017
intro hcurrent - 0018
have hrow : exists bcf_row_code_bptscr_semantic_row bcf_row_scale_bptscr_semantic_row. ((((exists bcf_height_bptscr_semantic_row_decoded_row_code. bcf_height_bptscr_semantic_row_decoded_row_code + S (bcf_row_code_bptscr_semantic_row) = S ((S (S i)) * bc)) /\ exists bcf_quotient_bptscr_semantic_row_decoded_row_code. bb = bcf_quotient_bptscr_semantic_row_decoded_row_code * S ((S (S i)) * bc) + (bcf_row_code_bptscr_semantic_row))) /\ ((((exists bcf_height_bptscr_semantic_row_decoded_row_scale. bcf_height_bptscr_semantic_row_decoded_row_scale + S (bcf_row_scale_bptscr_semantic_row) = S ((S (S i)) * sc)) /\ exists bcf_quotient_bptscr_semantic_row_decoded_row_scale. sb = bcf_quotient_bptscr_semantic_row_decoded_row_scale * S ((S (S i)) * sc) + (bcf_row_scale_bptscr_semantic_row))) /\ ((S i = 0 /\ (forall bcf_index_bptscr_semantic_row_zero_row. (exists bcf_lt_gap_bptscr_semantic_row_zero_row_bound. bcf_lt_gap_bptscr_semantic_row_zero_row_bound + S (bcf_index_bptscr_semantic_row_zero_row) = w) -> exists bcf_value_bptscr_semantic_row_zero_row. ((((exists bcf_height_bptscr_semantic_row_zero_row_entry. bcf_height_bptscr_semantic_row_zero_row_entry + S (bcf_value_bptscr_semantic_row_zero_row) = S ((S (bcf_index_bptscr_semantic_row_zero_row)) * bcf_row_scale_bptscr_semantic_row)) /\ exists bcf_quotient_bptscr_semantic_row_zero_row_entry. bcf_row_code_bptscr_semantic_row = bcf_quotient_bptscr_semantic_row_zero_row_entry * S ((S (bcf_index_bptscr_semantic_row_zero_row)) * bcf_row_scale_bptscr_semantic_row) + (bcf_value_bptscr_semantic_row_zero_row))) /\ ((bcf_index_bptscr_semantic_row_zero_row = 0 /\ bcf_value_bptscr_semantic_row_zero_row = 1) \/ exists bcf_predecessor_bptscr_semantic_row_zero_row. bcf_index_bptscr_semantic_row_zero_row = S bcf_predecessor_bptscr_semantic_row_zero_row /\ bcf_value_bptscr_semantic_row_zero_row = 0)))) \/ exists bcf_predecessor_bptscr_semantic_row bcf_previous_code_bptscr_semantic_row bcf_previous_scale_bptscr_semantic_row. S i = S bcf_predecessor_bptscr_semantic_row /\ ((((exists bcf_height_bptscr_semantic_row_decoded_previous_code. bcf_height_bptscr_semantic_row_decoded_previous_code + S (bcf_previous_code_bptscr_semantic_row) = S ((S (bcf_predecessor_bptscr_semantic_row)) * bc)) /\ exists bcf_quotient_bptscr_semantic_row_decoded_previous_code. bb = bcf_quotient_bptscr_semantic_row_decoded_previous_code * S ((S (bcf_predecessor_bptscr_semantic_row)) * bc) + (bcf_previous_code_bptscr_semantic_row))) /\ ((((exists bcf_height_bptscr_semantic_row_decoded_previous_scale. bcf_height_bptscr_semantic_row_decoded_previous_scale + S (bcf_previous_scale_bptscr_semantic_row) = S ((S (bcf_predecessor_bptscr_semantic_row)) * sc)) /\ exists bcf_quotient_bptscr_semantic_row_decoded_previous_scale. sb = bcf_quotient_bptscr_semantic_row_decoded_previous_scale * S ((S (bcf_predecessor_bptscr_semantic_row)) * sc) + (bcf_previous_scale_bptscr_semantic_row))) /\ (forall bcf_index_bptscr_semantic_row_row_step. (exists bcf_lt_gap_bptscr_semantic_row_row_step_bound. bcf_lt_gap_bptscr_semantic_row_row_step_bound + S (bcf_index_bptscr_semantic_row_row_step) = w) -> exists bcf_value_bptscr_semantic_row_row_step. ((((exists bcf_height_bptscr_semantic_row_row_step_entry. bcf_height_bptscr_semantic_row_row_step_entry + S (bcf_value_bptscr_semantic_row_row_step) = S ((S (bcf_index_bptscr_semantic_row_row_step)) * bcf_row_scale_bptscr_semantic_row)) /\ exists bcf_quotient_bptscr_semantic_row_row_step_entry. bcf_row_code_bptscr_semantic_row = bcf_quotient_bptscr_semantic_row_row_step_entry * S ((S (bcf_index_bptscr_semantic_row_row_step)) * bcf_row_scale_bptscr_semantic_row) + (bcf_value_bptscr_semantic_row_row_step))) /\ ((bcf_index_bptscr_semantic_row_row_step = 0 /\ bcf_value_bptscr_semantic_row_row_step = 1) \/ exists bcf_predecessor_bptscr_semantic_row_row_step bcf_left_bptscr_semantic_row_row_step bcf_right_bptscr_semantic_row_row_step. bcf_index_bptscr_semantic_row_row_step = S bcf_predecessor_bptscr_semantic_row_row_step /\ ((((exists bcf_height_bptscr_semantic_row_row_step_previous_left. bcf_height_bptscr_semantic_row_row_step_previous_left + S (bcf_left_bptscr_semantic_row_row_step) = S ((S (bcf_predecessor_bptscr_semantic_row_row_step)) * bcf_previous_scale_bptscr_semantic_row)) /\ exists bcf_quotient_bptscr_semantic_row_row_step_previous_left. bcf_previous_code_bptscr_semantic_row = bcf_quotient_bptscr_semantic_row_row_step_previous_left * S ((S (bcf_predecessor_bptscr_semantic_row_row_step)) * bcf_previous_scale_bptscr_semantic_row) + (bcf_left_bptscr_semantic_row_row_step))) /\ ((((exists bcf_height_bptscr_semantic_row_row_step_previous_right. bcf_height_bptscr_semantic_row_row_step_previous_right + S (bcf_right_bptscr_semantic_row_row_step) = S ((S (S (bcf_predecessor_bptscr_semantic_row_row_step))) * bcf_previous_scale_bptscr_semantic_row)) /\ exists bcf_quotient_bptscr_semantic_row_row_step_previous_right. bcf_previous_code_bptscr_semantic_row = bcf_quotient_bptscr_semantic_row_row_step_previous_right * S ((S (S (bcf_predecessor_bptscr_semantic_row_row_step))) * bcf_previous_scale_bptscr_semantic_row) + (bcf_right_bptscr_semantic_row_row_step))) /\ bcf_value_bptscr_semantic_row_row_step = bcf_left_bptscr_semantic_row_row_step + bcf_right_bptscr_semantic_row_row_step)))))))))) - 0019
specialize htable (S i) - 0020
apply htable - 0021
exact hrow_bound - 0022
cases hrow - 0023
cases hrow_witness - 0024
cases hrow_witness_witness - 0025
cases hrow_witness_witness_right - 0026
have hcode : b = x - 0027
specialize beta_at_unique bb - 0028
specialize beta_at_unique bc - 0029
specialize beta_at_unique (S i) - 0030
specialize beta_at_unique b - 0031
specialize beta_at_unique x - 0032
apply beta_at_unique - 0033
exact hrow_code - 0034
exact hrow_witness_witness_left - 0035
have hscale : c = x1 - 0036
specialize beta_at_unique sb - 0037
specialize beta_at_unique sc - 0038
specialize beta_at_unique (S i) - 0039
specialize beta_at_unique c - 0040
specialize beta_at_unique x1 - 0041
apply beta_at_unique - 0042
exact hrow_scale - 0043
exact hrow_witness_witness_right_left - 0044
cases hrow_witness_witness_right_right - 0045
cases hrow_witness_witness_right_right_left - 0046
exfalso - 0047
specialize succ_ne_zero i - 0048
apply succ_ne_zero - 0049
exact hrow_witness_witness_right_right_left_left - 0050
cases hrow_witness_witness_right_right_right - 0051
cases hrow_witness_witness_right_right_right_witness - 0052
cases hrow_witness_witness_right_right_right_witness_witness - 0053
cases hrow_witness_witness_right_right_right_witness_witness_witness - 0054
cases hrow_witness_witness_right_right_right_witness_witness_witness_right - 0055
cases hrow_witness_witness_right_right_right_witness_witness_witness_right_right - 0056
have hpredecessor : i = x2 - 0057
specialize succ_injective i - 0058
specialize succ_injective x2 - 0059
apply succ_injective - 0060
exact hrow_witness_witness_right_right_right_witness_witness_witness_left - 0061
have hprevious_code : ((exists bcf_height_bptscr_previous_code_at. bcf_height_bptscr_previous_code_at + S (x3) = S ((S (i)) * bc)) /\ exists bcf_quotient_bptscr_previous_code_at. bb = bcf_quotient_bptscr_previous_code_at * S ((S (i)) * bc) + (x3)) - 0062
rewrite hpredecessor - 0063
rewrite hpredecessor - 0064
exact hrow_witness_witness_right_right_right_witness_witness_witness_right_left - 0065
have hprevious_scale : ((exists bcf_height_bptscr_previous_scale_at. bcf_height_bptscr_previous_scale_at + S (x4) = S ((S (i)) * sc)) /\ exists bcf_quotient_bptscr_previous_scale_at. sb = bcf_quotient_bptscr_previous_scale_at * S ((S (i)) * sc) + (x4)) - 0066
rewrite hpredecessor - 0067
rewrite hpredecessor - 0068
exact hrow_witness_witness_right_right_right_witness_witness_witness_right_right_left - 0069
have hsemantic_current : ((exists bcf_height_bptscr_semantic_current_at. bcf_height_bptscr_semantic_current_at + S (z) = S ((S (S j)) * x1)) /\ exists bcf_quotient_bptscr_semantic_current_at. x = bcf_quotient_bptscr_semantic_current_at * S ((S (S j)) * x1) + (z)) - 0070
rewrite <- hcode - 0071
rewrite <- hscale - 0072
rewrite <- hscale - 0073
exact hcurrent - 0074
have hcell : exists bcf_cell_value_bptscr_semantic_cell. ((((exists bcf_height_bptscr_semantic_cell_entry. bcf_height_bptscr_semantic_cell_entry + S (bcf_cell_value_bptscr_semantic_cell) = S ((S (S j)) * x1)) /\ exists bcf_quotient_bptscr_semantic_cell_entry. x = bcf_quotient_bptscr_semantic_cell_entry * S ((S (S j)) * x1) + (bcf_cell_value_bptscr_semantic_cell))) /\ ((S j = 0 /\ bcf_cell_value_bptscr_semantic_cell = 1) \/ exists bcf_cell_predecessor_bptscr_semantic_cell bcf_cell_left_bptscr_semantic_cell bcf_cell_right_bptscr_semantic_cell. S j = S bcf_cell_predecessor_bptscr_semantic_cell /\ ((((exists bcf_height_bptscr_semantic_cell_previous_left. bcf_height_bptscr_semantic_cell_previous_left + S (bcf_cell_left_bptscr_semantic_cell) = S ((S (bcf_cell_predecessor_bptscr_semantic_cell)) * x4)) /\ exists bcf_quotient_bptscr_semantic_cell_previous_left. x3 = bcf_quotient_bptscr_semantic_cell_previous_left * S ((S (bcf_cell_predecessor_bptscr_semantic_cell)) * x4) + (bcf_cell_left_bptscr_semantic_cell))) /\ ((((exists bcf_height_bptscr_semantic_cell_previous_right. bcf_height_bptscr_semantic_cell_previous_right + S (bcf_cell_right_bptscr_semantic_cell) = S ((S (S (bcf_cell_predecessor_bptscr_semantic_cell))) * x4)) /\ exists bcf_quotient_bptscr_semantic_cell_previous_right. x3 = bcf_quotient_bptscr_semantic_cell_previous_right * S ((S (S (bcf_cell_predecessor_bptscr_semantic_cell))) * x4) + (bcf_cell_right_bptscr_semantic_cell))) /\ bcf_cell_value_bptscr_semantic_cell = bcf_cell_left_bptscr_semantic_cell + bcf_cell_right_bptscr_semantic_cell)))) - 0075
specialize hrow_witness_witness_right_right_right_witness_witness_witness_right_right_right (S j) - 0076
apply hrow_witness_witness_right_right_right_witness_witness_witness_right_right_right - 0077
exact hcell_bound - 0078
cases hcell - 0079
cases hcell_witness - 0080
have hvalue : z = x5 - 0081
specialize beta_at_unique x - 0082
specialize beta_at_unique x1 - 0083
specialize beta_at_unique (S j) - 0084
specialize beta_at_unique z - 0085
specialize beta_at_unique x5 - 0086
apply beta_at_unique - 0087
exact hsemantic_current - 0088
exact hcell_witness_left - 0089
cases hcell_witness_right - 0090
cases hcell_witness_right_left - 0091
exfalso - 0092
specialize succ_ne_zero j - 0093
apply succ_ne_zero - 0094
exact hcell_witness_right_left_left - 0095
cases hcell_witness_right_right - 0096
cases hcell_witness_right_right_witness - 0097
cases hcell_witness_right_right_witness_witness - 0098
cases hcell_witness_right_right_witness_witness_witness - 0099
cases hcell_witness_right_right_witness_witness_witness_right - 0100
cases hcell_witness_right_right_witness_witness_witness_right_right - 0101
have hcell_predecessor : j = x6 - 0102
specialize succ_injective j - 0103
specialize succ_injective x6 - 0104
apply succ_injective - 0105
exact hcell_witness_right_right_witness_witness_witness_left - 0106
have hleft : ((exists bcf_height_bptscr_returned_left_at. bcf_height_bptscr_returned_left_at + S (x7) = S ((S (j)) * x4)) /\ exists bcf_quotient_bptscr_returned_left_at. x3 = bcf_quotient_bptscr_returned_left_at * S ((S (j)) * x4) + (x7)) - 0107
rewrite hcell_predecessor - 0108
rewrite hcell_predecessor - 0109
exact hcell_witness_right_right_witness_witness_witness_right_left - 0110
have hright : ((exists bcf_height_bptscr_returned_right_at. bcf_height_bptscr_returned_right_at + S (x8) = S ((S (S j)) * x4)) /\ exists bcf_quotient_bptscr_returned_right_at. x3 = bcf_quotient_bptscr_returned_right_at * S ((S (S j)) * x4) + (x8)) - 0111
rewrite hcell_predecessor - 0112
rewrite hcell_predecessor - 0113
exact hcell_witness_right_right_witness_witness_witness_right_right_left - 0114
exists x3 - 0115
exists x4 - 0116
exists x7 - 0117
exists x8 - 0118
split - 0119
exact hprevious_code - 0120
split - 0121
exact hprevious_scale - 0122
split - 0123
exact hleft - 0124
split - 0125
exact hright - 0126
trans x5 - 0127
exact hvalue - 0128
exact hcell_witness_right_right_witness_witness_witness_right_right_right