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. Prime(p) → ((∃ x. ∃ y. p = x · x + y · y) → p = 2 ∨ Mod4One(p)) ∧ (p = 2 ∨ Mod4One(p) → ∃ x. ∃ y. p = x · x + y · y)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. ((~(p = 1) /\ forall frm_prime_left_ftsc_prime frm_prime_right_ftsc_prime. p = frm_prime_left_ftsc_prime * frm_prime_right_ftsc_prime -> frm_prime_left_ftsc_prime = 1 \/ frm_prime_right_ftsc_prime = 1)) -> (((exists ftsc_first_prime_iff_left ftsc_second_prime_iff_left. (p) = ftsc_first_prime_iff_left * ftsc_first_prime_iff_left + ftsc_second_prime_iff_left * ftsc_second_prime_iff_left) -> (p = 2 \/ (exists ftsc_four_one_ftsc_prime. (p) = 4 * ftsc_four_one_ftsc_prime + 1))) /\ ((p = 2 \/ (exists ftsc_four_one_ftsc_prime. (p) = 4 * ftsc_four_one_ftsc_prime + 1)) -> (exists ftsc_first_prime_iff_right ftsc_second_prime_iff_right. (p) = ftsc_first_prime_iff_right * ftsc_first_prime_iff_right + ftsc_second_prime_iff_right * ftsc_second_prime_iff_right)))Proof neighborhood
Direct theorem prerequisites
TS0021 prime_mod_four_trichotomy TS0004 sum_two_squares_not_four_mod_three prime_nonzero · Stable closed nonzero_is_succ · Stable closed TS001O prime_mod_four_one_is_sum_of_two_squaresDirect 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.
Named ingredients (3)
01Fix variables and assumptionsL1–2
02Establish hcasesL3–6
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime mod four trichotomy.
- L3
have hcases : p = 2 ∨ (Mod4One(p) ∨ Mod4Three(p))Definitions: Mod4One(p)Mod4Three(p)Original native command in the exact edition - L4
specialize prime_mod_four_trichotomy p - L5
apply prime_mod_four_trichotomy - L6
exact hprime
03Separate the logical casesL7–7
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L7
split
04Fix variables and assumptionsL8–8
Work with arbitrary variables or the premises of the current implication.
- L8
intro hrepresentation
05Separate the logical casesL9–10
06Use earlier factsL11–11
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L11
exact hcases_left
07Separate the logical casesL12–13
08Use earlier factsL14–14
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L14
exact hcases_right_left
09Separate the logical casesL15–18
10Use earlier factsL19–21
11Construct an explicit witnessL22–22
Supply the displayed value, then prove that it has the required property.
- L22
exists x2
12Calculate and transport equalitiesL23–24
13Use earlier factsL25–26
14Fix variables and assumptionsL27–27
Work with arbitrary variables or the premises of the current implication.
- L27
intro hallowed
15Separate the logical casesL28–28
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L28
cases hallowed
16Construct an explicit witnessL29–30
17Calculate and transport equalitiesL31–32
18Establish hnonzeroL33–38
19Establish hsuccessorL39–42
20Separate the logical casesL43–43
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L43
cases hsuccessor
21Use earlier factsL44–49
Instantiate or apply named facts and discharge the corresponding proof obligations.
Original defined command ledger · 49 lines
- 0001
intro p - 0002
intro hprime - 0003
have hcases : p = 2 ∨ (Mod4One(p) ∨ Mod4Three(p))Exact native replay line
have hcases : p = 2 \/ ((exists ftsc_four_one_ftsc_prime. (p) = 4 * ftsc_four_one_ftsc_prime + 1) \/ (exists ftsc_four_three_ftsc_prime. (p) = 4 * ftsc_four_three_ftsc_prime + 3)) - 0004
specialize prime_mod_four_trichotomy p - 0005
apply prime_mod_four_trichotomy - 0006
exact hprime - 0007
split - 0008
intro hrepresentation - 0009
cases hcases - 0010
left - 0011
exact hcases_left - 0012
cases hcases_right - 0013
right - 0014
exact hcases_right_left - 0015
exfalso - 0016
cases hrepresentation - 0017
cases hrepresentation_witness - 0018
cases hcases_right_right - 0019
specialize sum_two_squares_not_four_mod_three x - 0020
specialize sum_two_squares_not_four_mod_three x1 - 0021
apply sum_two_squares_not_four_mod_three - 0022
exists x2 - 0023
trans p - 0024
symm - 0025
exact hrepresentation_witness_witness - 0026
exact hcases_right_right_witness - 0027
intro hallowed - 0028
cases hallowed - 0029
exists 1 - 0030
exists 1 - 0031
rewrite hallowed_left - 0032
norm_num - 0033
have hnonzero : ~(p = 0) - 0034
intro hzero - 0035
specialize prime_nonzero p - 0036
apply prime_nonzero - 0037
exact hprime - 0038
exact hzero - 0039
have hsuccessor : exists n. p = S n - 0040
specialize nonzero_is_succ p - 0041
apply nonzero_is_succ - 0042
exact hnonzero - 0043
cases hsuccessor - 0044
specialize prime_mod_four_one_is_sum_of_two_squares p - 0045
specialize prime_mod_four_one_is_sum_of_two_squares x - 0046
apply prime_mod_four_one_is_sum_of_two_squares - 0047
exact hsuccessor_witness - 0048
exact hprime - 0049
exact hallowed_right