TS0005 · theorem body

prime_mod_four_one_minus_one_square_exists

Alpha v34 checked-use · independently kernel and Lean verified; not Stable

Every prime congruent to one modulo four has a constructive square root of minus one.

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. ∀ n. p = S n → Prime(p)Mod4One(p)QRes(p,n)

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 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 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)

Proof neighborhood

Direct theorem prerequisites

mod4_one_is_odd · Stable closed quadratic_supplement_minus_one_residue_iff_mod_four_one · Alpha closed

Direct 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

19 script commands · 5 reading checkpoints · 2 local claims

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.

Definition notation is shown below. Open the paired exact edition for the original native formulas. Source pairing is not a new equivalence certificate.

01Fix variables and assumptionsL1–5

Work with arbitrary variables or the premises of the current implication.

  1. L1
    intro p
  2. L2
    intro n
  3. L3
    intro hpredecessor
  4. L4
    intro hprime
  5. L5
    intro hfourone
02Establish hoddL6–9

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply mod4 one is odd.

  1. L6
  2. L7
    specialize mod4_one_is_odd p
  3. L8
    apply mod4_one_is_odd
  4. L9
    exact hfourone
03Establish hlawL10–16

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply quadratic supplement minus one residue iff mod four one.

  1. L10
    have hlaw : (QRes(p,n) → Mod4One(p)) ∧ (Mod4One(p) → QRes(p,n))Definitions: QRes(p,n)Mod4One(p)Original native command in the exact edition
  2. L11
    specialize quadratic_supplement_minus_one_residue_iff_mod_four_one p
  3. L12
    specialize quadratic_supplement_minus_one_residue_iff_mod_four_one n
  4. L13
    apply quadratic_supplement_minus_one_residue_iff_mod_four_one
  5. L14
    exact hpredecessor
  6. L15
    exact hprime
  7. L16
    exact hodd
04Separate the logical casesL17–17

Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.

  1. L17
    cases hlaw
05Use earlier factsL18–19

Instantiate or apply named facts and discharge the corresponding proof obligations.

  1. L18
    apply hlaw_right
  2. L19
    exact hfourone

Library-wide reading audit

Original defined command ledger · 19 lines
  1. 0001intro p
  2. 0002intro n
  3. 0003intro hpredecessor
  4. 0004intro hprime
  5. 0005intro hfourone
  6. 0006have hodd : Odd(p)
    Exact native replay linehave hodd : exists h. p = 2 * h + 1
  7. 0007specialize mod4_one_is_odd p
  8. 0008apply mod4_one_is_odd
  9. 0009exact hfourone
  10. 0010have hlaw : (QRes(p,n)Mod4One(p)) ∧ (Mod4One(p)QRes(p,n))
    Exact native replay linehave hlaw : (((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) -> (exists fts_four_prime_one. p = 4 * fts_four_prime_one + 1)) /\ ((exists fts_four_prime_one. p = 4 * fts_four_prime_one + 1) -> (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)))
  11. 0011specialize quadratic_supplement_minus_one_residue_iff_mod_four_one p
  12. 0012specialize quadratic_supplement_minus_one_residue_iff_mod_four_one n
  13. 0013apply quadratic_supplement_minus_one_residue_iff_mod_four_one
  14. 0014exact hpredecessor
  15. 0015exact hprime
  16. 0016exact hodd
  17. 0017cases hlaw
  18. 0018apply hlaw_right
  19. 0019exact hfourone