TS003O · theorem body

three_mod_four_prime_nonzero_two_square_norm_extracts_nonzero_quotient

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

On the explicit nonzero domain, a three-modulo-four prime square extracts with a nonzero represented quotient.

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. ∀ a. ∀ b. Prime(p)Mod4Three(p) → ¬a · a + b · b = 0 → Dvd(p,a · a + b · b) → ∃ x. ∃ y. a = p · x ∧ (b = p · y ∧ (a · a + b · b = p · p · (x · x + y · y) ∧ ¬x · x + y · y = 0))

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

none
Exact expanded first-order statement
forall p a b. ((~(p = 1) /\ forall frm_prime_left_ftsv_prime frm_prime_right_ftsv_prime. p = frm_prime_left_ftsv_prime * frm_prime_right_ftsv_prime -> frm_prime_left_ftsv_prime = 1 \/ frm_prime_right_ftsv_prime = 1)) -> (exists ftsc_four_three_ftsv_prime. (p) = 4 * ftsc_four_three_ftsv_prime + 3) -> ~(a * a + b * b = 0) -> (exists ftcn_factor_ftsv_norm_divides. (a * a + b * b) = (p) * ftcn_factor_ftsv_norm_divides) -> (exists ftsv_first_nonzero ftsv_second_nonzero. ((a = p * ftsv_first_nonzero) /\ ((b = p * ftsv_second_nonzero) /\ (((a * a + b * b = (p * p) * (ftsv_first_nonzero * ftsv_first_nonzero + ftsv_second_nonzero * ftsv_second_nonzero)) /\ ~((ftsv_first_nonzero * ftsv_first_nonzero + ftsv_second_nonzero * ftsv_second_nonzero) = 0))))))

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

32 script commands · 13 reading checkpoints · 1 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 (1)
01Fix variables and assumptionsL1–7

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

  1. L1
    intro p
  2. L2
    intro a
  3. L3
    intro b
  4. L4
    intro hprime
  5. L5
    intro hthree
  6. L6
    intro hnonzero
  7. L7
    intro hnorm
02Establish hextractionL8–15

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply three mod four prime two square norm extracts squared factor.

  1. L8
    have hextraction : exists ftsv_first_extracted ftsv_second_extracted. ((a = p * ftsv_first_extracted) /\ ((b = p * ftsv_second_extracted) /\ (a * a + b * b = (p * p) * (ftsv_first_extracted * ftsv_first_extracted + ftsv_second_extracted * ftsv_second_extracted))))
  2. L9
    specialize three_mod_four_prime_two_square_norm_extracts_squared_factor p
  3. L10
    specialize three_mod_four_prime_two_square_norm_extracts_squared_factor a
  4. L11
    specialize three_mod_four_prime_two_square_norm_extracts_squared_factor b
  5. L12
    apply three_mod_four_prime_two_square_norm_extracts_squared_factor
  6. L13
    exact hprime
  7. L14
    exact hthree
  8. L15
    exact hnorm
03Separate the logical casesL16–19

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

  1. L16
    cases hextraction
  2. L17
    cases hextraction_witness
  3. L18
    cases hextraction_witness_witness
  4. L19
    cases hextraction_witness_witness_right
04Construct an explicit witnessL20–21

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

  1. L20
    exists x
  2. L21
    exists x1
05Separate the logical casesL22–22

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

  1. L22
    split
06Use earlier factsL23–23

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

  1. L23
    exact hextraction_witness_witness_left
07Separate the logical casesL24–24

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

  1. L24
    split
08Use earlier factsL25–25

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

  1. L25
    exact hextraction_witness_witness_right_left
09Separate the logical casesL26–26

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

  1. L26
    split
10Use earlier factsL27–27

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

  1. L27
    exact hextraction_witness_witness_right_right
11Fix variables and assumptionsL28–28

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

  1. L28
    intro hquotient_zero
12Calculate and transport equalitiesL29–30

Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.

  1. L29
    rewrite hquotient_zero at hextraction_witness_witness_right_right
  2. L30
    rewrite PA5 at hextraction_witness_witness_right_right
13Use earlier factsL31–32

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

  1. L31
    apply hnonzero
  2. L32
    exact hextraction_witness_witness_right_right

Library-wide reading audit

Original defined command ledger · 32 lines
  1. 0001intro p
  2. 0002intro a
  3. 0003intro b
  4. 0004intro hprime
  5. 0005intro hthree
  6. 0006intro hnonzero
  7. 0007intro hnorm
  8. 0008have hextraction : exists ftsv_first_extracted ftsv_second_extracted. ((a = p * ftsv_first_extracted) /\ ((b = p * ftsv_second_extracted) /\ (a * a + b * b = (p * p) * (ftsv_first_extracted * ftsv_first_extracted + ftsv_second_extracted * ftsv_second_extracted))))
  9. 0009specialize three_mod_four_prime_two_square_norm_extracts_squared_factor p
  10. 0010specialize three_mod_four_prime_two_square_norm_extracts_squared_factor a
  11. 0011specialize three_mod_four_prime_two_square_norm_extracts_squared_factor b
  12. 0012apply three_mod_four_prime_two_square_norm_extracts_squared_factor
  13. 0013exact hprime
  14. 0014exact hthree
  15. 0015exact hnorm
  16. 0016cases hextraction
  17. 0017cases hextraction_witness
  18. 0018cases hextraction_witness_witness
  19. 0019cases hextraction_witness_witness_right
  20. 0020exists x
  21. 0021exists x1
  22. 0022split
  23. 0023exact hextraction_witness_witness_left
  24. 0024split
  25. 0025exact hextraction_witness_witness_right_left
  26. 0026split
  27. 0027exact hextraction_witness_witness_right_right
  28. 0028intro hquotient_zero
  29. 0029rewrite hquotient_zero at hextraction_witness_witness_right_right
  30. 0030rewrite PA5 at hextraction_witness_witness_right_right
  31. 0031apply hnonzero
  32. 0032exact hextraction_witness_witness_right_right