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. ((~(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)))Constructive proof overview
Generated structural guide
A prime has a natural two-square representation exactly when it is two or congruent to one modulo four.
The unchanged tactic script uses 5 declared prerequisites and contains 49 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
TS0021 prime_mod_four_trichotomy TS0004 sum_two_squares_not_four_mod_three prime_nonzero Stable theorem; checked-use authorized nonzero_is_succ Stable theorem; checked-use authorized TS001O prime_mod_four_one_is_sum_of_two_squaresDirect dependents
Formal native tactic body
Dependencies are introduced as named hypotheses before line 1. Local theorem links identify exact declared prerequisites. This exact body belongs to a complete independently kernel-checked constructive proof bundle and has Alpha checked-use authority; it does not imply 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 (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.
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 exact command ledger · 49 lines
- 0001
intro p - 0002
intro hprime - 0003
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