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.
The exact G025 progression-prime milestone is fully proved in unchanged constructive arithmetic; Mod4Three deliberately reuses its existing Quadratic Reciprocity definition PD0012. The much stronger full Dirichlet progression-prime milestone G030 remains open.
Exact theorem in conservative defined notation
∀ b. ∀ c. ∀ l. ∀ n. Product(b,c,l,n) → (∀ x. ∀ y. Lt(x,l) → BetaAt(b,c,x,y) → ∃ z. ∃ m. y = z · z + m · m) → ∃ x. ∃ y. n = x · x + y · y
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete unchanged native tactic proof
All 55 lines are the exact independently kernel-checked original 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 (2)
01Fix variables and assumptionsL1–2
02Induction on lL3–6
03Establish hunitL7–12
04Construct an explicit witnessL13–14
05Calculate and transport equalitiesL15–16
06Fix variables and assumptionsL17–19
07Establish hdecompositionL20–26
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta product succ decompose.
- L20
have hdecomposition : ∃ a. ∃ r. BetaAt(b,c,l,a) ∧ (Product(b,c,l,r) ∧ n = r · a)Definitions: BetaAtProductOriginal native command in the exact edition - L21
specialize beta_product_succ_decompose b - L22
specialize beta_product_succ_decompose c - L23
specialize beta_product_succ_decompose l - L24
specialize beta_product_succ_decompose n - L25
apply beta_product_succ_decompose - L26
exact hproduct
08Separate the logical casesL27–30
09Establish hrestrictedL31–36
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta two square prefix drop last.
- L31
have hrestricted : ∀ ftsf_index_fold_local_prefix. ∀ ftsf_factor_fold_local_prefix. Lt(ftsf_index_fold_local_prefix,l) → BetaAt(b,c,ftsf_index_fold_local_prefix,ftsf_factor_fold_local_prefix) → ∃ x. ∃ y. ftsf_factor_fold_local_prefix = x · x + y · yDefinitions: LtBetaAtOriginal native command in the exact edition - L32
specialize beta_two_square_prefix_drop_last b - L33
specialize beta_two_square_prefix_drop_last c - L34
specialize beta_two_square_prefix_drop_last l - L35
apply beta_two_square_prefix_drop_last - L36
exact hprefix
10Establish hpartialL37–41
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply IH.
11Establish hlastL42–51
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta two square prefix last represented.
- L42
have hlast : exists ftsf_first_fold_last_representation ftsf_second_fold_last_representation. (x) = ftsf_first_fold_last_representation * ftsf_first_fold_last_representation + ftsf_second_fold_last_representation * ftsf_second_fold_last_representation - L43
specialize beta_two_square_prefix_last_represented b - L44
specialize beta_two_square_prefix_last_represented c - L45
specialize beta_two_square_prefix_last_represented l - L46
specialize beta_two_square_prefix_last_represented x - L47
apply beta_two_square_prefix_last_represented - L48
exact hprefix - L49
exact hdecomposition_witness_witness_left - L50
rewrite hdecomposition_witness_witness_right_right - L51
specialize two_square_representation_multiplicatively_closed x1
Original defined command ledger · 55 lines
- 0001
intro b - 0002
intro c - 0003
induction l - 0004
intro n - 0005
intro hproduct - 0006
intro hprefix - 0007
have hunit : n = 1 - 0008
specialize beta_product_zero b - 0009
specialize beta_product_zero c - 0010
specialize beta_product_zero n - 0011
apply beta_product_zero - 0012
exact hproduct - 0013
exists 1 - 0014
exists 0 - 0015
rewrite hunit - 0016
norm_num - 0017
intro n - 0018
intro hproduct - 0019
intro hprefix - 0020
have hdecomposition : exists a r. ((((exists ff_h_ftsf_fold_last. ff_h_ftsf_fold_last + S (a) = S ((S (l)) * c)) /\ exists ff_q_ftsf_fold_last. b = ff_q_ftsf_fold_last * S ((S (l)) * c) + (a))) /\ ((exists ff_u_ftsf_fold_local ff_v_ftsf_fold_local. ((((exists ff_h_ftsf_fold_local_start. ff_h_ftsf_fold_local_start + S (1) = S ((S (0)) * ff_v_ftsf_fold_local)) /\ exists ff_q_ftsf_fold_local_start. ff_u_ftsf_fold_local = ff_q_ftsf_fold_local_start * S ((S (0)) * ff_v_ftsf_fold_local) + (1))) /\ ((((exists ff_h_ftsf_fold_local_terminal. ff_h_ftsf_fold_local_terminal + S (r) = S ((S (l)) * ff_v_ftsf_fold_local)) /\ exists ff_q_ftsf_fold_local_terminal. ff_u_ftsf_fold_local = ff_q_ftsf_fold_local_terminal * S ((S (l)) * ff_v_ftsf_fold_local) + (r))) /\ forall ff_i_ftsf_fold_local. (exists ff_lt_ftsf_fold_local_bound. ff_lt_ftsf_fold_local_bound + S ff_i_ftsf_fold_local = l) -> exists ff_p_ftsf_fold_local ff_r_ftsf_fold_local ff_s_ftsf_fold_local. ((((exists ff_h_ftsf_fold_local_factor. ff_h_ftsf_fold_local_factor + S (ff_p_ftsf_fold_local) = S ((S (ff_i_ftsf_fold_local)) * c)) /\ exists ff_q_ftsf_fold_local_factor. b = ff_q_ftsf_fold_local_factor * S ((S (ff_i_ftsf_fold_local)) * c) + (ff_p_ftsf_fold_local))) /\ ((((exists ff_h_ftsf_fold_local_partial. ff_h_ftsf_fold_local_partial + S (ff_r_ftsf_fold_local) = S ((S (ff_i_ftsf_fold_local)) * ff_v_ftsf_fold_local)) /\ exists ff_q_ftsf_fold_local_partial. ff_u_ftsf_fold_local = ff_q_ftsf_fold_local_partial * S ((S (ff_i_ftsf_fold_local)) * ff_v_ftsf_fold_local) + (ff_r_ftsf_fold_local))) /\ ((((exists ff_h_ftsf_fold_local_successor. ff_h_ftsf_fold_local_successor + S (ff_s_ftsf_fold_local) = S ((S (S ff_i_ftsf_fold_local)) * ff_v_ftsf_fold_local)) /\ exists ff_q_ftsf_fold_local_successor. ff_u_ftsf_fold_local = ff_q_ftsf_fold_local_successor * S ((S (S ff_i_ftsf_fold_local)) * ff_v_ftsf_fold_local) + (ff_s_ftsf_fold_local))) /\ ff_s_ftsf_fold_local = ff_r_ftsf_fold_local * ff_p_ftsf_fold_local)))))) /\ n = r * a)) - 0021
specialize beta_product_succ_decompose b - 0022
specialize beta_product_succ_decompose c - 0023
specialize beta_product_succ_decompose l - 0024
specialize beta_product_succ_decompose n - 0025
apply beta_product_succ_decompose - 0026
exact hproduct - 0027
cases hdecomposition - 0028
cases hdecomposition_witness - 0029
cases hdecomposition_witness_witness - 0030
cases hdecomposition_witness_witness_right - 0031
have hrestricted : forall ftsf_index_fold_local_prefix ftsf_factor_fold_local_prefix. (exists ftsf_gap_fold_local_prefix_bound. ftsf_gap_fold_local_prefix_bound + S ftsf_index_fold_local_prefix = (l)) -> (((exists ff_h_ftsf_fold_local_prefix_entry. ff_h_ftsf_fold_local_prefix_entry + S (ftsf_factor_fold_local_prefix) = S ((S (ftsf_index_fold_local_prefix)) * c)) /\ exists ff_q_ftsf_fold_local_prefix_entry. b = ff_q_ftsf_fold_local_prefix_entry * S ((S (ftsf_index_fold_local_prefix)) * c) + (ftsf_factor_fold_local_prefix))) -> (exists ftsf_first_fold_local_prefix_representation ftsf_second_fold_local_prefix_representation. (ftsf_factor_fold_local_prefix) = ftsf_first_fold_local_prefix_representation * ftsf_first_fold_local_prefix_representation + ftsf_second_fold_local_prefix_representation * ftsf_second_fold_local_prefix_representation) - 0032
specialize beta_two_square_prefix_drop_last b - 0033
specialize beta_two_square_prefix_drop_last c - 0034
specialize beta_two_square_prefix_drop_last l - 0035
apply beta_two_square_prefix_drop_last - 0036
exact hprefix - 0037
have hpartial : exists ftsf_first_fold_partial ftsf_second_fold_partial. (x1) = ftsf_first_fold_partial * ftsf_first_fold_partial + ftsf_second_fold_partial * ftsf_second_fold_partial - 0038
specialize IH x1 - 0039
apply IH - 0040
exact hdecomposition_witness_witness_right_left - 0041
exact hrestricted - 0042
have hlast : exists ftsf_first_fold_last_representation ftsf_second_fold_last_representation. (x) = ftsf_first_fold_last_representation * ftsf_first_fold_last_representation + ftsf_second_fold_last_representation * ftsf_second_fold_last_representation - 0043
specialize beta_two_square_prefix_last_represented b - 0044
specialize beta_two_square_prefix_last_represented c - 0045
specialize beta_two_square_prefix_last_represented l - 0046
specialize beta_two_square_prefix_last_represented x - 0047
apply beta_two_square_prefix_last_represented - 0048
exact hprefix - 0049
exact hdecomposition_witness_witness_left - 0050
rewrite hdecomposition_witness_witness_right_right - 0051
specialize two_square_representation_multiplicatively_closed x1 - 0052
specialize two_square_representation_multiplicatively_closed x - 0053
apply two_square_representation_multiplicatively_closed - 0054
exact hpartial - 0055
exact hlast