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_qsm_prime frm_prime_right_qsm_prime. p = frm_prime_left_qsm_prime * frm_prime_right_qsm_prime -> frm_prime_left_qsm_prime = 1 \/ frm_prime_right_qsm_prime = 1)) -> (exists qsm_odd_modulus. p = 2 * qsm_odd_modulus + 1) -> ((((exists qr_x_qsm_predecessor. exists qr_u_qsm_predecessor qr_v_qsm_predecessor. qr_x_qsm_predecessor * qr_x_qsm_predecessor + p * qr_u_qsm_predecessor = n + p * qr_v_qsm_predecessor) -> (exists qsm_four_one_modulus. p = 4 * qsm_four_one_modulus + 1)) /\ ((exists qsm_four_one_modulus. p = 4 * qsm_four_one_modulus + 1) -> (exists qr_x_qsm_predecessor. exists qr_u_qsm_predecessor qr_v_qsm_predecessor. qr_x_qsm_predecessor * qr_x_qsm_predecessor + p * qr_u_qsm_predecessor = n + p * qr_v_qsm_predecessor))))Constructive proof overview
Generated structural guide
The first supplementary law: minus one is a quadratic residue modulo an odd prime exactly when that prime is one modulo four.
The unchanged tactic script uses 3 declared prerequisites and contains 38 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
SL0002 odd_predecessor_double_half SL0003 quadratic_supplement_minus_one_half_parity odd_half_even_iff_mod4_one Alpha theorem; checked-use authorizedDirect 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 (2)
01Fix variables and assumptionsL1–5
02Separate the logical casesL6–6
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L6
cases hodd
03Establish hdoubleL7–13
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply odd predecessor double half.
04Establish hclassificationL14–21
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply quadratic supplement minus one half parity.
05Separate the logical casesL22–23
06Establish hmodfourL24–28
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply odd half even iff mod4 one.
- L24
have hmodfour : (((exists qsm_even_endpoint_half. x = 2 * qsm_even_endpoint_half) -> (exists qsm_four_one_modulus. p = 4 * qsm_four_one_modulus + 1)) /\ ((exists qsm_four_one_modulus. p = 4 * qsm_four_one_modulus + 1) -> (exists qsm_even_endpoint_half. x = 2 * qsm_even_endpoint_half))) - L25
specialize odd_half_even_iff_mod4_one p - L26
specialize odd_half_even_iff_mod4_one x - L27
apply odd_half_even_iff_mod4_one - L28
exact hodd_witness
07Separate the logical casesL29–30
08Fix variables and assumptionsL31–31
Work with arbitrary variables or the premises of the current implication.
- L31
intro hresidue
09Use earlier factsL32–34
10Fix variables and assumptionsL35–35
Work with arbitrary variables or the premises of the current implication.
- L35
intro hfourone
Original exact command ledger · 38 lines
- 0001
intro p - 0002
intro n - 0003
intro hpredecessor - 0004
intro hprime - 0005
intro hodd - 0006
cases hodd - 0007
have hdouble : n = x + x - 0008
specialize odd_predecessor_double_half p - 0009
specialize odd_predecessor_double_half n - 0010
specialize odd_predecessor_double_half x - 0011
apply odd_predecessor_double_half - 0012
exact hpredecessor - 0013
exact hodd_witness - 0014
have hclassification : (((((exists qr_x_qsm_endpoint_predecessor. exists qr_u_qsm_endpoint_predecessor qr_v_qsm_endpoint_predecessor. qr_x_qsm_endpoint_predecessor * qr_x_qsm_endpoint_predecessor + p * qr_u_qsm_endpoint_predecessor = n + p * qr_v_qsm_endpoint_predecessor) -> (exists qsm_even_endpoint_half. x = 2 * qsm_even_endpoint_half)) /\ ((exists qsm_even_endpoint_half. x = 2 * qsm_even_endpoint_half) -> (exists qr_x_qsm_endpoint_predecessor. exists qr_u_qsm_endpoint_predecessor qr_v_qsm_endpoint_predecessor. qr_x_qsm_endpoint_predecessor * qr_x_qsm_endpoint_predecessor + p * qr_u_qsm_endpoint_predecessor = n + p * qr_v_qsm_endpoint_predecessor)))) /\ ((((~(exists qr_x_qsm_endpoint_predecessor. exists qr_u_qsm_endpoint_predecessor qr_v_qsm_endpoint_predecessor. qr_x_qsm_endpoint_predecessor * qr_x_qsm_endpoint_predecessor + p * qr_u_qsm_endpoint_predecessor = n + p * qr_v_qsm_endpoint_predecessor)) -> (exists qsm_odd_endpoint_half. x = 2 * qsm_odd_endpoint_half + 1)) /\ ((exists qsm_odd_endpoint_half. x = 2 * qsm_odd_endpoint_half + 1) -> (~(exists qr_x_qsm_endpoint_predecessor. exists qr_u_qsm_endpoint_predecessor qr_v_qsm_endpoint_predecessor. qr_x_qsm_endpoint_predecessor * qr_x_qsm_endpoint_predecessor + p * qr_u_qsm_endpoint_predecessor = n + p * qr_v_qsm_endpoint_predecessor)))))) - 0015
specialize quadratic_supplement_minus_one_half_parity p - 0016
specialize quadratic_supplement_minus_one_half_parity n - 0017
specialize quadratic_supplement_minus_one_half_parity x - 0018
apply quadratic_supplement_minus_one_half_parity - 0019
exact hpredecessor - 0020
exact hprime - 0021
exact hdouble - 0022
cases hclassification - 0023
cases hclassification_left - 0024
have hmodfour : (((exists qsm_even_endpoint_half. x = 2 * qsm_even_endpoint_half) -> (exists qsm_four_one_modulus. p = 4 * qsm_four_one_modulus + 1)) /\ ((exists qsm_four_one_modulus. p = 4 * qsm_four_one_modulus + 1) -> (exists qsm_even_endpoint_half. x = 2 * qsm_even_endpoint_half))) - 0025
specialize odd_half_even_iff_mod4_one p - 0026
specialize odd_half_even_iff_mod4_one x - 0027
apply odd_half_even_iff_mod4_one - 0028
exact hodd_witness - 0029
cases hmodfour - 0030
split - 0031
intro hresidue - 0032
apply hmodfour_left - 0033
apply hclassification_left_left - 0034
exact hresidue - 0035
intro hfourone - 0036
apply hclassification_left_right - 0037
apply hmodfour_right - 0038
exact hfourone