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
∀ n. ∀ z. Choose(n,0,z) → z = 1Every 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
1 occurrences
In local proof propositions
17 occurrences
Exact expanded native-PA statement
forall n z. (((exists bcf_lt_gap_bclz_choose_out_of_range. bcf_lt_gap_bclz_choose_out_of_range + S (n) = 0) /\ z = 0) \/ ((exists bcf_le_gap_bclz_choose_in_range. bcf_le_gap_bclz_choose_in_range + (0) = n) /\ (exists bcf_row_code_code_bclz_choose bcf_row_code_scale_bclz_choose bcf_row_scale_code_bclz_choose bcf_row_scale_scale_bclz_choose bcf_row_code_bclz_choose bcf_row_scale_bclz_choose. ((forall bcf_row_index_bclz_choose_table. (exists bcf_lt_gap_bclz_choose_table_row_bound. bcf_lt_gap_bclz_choose_table_row_bound + S (bcf_row_index_bclz_choose_table) = S (n)) -> exists bcf_row_code_bclz_choose_table bcf_row_scale_bclz_choose_table. ((((exists bcf_height_bclz_choose_table_decoded_row_code. bcf_height_bclz_choose_table_decoded_row_code + S (bcf_row_code_bclz_choose_table) = S ((S (bcf_row_index_bclz_choose_table)) * bcf_row_code_scale_bclz_choose)) /\ exists bcf_quotient_bclz_choose_table_decoded_row_code. bcf_row_code_code_bclz_choose = bcf_quotient_bclz_choose_table_decoded_row_code * S ((S (bcf_row_index_bclz_choose_table)) * bcf_row_code_scale_bclz_choose) + (bcf_row_code_bclz_choose_table))) /\ ((((exists bcf_height_bclz_choose_table_decoded_row_scale. bcf_height_bclz_choose_table_decoded_row_scale + S (bcf_row_scale_bclz_choose_table) = S ((S (bcf_row_index_bclz_choose_table)) * bcf_row_scale_scale_bclz_choose)) /\ exists bcf_quotient_bclz_choose_table_decoded_row_scale. bcf_row_scale_code_bclz_choose = bcf_quotient_bclz_choose_table_decoded_row_scale * S ((S (bcf_row_index_bclz_choose_table)) * bcf_row_scale_scale_bclz_choose) + (bcf_row_scale_bclz_choose_table))) /\ ((bcf_row_index_bclz_choose_table = 0 /\ (forall bcf_index_bclz_choose_table_zero_row. (exists bcf_lt_gap_bclz_choose_table_zero_row_bound. bcf_lt_gap_bclz_choose_table_zero_row_bound + S (bcf_index_bclz_choose_table_zero_row) = S (n)) -> exists bcf_value_bclz_choose_table_zero_row. ((((exists bcf_height_bclz_choose_table_zero_row_entry. bcf_height_bclz_choose_table_zero_row_entry + S (bcf_value_bclz_choose_table_zero_row) = S ((S (bcf_index_bclz_choose_table_zero_row)) * bcf_row_scale_bclz_choose_table)) /\ exists bcf_quotient_bclz_choose_table_zero_row_entry. bcf_row_code_bclz_choose_table = bcf_quotient_bclz_choose_table_zero_row_entry * S ((S (bcf_index_bclz_choose_table_zero_row)) * bcf_row_scale_bclz_choose_table) + (bcf_value_bclz_choose_table_zero_row))) /\ ((bcf_index_bclz_choose_table_zero_row = 0 /\ bcf_value_bclz_choose_table_zero_row = 1) \/ exists bcf_predecessor_bclz_choose_table_zero_row. bcf_index_bclz_choose_table_zero_row = S bcf_predecessor_bclz_choose_table_zero_row /\ bcf_value_bclz_choose_table_zero_row = 0)))) \/ exists bcf_predecessor_bclz_choose_table bcf_previous_code_bclz_choose_table bcf_previous_scale_bclz_choose_table. bcf_row_index_bclz_choose_table = S bcf_predecessor_bclz_choose_table /\ ((((exists bcf_height_bclz_choose_table_decoded_previous_code. bcf_height_bclz_choose_table_decoded_previous_code + S (bcf_previous_code_bclz_choose_table) = S ((S (bcf_predecessor_bclz_choose_table)) * bcf_row_code_scale_bclz_choose)) /\ exists bcf_quotient_bclz_choose_table_decoded_previous_code. bcf_row_code_code_bclz_choose = bcf_quotient_bclz_choose_table_decoded_previous_code * S ((S (bcf_predecessor_bclz_choose_table)) * bcf_row_code_scale_bclz_choose) + (bcf_previous_code_bclz_choose_table))) /\ ((((exists bcf_height_bclz_choose_table_decoded_previous_scale. bcf_height_bclz_choose_table_decoded_previous_scale + S (bcf_previous_scale_bclz_choose_table) = S ((S (bcf_predecessor_bclz_choose_table)) * bcf_row_scale_scale_bclz_choose)) /\ exists bcf_quotient_bclz_choose_table_decoded_previous_scale. bcf_row_scale_code_bclz_choose = bcf_quotient_bclz_choose_table_decoded_previous_scale * S ((S (bcf_predecessor_bclz_choose_table)) * bcf_row_scale_scale_bclz_choose) + (bcf_previous_scale_bclz_choose_table))) /\ (forall bcf_index_bclz_choose_table_row_step. (exists bcf_lt_gap_bclz_choose_table_row_step_bound. bcf_lt_gap_bclz_choose_table_row_step_bound + S (bcf_index_bclz_choose_table_row_step) = S (n)) -> exists bcf_value_bclz_choose_table_row_step. ((((exists bcf_height_bclz_choose_table_row_step_entry. bcf_height_bclz_choose_table_row_step_entry + S (bcf_value_bclz_choose_table_row_step) = S ((S (bcf_index_bclz_choose_table_row_step)) * bcf_row_scale_bclz_choose_table)) /\ exists bcf_quotient_bclz_choose_table_row_step_entry. bcf_row_code_bclz_choose_table = bcf_quotient_bclz_choose_table_row_step_entry * S ((S (bcf_index_bclz_choose_table_row_step)) * bcf_row_scale_bclz_choose_table) + (bcf_value_bclz_choose_table_row_step))) /\ ((bcf_index_bclz_choose_table_row_step = 0 /\ bcf_value_bclz_choose_table_row_step = 1) \/ exists bcf_predecessor_bclz_choose_table_row_step bcf_left_bclz_choose_table_row_step bcf_right_bclz_choose_table_row_step. bcf_index_bclz_choose_table_row_step = S bcf_predecessor_bclz_choose_table_row_step /\ ((((exists bcf_height_bclz_choose_table_row_step_previous_left. bcf_height_bclz_choose_table_row_step_previous_left + S (bcf_left_bclz_choose_table_row_step) = S ((S (bcf_predecessor_bclz_choose_table_row_step)) * bcf_previous_scale_bclz_choose_table)) /\ exists bcf_quotient_bclz_choose_table_row_step_previous_left. bcf_previous_code_bclz_choose_table = bcf_quotient_bclz_choose_table_row_step_previous_left * S ((S (bcf_predecessor_bclz_choose_table_row_step)) * bcf_previous_scale_bclz_choose_table) + (bcf_left_bclz_choose_table_row_step))) /\ ((((exists bcf_height_bclz_choose_table_row_step_previous_right. bcf_height_bclz_choose_table_row_step_previous_right + S (bcf_right_bclz_choose_table_row_step) = S ((S (S (bcf_predecessor_bclz_choose_table_row_step))) * bcf_previous_scale_bclz_choose_table)) /\ exists bcf_quotient_bclz_choose_table_row_step_previous_right. bcf_previous_code_bclz_choose_table = bcf_quotient_bclz_choose_table_row_step_previous_right * S ((S (S (bcf_predecessor_bclz_choose_table_row_step))) * bcf_previous_scale_bclz_choose_table) + (bcf_right_bclz_choose_table_row_step))) /\ bcf_value_bclz_choose_table_row_step = bcf_left_bclz_choose_table_row_step + bcf_right_bclz_choose_table_row_step))))))))))) /\ ((((exists bcf_height_bclz_choose_decoded_row_code. bcf_height_bclz_choose_decoded_row_code + S (bcf_row_code_bclz_choose) = S ((S (n)) * bcf_row_code_scale_bclz_choose)) /\ exists bcf_quotient_bclz_choose_decoded_row_code. bcf_row_code_code_bclz_choose = bcf_quotient_bclz_choose_decoded_row_code * S ((S (n)) * bcf_row_code_scale_bclz_choose) + (bcf_row_code_bclz_choose))) /\ ((((exists bcf_height_bclz_choose_decoded_row_scale. bcf_height_bclz_choose_decoded_row_scale + S (bcf_row_scale_bclz_choose) = S ((S (n)) * bcf_row_scale_scale_bclz_choose)) /\ exists bcf_quotient_bclz_choose_decoded_row_scale. bcf_row_scale_code_bclz_choose = bcf_quotient_bclz_choose_decoded_row_scale * S ((S (n)) * bcf_row_scale_scale_bclz_choose) + (bcf_row_scale_bclz_choose))) /\ (((exists bcf_height_bclz_choose_decoded_value. bcf_height_bclz_choose_decoded_value + S (z) = S ((S (0)) * bcf_row_scale_bclz_choose)) /\ exists bcf_quotient_bclz_choose_decoded_value. bcf_row_code_bclz_choose = bcf_quotient_bclz_choose_decoded_value * S ((S (0)) * bcf_row_scale_bclz_choose) + (z))))))))) -> z = 1Proof neighborhood
Direct theorem prerequisites
BT000W zero_le BT001I lt_not_le BT000E le_refl BT0016 succ_le_succ BT000C succ_ne_zero BT0042 beta_at_uniqueDirect 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–3
02Separate the logical casesL4–6
03Use earlier factsL7–12
04Separate the logical casesL13–22
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L13
cases hchoose_right - L14
cases hchoose_right_right - L15
cases hchoose_right_right_witness - L16
cases hchoose_right_right_witness_witness - L17
cases hchoose_right_right_witness_witness_witness - L18
cases hchoose_right_right_witness_witness_witness_witness - L19
cases hchoose_right_right_witness_witness_witness_witness_witness - L20
cases hchoose_right_right_witness_witness_witness_witness_witness_witness - L21
cases hchoose_right_right_witness_witness_witness_witness_witness_witness_right - L22
cases hchoose_right_right_witness_witness_witness_witness_witness_witness_right_right
05Establish hrow_boundL23–25
Establish this local claim before using it. It is not an additional assumption.
06Establish hinner_boundL26–31
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply succ le succ.
07Establish hrowL32–35
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hchoose right right witness witness witness witness witness witness left.
- L32
have hrow : ∃ bcf_row_code_bclz_table_row. ∃ bcf_row_scale_bclz_table_row. BetaAt(x,x1,n,bcf_row_code_bclz_table_row) ∧ (BetaAt(x2,x3,n,bcf_row_scale_bclz_table_row) ∧ (n = 0 ∧ (∀ y. Lt(y,S n) → ∃ z. BetaAt(bcf_row_code_bclz_table_row,bcf_row_scale_bclz_table_row,y,z) ∧ (y = 0 ∧ z = 1 ∨ (∃ m. y = S m ∧ z = 0))) ∨ (∃ y. ∃ z. ∃ m. n = S y ∧ (BetaAt(x,x1,y,z) ∧ (BetaAt(x2,x3,y,m) ∧ (∀ k. Lt(k,S n) → ∃ i. BetaAt(bcf_row_code_bclz_table_row,bcf_row_scale_bclz_table_row,k,i) ∧ (k = 0 ∧ i = 1 ∨ (∃ j. ∃ u. ∃ v. k = S j ∧ (BetaAt(z,m,j,u) ∧ (BetaAt(z,m,S j,v) ∧ i = u + v))))))))))Definitions: BetaAt(x,x1,n,bcf_row_code_bclz_table_row)BetaAt(x2,x3,n,bcf_row_scale_bclz_table_row)Lt(y,S n)BetaAt(bcf_row_code_bclz_table_row,bcf_row_scale_bclz_table_row,y,z)BetaAt(x,x1,y,z)BetaAt(x2,x3,y,m)Lt(k,S n)BetaAt(bcf_row_code_bclz_table_row,bcf_row_scale_bclz_table_row,k,i)BetaAt(z,m,j,u)BetaAt(z,m,S j,v)Original native command in the exact edition - L33
specialize hchoose_right_right_witness_witness_witness_witness_witness_witness_left n - L34
apply hchoose_right_right_witness_witness_witness_witness_witness_witness_left - L35
exact hrow_bound
08Separate the logical casesL36–39
09Establish hcodeL40–48
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at unique.
- L40
have hcode : x4 = x6 - L41
specialize beta_at_unique x - L42
specialize beta_at_unique x1 - L43
specialize beta_at_unique n - L44
specialize beta_at_unique x4 - L45
specialize beta_at_unique x6 - L46
apply beta_at_unique - L47
exact hchoose_right_right_witness_witness_witness_witness_witness_witness_right_left - L48
exact hrow_witness_witness_left
10Establish hscaleL49–57
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at unique.
- L49
have hscale : x5 = x7 - L50
specialize beta_at_unique x2 - L51
specialize beta_at_unique x3 - L52
specialize beta_at_unique n - L53
specialize beta_at_unique x5 - L54
specialize beta_at_unique x7 - L55
apply beta_at_unique - L56
exact hchoose_right_right_witness_witness_witness_witness_witness_witness_right_right_left - L57
exact hrow_witness_witness_right_left
11Establish hvalueL58–62
Establish this local claim before using it. It is not an additional assumption.
- L58
have hvalue : BetaAt(x6,x7,0,z)Definitions: BetaAt(x6,x7,0,z)Original native command in the exact edition - L59
rewrite <- hcode - L60
rewrite <- hscale - L61
rewrite <- hscale - L62
exact hchoose_right_right_witness_witness_witness_witness_witness_witness_right_right_right
12Separate the logical casesL63–64
13Establish hcellL65–68
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hrow witness witness right right left right.
- L65
have hcell : ∃ bcf_cell_value_bclz_zero_cell. BetaAt(x6,x7,0,bcf_cell_value_bclz_zero_cell) ∧ (0 = 0 ∧ bcf_cell_value_bclz_zero_cell = 1 ∨ (∃ x. 0 = S x ∧ bcf_cell_value_bclz_zero_cell = 0))Definitions: BetaAt(x6,x7,0,bcf_cell_value_bclz_zero_cell)Original native command in the exact edition - L66
specialize hrow_witness_witness_right_right_left_right 0 - L67
apply hrow_witness_witness_right_right_left_right - L68
exact hinner_bound
14Separate the logical casesL69–70
15Establish hzvalueL71–79
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at unique.
16Separate the logical casesL80–81
17Calculate and transport equalitiesL82–82
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L82
trans x8
18Use earlier factsL83–84
19Separate the logical casesL85–87
20Establish hbadL88–93
21Separate the logical casesL94–99
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L94
cases hrow_witness_witness_right_right_right - L95
cases hrow_witness_witness_right_right_right_witness - L96
cases hrow_witness_witness_right_right_right_witness_witness - L97
cases hrow_witness_witness_right_right_right_witness_witness_witness - L98
cases hrow_witness_witness_right_right_right_witness_witness_witness_right - L99
cases hrow_witness_witness_right_right_right_witness_witness_witness_right_right
22Establish hcellL100–103
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.
- L100
have hcell : ∃ bcf_cell_value_bclz_step_cell. BetaAt(x6,x7,0,bcf_cell_value_bclz_step_cell) ∧ (0 = 0 ∧ bcf_cell_value_bclz_step_cell = 1 ∨ (∃ x. ∃ y. ∃ z. 0 = S x ∧ (BetaAt(x9,x10,x,y) ∧ (BetaAt(x9,x10,S x,z) ∧ bcf_cell_value_bclz_step_cell = y + z))))Definitions: BetaAt(x6,x7,0,bcf_cell_value_bclz_step_cell)BetaAt(x9,x10,x,y)BetaAt(x9,x10,S x,z)Original native command in the exact edition - L101
specialize hrow_witness_witness_right_right_right_witness_witness_witness_right_right_right 0 - L102
apply hrow_witness_witness_right_right_right_witness_witness_witness_right_right_right - L103
exact hinner_bound
23Separate the logical casesL104–105
24Establish hzvalueL106–114
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at unique.
25Separate the logical casesL115–116
26Calculate and transport equalitiesL117–117
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L117
trans x11
27Use earlier factsL118–119
28Separate the logical casesL120–124
29Establish hbadL125–130
Original defined command ledger · 130 lines
- 0001
intro n - 0002
intro z - 0003
intro hchoose - 0004
cases hchoose - 0005
cases hchoose_left - 0006
exfalso - 0007
specialize lt_not_le n - 0008
specialize lt_not_le 0 - 0009
apply lt_not_le - 0010
exact hchoose_left_left - 0011
specialize zero_le n - 0012
exact zero_le - 0013
cases hchoose_right - 0014
cases hchoose_right_right - 0015
cases hchoose_right_right_witness - 0016
cases hchoose_right_right_witness_witness - 0017
cases hchoose_right_right_witness_witness_witness - 0018
cases hchoose_right_right_witness_witness_witness_witness - 0019
cases hchoose_right_right_witness_witness_witness_witness_witness - 0020
cases hchoose_right_right_witness_witness_witness_witness_witness_witness - 0021
cases hchoose_right_right_witness_witness_witness_witness_witness_witness_right - 0022
cases hchoose_right_right_witness_witness_witness_witness_witness_witness_right_right - 0023
have hrow_bound : Lt(n,S n)Exact native replay line
have hrow_bound : exists bcf_lt_gap_bclz_row_bound. bcf_lt_gap_bclz_row_bound + S (n) = S n - 0024
specialize le_refl (S n) - 0025
exact le_refl - 0026
have hinner_bound : Lt(0,S n)Exact native replay line
have hinner_bound : exists bcf_lt_gap_bclz_inner_bound. bcf_lt_gap_bclz_inner_bound + S (0) = S n - 0027
specialize succ_le_succ 0 - 0028
specialize succ_le_succ n - 0029
apply succ_le_succ - 0030
specialize zero_le n - 0031
exact zero_le - 0032
have hrow : ∃ bcf_row_code_bclz_table_row. ∃ bcf_row_scale_bclz_table_row. BetaAt(x,x1,n,bcf_row_code_bclz_table_row) ∧ (BetaAt(x2,x3,n,bcf_row_scale_bclz_table_row) ∧ (n = 0 ∧ (∀ y. Lt(y,S n) → ∃ z. BetaAt(bcf_row_code_bclz_table_row,bcf_row_scale_bclz_table_row,y,z) ∧ (y = 0 ∧ z = 1 ∨ (∃ m. y = S m ∧ z = 0))) ∨ (∃ y. ∃ z. ∃ m. n = S y ∧ (BetaAt(x,x1,y,z) ∧ (BetaAt(x2,x3,y,m) ∧ (∀ k. Lt(k,S n) → ∃ i. BetaAt(bcf_row_code_bclz_table_row,bcf_row_scale_bclz_table_row,k,i) ∧ (k = 0 ∧ i = 1 ∨ (∃ j. ∃ u. ∃ v. k = S j ∧ (BetaAt(z,m,j,u) ∧ (BetaAt(z,m,S j,v) ∧ i = u + v))))))))))Exact native replay line
have hrow : exists bcf_row_code_bclz_table_row bcf_row_scale_bclz_table_row. ((((exists bcf_height_bclz_table_row_decoded_row_code. bcf_height_bclz_table_row_decoded_row_code + S (bcf_row_code_bclz_table_row) = S ((S (n)) * x1)) /\ exists bcf_quotient_bclz_table_row_decoded_row_code. x = bcf_quotient_bclz_table_row_decoded_row_code * S ((S (n)) * x1) + (bcf_row_code_bclz_table_row))) /\ ((((exists bcf_height_bclz_table_row_decoded_row_scale. bcf_height_bclz_table_row_decoded_row_scale + S (bcf_row_scale_bclz_table_row) = S ((S (n)) * x3)) /\ exists bcf_quotient_bclz_table_row_decoded_row_scale. x2 = bcf_quotient_bclz_table_row_decoded_row_scale * S ((S (n)) * x3) + (bcf_row_scale_bclz_table_row))) /\ ((n = 0 /\ (forall bcf_index_bclz_table_row_zero_row. (exists bcf_lt_gap_bclz_table_row_zero_row_bound. bcf_lt_gap_bclz_table_row_zero_row_bound + S (bcf_index_bclz_table_row_zero_row) = S n) -> exists bcf_value_bclz_table_row_zero_row. ((((exists bcf_height_bclz_table_row_zero_row_entry. bcf_height_bclz_table_row_zero_row_entry + S (bcf_value_bclz_table_row_zero_row) = S ((S (bcf_index_bclz_table_row_zero_row)) * bcf_row_scale_bclz_table_row)) /\ exists bcf_quotient_bclz_table_row_zero_row_entry. bcf_row_code_bclz_table_row = bcf_quotient_bclz_table_row_zero_row_entry * S ((S (bcf_index_bclz_table_row_zero_row)) * bcf_row_scale_bclz_table_row) + (bcf_value_bclz_table_row_zero_row))) /\ ((bcf_index_bclz_table_row_zero_row = 0 /\ bcf_value_bclz_table_row_zero_row = 1) \/ exists bcf_predecessor_bclz_table_row_zero_row. bcf_index_bclz_table_row_zero_row = S bcf_predecessor_bclz_table_row_zero_row /\ bcf_value_bclz_table_row_zero_row = 0)))) \/ exists bcf_predecessor_bclz_table_row bcf_previous_code_bclz_table_row bcf_previous_scale_bclz_table_row. n = S bcf_predecessor_bclz_table_row /\ ((((exists bcf_height_bclz_table_row_decoded_previous_code. bcf_height_bclz_table_row_decoded_previous_code + S (bcf_previous_code_bclz_table_row) = S ((S (bcf_predecessor_bclz_table_row)) * x1)) /\ exists bcf_quotient_bclz_table_row_decoded_previous_code. x = bcf_quotient_bclz_table_row_decoded_previous_code * S ((S (bcf_predecessor_bclz_table_row)) * x1) + (bcf_previous_code_bclz_table_row))) /\ ((((exists bcf_height_bclz_table_row_decoded_previous_scale. bcf_height_bclz_table_row_decoded_previous_scale + S (bcf_previous_scale_bclz_table_row) = S ((S (bcf_predecessor_bclz_table_row)) * x3)) /\ exists bcf_quotient_bclz_table_row_decoded_previous_scale. x2 = bcf_quotient_bclz_table_row_decoded_previous_scale * S ((S (bcf_predecessor_bclz_table_row)) * x3) + (bcf_previous_scale_bclz_table_row))) /\ (forall bcf_index_bclz_table_row_row_step. (exists bcf_lt_gap_bclz_table_row_row_step_bound. bcf_lt_gap_bclz_table_row_row_step_bound + S (bcf_index_bclz_table_row_row_step) = S n) -> exists bcf_value_bclz_table_row_row_step. ((((exists bcf_height_bclz_table_row_row_step_entry. bcf_height_bclz_table_row_row_step_entry + S (bcf_value_bclz_table_row_row_step) = S ((S (bcf_index_bclz_table_row_row_step)) * bcf_row_scale_bclz_table_row)) /\ exists bcf_quotient_bclz_table_row_row_step_entry. bcf_row_code_bclz_table_row = bcf_quotient_bclz_table_row_row_step_entry * S ((S (bcf_index_bclz_table_row_row_step)) * bcf_row_scale_bclz_table_row) + (bcf_value_bclz_table_row_row_step))) /\ ((bcf_index_bclz_table_row_row_step = 0 /\ bcf_value_bclz_table_row_row_step = 1) \/ exists bcf_predecessor_bclz_table_row_row_step bcf_left_bclz_table_row_row_step bcf_right_bclz_table_row_row_step. bcf_index_bclz_table_row_row_step = S bcf_predecessor_bclz_table_row_row_step /\ ((((exists bcf_height_bclz_table_row_row_step_previous_left. bcf_height_bclz_table_row_row_step_previous_left + S (bcf_left_bclz_table_row_row_step) = S ((S (bcf_predecessor_bclz_table_row_row_step)) * bcf_previous_scale_bclz_table_row)) /\ exists bcf_quotient_bclz_table_row_row_step_previous_left. bcf_previous_code_bclz_table_row = bcf_quotient_bclz_table_row_row_step_previous_left * S ((S (bcf_predecessor_bclz_table_row_row_step)) * bcf_previous_scale_bclz_table_row) + (bcf_left_bclz_table_row_row_step))) /\ ((((exists bcf_height_bclz_table_row_row_step_previous_right. bcf_height_bclz_table_row_row_step_previous_right + S (bcf_right_bclz_table_row_row_step) = S ((S (S (bcf_predecessor_bclz_table_row_row_step))) * bcf_previous_scale_bclz_table_row)) /\ exists bcf_quotient_bclz_table_row_row_step_previous_right. bcf_previous_code_bclz_table_row = bcf_quotient_bclz_table_row_row_step_previous_right * S ((S (S (bcf_predecessor_bclz_table_row_row_step))) * bcf_previous_scale_bclz_table_row) + (bcf_right_bclz_table_row_row_step))) /\ bcf_value_bclz_table_row_row_step = bcf_left_bclz_table_row_row_step + bcf_right_bclz_table_row_row_step)))))))))) - 0033
specialize hchoose_right_right_witness_witness_witness_witness_witness_witness_left n - 0034
apply hchoose_right_right_witness_witness_witness_witness_witness_witness_left - 0035
exact hrow_bound - 0036
cases hrow - 0037
cases hrow_witness - 0038
cases hrow_witness_witness - 0039
cases hrow_witness_witness_right - 0040
have hcode : x4 = x6 - 0041
specialize beta_at_unique x - 0042
specialize beta_at_unique x1 - 0043
specialize beta_at_unique n - 0044
specialize beta_at_unique x4 - 0045
specialize beta_at_unique x6 - 0046
apply beta_at_unique - 0047
exact hchoose_right_right_witness_witness_witness_witness_witness_witness_right_left - 0048
exact hrow_witness_witness_left - 0049
have hscale : x5 = x7 - 0050
specialize beta_at_unique x2 - 0051
specialize beta_at_unique x3 - 0052
specialize beta_at_unique n - 0053
specialize beta_at_unique x5 - 0054
specialize beta_at_unique x7 - 0055
apply beta_at_unique - 0056
exact hchoose_right_right_witness_witness_witness_witness_witness_witness_right_right_left - 0057
exact hrow_witness_witness_right_left - 0058
have hvalue : BetaAt(x6,x7,0,z)Exact native replay line
have hvalue : ((exists bcf_height_bclz_semantic_at. bcf_height_bclz_semantic_at + S (z) = S ((S (0)) * x7)) /\ exists bcf_quotient_bclz_semantic_at. x6 = bcf_quotient_bclz_semantic_at * S ((S (0)) * x7) + (z)) - 0059
rewrite <- hcode - 0060
rewrite <- hscale - 0061
rewrite <- hscale - 0062
exact hchoose_right_right_witness_witness_witness_witness_witness_witness_right_right_right - 0063
cases hrow_witness_witness_right_right - 0064
cases hrow_witness_witness_right_right_left - 0065
have hcell : ∃ bcf_cell_value_bclz_zero_cell. BetaAt(x6,x7,0,bcf_cell_value_bclz_zero_cell) ∧ (0 = 0 ∧ bcf_cell_value_bclz_zero_cell = 1 ∨ (∃ x. 0 = S x ∧ bcf_cell_value_bclz_zero_cell = 0))Exact native replay line
have hcell : exists bcf_cell_value_bclz_zero_cell. ((((exists bcf_height_bclz_zero_cell_entry. bcf_height_bclz_zero_cell_entry + S (bcf_cell_value_bclz_zero_cell) = S ((S (0)) * x7)) /\ exists bcf_quotient_bclz_zero_cell_entry. x6 = bcf_quotient_bclz_zero_cell_entry * S ((S (0)) * x7) + (bcf_cell_value_bclz_zero_cell))) /\ ((0 = 0 /\ bcf_cell_value_bclz_zero_cell = 1) \/ exists bcf_cell_predecessor_bclz_zero_cell. 0 = S bcf_cell_predecessor_bclz_zero_cell /\ bcf_cell_value_bclz_zero_cell = 0)) - 0066
specialize hrow_witness_witness_right_right_left_right 0 - 0067
apply hrow_witness_witness_right_right_left_right - 0068
exact hinner_bound - 0069
cases hcell - 0070
cases hcell_witness - 0071
have hzvalue : z = x8 - 0072
specialize beta_at_unique x6 - 0073
specialize beta_at_unique x7 - 0074
specialize beta_at_unique 0 - 0075
specialize beta_at_unique z - 0076
specialize beta_at_unique x8 - 0077
apply beta_at_unique - 0078
exact hvalue - 0079
exact hcell_witness_left - 0080
cases hcell_witness_right - 0081
cases hcell_witness_right_left - 0082
trans x8 - 0083
exact hzvalue - 0084
exact hcell_witness_right_left_right - 0085
cases hcell_witness_right_right - 0086
cases hcell_witness_right_right_witness - 0087
exfalso - 0088
have hbad : S x9 = 0 - 0089
symm - 0090
exact hcell_witness_right_right_witness_left - 0091
specialize succ_ne_zero x9 - 0092
apply succ_ne_zero - 0093
exact hbad - 0094
cases hrow_witness_witness_right_right_right - 0095
cases hrow_witness_witness_right_right_right_witness - 0096
cases hrow_witness_witness_right_right_right_witness_witness - 0097
cases hrow_witness_witness_right_right_right_witness_witness_witness - 0098
cases hrow_witness_witness_right_right_right_witness_witness_witness_right - 0099
cases hrow_witness_witness_right_right_right_witness_witness_witness_right_right - 0100
have hcell : ∃ bcf_cell_value_bclz_step_cell. BetaAt(x6,x7,0,bcf_cell_value_bclz_step_cell) ∧ (0 = 0 ∧ bcf_cell_value_bclz_step_cell = 1 ∨ (∃ x. ∃ y. ∃ z. 0 = S x ∧ (BetaAt(x9,x10,x,y) ∧ (BetaAt(x9,x10,S x,z) ∧ bcf_cell_value_bclz_step_cell = y + z))))Exact native replay line
have hcell : exists bcf_cell_value_bclz_step_cell. ((((exists bcf_height_bclz_step_cell_entry. bcf_height_bclz_step_cell_entry + S (bcf_cell_value_bclz_step_cell) = S ((S (0)) * x7)) /\ exists bcf_quotient_bclz_step_cell_entry. x6 = bcf_quotient_bclz_step_cell_entry * S ((S (0)) * x7) + (bcf_cell_value_bclz_step_cell))) /\ ((0 = 0 /\ bcf_cell_value_bclz_step_cell = 1) \/ exists bcf_cell_predecessor_bclz_step_cell bcf_cell_left_bclz_step_cell bcf_cell_right_bclz_step_cell. 0 = S bcf_cell_predecessor_bclz_step_cell /\ ((((exists bcf_height_bclz_step_cell_previous_left. bcf_height_bclz_step_cell_previous_left + S (bcf_cell_left_bclz_step_cell) = S ((S (bcf_cell_predecessor_bclz_step_cell)) * x10)) /\ exists bcf_quotient_bclz_step_cell_previous_left. x9 = bcf_quotient_bclz_step_cell_previous_left * S ((S (bcf_cell_predecessor_bclz_step_cell)) * x10) + (bcf_cell_left_bclz_step_cell))) /\ ((((exists bcf_height_bclz_step_cell_previous_right. bcf_height_bclz_step_cell_previous_right + S (bcf_cell_right_bclz_step_cell) = S ((S (S (bcf_cell_predecessor_bclz_step_cell))) * x10)) /\ exists bcf_quotient_bclz_step_cell_previous_right. x9 = bcf_quotient_bclz_step_cell_previous_right * S ((S (S (bcf_cell_predecessor_bclz_step_cell))) * x10) + (bcf_cell_right_bclz_step_cell))) /\ bcf_cell_value_bclz_step_cell = bcf_cell_left_bclz_step_cell + bcf_cell_right_bclz_step_cell)))) - 0101
specialize hrow_witness_witness_right_right_right_witness_witness_witness_right_right_right 0 - 0102
apply hrow_witness_witness_right_right_right_witness_witness_witness_right_right_right - 0103
exact hinner_bound - 0104
cases hcell - 0105
cases hcell_witness - 0106
have hzvalue : z = x11 - 0107
specialize beta_at_unique x6 - 0108
specialize beta_at_unique x7 - 0109
specialize beta_at_unique 0 - 0110
specialize beta_at_unique z - 0111
specialize beta_at_unique x11 - 0112
apply beta_at_unique - 0113
exact hvalue - 0114
exact hcell_witness_left - 0115
cases hcell_witness_right - 0116
cases hcell_witness_right_left - 0117
trans x11 - 0118
exact hzvalue - 0119
exact hcell_witness_right_left_right - 0120
cases hcell_witness_right_right - 0121
cases hcell_witness_right_right_witness - 0122
cases hcell_witness_right_right_witness_witness - 0123
cases hcell_witness_right_right_witness_witness_witness - 0124
exfalso - 0125
have hbad : S x12 = 0 - 0126
symm - 0127
exact hcell_witness_right_right_witness_witness_witness_left - 0128
specialize succ_ne_zero x12 - 0129
apply succ_ne_zero - 0130
exact hbad