Current library: Alpha v34, 4,223 checked-use theorems; Stable remains 432. Historical first admissions, original proof editions, and non-admitted aliases are preserved. Exact original first-admission records.
Statement with defined notation
∀ p. ∀ n. ∀ b. ∀ c. ∀ d. ∀ e. ∀ f. ∀ g. ∀ l. ∀ q. ∀ r. ∀ R. ∀ s. Lt(0,p) → Pow(p,2,s) → Lt(n + n,s) → PowerQuotPrefix(p,n,b,c,l) → PowerQuotPrefix(p,n + n,d,e,l) → (∀ x. Lt(x,l) → ∃ y. ∃ z. ∃ m. BetaAt(b,c,x,y) ∧ (BetaAt(d,e,x,z) ∧ (BetaAt(f,g,x,m) ∧ (m = 0 ∧ z = y + y ∨ m = 1 ∧ z = S (y + y))))) → DivRem(n,p,q,r) → DivRem(n + n,p,q + q,R) → Repeat(f,g,0,l)Every 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
12 occurrences
In local proof propositions
11 occurrences
Exact expanded native-PA statement
forall p n b c d e f g l q r R s. (exists bcf_le_gap_bdqcpez_base. bcf_le_gap_bdqcpez_base + (1) = p) -> (exists bpvi_b_bdqcpez_square bpvi_c_bdqcpez_square. ((forall bpvi_i_bdqcpez_square. (exists bpvi_repeat_gap_bdqcpez_square. bpvi_repeat_gap_bdqcpez_square + S bpvi_i_bdqcpez_square = 2) -> (((exists bpvi_h_bdqcpez_square_repeat. bpvi_h_bdqcpez_square_repeat + S (p) = S ((S (bpvi_i_bdqcpez_square)) * bpvi_c_bdqcpez_square)) /\ exists bpvi_q_bdqcpez_square_repeat. bpvi_b_bdqcpez_square = bpvi_q_bdqcpez_square_repeat * S ((S (bpvi_i_bdqcpez_square)) * bpvi_c_bdqcpez_square) + (p)))) /\ (exists bpvi_u_bdqcpez_square bpvi_v_bdqcpez_square. ((((exists bpvi_h_bdqcpez_square_start. bpvi_h_bdqcpez_square_start + S (1) = S ((S (0)) * bpvi_v_bdqcpez_square)) /\ exists bpvi_q_bdqcpez_square_start. bpvi_u_bdqcpez_square = bpvi_q_bdqcpez_square_start * S ((S (0)) * bpvi_v_bdqcpez_square) + (1))) /\ ((((exists bpvi_h_bdqcpez_square_terminal. bpvi_h_bdqcpez_square_terminal + S (s) = S ((S (2)) * bpvi_v_bdqcpez_square)) /\ exists bpvi_q_bdqcpez_square_terminal. bpvi_u_bdqcpez_square = bpvi_q_bdqcpez_square_terminal * S ((S (2)) * bpvi_v_bdqcpez_square) + (s))) /\ forall bpvi_j_bdqcpez_square. (exists bpvi_product_gap_bdqcpez_square. bpvi_product_gap_bdqcpez_square + S bpvi_j_bdqcpez_square = 2) -> exists bpvi_factor_bdqcpez_square bpvi_partial_bdqcpez_square bpvi_successor_bdqcpez_square. ((((exists bpvi_h_bdqcpez_square_factor. bpvi_h_bdqcpez_square_factor + S (bpvi_factor_bdqcpez_square) = S ((S (bpvi_j_bdqcpez_square)) * bpvi_c_bdqcpez_square)) /\ exists bpvi_q_bdqcpez_square_factor. bpvi_b_bdqcpez_square = bpvi_q_bdqcpez_square_factor * S ((S (bpvi_j_bdqcpez_square)) * bpvi_c_bdqcpez_square) + (bpvi_factor_bdqcpez_square))) /\ ((((exists bpvi_h_bdqcpez_square_partial. bpvi_h_bdqcpez_square_partial + S (bpvi_partial_bdqcpez_square) = S ((S (bpvi_j_bdqcpez_square)) * bpvi_v_bdqcpez_square)) /\ exists bpvi_q_bdqcpez_square_partial. bpvi_u_bdqcpez_square = bpvi_q_bdqcpez_square_partial * S ((S (bpvi_j_bdqcpez_square)) * bpvi_v_bdqcpez_square) + (bpvi_partial_bdqcpez_square))) /\ ((((exists bpvi_h_bdqcpez_square_successor. bpvi_h_bdqcpez_square_successor + S (bpvi_successor_bdqcpez_square) = S ((S (S bpvi_j_bdqcpez_square)) * bpvi_v_bdqcpez_square)) /\ exists bpvi_q_bdqcpez_square_successor. bpvi_u_bdqcpez_square = bpvi_q_bdqcpez_square_successor * S ((S (S bpvi_j_bdqcpez_square)) * bpvi_v_bdqcpez_square) + (bpvi_successor_bdqcpez_square))) /\ bpvi_successor_bdqcpez_square = bpvi_partial_bdqcpez_square * bpvi_factor_bdqcpez_square)))))))) -> (exists bcf_lt_gap_bdqcpez_strict. bcf_lt_gap_bdqcpez_strict + S (n + n) = s) -> (forall bls_index_bdqcpez_left. (exists bls_gap_bdqcpez_left_bound. bls_gap_bdqcpez_left_bound + S (bls_index_bdqcpez_left) = (l)) -> exists bls_power_bdqcpez_left bls_quotient_bdqcpez_left bls_remainder_bdqcpez_left. ((exists bpvi_b_bls_bdqcpez_left_power bpvi_c_bls_bdqcpez_left_power. ((forall bpvi_i_bls_bdqcpez_left_power. (exists bpvi_repeat_gap_bls_bdqcpez_left_power. bpvi_repeat_gap_bls_bdqcpez_left_power + S bpvi_i_bls_bdqcpez_left_power = S bls_index_bdqcpez_left) -> (((exists bpvi_h_bls_bdqcpez_left_power_repeat. bpvi_h_bls_bdqcpez_left_power_repeat + S (p) = S ((S (bpvi_i_bls_bdqcpez_left_power)) * bpvi_c_bls_bdqcpez_left_power)) /\ exists bpvi_q_bls_bdqcpez_left_power_repeat. bpvi_b_bls_bdqcpez_left_power = bpvi_q_bls_bdqcpez_left_power_repeat * S ((S (bpvi_i_bls_bdqcpez_left_power)) * bpvi_c_bls_bdqcpez_left_power) + (p)))) /\ (exists bpvi_u_bls_bdqcpez_left_power bpvi_v_bls_bdqcpez_left_power. ((((exists bpvi_h_bls_bdqcpez_left_power_start. bpvi_h_bls_bdqcpez_left_power_start + S (1) = S ((S (0)) * bpvi_v_bls_bdqcpez_left_power)) /\ exists bpvi_q_bls_bdqcpez_left_power_start. bpvi_u_bls_bdqcpez_left_power = bpvi_q_bls_bdqcpez_left_power_start * S ((S (0)) * bpvi_v_bls_bdqcpez_left_power) + (1))) /\ ((((exists bpvi_h_bls_bdqcpez_left_power_terminal. bpvi_h_bls_bdqcpez_left_power_terminal + S (bls_power_bdqcpez_left) = S ((S (S bls_index_bdqcpez_left)) * bpvi_v_bls_bdqcpez_left_power)) /\ exists bpvi_q_bls_bdqcpez_left_power_terminal. bpvi_u_bls_bdqcpez_left_power = bpvi_q_bls_bdqcpez_left_power_terminal * S ((S (S bls_index_bdqcpez_left)) * bpvi_v_bls_bdqcpez_left_power) + (bls_power_bdqcpez_left))) /\ forall bpvi_j_bls_bdqcpez_left_power. (exists bpvi_product_gap_bls_bdqcpez_left_power. bpvi_product_gap_bls_bdqcpez_left_power + S bpvi_j_bls_bdqcpez_left_power = S bls_index_bdqcpez_left) -> exists bpvi_factor_bls_bdqcpez_left_power bpvi_partial_bls_bdqcpez_left_power bpvi_successor_bls_bdqcpez_left_power. ((((exists bpvi_h_bls_bdqcpez_left_power_factor. bpvi_h_bls_bdqcpez_left_power_factor + S (bpvi_factor_bls_bdqcpez_left_power) = S ((S (bpvi_j_bls_bdqcpez_left_power)) * bpvi_c_bls_bdqcpez_left_power)) /\ exists bpvi_q_bls_bdqcpez_left_power_factor. bpvi_b_bls_bdqcpez_left_power = bpvi_q_bls_bdqcpez_left_power_factor * S ((S (bpvi_j_bls_bdqcpez_left_power)) * bpvi_c_bls_bdqcpez_left_power) + (bpvi_factor_bls_bdqcpez_left_power))) /\ ((((exists bpvi_h_bls_bdqcpez_left_power_partial. bpvi_h_bls_bdqcpez_left_power_partial + S (bpvi_partial_bls_bdqcpez_left_power) = S ((S (bpvi_j_bls_bdqcpez_left_power)) * bpvi_v_bls_bdqcpez_left_power)) /\ exists bpvi_q_bls_bdqcpez_left_power_partial. bpvi_u_bls_bdqcpez_left_power = bpvi_q_bls_bdqcpez_left_power_partial * S ((S (bpvi_j_bls_bdqcpez_left_power)) * bpvi_v_bls_bdqcpez_left_power) + (bpvi_partial_bls_bdqcpez_left_power))) /\ ((((exists bpvi_h_bls_bdqcpez_left_power_successor. bpvi_h_bls_bdqcpez_left_power_successor + S (bpvi_successor_bls_bdqcpez_left_power) = S ((S (S bpvi_j_bls_bdqcpez_left_power)) * bpvi_v_bls_bdqcpez_left_power)) /\ exists bpvi_q_bls_bdqcpez_left_power_successor. bpvi_u_bls_bdqcpez_left_power = bpvi_q_bls_bdqcpez_left_power_successor * S ((S (S bpvi_j_bls_bdqcpez_left_power)) * bpvi_v_bls_bdqcpez_left_power) + (bpvi_successor_bls_bdqcpez_left_power))) /\ bpvi_successor_bls_bdqcpez_left_power = bpvi_partial_bls_bdqcpez_left_power * bpvi_factor_bls_bdqcpez_left_power)))))))) /\ ((((exists ff_h_bls_bdqcpez_left_quotient_entry. ff_h_bls_bdqcpez_left_quotient_entry + S (bls_quotient_bdqcpez_left) = S ((S (bls_index_bdqcpez_left)) * c)) /\ exists ff_q_bls_bdqcpez_left_quotient_entry. b = ff_q_bls_bdqcpez_left_quotient_entry * S ((S (bls_index_bdqcpez_left)) * c) + (bls_quotient_bdqcpez_left))) /\ ((n = bls_power_bdqcpez_left * bls_quotient_bdqcpez_left + bls_remainder_bdqcpez_left /\ exists bls_remainder_gap_bdqcpez_left_division. bls_remainder_gap_bdqcpez_left_division + S (bls_remainder_bdqcpez_left) = bls_power_bdqcpez_left))))) -> (forall bls_index_bdqcpez_right. (exists bls_gap_bdqcpez_right_bound. bls_gap_bdqcpez_right_bound + S (bls_index_bdqcpez_right) = (l)) -> exists bls_power_bdqcpez_right bls_quotient_bdqcpez_right bls_remainder_bdqcpez_right. ((exists bpvi_b_bls_bdqcpez_right_power bpvi_c_bls_bdqcpez_right_power. ((forall bpvi_i_bls_bdqcpez_right_power. (exists bpvi_repeat_gap_bls_bdqcpez_right_power. bpvi_repeat_gap_bls_bdqcpez_right_power + S bpvi_i_bls_bdqcpez_right_power = S bls_index_bdqcpez_right) -> (((exists bpvi_h_bls_bdqcpez_right_power_repeat. bpvi_h_bls_bdqcpez_right_power_repeat + S (p) = S ((S (bpvi_i_bls_bdqcpez_right_power)) * bpvi_c_bls_bdqcpez_right_power)) /\ exists bpvi_q_bls_bdqcpez_right_power_repeat. bpvi_b_bls_bdqcpez_right_power = bpvi_q_bls_bdqcpez_right_power_repeat * S ((S (bpvi_i_bls_bdqcpez_right_power)) * bpvi_c_bls_bdqcpez_right_power) + (p)))) /\ (exists bpvi_u_bls_bdqcpez_right_power bpvi_v_bls_bdqcpez_right_power. ((((exists bpvi_h_bls_bdqcpez_right_power_start. bpvi_h_bls_bdqcpez_right_power_start + S (1) = S ((S (0)) * bpvi_v_bls_bdqcpez_right_power)) /\ exists bpvi_q_bls_bdqcpez_right_power_start. bpvi_u_bls_bdqcpez_right_power = bpvi_q_bls_bdqcpez_right_power_start * S ((S (0)) * bpvi_v_bls_bdqcpez_right_power) + (1))) /\ ((((exists bpvi_h_bls_bdqcpez_right_power_terminal. bpvi_h_bls_bdqcpez_right_power_terminal + S (bls_power_bdqcpez_right) = S ((S (S bls_index_bdqcpez_right)) * bpvi_v_bls_bdqcpez_right_power)) /\ exists bpvi_q_bls_bdqcpez_right_power_terminal. bpvi_u_bls_bdqcpez_right_power = bpvi_q_bls_bdqcpez_right_power_terminal * S ((S (S bls_index_bdqcpez_right)) * bpvi_v_bls_bdqcpez_right_power) + (bls_power_bdqcpez_right))) /\ forall bpvi_j_bls_bdqcpez_right_power. (exists bpvi_product_gap_bls_bdqcpez_right_power. bpvi_product_gap_bls_bdqcpez_right_power + S bpvi_j_bls_bdqcpez_right_power = S bls_index_bdqcpez_right) -> exists bpvi_factor_bls_bdqcpez_right_power bpvi_partial_bls_bdqcpez_right_power bpvi_successor_bls_bdqcpez_right_power. ((((exists bpvi_h_bls_bdqcpez_right_power_factor. bpvi_h_bls_bdqcpez_right_power_factor + S (bpvi_factor_bls_bdqcpez_right_power) = S ((S (bpvi_j_bls_bdqcpez_right_power)) * bpvi_c_bls_bdqcpez_right_power)) /\ exists bpvi_q_bls_bdqcpez_right_power_factor. bpvi_b_bls_bdqcpez_right_power = bpvi_q_bls_bdqcpez_right_power_factor * S ((S (bpvi_j_bls_bdqcpez_right_power)) * bpvi_c_bls_bdqcpez_right_power) + (bpvi_factor_bls_bdqcpez_right_power))) /\ ((((exists bpvi_h_bls_bdqcpez_right_power_partial. bpvi_h_bls_bdqcpez_right_power_partial + S (bpvi_partial_bls_bdqcpez_right_power) = S ((S (bpvi_j_bls_bdqcpez_right_power)) * bpvi_v_bls_bdqcpez_right_power)) /\ exists bpvi_q_bls_bdqcpez_right_power_partial. bpvi_u_bls_bdqcpez_right_power = bpvi_q_bls_bdqcpez_right_power_partial * S ((S (bpvi_j_bls_bdqcpez_right_power)) * bpvi_v_bls_bdqcpez_right_power) + (bpvi_partial_bls_bdqcpez_right_power))) /\ ((((exists bpvi_h_bls_bdqcpez_right_power_successor. bpvi_h_bls_bdqcpez_right_power_successor + S (bpvi_successor_bls_bdqcpez_right_power) = S ((S (S bpvi_j_bls_bdqcpez_right_power)) * bpvi_v_bls_bdqcpez_right_power)) /\ exists bpvi_q_bls_bdqcpez_right_power_successor. bpvi_u_bls_bdqcpez_right_power = bpvi_q_bls_bdqcpez_right_power_successor * S ((S (S bpvi_j_bls_bdqcpez_right_power)) * bpvi_v_bls_bdqcpez_right_power) + (bpvi_successor_bls_bdqcpez_right_power))) /\ bpvi_successor_bls_bdqcpez_right_power = bpvi_partial_bls_bdqcpez_right_power * bpvi_factor_bls_bdqcpez_right_power)))))))) /\ ((((exists ff_h_bls_bdqcpez_right_quotient_entry. ff_h_bls_bdqcpez_right_quotient_entry + S (bls_quotient_bdqcpez_right) = S ((S (bls_index_bdqcpez_right)) * e)) /\ exists ff_q_bls_bdqcpez_right_quotient_entry. d = ff_q_bls_bdqcpez_right_quotient_entry * S ((S (bls_index_bdqcpez_right)) * e) + (bls_quotient_bdqcpez_right))) /\ ((n + n = bls_power_bdqcpez_right * bls_quotient_bdqcpez_right + bls_remainder_bdqcpez_right /\ exists bls_remainder_gap_bdqcpez_right_division. bls_remainder_gap_bdqcpez_right_division + S (bls_remainder_bdqcpez_right) = bls_power_bdqcpez_right))))) -> (forall b5cc_index_bdqcpez_carry. (exists bcf_lt_gap_bdqcpez_carry_bound. bcf_lt_gap_bdqcpez_carry_bound + S (b5cc_index_bdqcpez_carry) = l) -> exists b5cc_left_bdqcpez_carry b5cc_right_bdqcpez_carry b5cc_bit_bdqcpez_carry. (((exists fs_h_b5cc_bdqcpez_carry_left. fs_h_b5cc_bdqcpez_carry_left + S (b5cc_left_bdqcpez_carry) = S ((S (b5cc_index_bdqcpez_carry)) * c)) /\ exists fs_q_b5cc_bdqcpez_carry_left. b = fs_q_b5cc_bdqcpez_carry_left * S ((S (b5cc_index_bdqcpez_carry)) * c) + (b5cc_left_bdqcpez_carry))) /\ ((((exists fs_h_b5cc_bdqcpez_carry_right. fs_h_b5cc_bdqcpez_carry_right + S (b5cc_right_bdqcpez_carry) = S ((S (b5cc_index_bdqcpez_carry)) * e)) /\ exists fs_q_b5cc_bdqcpez_carry_right. d = fs_q_b5cc_bdqcpez_carry_right * S ((S (b5cc_index_bdqcpez_carry)) * e) + (b5cc_right_bdqcpez_carry))) /\ ((((exists fs_h_b5cc_bdqcpez_carry_bit. fs_h_b5cc_bdqcpez_carry_bit + S (b5cc_bit_bdqcpez_carry) = S ((S (b5cc_index_bdqcpez_carry)) * g)) /\ exists fs_q_b5cc_bdqcpez_carry_bit. f = fs_q_b5cc_bdqcpez_carry_bit * S ((S (b5cc_index_bdqcpez_carry)) * g) + (b5cc_bit_bdqcpez_carry))) /\ (((b5cc_bit_bdqcpez_carry = 0 /\ b5cc_right_bdqcpez_carry = b5cc_left_bdqcpez_carry + b5cc_left_bdqcpez_carry) \/ (b5cc_bit_bdqcpez_carry = 1 /\ b5cc_right_bdqcpez_carry = S (b5cc_left_bdqcpez_carry + b5cc_left_bdqcpez_carry))))))) -> (((n) = (p) * (q) + (r) /\ (exists bcf_lt_gap_bdqcpez_first_bound. bcf_lt_gap_bdqcpez_first_bound + S (r) = p))) -> (((n + n) = (p) * (q + q) + (R) /\ (exists bcf_lt_gap_bdqcpez_double_bound. bcf_lt_gap_bdqcpez_double_bound + S (R) = p))) -> forall i. (exists bcf_lt_gap_bdqcpez_bound. bcf_lt_gap_bdqcpez_bound + S (i) = l) -> (((exists fs_h_bdqcpez_result. fs_h_bdqcpez_result + S (0) = S ((S (i)) * g)) /\ exists fs_q_bdqcpez_result. f = fs_q_bdqcpez_result * S ((S (i)) * g) + (0)))Proof neighborhood
Direct theorem prerequisites
BT000Q zero_or_succ BT0094 pow_one BT001U division_remainder_unique BT0042 beta_at_unique BT0000 zero_add BT001B lt_irrefl_expanded BT00XK pow_tail_strict_of_square BT00XF division_zero_quotient_of_ltDirect 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 (8)
01Fix variables and assumptionsL1–10
02Fix variables and assumptionsL11–20
03Fix variables and assumptionsL21–23
04Establish hleft_dataL24–27
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hleft.
- L24
have hleft_data : ∃ D. ∃ u. ∃ a. Pow(p,S i,D) ∧ (BetaAt(b,c,i,u) ∧ DivRem(n,D,u,a))Definitions: Pow(p,S i,D)BetaAt(b,c,i,u)DivRem(n,D,u,a)Original native command in the exact edition - L25
specialize hleft i - L26
apply hleft - L27
exact hi
05Separate the logical casesL28–32
06Establish hright_dataL33–36
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hright.
- L33
have hright_data : ∃ D. ∃ u. ∃ a. Pow(p,S i,D) ∧ (BetaAt(d,e,i,u) ∧ DivRem(n + n,D,u,a))Definitions: Pow(p,S i,D)BetaAt(d,e,i,u)DivRem(n + n,D,u,a)Original native command in the exact edition - L34
specialize hright i - L35
apply hright - L36
exact hi
07Separate the logical casesL37–41
08Establish hsemanticL42–45
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hcarry.
- L42
have hsemantic : ∃ q. ∃ Q. ∃ bit. BetaAt(b,c,i,q) ∧ (BetaAt(d,e,i,Q) ∧ (BetaAt(f,g,i,bit) ∧ (bit = 0 ∧ Q = q + q ∨ bit = 1 ∧ Q = S (q + q))))Definitions: BetaAt(b,c,i,q)BetaAt(d,e,i,Q)BetaAt(f,g,i,bit)Original native command in the exact edition - L43
specialize hcarry i - L44
apply hcarry - L45
exact hi
09Separate the logical casesL46–51
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
10Use earlier factsL52–52
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L52
specialize zero_or_succ i
11Separate the logical casesL53–53
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L53
cases zero_or_succ
12Establish hexponent_oneL54–56
13Establish hleft_powerL57–63
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply pow one.
14Establish hright_powerL64–73
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply pow one.
- L64
have hright_power : x3 = p - L65
specialize pow_one p - L66
specialize pow_one (S i) - L67
specialize pow_one x3 - L68
apply pow_one - L69
exact hexponent_one - L70
exact hright_data_witness_witness_witness_left - L71
rewrite hleft_power at hleft_data_witness_witness_witness_right_right - L72
rewrite hleft_power at hleft_data_witness_witness_witness_right_right - L73
rewrite hright_power at hright_data_witness_witness_witness_right_right
15Calculate and transport equalitiesL74–74
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L74
rewrite hright_power at hright_data_witness_witness_witness_right_right
16Separate the logical casesL75–78
17Establish hleft_uniqueL79–88
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply division remainder unique.
- L79
have hleft_unique : x1 = q /\ x2 = r - L80
specialize division_remainder_unique p - L81
specialize division_remainder_unique n - L82
specialize division_remainder_unique x1 - L83
specialize division_remainder_unique x2 - L84
specialize division_remainder_unique q - L85
specialize division_remainder_unique r - L86
apply division_remainder_unique - L87
exact hleft_data_witness_witness_witness_right_right_left - L88
exact hleft_data_witness_witness_witness_right_right_right
18Use earlier factsL89–90
19Establish hright_uniqueL91–100
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply division remainder unique.
- L91
have hright_unique : x4 = q + q /\ x5 = R - L92
specialize division_remainder_unique p - L93
specialize division_remainder_unique (n + n) - L94
specialize division_remainder_unique x4 - L95
specialize division_remainder_unique x5 - L96
specialize division_remainder_unique (q + q) - L97
specialize division_remainder_unique R - L98
apply division_remainder_unique - L99
exact hright_data_witness_witness_witness_right_right_left - L100
exact hright_data_witness_witness_witness_right_right_right
20Use earlier factsL101–102
21Separate the logical casesL103–104
22Establish hleft_entryL105–113
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at unique.
- L105
have hleft_entry : x1 = x6 - L106
specialize beta_at_unique b - L107
specialize beta_at_unique c - L108
specialize beta_at_unique i - L109
specialize beta_at_unique x1 - L110
specialize beta_at_unique x6 - L111
apply beta_at_unique - L112
exact hleft_data_witness_witness_witness_right_left - L113
exact hsemantic_witness_witness_witness_left
23Establish hright_entryL114–122
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at unique.
- L114
have hright_entry : x4 = x7 - L115
specialize beta_at_unique d - L116
specialize beta_at_unique e - L117
specialize beta_at_unique i - L118
specialize beta_at_unique x4 - L119
specialize beta_at_unique x7 - L120
apply beta_at_unique - L121
exact hright_data_witness_witness_witness_right_left - L122
exact hsemantic_witness_witness_witness_right_left
24Separate the logical casesL123–124
25Calculate and transport equalitiesL125–126
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
26Use earlier factsL127–127
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L127
exact hsemantic_witness_witness_witness_right_right_left
27Separate the logical casesL128–128
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L128
cases hsemantic_witness_witness_witness_right_right_right_right
28Calculate and transport equalitiesL129–134
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L129
rewrite <- hright_entry at hsemantic_witness_witness_witness_right_right_right_right_right - L130
rewrite hright_unique_left at hsemantic_witness_witness_witness_right_right_right_right_right - L131
rewrite <- hleft_entry at hsemantic_witness_witness_witness_right_right_right_right_right - L132
rewrite <- hleft_entry at hsemantic_witness_witness_witness_right_right_right_right_right - L133
rewrite hleft_unique_left at hsemantic_witness_witness_witness_right_right_right_right_right - L134
rewrite hleft_unique_left at hsemantic_witness_witness_witness_right_right_right_right_right
29Separate the logical casesL135–135
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L135
exfalso
30Use earlier factsL136–137
31Construct an explicit witnessL138–138
Supply the displayed value, then prove that it has the required property.
- L138
exists 0
32Calculate and transport equalitiesL139–139
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L139
trans S (q + q)
33Use earlier factsL140–141
34Calculate and transport equalitiesL142–142
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L142
symm
35Use earlier factsL143–143
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L143
exact hsemantic_witness_witness_witness_right_right_right_right_right
36Separate the logical casesL144–144
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L144
cases zero_or_succ_right
37Establish hexponent_tailL145–145
Establish this local claim before using it. It is not an additional assumption.
38Construct an explicit witnessL146–146
Supply the displayed value, then prove that it has the required property.
- L146
exists x9
39Calculate and transport equalitiesL147–148
40Establish htailL149–158
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply pow tail strict of square.
- L149
- L150
specialize pow_tail_strict_of_square p - L151
specialize pow_tail_strict_of_square (S i) - L152
specialize pow_tail_strict_of_square x3 - L153
specialize pow_tail_strict_of_square s - L154
specialize pow_tail_strict_of_square (n + n) - L155
apply pow_tail_strict_of_square - L156
exact hbase - L157
exact hexponent_tail - L158
exact hsquare
41Use earlier factsL159–160
42Establish hright_zeroL161–168
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply division zero quotient of lt.
- L161
have hright_zero : x4 = 0 - L162
specialize division_zero_quotient_of_lt x3 - L163
specialize division_zero_quotient_of_lt (n + n) - L164
specialize division_zero_quotient_of_lt x4 - L165
specialize division_zero_quotient_of_lt x5 - L166
apply division_zero_quotient_of_lt - L167
exact hright_data_witness_witness_witness_right_right - L168
exact htail
43Establish hright_entryL169–177
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at unique.
- L169
have hright_entry : x4 = x7 - L170
specialize beta_at_unique d - L171
specialize beta_at_unique e - L172
specialize beta_at_unique i - L173
specialize beta_at_unique x4 - L174
specialize beta_at_unique x7 - L175
apply beta_at_unique - L176
exact hright_data_witness_witness_witness_right_left - L177
exact hsemantic_witness_witness_witness_right_left
44Separate the logical casesL178–179
45Calculate and transport equalitiesL180–181
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
46Use earlier factsL182–182
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L182
exact hsemantic_witness_witness_witness_right_right_left
47Separate the logical casesL183–183
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L183
cases hsemantic_witness_witness_witness_right_right_right_right
48Calculate and transport equalitiesL184–185
49Separate the logical casesL186–186
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L186
exfalso
50Use earlier factsL187–187
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L187
apply PA1
51Calculate and transport equalitiesL188–188
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L188
symm
52Use earlier factsL189–189
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L189
exact hsemantic_witness_witness_witness_right_right_right_right_right
Original defined command ledger · 189 lines
- 0001
intro p - 0002
intro n - 0003
intro b - 0004
intro c - 0005
intro d - 0006
intro e - 0007
intro f - 0008
intro g - 0009
intro l - 0010
intro q - 0011
intro r - 0012
intro R - 0013
intro s - 0014
intro hbase - 0015
intro hsquare - 0016
intro hstrict - 0017
intro hleft - 0018
intro hright - 0019
intro hcarry - 0020
intro hfirst - 0021
intro hdouble - 0022
intro i - 0023
intro hi - 0024
have hleft_data : ∃ D. ∃ u. ∃ a. Pow(p,S i,D) ∧ (BetaAt(b,c,i,u) ∧ DivRem(n,D,u,a))Exact native replay line
have hleft_data : exists D u a. (exists bpvi_b_bdqcpez_left_power bpvi_c_bdqcpez_left_power. ((forall bpvi_i_bdqcpez_left_power. (exists bpvi_repeat_gap_bdqcpez_left_power. bpvi_repeat_gap_bdqcpez_left_power + S bpvi_i_bdqcpez_left_power = S i) -> (((exists bpvi_h_bdqcpez_left_power_repeat. bpvi_h_bdqcpez_left_power_repeat + S (p) = S ((S (bpvi_i_bdqcpez_left_power)) * bpvi_c_bdqcpez_left_power)) /\ exists bpvi_q_bdqcpez_left_power_repeat. bpvi_b_bdqcpez_left_power = bpvi_q_bdqcpez_left_power_repeat * S ((S (bpvi_i_bdqcpez_left_power)) * bpvi_c_bdqcpez_left_power) + (p)))) /\ (exists bpvi_u_bdqcpez_left_power bpvi_v_bdqcpez_left_power. ((((exists bpvi_h_bdqcpez_left_power_start. bpvi_h_bdqcpez_left_power_start + S (1) = S ((S (0)) * bpvi_v_bdqcpez_left_power)) /\ exists bpvi_q_bdqcpez_left_power_start. bpvi_u_bdqcpez_left_power = bpvi_q_bdqcpez_left_power_start * S ((S (0)) * bpvi_v_bdqcpez_left_power) + (1))) /\ ((((exists bpvi_h_bdqcpez_left_power_terminal. bpvi_h_bdqcpez_left_power_terminal + S (D) = S ((S (S i)) * bpvi_v_bdqcpez_left_power)) /\ exists bpvi_q_bdqcpez_left_power_terminal. bpvi_u_bdqcpez_left_power = bpvi_q_bdqcpez_left_power_terminal * S ((S (S i)) * bpvi_v_bdqcpez_left_power) + (D))) /\ forall bpvi_j_bdqcpez_left_power. (exists bpvi_product_gap_bdqcpez_left_power. bpvi_product_gap_bdqcpez_left_power + S bpvi_j_bdqcpez_left_power = S i) -> exists bpvi_factor_bdqcpez_left_power bpvi_partial_bdqcpez_left_power bpvi_successor_bdqcpez_left_power. ((((exists bpvi_h_bdqcpez_left_power_factor. bpvi_h_bdqcpez_left_power_factor + S (bpvi_factor_bdqcpez_left_power) = S ((S (bpvi_j_bdqcpez_left_power)) * bpvi_c_bdqcpez_left_power)) /\ exists bpvi_q_bdqcpez_left_power_factor. bpvi_b_bdqcpez_left_power = bpvi_q_bdqcpez_left_power_factor * S ((S (bpvi_j_bdqcpez_left_power)) * bpvi_c_bdqcpez_left_power) + (bpvi_factor_bdqcpez_left_power))) /\ ((((exists bpvi_h_bdqcpez_left_power_partial. bpvi_h_bdqcpez_left_power_partial + S (bpvi_partial_bdqcpez_left_power) = S ((S (bpvi_j_bdqcpez_left_power)) * bpvi_v_bdqcpez_left_power)) /\ exists bpvi_q_bdqcpez_left_power_partial. bpvi_u_bdqcpez_left_power = bpvi_q_bdqcpez_left_power_partial * S ((S (bpvi_j_bdqcpez_left_power)) * bpvi_v_bdqcpez_left_power) + (bpvi_partial_bdqcpez_left_power))) /\ ((((exists bpvi_h_bdqcpez_left_power_successor. bpvi_h_bdqcpez_left_power_successor + S (bpvi_successor_bdqcpez_left_power) = S ((S (S bpvi_j_bdqcpez_left_power)) * bpvi_v_bdqcpez_left_power)) /\ exists bpvi_q_bdqcpez_left_power_successor. bpvi_u_bdqcpez_left_power = bpvi_q_bdqcpez_left_power_successor * S ((S (S bpvi_j_bdqcpez_left_power)) * bpvi_v_bdqcpez_left_power) + (bpvi_successor_bdqcpez_left_power))) /\ bpvi_successor_bdqcpez_left_power = bpvi_partial_bdqcpez_left_power * bpvi_factor_bdqcpez_left_power)))))))) /\ ((((exists fs_h_bdqcpez_left_entry. fs_h_bdqcpez_left_entry + S (u) = S ((S (i)) * c)) /\ exists fs_q_bdqcpez_left_entry. b = fs_q_bdqcpez_left_entry * S ((S (i)) * c) + (u))) /\ (((n) = (D) * (u) + (a) /\ (exists bcf_lt_gap_bdqcpez_left_division_bound. bcf_lt_gap_bdqcpez_left_division_bound + S (a) = D)))) - 0025
specialize hleft i - 0026
apply hleft - 0027
exact hi - 0028
cases hleft_data - 0029
cases hleft_data_witness - 0030
cases hleft_data_witness_witness - 0031
cases hleft_data_witness_witness_witness - 0032
cases hleft_data_witness_witness_witness_right - 0033
have hright_data : ∃ D. ∃ u. ∃ a. Pow(p,S i,D) ∧ (BetaAt(d,e,i,u) ∧ DivRem(n + n,D,u,a))Exact native replay line
have hright_data : exists D u a. (exists bpvi_b_bdqcpez_right_power bpvi_c_bdqcpez_right_power. ((forall bpvi_i_bdqcpez_right_power. (exists bpvi_repeat_gap_bdqcpez_right_power. bpvi_repeat_gap_bdqcpez_right_power + S bpvi_i_bdqcpez_right_power = S i) -> (((exists bpvi_h_bdqcpez_right_power_repeat. bpvi_h_bdqcpez_right_power_repeat + S (p) = S ((S (bpvi_i_bdqcpez_right_power)) * bpvi_c_bdqcpez_right_power)) /\ exists bpvi_q_bdqcpez_right_power_repeat. bpvi_b_bdqcpez_right_power = bpvi_q_bdqcpez_right_power_repeat * S ((S (bpvi_i_bdqcpez_right_power)) * bpvi_c_bdqcpez_right_power) + (p)))) /\ (exists bpvi_u_bdqcpez_right_power bpvi_v_bdqcpez_right_power. ((((exists bpvi_h_bdqcpez_right_power_start. bpvi_h_bdqcpez_right_power_start + S (1) = S ((S (0)) * bpvi_v_bdqcpez_right_power)) /\ exists bpvi_q_bdqcpez_right_power_start. bpvi_u_bdqcpez_right_power = bpvi_q_bdqcpez_right_power_start * S ((S (0)) * bpvi_v_bdqcpez_right_power) + (1))) /\ ((((exists bpvi_h_bdqcpez_right_power_terminal. bpvi_h_bdqcpez_right_power_terminal + S (D) = S ((S (S i)) * bpvi_v_bdqcpez_right_power)) /\ exists bpvi_q_bdqcpez_right_power_terminal. bpvi_u_bdqcpez_right_power = bpvi_q_bdqcpez_right_power_terminal * S ((S (S i)) * bpvi_v_bdqcpez_right_power) + (D))) /\ forall bpvi_j_bdqcpez_right_power. (exists bpvi_product_gap_bdqcpez_right_power. bpvi_product_gap_bdqcpez_right_power + S bpvi_j_bdqcpez_right_power = S i) -> exists bpvi_factor_bdqcpez_right_power bpvi_partial_bdqcpez_right_power bpvi_successor_bdqcpez_right_power. ((((exists bpvi_h_bdqcpez_right_power_factor. bpvi_h_bdqcpez_right_power_factor + S (bpvi_factor_bdqcpez_right_power) = S ((S (bpvi_j_bdqcpez_right_power)) * bpvi_c_bdqcpez_right_power)) /\ exists bpvi_q_bdqcpez_right_power_factor. bpvi_b_bdqcpez_right_power = bpvi_q_bdqcpez_right_power_factor * S ((S (bpvi_j_bdqcpez_right_power)) * bpvi_c_bdqcpez_right_power) + (bpvi_factor_bdqcpez_right_power))) /\ ((((exists bpvi_h_bdqcpez_right_power_partial. bpvi_h_bdqcpez_right_power_partial + S (bpvi_partial_bdqcpez_right_power) = S ((S (bpvi_j_bdqcpez_right_power)) * bpvi_v_bdqcpez_right_power)) /\ exists bpvi_q_bdqcpez_right_power_partial. bpvi_u_bdqcpez_right_power = bpvi_q_bdqcpez_right_power_partial * S ((S (bpvi_j_bdqcpez_right_power)) * bpvi_v_bdqcpez_right_power) + (bpvi_partial_bdqcpez_right_power))) /\ ((((exists bpvi_h_bdqcpez_right_power_successor. bpvi_h_bdqcpez_right_power_successor + S (bpvi_successor_bdqcpez_right_power) = S ((S (S bpvi_j_bdqcpez_right_power)) * bpvi_v_bdqcpez_right_power)) /\ exists bpvi_q_bdqcpez_right_power_successor. bpvi_u_bdqcpez_right_power = bpvi_q_bdqcpez_right_power_successor * S ((S (S bpvi_j_bdqcpez_right_power)) * bpvi_v_bdqcpez_right_power) + (bpvi_successor_bdqcpez_right_power))) /\ bpvi_successor_bdqcpez_right_power = bpvi_partial_bdqcpez_right_power * bpvi_factor_bdqcpez_right_power)))))))) /\ ((((exists fs_h_bdqcpez_right_entry. fs_h_bdqcpez_right_entry + S (u) = S ((S (i)) * e)) /\ exists fs_q_bdqcpez_right_entry. d = fs_q_bdqcpez_right_entry * S ((S (i)) * e) + (u))) /\ (((n + n) = (D) * (u) + (a) /\ (exists bcf_lt_gap_bdqcpez_right_division_bound. bcf_lt_gap_bdqcpez_right_division_bound + S (a) = D)))) - 0034
specialize hright i - 0035
apply hright - 0036
exact hi - 0037
cases hright_data - 0038
cases hright_data_witness - 0039
cases hright_data_witness_witness - 0040
cases hright_data_witness_witness_witness - 0041
cases hright_data_witness_witness_witness_right - 0042
have hsemantic : ∃ q. ∃ Q. ∃ bit. BetaAt(b,c,i,q) ∧ (BetaAt(d,e,i,Q) ∧ (BetaAt(f,g,i,bit) ∧ (bit = 0 ∧ Q = q + q ∨ bit = 1 ∧ Q = S (q + q))))Exact native replay line
have hsemantic : exists q Q bit. (((exists fs_h_bdqcpez_semantic_left. fs_h_bdqcpez_semantic_left + S (q) = S ((S (i)) * c)) /\ exists fs_q_bdqcpez_semantic_left. b = fs_q_bdqcpez_semantic_left * S ((S (i)) * c) + (q))) /\ ((((exists fs_h_bdqcpez_semantic_right. fs_h_bdqcpez_semantic_right + S (Q) = S ((S (i)) * e)) /\ exists fs_q_bdqcpez_semantic_right. d = fs_q_bdqcpez_semantic_right * S ((S (i)) * e) + (Q))) /\ ((((exists fs_h_bdqcpez_semantic_bit. fs_h_bdqcpez_semantic_bit + S (bit) = S ((S (i)) * g)) /\ exists fs_q_bdqcpez_semantic_bit. f = fs_q_bdqcpez_semantic_bit * S ((S (i)) * g) + (bit))) /\ (((bit = 0 /\ Q = q + q) \/ (bit = 1 /\ Q = S (q + q)))))) - 0043
specialize hcarry i - 0044
apply hcarry - 0045
exact hi - 0046
cases hsemantic - 0047
cases hsemantic_witness - 0048
cases hsemantic_witness_witness - 0049
cases hsemantic_witness_witness_witness - 0050
cases hsemantic_witness_witness_witness_right - 0051
cases hsemantic_witness_witness_witness_right_right - 0052
specialize zero_or_succ i - 0053
cases zero_or_succ - 0054
have hexponent_one : S i = 1 - 0055
rewrite zero_or_succ_left - 0056
refl - 0057
have hleft_power : x = p - 0058
specialize pow_one p - 0059
specialize pow_one (S i) - 0060
specialize pow_one x - 0061
apply pow_one - 0062
exact hexponent_one - 0063
exact hleft_data_witness_witness_witness_left - 0064
have hright_power : x3 = p - 0065
specialize pow_one p - 0066
specialize pow_one (S i) - 0067
specialize pow_one x3 - 0068
apply pow_one - 0069
exact hexponent_one - 0070
exact hright_data_witness_witness_witness_left - 0071
rewrite hleft_power at hleft_data_witness_witness_witness_right_right - 0072
rewrite hleft_power at hleft_data_witness_witness_witness_right_right - 0073
rewrite hright_power at hright_data_witness_witness_witness_right_right - 0074
rewrite hright_power at hright_data_witness_witness_witness_right_right - 0075
cases hleft_data_witness_witness_witness_right_right - 0076
cases hright_data_witness_witness_witness_right_right - 0077
cases hfirst - 0078
cases hdouble - 0079
have hleft_unique : x1 = q /\ x2 = r - 0080
specialize division_remainder_unique p - 0081
specialize division_remainder_unique n - 0082
specialize division_remainder_unique x1 - 0083
specialize division_remainder_unique x2 - 0084
specialize division_remainder_unique q - 0085
specialize division_remainder_unique r - 0086
apply division_remainder_unique - 0087
exact hleft_data_witness_witness_witness_right_right_left - 0088
exact hleft_data_witness_witness_witness_right_right_right - 0089
exact hfirst_left - 0090
exact hfirst_right - 0091
have hright_unique : x4 = q + q /\ x5 = R - 0092
specialize division_remainder_unique p - 0093
specialize division_remainder_unique (n + n) - 0094
specialize division_remainder_unique x4 - 0095
specialize division_remainder_unique x5 - 0096
specialize division_remainder_unique (q + q) - 0097
specialize division_remainder_unique R - 0098
apply division_remainder_unique - 0099
exact hright_data_witness_witness_witness_right_right_left - 0100
exact hright_data_witness_witness_witness_right_right_right - 0101
exact hdouble_left - 0102
exact hdouble_right - 0103
cases hleft_unique - 0104
cases hright_unique - 0105
have hleft_entry : x1 = x6 - 0106
specialize beta_at_unique b - 0107
specialize beta_at_unique c - 0108
specialize beta_at_unique i - 0109
specialize beta_at_unique x1 - 0110
specialize beta_at_unique x6 - 0111
apply beta_at_unique - 0112
exact hleft_data_witness_witness_witness_right_left - 0113
exact hsemantic_witness_witness_witness_left - 0114
have hright_entry : x4 = x7 - 0115
specialize beta_at_unique d - 0116
specialize beta_at_unique e - 0117
specialize beta_at_unique i - 0118
specialize beta_at_unique x4 - 0119
specialize beta_at_unique x7 - 0120
apply beta_at_unique - 0121
exact hright_data_witness_witness_witness_right_left - 0122
exact hsemantic_witness_witness_witness_right_left - 0123
cases hsemantic_witness_witness_witness_right_right_right - 0124
cases hsemantic_witness_witness_witness_right_right_right_left - 0125
rewrite hsemantic_witness_witness_witness_right_right_right_left_left at hsemantic_witness_witness_witness_right_right_left - 0126
rewrite hsemantic_witness_witness_witness_right_right_right_left_left at hsemantic_witness_witness_witness_right_right_left - 0127
exact hsemantic_witness_witness_witness_right_right_left - 0128
cases hsemantic_witness_witness_witness_right_right_right_right - 0129
rewrite <- hright_entry at hsemantic_witness_witness_witness_right_right_right_right_right - 0130
rewrite hright_unique_left at hsemantic_witness_witness_witness_right_right_right_right_right - 0131
rewrite <- hleft_entry at hsemantic_witness_witness_witness_right_right_right_right_right - 0132
rewrite <- hleft_entry at hsemantic_witness_witness_witness_right_right_right_right_right - 0133
rewrite hleft_unique_left at hsemantic_witness_witness_witness_right_right_right_right_right - 0134
rewrite hleft_unique_left at hsemantic_witness_witness_witness_right_right_right_right_right - 0135
exfalso - 0136
specialize lt_irrefl_expanded (q + q) - 0137
apply lt_irrefl_expanded - 0138
exists 0 - 0139
trans S (q + q) - 0140
specialize zero_add (S (q + q)) - 0141
exact zero_add - 0142
symm - 0143
exact hsemantic_witness_witness_witness_right_right_right_right_right - 0144
cases zero_or_succ_right - 0145
have hexponent_tail : Lt(1,S i)Exact native replay line
have hexponent_tail : exists bcf_le_gap_bdqcpez_tail_exponent. bcf_le_gap_bdqcpez_tail_exponent + (2) = S i - 0146
exists x9 - 0147
rewrite zero_or_succ_right_witness - 0148
simp - 0149
have htail : Lt(n + n,x3)Exact native replay line
have htail : exists bcf_lt_gap_bdqcpez_tail_strict. bcf_lt_gap_bdqcpez_tail_strict + S (n + n) = x3 - 0150
specialize pow_tail_strict_of_square p - 0151
specialize pow_tail_strict_of_square (S i) - 0152
specialize pow_tail_strict_of_square x3 - 0153
specialize pow_tail_strict_of_square s - 0154
specialize pow_tail_strict_of_square (n + n) - 0155
apply pow_tail_strict_of_square - 0156
exact hbase - 0157
exact hexponent_tail - 0158
exact hsquare - 0159
exact hright_data_witness_witness_witness_left - 0160
exact hstrict - 0161
have hright_zero : x4 = 0 - 0162
specialize division_zero_quotient_of_lt x3 - 0163
specialize division_zero_quotient_of_lt (n + n) - 0164
specialize division_zero_quotient_of_lt x4 - 0165
specialize division_zero_quotient_of_lt x5 - 0166
apply division_zero_quotient_of_lt - 0167
exact hright_data_witness_witness_witness_right_right - 0168
exact htail - 0169
have hright_entry : x4 = x7 - 0170
specialize beta_at_unique d - 0171
specialize beta_at_unique e - 0172
specialize beta_at_unique i - 0173
specialize beta_at_unique x4 - 0174
specialize beta_at_unique x7 - 0175
apply beta_at_unique - 0176
exact hright_data_witness_witness_witness_right_left - 0177
exact hsemantic_witness_witness_witness_right_left - 0178
cases hsemantic_witness_witness_witness_right_right_right - 0179
cases hsemantic_witness_witness_witness_right_right_right_left - 0180
rewrite hsemantic_witness_witness_witness_right_right_right_left_left at hsemantic_witness_witness_witness_right_right_left - 0181
rewrite hsemantic_witness_witness_witness_right_right_right_left_left at hsemantic_witness_witness_witness_right_right_left - 0182
exact hsemantic_witness_witness_witness_right_right_left - 0183
cases hsemantic_witness_witness_witness_right_right_right_right - 0184
rewrite <- hright_entry at hsemantic_witness_witness_witness_right_right_right_right_right - 0185
rewrite hright_zero at hsemantic_witness_witness_witness_right_right_right_right_right - 0186
exfalso - 0187
apply PA1 - 0188
symm - 0189
exact hsemantic_witness_witness_witness_right_right_right_right_right