TS0009 · theorem body

prime_mod_four_one_bounded_divisible_two_square_norm_exists

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

A prime equal to one modulo four divides the norm of a canonical root strictly below the prime.

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) → ∃ x. ∃ y. Lt(x,p) ∧ x · x + 1 = p · 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 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. ((exists fts_gap_canonical_root. fts_gap_canonical_root + S (r) = p) /\ r * r + 1 = p * k)

Proof neighborhood

Direct theorem prerequisites

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

27 script commands · 8 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.

Named ingredients (2)
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 hboundedL6–12

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime mod four one bounded minus one square exists.

  1. L6
    have hbounded : BoundedQRes(p,n)Definitions: BoundedQRes(p,n)Original native command in the exact edition
  2. L7
    specialize prime_mod_four_one_bounded_minus_one_square_exists p
  3. L8
    specialize prime_mod_four_one_bounded_minus_one_square_exists n
  4. L9
    apply prime_mod_four_one_bounded_minus_one_square_exists
  5. L10
    exact hpredecessor
  6. L11
    exact hprime
  7. L12
    exact hfourone
03Separate the logical casesL13–14

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

  1. L13
    cases hbounded
  2. L14
    cases hbounded_witness
04Establish hnormL15–21

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply predecessor square congruence yields divisible norm.

  1. L15
    have hnorm : Dvd(p,x · x + 1)Definitions: Dvd(p,x · x + 1)Original native command in the exact edition
  2. L16
    specialize predecessor_square_congruence_yields_divisible_norm p
  3. L17
    specialize predecessor_square_congruence_yields_divisible_norm n
  4. L18
    specialize predecessor_square_congruence_yields_divisible_norm x
  5. L19
    apply predecessor_square_congruence_yields_divisible_norm
  6. L20
    exact hpredecessor
  7. L21
    exact hbounded_witness_right
05Separate the logical casesL22–22

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

  1. L22
    cases hnorm
06Construct an explicit witnessL23–24

Supply the displayed value, then prove that it has the required property.

  1. L23
    exists x
  2. L24
    exists x1
07Separate the logical casesL25–25

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

  1. L25
    split
08Use earlier factsL26–27

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

  1. L26
    exact hbounded_witness_left
  2. L27
    exact hnorm_witness

Library-wide reading audit

Original defined command ledger · 27 lines
  1. 0001intro p
  2. 0002intro n
  3. 0003intro hpredecessor
  4. 0004intro hprime
  5. 0005intro hfourone
  6. 0006have hbounded : BoundedQRes(p,n)
    Exact native replay linehave hbounded : exists qr_x_fts_bounded_predecessor. (exists qr_h_fts_bounded_predecessor. qr_h_fts_bounded_predecessor + S qr_x_fts_bounded_predecessor = p) /\ exists qr_u_fts_bounded_predecessor qr_v_fts_bounded_predecessor. qr_x_fts_bounded_predecessor * qr_x_fts_bounded_predecessor + p * qr_u_fts_bounded_predecessor = n + p * qr_v_fts_bounded_predecessor
  7. 0007specialize prime_mod_four_one_bounded_minus_one_square_exists p
  8. 0008specialize prime_mod_four_one_bounded_minus_one_square_exists n
  9. 0009apply prime_mod_four_one_bounded_minus_one_square_exists
  10. 0010exact hpredecessor
  11. 0011exact hprime
  12. 0012exact hfourone
  13. 0013cases hbounded
  14. 0014cases hbounded_witness
  15. 0015have hnorm : Dvd(p,x · x + 1)
    Exact native replay linehave hnorm : exists k. x * x + 1 = p * k
  16. 0016specialize predecessor_square_congruence_yields_divisible_norm p
  17. 0017specialize predecessor_square_congruence_yields_divisible_norm n
  18. 0018specialize predecessor_square_congruence_yields_divisible_norm x
  19. 0019apply predecessor_square_congruence_yields_divisible_norm
  20. 0020exact hpredecessor
  21. 0021exact hbounded_witness_right
  22. 0022cases hnorm
  23. 0023exists x
  24. 0024exists x1
  25. 0025split
  26. 0026exact hbounded_witness_left
  27. 0027exact hnorm_witness