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. ∀ l. ¬p = 0 → ∃ x. ∃ y. ∀ z. Lt(z,l) → ∃ n. ∃ m. z · z = p · n + m ∧ (Lt(m,p) ∧ BetaAt(x,y,z,m))Every purple notation token opens its conservative definition. This reading surface never changes the unchanged intuitionistic kernel or confers checked-use authority.
Definitions used by this theorem
In the theorem statement
In local proof propositions
Exact expanded first-order statement
forall p l. ~(p = 0) -> exists b c. (forall fsri_index_exists. (exists fsri_gap_exists_index. fsri_gap_exists_index + S (fsri_index_exists) = (l)) -> exists fsri_quotient_exists fsri_residue_exists. (fsri_index_exists * fsri_index_exists = (p) * fsri_quotient_exists + fsri_residue_exists /\ ((exists fsri_gap_exists_residue. fsri_gap_exists_residue + S (fsri_residue_exists) = (p)) /\ (((exists fsri_height_exists_entry. fsri_height_exists_entry + S (fsri_residue_exists) = S ((S (fsri_index_exists)) * (c))) /\ exists fsri_quotient_exists_entry. (b) = fsri_quotient_exists_entry * S ((S (fsri_index_exists)) * (c)) + (fsri_residue_exists))))))Proof neighborhood
Direct theorem prerequisites
Direct theorem dependents
Definition-aware tactic body
Only propositions whose conservative expansion has been checked for exact first-order equivalence are compacted. Every changed line retains its immutable exact replay command.
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.
01Fix variables and assumptionsL1–3
02Establish hrangeL4–7
Establish this local claim before using it. It is not an additional assumption.
- L4
have hrange : ∃ b. ∃ c. Range(b,c,0,l)Definitions: Range(b,c,0,l)Original native command in the exact edition - L5
specialize beta_range_exists 0 - L6
specialize beta_range_exists l - L7
exact beta_range_exists
03Separate the logical casesL8–9
04Establish hsquaresL10–16
Establish this local claim before using it. It is not an additional assumption.
- L10
have hsquares : ∃ b. ∃ c. ∀ y. ∀ z. ∀ n. ∀ m. Lt(y,l) → BetaAt(x,x1,y,z) → BetaAt(x,x1,y,n) → BetaAt(b,c,y,m) → m = z · nDefinitions: Lt(y,l)BetaAt(x,x1,y,z)BetaAt(x,x1,y,n)BetaAt(b,c,y,m)Original native command in the exact edition - L11
specialize beta_pointwise_mul_prefix_exists x - L12
specialize beta_pointwise_mul_prefix_exists x1 - L13
specialize beta_pointwise_mul_prefix_exists x - L14
specialize beta_pointwise_mul_prefix_exists x1 - L15
specialize beta_pointwise_mul_prefix_exists l - L16
exact beta_pointwise_mul_prefix_exists
05Separate the logical casesL17–18
06Establish hdivisionsL19–25
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta division prefix exists.
- L19
have hdivisions : ∃ qb. ∃ qc. ∃ rb. ∃ rc. DivisionPrefix(p,x2,x3,qb,qc,rb,rc,l)Definitions: DivisionPrefix(p,x2,x3,qb,qc,rb,rc,l)Original native command in the exact edition - L20
specialize beta_division_prefix_exists p - L21
specialize beta_division_prefix_exists x2 - L22
specialize beta_division_prefix_exists x3 - L23
specialize beta_division_prefix_exists l - L24
apply beta_division_prefix_exists - L25
exact hnonzero
07Separate the logical casesL26–29
08Construct an explicit witnessL30–31
09Fix variables and assumptionsL32–33
10Establish hindex_zeroL34–37
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hrange witness witness.
- L34
have hindex_zero : BetaAt(x,x1,i,0 + i)Definitions: BetaAt(x,x1,i,0 + i)Original native command in the exact edition - L35
specialize hrange_witness_witness i - L36
apply hrange_witness_witness - L37
exact hi
11Establish hzeroL38–41
12Establish hdivisionL42–45
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hdivisions witness witness witness witness.
- L42
have hdivision : ∃ v. ∃ q. ∃ r. BetaAt(x2,x3,i,v) ∧ (BetaAt(x4,x5,i,q) ∧ (BetaAt(x6,x7,i,r) ∧ DivRem(v,p,q,r)))Definitions: BetaAt(x2,x3,i,v)BetaAt(x4,x5,i,q)BetaAt(x6,x7,i,r)DivRem(v,p,q,r)Original native command in the exact edition - L43
specialize hdivisions_witness_witness_witness_witness i - L44
apply hdivisions_witness_witness_witness_witness - L45
exact hi
13Separate the logical casesL46–52
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
14Establish hvalueL53–62
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hsquares witness witness.
- L53
have hvalue : x8 = i * i - L54
specialize hsquares_witness_witness i - L55
specialize hsquares_witness_witness i - L56
specialize hsquares_witness_witness i - L57
specialize hsquares_witness_witness x8 - L58
apply hsquares_witness_witness - L59
exact hi - L60
exact hindex_zero - L61
exact hindex_zero - L62
exact hdivision_witness_witness_witness_left
15Construct an explicit witnessL63–64
16Separate the logical casesL65–65
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L65
split
17Calculate and transport equalitiesL66–66
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L66
rewrite <- hvalue
18Use earlier factsL67–67
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L67
exact hdivision_witness_witness_witness_right_right_right_left
19Separate the logical casesL68–68
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L68
split
Original defined command ledger · 70 lines
- 0001
intro p - 0002
intro l - 0003
intro hnonzero - 0004
have hrange : ∃ b. ∃ c. Range(b,c,0,l)Exact native replay line
have hrange : exists b c. forall i. (exists fsri_gap_range_index. fsri_gap_range_index + S (i) = (l)) -> (((exists fsri_height_range_entry. fsri_height_range_entry + S (0 + i) = S ((S (i)) * (c))) /\ exists fsri_quotient_range_entry. (b) = fsri_quotient_range_entry * S ((S (i)) * (c)) + (0 + i))) - 0005
specialize beta_range_exists 0 - 0006
specialize beta_range_exists l - 0007
exact beta_range_exists - 0008
cases hrange - 0009
cases hrange_witness - 0010
have hsquares : ∃ b. ∃ c. ∀ y. ∀ z. ∀ n. ∀ m. Lt(y,l) → BetaAt(x,x1,y,z) → BetaAt(x,x1,y,n) → BetaAt(b,c,y,m) → m = z · nExact native replay line
have hsquares : exists b c. (forall fpmp_index_fsri_square_values fpmp_left_fsri_square_values fpmp_right_fsri_square_values fpmp_target_fsri_square_values. (exists fpmp_gap_fsri_square_values. fpmp_gap_fsri_square_values + S fpmp_index_fsri_square_values = l) -> (((exists ff_h_fpmp_fsri_square_values_left. ff_h_fpmp_fsri_square_values_left + S (fpmp_left_fsri_square_values) = S ((S (fpmp_index_fsri_square_values)) * x1)) /\ exists ff_q_fpmp_fsri_square_values_left. x = ff_q_fpmp_fsri_square_values_left * S ((S (fpmp_index_fsri_square_values)) * x1) + (fpmp_left_fsri_square_values))) -> (((exists ff_h_fpmp_fsri_square_values_right. ff_h_fpmp_fsri_square_values_right + S (fpmp_right_fsri_square_values) = S ((S (fpmp_index_fsri_square_values)) * x1)) /\ exists ff_q_fpmp_fsri_square_values_right. x = ff_q_fpmp_fsri_square_values_right * S ((S (fpmp_index_fsri_square_values)) * x1) + (fpmp_right_fsri_square_values))) -> (((exists ff_h_fpmp_fsri_square_values_target. ff_h_fpmp_fsri_square_values_target + S (fpmp_target_fsri_square_values) = S ((S (fpmp_index_fsri_square_values)) * c)) /\ exists ff_q_fpmp_fsri_square_values_target. b = ff_q_fpmp_fsri_square_values_target * S ((S (fpmp_index_fsri_square_values)) * c) + (fpmp_target_fsri_square_values))) -> fpmp_target_fsri_square_values = fpmp_left_fsri_square_values * fpmp_right_fsri_square_values) - 0011
specialize beta_pointwise_mul_prefix_exists x - 0012
specialize beta_pointwise_mul_prefix_exists x1 - 0013
specialize beta_pointwise_mul_prefix_exists x - 0014
specialize beta_pointwise_mul_prefix_exists x1 - 0015
specialize beta_pointwise_mul_prefix_exists l - 0016
exact beta_pointwise_mul_prefix_exists - 0017
cases hsquares - 0018
cases hsquares_witness - 0019
have hdivisions : ∃ qb. ∃ qc. ∃ rb. ∃ rc. DivisionPrefix(p,x2,x3,qb,qc,rb,rc,l)Exact native replay line
have hdivisions : exists qb qc rb rc. (forall fdp_index_fsri_square_divisions. (exists gsp_lt_gap_fsri_square_divisions_index_bound. gsp_lt_gap_fsri_square_divisions_index_bound + S fdp_index_fsri_square_divisions = l) -> exists fdp_value_fsri_square_divisions fdp_quotient_fsri_square_divisions fdp_remainder_fsri_square_divisions. (((exists ff_h_fdp_fsri_square_divisions_source. ff_h_fdp_fsri_square_divisions_source + S (fdp_value_fsri_square_divisions) = S ((S (fdp_index_fsri_square_divisions)) * x3)) /\ exists ff_q_fdp_fsri_square_divisions_source. x2 = ff_q_fdp_fsri_square_divisions_source * S ((S (fdp_index_fsri_square_divisions)) * x3) + (fdp_value_fsri_square_divisions))) /\ ((((exists ff_h_fdp_fsri_square_divisions_quotient_entry. ff_h_fdp_fsri_square_divisions_quotient_entry + S (fdp_quotient_fsri_square_divisions) = S ((S (fdp_index_fsri_square_divisions)) * qc)) /\ exists ff_q_fdp_fsri_square_divisions_quotient_entry. qb = ff_q_fdp_fsri_square_divisions_quotient_entry * S ((S (fdp_index_fsri_square_divisions)) * qc) + (fdp_quotient_fsri_square_divisions))) /\ ((((exists ff_h_fdp_fsri_square_divisions_remainder_entry. ff_h_fdp_fsri_square_divisions_remainder_entry + S (fdp_remainder_fsri_square_divisions) = S ((S (fdp_index_fsri_square_divisions)) * rc)) /\ exists ff_q_fdp_fsri_square_divisions_remainder_entry. rb = ff_q_fdp_fsri_square_divisions_remainder_entry * S ((S (fdp_index_fsri_square_divisions)) * rc) + (fdp_remainder_fsri_square_divisions))) /\ (fdp_value_fsri_square_divisions = p * fdp_quotient_fsri_square_divisions + fdp_remainder_fsri_square_divisions /\ (exists gsp_lt_gap_fsri_square_divisions_remainder_bound. gsp_lt_gap_fsri_square_divisions_remainder_bound + S fdp_remainder_fsri_square_divisions = p))))) - 0020
specialize beta_division_prefix_exists p - 0021
specialize beta_division_prefix_exists x2 - 0022
specialize beta_division_prefix_exists x3 - 0023
specialize beta_division_prefix_exists l - 0024
apply beta_division_prefix_exists - 0025
exact hnonzero - 0026
cases hdivisions - 0027
cases hdivisions_witness - 0028
cases hdivisions_witness_witness - 0029
cases hdivisions_witness_witness_witness - 0030
exists x6 - 0031
exists x7 - 0032
intro i - 0033
intro hi - 0034
have hindex_zero : BetaAt(x,x1,i,0 + i)Exact native replay line
have hindex_zero : ((exists fsri_height_square_index_zero. fsri_height_square_index_zero + S (0 + i) = S ((S (i)) * (x1))) /\ exists fsri_quotient_square_index_zero. (x) = fsri_quotient_square_index_zero * S ((S (i)) * (x1)) + (0 + i)) - 0035
specialize hrange_witness_witness i - 0036
apply hrange_witness_witness - 0037
exact hi - 0038
have hzero : 0 + i = i - 0039
apply zero_add - 0040
rewrite hzero at hindex_zero - 0041
rewrite hzero at hindex_zero - 0042
have hdivision : ∃ v. ∃ q. ∃ r. BetaAt(x2,x3,i,v) ∧ (BetaAt(x4,x5,i,q) ∧ (BetaAt(x6,x7,i,r) ∧ DivRem(v,p,q,r)))Exact native replay line
have hdivision : exists v q r. ((((exists fsri_height_square_source_value. fsri_height_square_source_value + S (v) = S ((S (i)) * (x3))) /\ exists fsri_quotient_square_source_value. (x2) = fsri_quotient_square_source_value * S ((S (i)) * (x3)) + (v))) /\ ((((exists fsri_height_square_quotient_value. fsri_height_square_quotient_value + S (q) = S ((S (i)) * (x5))) /\ exists fsri_quotient_square_quotient_value. (x4) = fsri_quotient_square_quotient_value * S ((S (i)) * (x5)) + (q))) /\ ((((exists fsri_height_square_remainder_value. fsri_height_square_remainder_value + S (r) = S ((S (i)) * (x7))) /\ exists fsri_quotient_square_remainder_value. (x6) = fsri_quotient_square_remainder_value * S ((S (i)) * (x7)) + (r))) /\ (v = p * q + r /\ (exists fsri_gap_square_remainder_bound. fsri_gap_square_remainder_bound + S (r) = (p)))))) - 0043
specialize hdivisions_witness_witness_witness_witness i - 0044
apply hdivisions_witness_witness_witness_witness - 0045
exact hi - 0046
cases hdivision - 0047
cases hdivision_witness - 0048
cases hdivision_witness_witness - 0049
cases hdivision_witness_witness_witness - 0050
cases hdivision_witness_witness_witness_right - 0051
cases hdivision_witness_witness_witness_right_right - 0052
cases hdivision_witness_witness_witness_right_right_right - 0053
have hvalue : x8 = i * i - 0054
specialize hsquares_witness_witness i - 0055
specialize hsquares_witness_witness i - 0056
specialize hsquares_witness_witness i - 0057
specialize hsquares_witness_witness x8 - 0058
apply hsquares_witness_witness - 0059
exact hi - 0060
exact hindex_zero - 0061
exact hindex_zero - 0062
exact hdivision_witness_witness_witness_left - 0063
exists x9 - 0064
exists x10 - 0065
split - 0066
rewrite <- hvalue - 0067
exact hdivision_witness_witness_witness_right_right_right_left - 0068
split - 0069
exact hdivision_witness_witness_witness_right_right_right_right - 0070
exact hdivision_witness_witness_witness_right_right_left