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) → Dvd(p,a · a + b · b) → Dvd(p,a) ∧ Dvd(p,b)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 a b. ((~(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_four_three_ftsc_prime. (p) = 4 * ftsc_four_three_ftsc_prime + 3) -> (exists ftcn_factor_ftsc_norm. (a * a + b * b) = (p) * ftcn_factor_ftsc_norm) -> ((exists ftcn_factor_ftsc_first_result. (a) = (p) * ftcn_factor_ftsc_first_result) /\ (exists ftcn_factor_ftsc_both_second_result. (b) = (p) * ftcn_factor_ftsc_both_second_result))Proof neighborhood
Direct theorem prerequisites
TS0026 three_mod_four_prime_norm_divisor_forces_second_coordinate add_comm · Stable closedDirect 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
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 (1)
01Fix variables and assumptionsL1–6
02Establish hnonzeroL7–12
03Establish hsuccessorL13–16
04Separate the logical casesL17–17
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L17
cases hsuccessor
05Establish hsecondL18–27
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply three mod four prime norm divisor forces second coordinate.
- L18
- L19
specialize three_mod_four_prime_norm_divisor_forces_second_coordinate p - L20
specialize three_mod_four_prime_norm_divisor_forces_second_coordinate x - L21
specialize three_mod_four_prime_norm_divisor_forces_second_coordinate a - L22
specialize three_mod_four_prime_norm_divisor_forces_second_coordinate b - L23
apply three_mod_four_prime_norm_divisor_forces_second_coordinate - L24
exact hsuccessor_witness - L25
exact hprime - L26
exact hthree - L27
exact hnorm
06Establish hswappedL28–28
Establish this local claim before using it. It is not an additional assumption.
- L28
have hswapped : Dvd(p,b · b + a · a)Definitions: Dvd(p,b · b + a · a)Original native command in the exact edition
07Separate the logical casesL29–29
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L29
cases hnorm
08Construct an explicit witnessL30–30
Supply the displayed value, then prove that it has the required property.
- L30
exists x1
09Calculate and transport equalitiesL31–31
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L31
trans a * a + b * b
10Use earlier factsL32–33
11Establish hfirstL34–43
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply three mod four prime norm divisor forces second coordinate.
- L34
- L35
specialize three_mod_four_prime_norm_divisor_forces_second_coordinate p - L36
specialize three_mod_four_prime_norm_divisor_forces_second_coordinate x - L37
specialize three_mod_four_prime_norm_divisor_forces_second_coordinate b - L38
specialize three_mod_four_prime_norm_divisor_forces_second_coordinate a - L39
apply three_mod_four_prime_norm_divisor_forces_second_coordinate - L40
exact hsuccessor_witness - L41
exact hprime - L42
exact hthree - L43
exact hswapped
12Separate the logical casesL44–44
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L44
split
Original defined command ledger · 46 lines
- 0001
intro p - 0002
intro a - 0003
intro b - 0004
intro hprime - 0005
intro hthree - 0006
intro hnorm - 0007
have hnonzero : ~(p = 0) - 0008
intro hpzero - 0009
specialize prime_nonzero p - 0010
apply prime_nonzero - 0011
exact hprime - 0012
exact hpzero - 0013
have hsuccessor : exists n. p = S n - 0014
specialize nonzero_is_succ p - 0015
apply nonzero_is_succ - 0016
exact hnonzero - 0017
cases hsuccessor - 0018
have hsecond : Dvd(p,b)Exact native replay line
have hsecond : exists ftcn_factor_ftsc_both_second_local. (b) = (p) * ftcn_factor_ftsc_both_second_local - 0019
specialize three_mod_four_prime_norm_divisor_forces_second_coordinate p - 0020
specialize three_mod_four_prime_norm_divisor_forces_second_coordinate x - 0021
specialize three_mod_four_prime_norm_divisor_forces_second_coordinate a - 0022
specialize three_mod_four_prime_norm_divisor_forces_second_coordinate b - 0023
apply three_mod_four_prime_norm_divisor_forces_second_coordinate - 0024
exact hsuccessor_witness - 0025
exact hprime - 0026
exact hthree - 0027
exact hnorm - 0028
have hswapped : Dvd(p,b · b + a · a)Exact native replay line
have hswapped : exists ftcn_factor_ftsc_swapped_norm. (b * b + a * a) = (p) * ftcn_factor_ftsc_swapped_norm - 0029
cases hnorm - 0030
exists x1 - 0031
trans a * a + b * b - 0032
apply add_comm - 0033
exact hnorm_witness - 0034
have hfirst : Dvd(p,a)Exact native replay line
have hfirst : exists ftcn_factor_ftsc_both_first_local. (a) = (p) * ftcn_factor_ftsc_both_first_local - 0035
specialize three_mod_four_prime_norm_divisor_forces_second_coordinate p - 0036
specialize three_mod_four_prime_norm_divisor_forces_second_coordinate x - 0037
specialize three_mod_four_prime_norm_divisor_forces_second_coordinate b - 0038
specialize three_mod_four_prime_norm_divisor_forces_second_coordinate a - 0039
apply three_mod_four_prime_norm_divisor_forces_second_coordinate - 0040
exact hsuccessor_witness - 0041
exact hprime - 0042
exact hthree - 0043
exact hswapped - 0044
split - 0045
exact hfirst - 0046
exact hsecond