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. ∀ l. Prime(p) → ∃ x. ∃ y. PowerQuotPrefix(p,n,x,y,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
2 occurrences
In local proof propositions
12 occurrences
Exact expanded native-PA statement
forall p n l. ((~(p = 1) /\ forall frm_prime_left_bls_prime frm_prime_right_bls_prime. p = frm_prime_left_bls_prime * frm_prime_right_bls_prime -> frm_prime_left_bls_prime = 1 \/ frm_prime_right_bls_prime = 1)) -> exists b c. (forall bls_index_bls_exists. (exists bls_gap_bls_exists_bound. bls_gap_bls_exists_bound + S (bls_index_bls_exists) = (l)) -> exists bls_power_bls_exists bls_quotient_bls_exists bls_remainder_bls_exists. ((exists bpvi_b_bls_bls_exists_power bpvi_c_bls_bls_exists_power. ((forall bpvi_i_bls_bls_exists_power. (exists bpvi_repeat_gap_bls_bls_exists_power. bpvi_repeat_gap_bls_bls_exists_power + S bpvi_i_bls_bls_exists_power = S bls_index_bls_exists) -> (((exists bpvi_h_bls_bls_exists_power_repeat. bpvi_h_bls_bls_exists_power_repeat + S (p) = S ((S (bpvi_i_bls_bls_exists_power)) * bpvi_c_bls_bls_exists_power)) /\ exists bpvi_q_bls_bls_exists_power_repeat. bpvi_b_bls_bls_exists_power = bpvi_q_bls_bls_exists_power_repeat * S ((S (bpvi_i_bls_bls_exists_power)) * bpvi_c_bls_bls_exists_power) + (p)))) /\ (exists bpvi_u_bls_bls_exists_power bpvi_v_bls_bls_exists_power. ((((exists bpvi_h_bls_bls_exists_power_start. bpvi_h_bls_bls_exists_power_start + S (1) = S ((S (0)) * bpvi_v_bls_bls_exists_power)) /\ exists bpvi_q_bls_bls_exists_power_start. bpvi_u_bls_bls_exists_power = bpvi_q_bls_bls_exists_power_start * S ((S (0)) * bpvi_v_bls_bls_exists_power) + (1))) /\ ((((exists bpvi_h_bls_bls_exists_power_terminal. bpvi_h_bls_bls_exists_power_terminal + S (bls_power_bls_exists) = S ((S (S bls_index_bls_exists)) * bpvi_v_bls_bls_exists_power)) /\ exists bpvi_q_bls_bls_exists_power_terminal. bpvi_u_bls_bls_exists_power = bpvi_q_bls_bls_exists_power_terminal * S ((S (S bls_index_bls_exists)) * bpvi_v_bls_bls_exists_power) + (bls_power_bls_exists))) /\ forall bpvi_j_bls_bls_exists_power. (exists bpvi_product_gap_bls_bls_exists_power. bpvi_product_gap_bls_bls_exists_power + S bpvi_j_bls_bls_exists_power = S bls_index_bls_exists) -> exists bpvi_factor_bls_bls_exists_power bpvi_partial_bls_bls_exists_power bpvi_successor_bls_bls_exists_power. ((((exists bpvi_h_bls_bls_exists_power_factor. bpvi_h_bls_bls_exists_power_factor + S (bpvi_factor_bls_bls_exists_power) = S ((S (bpvi_j_bls_bls_exists_power)) * bpvi_c_bls_bls_exists_power)) /\ exists bpvi_q_bls_bls_exists_power_factor. bpvi_b_bls_bls_exists_power = bpvi_q_bls_bls_exists_power_factor * S ((S (bpvi_j_bls_bls_exists_power)) * bpvi_c_bls_bls_exists_power) + (bpvi_factor_bls_bls_exists_power))) /\ ((((exists bpvi_h_bls_bls_exists_power_partial. bpvi_h_bls_bls_exists_power_partial + S (bpvi_partial_bls_bls_exists_power) = S ((S (bpvi_j_bls_bls_exists_power)) * bpvi_v_bls_bls_exists_power)) /\ exists bpvi_q_bls_bls_exists_power_partial. bpvi_u_bls_bls_exists_power = bpvi_q_bls_bls_exists_power_partial * S ((S (bpvi_j_bls_bls_exists_power)) * bpvi_v_bls_bls_exists_power) + (bpvi_partial_bls_bls_exists_power))) /\ ((((exists bpvi_h_bls_bls_exists_power_successor. bpvi_h_bls_bls_exists_power_successor + S (bpvi_successor_bls_bls_exists_power) = S ((S (S bpvi_j_bls_bls_exists_power)) * bpvi_v_bls_bls_exists_power)) /\ exists bpvi_q_bls_bls_exists_power_successor. bpvi_u_bls_bls_exists_power = bpvi_q_bls_bls_exists_power_successor * S ((S (S bpvi_j_bls_bls_exists_power)) * bpvi_v_bls_bls_exists_power) + (bpvi_successor_bls_bls_exists_power))) /\ bpvi_successor_bls_bls_exists_power = bpvi_partial_bls_bls_exists_power * bpvi_factor_bls_bls_exists_power)))))))) /\ ((((exists ff_h_bls_bls_exists_quotient_entry. ff_h_bls_bls_exists_quotient_entry + S (bls_quotient_bls_exists) = S ((S (bls_index_bls_exists)) * c)) /\ exists ff_q_bls_bls_exists_quotient_entry. b = ff_q_bls_bls_exists_quotient_entry * S ((S (bls_index_bls_exists)) * c) + (bls_quotient_bls_exists))) /\ ((n = bls_power_bls_exists * bls_quotient_bls_exists + bls_remainder_bls_exists /\ exists bls_remainder_gap_bls_exists_division. bls_remainder_gap_bls_exists_division + S (bls_remainder_bls_exists) = bls_power_bls_exists)))))Proof neighborhood
Direct theorem prerequisites
BT000L add_eq_zero_right BT000C succ_ne_zero BT0080 pow_exists BT003G prime_nonzero BT0010 one_le_of_ne_zero BT00Q1 pow_nonzero_of_one_le BT001P division_remainder_exists BT005D beta_prefix_extend BT00AA finite_lt_succ_eq_or_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 (9)
01Fix variables and assumptionsL1–2
02Induction on lL3–4
03Construct an explicit witnessL5–6
04Fix variables and assumptionsL7–8
05Separate the logical casesL9–10
06Establish hsiL11–19
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply add eq zero right.
07Establish hpreviousL20–22
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply IH.
- L20
have hprevious : ∃ b. ∃ c. PowerQuotPrefix(p,n,b,c,l)Definitions: PowerQuotPrefix(p,n,b,c,l)Original native command in the exact edition - L21
apply IH - L22
exact hp
08Separate the logical casesL23–24
09Establish hpowerL25–28
Establish this local claim before using it. It is not an additional assumption.
- L25
have hpower : ∃ D. Pow(p,S l,D)Definitions: Pow(p,S l,D)Original native command in the exact edition - L26
specialize pow_exists p - L27
specialize pow_exists (S l) - L28
exact pow_exists
10Separate the logical casesL29–29
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L29
cases hpower
11Establish hp0L30–35
12Establish hp1L36–39
13Establish hD0L40–48
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply pow nonzero of one le.
14Establish hdivisionL49–53
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply division remainder exists.
- L49
have hdivision : ∃ q. ∃ r. DivRem(n,x2,q,r)Definitions: DivRem(n,x2,q,r)Original native command in the exact edition - L50
specialize division_remainder_exists x2 - L51
specialize division_remainder_exists n - L52
apply division_remainder_exists - L53
exact hD0
15Separate the logical casesL54–55
16Establish hextensionL56–61
Establish this local claim before using it. It is not an additional assumption.
- L56
have hextension : ∃ z. ∃ d. BetaAt(z,d,l,x3) ∧ (∀ y. ∀ n. Lt(y,l) → BetaAt(x,x1,y,n) → BetaAt(z,d,y,n))Definitions: BetaAt(z,d,l,x3)Lt(y,l)BetaAt(x,x1,y,n)BetaAt(z,d,y,n)Original native command in the exact edition - L57
specialize beta_prefix_extend l - L58
specialize beta_prefix_extend x - L59
specialize beta_prefix_extend x1 - L60
specialize beta_prefix_extend x3 - L61
exact beta_prefix_extend
17Separate the logical casesL62–64
18Construct an explicit witnessL65–66
19Fix variables and assumptionsL67–68
20Establish hsplitL69–73
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply finite lt succ eq or lt.
21Separate the logical casesL74–74
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L74
cases hsplit
22Construct an explicit witnessL75–77
23Calculate and transport equalitiesL78–83
24Separate the logical casesL84–84
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L84
split
25Use earlier factsL85–85
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L85
exact hpower_witness
26Separate the logical casesL86–86
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L86
split
27Use earlier factsL87–88
28Establish holdL89–92
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hprevious witness witness.
- L89
have hold : ∃ D. ∃ q. ∃ r. Pow(p,S i,D) ∧ (BetaAt(x,x1,i,q) ∧ DivRem(n,D,q,r))Definitions: Pow(p,S i,D)BetaAt(x,x1,i,q)DivRem(n,D,q,r)Original native command in the exact edition - L90
specialize hprevious_witness_witness i - L91
apply hprevious_witness_witness - L92
exact hsplit_right
29Separate the logical casesL93–97
30Construct an explicit witnessL98–100
31Separate the logical casesL101–101
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L101
split
32Use earlier factsL102–102
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L102
exact hold_witness_witness_witness_left
33Separate the logical casesL103–103
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L103
split
34Use earlier factsL104–109
Instantiate or apply named facts and discharge the corresponding proof obligations.
Original defined command ledger · 109 lines
- 0001
intro p - 0002
intro n - 0003
induction l - 0004
intro hp - 0005
exists 0 - 0006
exists 0 - 0007
intro i - 0008
intro hi - 0009
exfalso - 0010
cases hi - 0011
have hsi : S i = 0 - 0012
specialize add_eq_zero_right x - 0013
specialize add_eq_zero_right (S i) - 0014
apply add_eq_zero_right - 0015
exact hi_witness - 0016
specialize succ_ne_zero i - 0017
apply succ_ne_zero - 0018
exact hsi - 0019
intro hp - 0020
have hprevious : ∃ b. ∃ c. PowerQuotPrefix(p,n,b,c,l)Exact native replay line
have hprevious : exists b c. (forall bls_index_bls_exists_previous. (exists bls_gap_bls_exists_previous_bound. bls_gap_bls_exists_previous_bound + S (bls_index_bls_exists_previous) = (l)) -> exists bls_power_bls_exists_previous bls_quotient_bls_exists_previous bls_remainder_bls_exists_previous. ((exists bpvi_b_bls_bls_exists_previous_power bpvi_c_bls_bls_exists_previous_power. ((forall bpvi_i_bls_bls_exists_previous_power. (exists bpvi_repeat_gap_bls_bls_exists_previous_power. bpvi_repeat_gap_bls_bls_exists_previous_power + S bpvi_i_bls_bls_exists_previous_power = S bls_index_bls_exists_previous) -> (((exists bpvi_h_bls_bls_exists_previous_power_repeat. bpvi_h_bls_bls_exists_previous_power_repeat + S (p) = S ((S (bpvi_i_bls_bls_exists_previous_power)) * bpvi_c_bls_bls_exists_previous_power)) /\ exists bpvi_q_bls_bls_exists_previous_power_repeat. bpvi_b_bls_bls_exists_previous_power = bpvi_q_bls_bls_exists_previous_power_repeat * S ((S (bpvi_i_bls_bls_exists_previous_power)) * bpvi_c_bls_bls_exists_previous_power) + (p)))) /\ (exists bpvi_u_bls_bls_exists_previous_power bpvi_v_bls_bls_exists_previous_power. ((((exists bpvi_h_bls_bls_exists_previous_power_start. bpvi_h_bls_bls_exists_previous_power_start + S (1) = S ((S (0)) * bpvi_v_bls_bls_exists_previous_power)) /\ exists bpvi_q_bls_bls_exists_previous_power_start. bpvi_u_bls_bls_exists_previous_power = bpvi_q_bls_bls_exists_previous_power_start * S ((S (0)) * bpvi_v_bls_bls_exists_previous_power) + (1))) /\ ((((exists bpvi_h_bls_bls_exists_previous_power_terminal. bpvi_h_bls_bls_exists_previous_power_terminal + S (bls_power_bls_exists_previous) = S ((S (S bls_index_bls_exists_previous)) * bpvi_v_bls_bls_exists_previous_power)) /\ exists bpvi_q_bls_bls_exists_previous_power_terminal. bpvi_u_bls_bls_exists_previous_power = bpvi_q_bls_bls_exists_previous_power_terminal * S ((S (S bls_index_bls_exists_previous)) * bpvi_v_bls_bls_exists_previous_power) + (bls_power_bls_exists_previous))) /\ forall bpvi_j_bls_bls_exists_previous_power. (exists bpvi_product_gap_bls_bls_exists_previous_power. bpvi_product_gap_bls_bls_exists_previous_power + S bpvi_j_bls_bls_exists_previous_power = S bls_index_bls_exists_previous) -> exists bpvi_factor_bls_bls_exists_previous_power bpvi_partial_bls_bls_exists_previous_power bpvi_successor_bls_bls_exists_previous_power. ((((exists bpvi_h_bls_bls_exists_previous_power_factor. bpvi_h_bls_bls_exists_previous_power_factor + S (bpvi_factor_bls_bls_exists_previous_power) = S ((S (bpvi_j_bls_bls_exists_previous_power)) * bpvi_c_bls_bls_exists_previous_power)) /\ exists bpvi_q_bls_bls_exists_previous_power_factor. bpvi_b_bls_bls_exists_previous_power = bpvi_q_bls_bls_exists_previous_power_factor * S ((S (bpvi_j_bls_bls_exists_previous_power)) * bpvi_c_bls_bls_exists_previous_power) + (bpvi_factor_bls_bls_exists_previous_power))) /\ ((((exists bpvi_h_bls_bls_exists_previous_power_partial. bpvi_h_bls_bls_exists_previous_power_partial + S (bpvi_partial_bls_bls_exists_previous_power) = S ((S (bpvi_j_bls_bls_exists_previous_power)) * bpvi_v_bls_bls_exists_previous_power)) /\ exists bpvi_q_bls_bls_exists_previous_power_partial. bpvi_u_bls_bls_exists_previous_power = bpvi_q_bls_bls_exists_previous_power_partial * S ((S (bpvi_j_bls_bls_exists_previous_power)) * bpvi_v_bls_bls_exists_previous_power) + (bpvi_partial_bls_bls_exists_previous_power))) /\ ((((exists bpvi_h_bls_bls_exists_previous_power_successor. bpvi_h_bls_bls_exists_previous_power_successor + S (bpvi_successor_bls_bls_exists_previous_power) = S ((S (S bpvi_j_bls_bls_exists_previous_power)) * bpvi_v_bls_bls_exists_previous_power)) /\ exists bpvi_q_bls_bls_exists_previous_power_successor. bpvi_u_bls_bls_exists_previous_power = bpvi_q_bls_bls_exists_previous_power_successor * S ((S (S bpvi_j_bls_bls_exists_previous_power)) * bpvi_v_bls_bls_exists_previous_power) + (bpvi_successor_bls_bls_exists_previous_power))) /\ bpvi_successor_bls_bls_exists_previous_power = bpvi_partial_bls_bls_exists_previous_power * bpvi_factor_bls_bls_exists_previous_power)))))))) /\ ((((exists ff_h_bls_bls_exists_previous_quotient_entry. ff_h_bls_bls_exists_previous_quotient_entry + S (bls_quotient_bls_exists_previous) = S ((S (bls_index_bls_exists_previous)) * c)) /\ exists ff_q_bls_bls_exists_previous_quotient_entry. b = ff_q_bls_bls_exists_previous_quotient_entry * S ((S (bls_index_bls_exists_previous)) * c) + (bls_quotient_bls_exists_previous))) /\ ((n = bls_power_bls_exists_previous * bls_quotient_bls_exists_previous + bls_remainder_bls_exists_previous /\ exists bls_remainder_gap_bls_exists_previous_division. bls_remainder_gap_bls_exists_previous_division + S (bls_remainder_bls_exists_previous) = bls_power_bls_exists_previous))))) - 0021
apply IH - 0022
exact hp - 0023
cases hprevious - 0024
cases hprevious_witness - 0025
have hpower : ∃ D. Pow(p,S l,D)Exact native replay line
have hpower : exists D. (exists bpvi_b_bls_exists_last_power bpvi_c_bls_exists_last_power. ((forall bpvi_i_bls_exists_last_power. (exists bpvi_repeat_gap_bls_exists_last_power. bpvi_repeat_gap_bls_exists_last_power + S bpvi_i_bls_exists_last_power = S l) -> (((exists bpvi_h_bls_exists_last_power_repeat. bpvi_h_bls_exists_last_power_repeat + S (p) = S ((S (bpvi_i_bls_exists_last_power)) * bpvi_c_bls_exists_last_power)) /\ exists bpvi_q_bls_exists_last_power_repeat. bpvi_b_bls_exists_last_power = bpvi_q_bls_exists_last_power_repeat * S ((S (bpvi_i_bls_exists_last_power)) * bpvi_c_bls_exists_last_power) + (p)))) /\ (exists bpvi_u_bls_exists_last_power bpvi_v_bls_exists_last_power. ((((exists bpvi_h_bls_exists_last_power_start. bpvi_h_bls_exists_last_power_start + S (1) = S ((S (0)) * bpvi_v_bls_exists_last_power)) /\ exists bpvi_q_bls_exists_last_power_start. bpvi_u_bls_exists_last_power = bpvi_q_bls_exists_last_power_start * S ((S (0)) * bpvi_v_bls_exists_last_power) + (1))) /\ ((((exists bpvi_h_bls_exists_last_power_terminal. bpvi_h_bls_exists_last_power_terminal + S (D) = S ((S (S l)) * bpvi_v_bls_exists_last_power)) /\ exists bpvi_q_bls_exists_last_power_terminal. bpvi_u_bls_exists_last_power = bpvi_q_bls_exists_last_power_terminal * S ((S (S l)) * bpvi_v_bls_exists_last_power) + (D))) /\ forall bpvi_j_bls_exists_last_power. (exists bpvi_product_gap_bls_exists_last_power. bpvi_product_gap_bls_exists_last_power + S bpvi_j_bls_exists_last_power = S l) -> exists bpvi_factor_bls_exists_last_power bpvi_partial_bls_exists_last_power bpvi_successor_bls_exists_last_power. ((((exists bpvi_h_bls_exists_last_power_factor. bpvi_h_bls_exists_last_power_factor + S (bpvi_factor_bls_exists_last_power) = S ((S (bpvi_j_bls_exists_last_power)) * bpvi_c_bls_exists_last_power)) /\ exists bpvi_q_bls_exists_last_power_factor. bpvi_b_bls_exists_last_power = bpvi_q_bls_exists_last_power_factor * S ((S (bpvi_j_bls_exists_last_power)) * bpvi_c_bls_exists_last_power) + (bpvi_factor_bls_exists_last_power))) /\ ((((exists bpvi_h_bls_exists_last_power_partial. bpvi_h_bls_exists_last_power_partial + S (bpvi_partial_bls_exists_last_power) = S ((S (bpvi_j_bls_exists_last_power)) * bpvi_v_bls_exists_last_power)) /\ exists bpvi_q_bls_exists_last_power_partial. bpvi_u_bls_exists_last_power = bpvi_q_bls_exists_last_power_partial * S ((S (bpvi_j_bls_exists_last_power)) * bpvi_v_bls_exists_last_power) + (bpvi_partial_bls_exists_last_power))) /\ ((((exists bpvi_h_bls_exists_last_power_successor. bpvi_h_bls_exists_last_power_successor + S (bpvi_successor_bls_exists_last_power) = S ((S (S bpvi_j_bls_exists_last_power)) * bpvi_v_bls_exists_last_power)) /\ exists bpvi_q_bls_exists_last_power_successor. bpvi_u_bls_exists_last_power = bpvi_q_bls_exists_last_power_successor * S ((S (S bpvi_j_bls_exists_last_power)) * bpvi_v_bls_exists_last_power) + (bpvi_successor_bls_exists_last_power))) /\ bpvi_successor_bls_exists_last_power = bpvi_partial_bls_exists_last_power * bpvi_factor_bls_exists_last_power)))))))) - 0026
specialize pow_exists p - 0027
specialize pow_exists (S l) - 0028
exact pow_exists - 0029
cases hpower - 0030
have hp0 : ~(p = 0) - 0031
intro hpzero - 0032
specialize prime_nonzero p - 0033
apply prime_nonzero - 0034
exact hp - 0035
exact hpzero - 0036
have hp1 : Lt(0,p)Exact native replay line
have hp1 : exists k. k + 1 = p - 0037
specialize one_le_of_ne_zero p - 0038
apply one_le_of_ne_zero - 0039
exact hp0 - 0040
have hD0 : ~(x2 = 0) - 0041
intro hzero - 0042
specialize pow_nonzero_of_one_le p - 0043
specialize pow_nonzero_of_one_le (S l) - 0044
specialize pow_nonzero_of_one_le x2 - 0045
apply pow_nonzero_of_one_le - 0046
exact hp1 - 0047
exact hpower_witness - 0048
exact hzero - 0049
have hdivision : ∃ q. ∃ r. DivRem(n,x2,q,r)Exact native replay line
have hdivision : exists q r. ((n = x2 * q + r /\ exists bls_remainder_gap_bls_exists_division_witness. bls_remainder_gap_bls_exists_division_witness + S (r) = x2)) - 0050
specialize division_remainder_exists x2 - 0051
specialize division_remainder_exists n - 0052
apply division_remainder_exists - 0053
exact hD0 - 0054
cases hdivision - 0055
cases hdivision_witness - 0056
have hextension : ∃ z. ∃ d. BetaAt(z,d,l,x3) ∧ (∀ y. ∀ n. Lt(y,l) → BetaAt(x,x1,y,n) → BetaAt(z,d,y,n))Exact native replay line
have hextension : exists z d. ((((exists ff_h_bls_exists_extension_last. ff_h_bls_exists_extension_last + S (x3) = S ((S (l)) * d)) /\ exists ff_q_bls_exists_extension_last. z = ff_q_bls_exists_extension_last * S ((S (l)) * d) + (x3))) /\ forall i a. (exists h. h + S i = l) -> (((exists ff_h_bls_exists_extension_old. ff_h_bls_exists_extension_old + S (a) = S ((S (i)) * x1)) /\ exists ff_q_bls_exists_extension_old. x = ff_q_bls_exists_extension_old * S ((S (i)) * x1) + (a))) -> (((exists ff_h_bls_exists_extension_new. ff_h_bls_exists_extension_new + S (a) = S ((S (i)) * d)) /\ exists ff_q_bls_exists_extension_new. z = ff_q_bls_exists_extension_new * S ((S (i)) * d) + (a)))) - 0057
specialize beta_prefix_extend l - 0058
specialize beta_prefix_extend x - 0059
specialize beta_prefix_extend x1 - 0060
specialize beta_prefix_extend x3 - 0061
exact beta_prefix_extend - 0062
cases hextension - 0063
cases hextension_witness - 0064
cases hextension_witness_witness - 0065
exists x5 - 0066
exists x6 - 0067
intro i - 0068
intro hi - 0069
have hsplit : i = l ∨ Lt(i,l)Exact native replay line
have hsplit : i = l \/ exists gap. gap + S i = l - 0070
specialize finite_lt_succ_eq_or_lt l - 0071
specialize finite_lt_succ_eq_or_lt i - 0072
apply finite_lt_succ_eq_or_lt - 0073
exact hi - 0074
cases hsplit - 0075
exists x2 - 0076
exists x3 - 0077
exists x4 - 0078
rewrite hsplit_left - 0079
rewrite hsplit_left - 0080
rewrite hsplit_left - 0081
rewrite hsplit_left - 0082
rewrite hsplit_left - 0083
rewrite hsplit_left - 0084
split - 0085
exact hpower_witness - 0086
split - 0087
exact hextension_witness_witness_left - 0088
exact hdivision_witness_witness - 0089
have hold : ∃ D. ∃ q. ∃ r. Pow(p,S i,D) ∧ (BetaAt(x,x1,i,q) ∧ DivRem(n,D,q,r))Exact native replay line
have hold : exists D q r. ((exists bpvi_b_bls_exists_old_power bpvi_c_bls_exists_old_power. ((forall bpvi_i_bls_exists_old_power. (exists bpvi_repeat_gap_bls_exists_old_power. bpvi_repeat_gap_bls_exists_old_power + S bpvi_i_bls_exists_old_power = S i) -> (((exists bpvi_h_bls_exists_old_power_repeat. bpvi_h_bls_exists_old_power_repeat + S (p) = S ((S (bpvi_i_bls_exists_old_power)) * bpvi_c_bls_exists_old_power)) /\ exists bpvi_q_bls_exists_old_power_repeat. bpvi_b_bls_exists_old_power = bpvi_q_bls_exists_old_power_repeat * S ((S (bpvi_i_bls_exists_old_power)) * bpvi_c_bls_exists_old_power) + (p)))) /\ (exists bpvi_u_bls_exists_old_power bpvi_v_bls_exists_old_power. ((((exists bpvi_h_bls_exists_old_power_start. bpvi_h_bls_exists_old_power_start + S (1) = S ((S (0)) * bpvi_v_bls_exists_old_power)) /\ exists bpvi_q_bls_exists_old_power_start. bpvi_u_bls_exists_old_power = bpvi_q_bls_exists_old_power_start * S ((S (0)) * bpvi_v_bls_exists_old_power) + (1))) /\ ((((exists bpvi_h_bls_exists_old_power_terminal. bpvi_h_bls_exists_old_power_terminal + S (D) = S ((S (S i)) * bpvi_v_bls_exists_old_power)) /\ exists bpvi_q_bls_exists_old_power_terminal. bpvi_u_bls_exists_old_power = bpvi_q_bls_exists_old_power_terminal * S ((S (S i)) * bpvi_v_bls_exists_old_power) + (D))) /\ forall bpvi_j_bls_exists_old_power. (exists bpvi_product_gap_bls_exists_old_power. bpvi_product_gap_bls_exists_old_power + S bpvi_j_bls_exists_old_power = S i) -> exists bpvi_factor_bls_exists_old_power bpvi_partial_bls_exists_old_power bpvi_successor_bls_exists_old_power. ((((exists bpvi_h_bls_exists_old_power_factor. bpvi_h_bls_exists_old_power_factor + S (bpvi_factor_bls_exists_old_power) = S ((S (bpvi_j_bls_exists_old_power)) * bpvi_c_bls_exists_old_power)) /\ exists bpvi_q_bls_exists_old_power_factor. bpvi_b_bls_exists_old_power = bpvi_q_bls_exists_old_power_factor * S ((S (bpvi_j_bls_exists_old_power)) * bpvi_c_bls_exists_old_power) + (bpvi_factor_bls_exists_old_power))) /\ ((((exists bpvi_h_bls_exists_old_power_partial. bpvi_h_bls_exists_old_power_partial + S (bpvi_partial_bls_exists_old_power) = S ((S (bpvi_j_bls_exists_old_power)) * bpvi_v_bls_exists_old_power)) /\ exists bpvi_q_bls_exists_old_power_partial. bpvi_u_bls_exists_old_power = bpvi_q_bls_exists_old_power_partial * S ((S (bpvi_j_bls_exists_old_power)) * bpvi_v_bls_exists_old_power) + (bpvi_partial_bls_exists_old_power))) /\ ((((exists bpvi_h_bls_exists_old_power_successor. bpvi_h_bls_exists_old_power_successor + S (bpvi_successor_bls_exists_old_power) = S ((S (S bpvi_j_bls_exists_old_power)) * bpvi_v_bls_exists_old_power)) /\ exists bpvi_q_bls_exists_old_power_successor. bpvi_u_bls_exists_old_power = bpvi_q_bls_exists_old_power_successor * S ((S (S bpvi_j_bls_exists_old_power)) * bpvi_v_bls_exists_old_power) + (bpvi_successor_bls_exists_old_power))) /\ bpvi_successor_bls_exists_old_power = bpvi_partial_bls_exists_old_power * bpvi_factor_bls_exists_old_power)))))))) /\ ((((exists ff_h_bls_exists_old_entry. ff_h_bls_exists_old_entry + S (q) = S ((S (i)) * x1)) /\ exists ff_q_bls_exists_old_entry. x = ff_q_bls_exists_old_entry * S ((S (i)) * x1) + (q))) /\ ((n = D * q + r /\ exists bls_remainder_gap_bls_exists_old_division. bls_remainder_gap_bls_exists_old_division + S (r) = D)))) - 0090
specialize hprevious_witness_witness i - 0091
apply hprevious_witness_witness - 0092
exact hsplit_right - 0093
cases hold - 0094
cases hold_witness - 0095
cases hold_witness_witness - 0096
cases hold_witness_witness_witness - 0097
cases hold_witness_witness_witness_right - 0098
exists x7 - 0099
exists x8 - 0100
exists x9 - 0101
split - 0102
exact hold_witness_witness_witness_left - 0103
split - 0104
specialize hextension_witness_witness_right i - 0105
specialize hextension_witness_witness_right x8 - 0106
apply hextension_witness_witness_right - 0107
exact hsplit_right - 0108
exact hold_witness_witness_witness_right_left - 0109
exact hold_witness_witness_witness_right_right