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.
Exact expanded first-order arithmetic statement
forall p n. p = S n -> ((~(p = 1) /\ forall frm_prime_left_fts_prime frm_prime_right_fts_prime. p = frm_prime_left_fts_prime * frm_prime_right_fts_prime -> frm_prime_left_fts_prime = 1 \/ frm_prime_right_fts_prime = 1)) -> (exists fts_four_prime_one. p = 4 * fts_four_prime_one + 1) -> exists r k. r * r + 1 = p * kConstructive proof overview
Generated structural guide
A prime equal to one modulo four divides an explicitly witnessed two-square norm r²+1.
The unchanged tactic script uses 2 declared prerequisites and contains 20 exact native proof lines.
dependency-curried kernel-checked theorem body; Alpha enrollment and checked-use authority follow separately sealed release evidence; Stable membership remains unchanged
Proof neighborhood
Direct dependencies
TS0005 prime_mod_four_one_minus_one_square_exists TS0007 predecessor_square_congruence_yields_divisible_normDirect dependents
Formal native tactic body
Dependencies are introduced as named hypotheses before line 1. Local theorem links identify exact declared prerequisites. This dependency-curried candidate body does not grant checked theorem use or Stable membership.
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–5
02Establish hresidueL6–12
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime mod four one minus one square exists.
- L6
have hresidue : exists qr_x_fts_predecessor. exists qr_u_fts_predecessor qr_v_fts_predecessor. qr_x_fts_predecessor * qr_x_fts_predecessor + p * qr_u_fts_predecessor = n + p * qr_v_fts_predecessor - L7
specialize prime_mod_four_one_minus_one_square_exists p - L8
specialize prime_mod_four_one_minus_one_square_exists n - L9
apply prime_mod_four_one_minus_one_square_exists - L10
exact hpredecessor - L11
exact hprime - L12
exact hfourone
03Separate the logical casesL13–13
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L13
cases hresidue
04Construct an explicit witnessL14–14
Supply the displayed value, then prove that it has the required property.
- L14
exists x
05Use earlier factsL15–20
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L15
specialize predecessor_square_congruence_yields_divisible_norm p - L16
specialize predecessor_square_congruence_yields_divisible_norm n - L17
specialize predecessor_square_congruence_yields_divisible_norm x - L18
apply predecessor_square_congruence_yields_divisible_norm - L19
exact hpredecessor - L20
exact hresidue_witness
Original exact command ledger · 20 lines
- 0001
intro p - 0002
intro n - 0003
intro hpredecessor - 0004
intro hprime - 0005
intro hfourone - 0006
have hresidue : exists qr_x_fts_predecessor. exists qr_u_fts_predecessor qr_v_fts_predecessor. qr_x_fts_predecessor * qr_x_fts_predecessor + p * qr_u_fts_predecessor = n + p * qr_v_fts_predecessor - 0007
specialize prime_mod_four_one_minus_one_square_exists p - 0008
specialize prime_mod_four_one_minus_one_square_exists n - 0009
apply prime_mod_four_one_minus_one_square_exists - 0010
exact hpredecessor - 0011
exact hprime - 0012
exact hfourone - 0013
cases hresidue - 0014
exists x - 0015
specialize predecessor_square_congruence_yields_divisible_norm p - 0016
specialize predecessor_square_congruence_yields_divisible_norm n - 0017
specialize predecessor_square_congruence_yields_divisible_norm x - 0018
apply predecessor_square_congruence_yields_divisible_norm - 0019
exact hpredecessor - 0020
exact hresidue_witness