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. ∀ k. ∀ r. ∀ a. ∀ b. ∀ c. ∀ d. ∀ e. ∀ f. ∀ g. ∀ j. Prime(p) → ¬k = 0 → ¬k = 1 → Lt(k,p) → p · k = a · a + b · b + c · c + d · d → Le(e + e,k) ∧ ((∃ x. a = k · x + e) ∨ Dvd(k,a + e)) → Le(f + f,k) ∧ ((∃ x. b = k · x + f) ∨ Dvd(k,b + f)) → Le(g + g,k) ∧ ((∃ x. c = k · x + g) ∨ Dvd(k,c + g)) → Le(j + j,k) ∧ ((∃ x. d = k · x + j) ∨ Dvd(k,d + j)) → k · r = e · e + f · f + g · g + j · j → ¬r = 0Every 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 k r a b c d e f g j. ((~(p = 1) /\ forall frm_prime_left_fsd_p frm_prime_right_fsd_p. p = frm_prime_left_fsd_p * frm_prime_right_fsd_p -> frm_prime_left_fsd_p = 1 \/ frm_prime_right_fsd_p = 1)) -> ~(k = 0) -> ~(k = 1) -> (exists gap. gap + S k = p) -> p * k = a * a + b * b + c * c + d * d -> (((exists fsd_center_bound_nonzero_a. fsd_center_bound_nonzero_a + (e + e) = k) /\ ((exists fsd_center_lower_nonzero_a. a = k * fsd_center_lower_nonzero_a + e) \/ (exists fsd_center_upper_nonzero_a. a + e = k * fsd_center_upper_nonzero_a)))) -> (((exists fsd_center_bound_nonzero_b. fsd_center_bound_nonzero_b + (f + f) = k) /\ ((exists fsd_center_lower_nonzero_b. b = k * fsd_center_lower_nonzero_b + f) \/ (exists fsd_center_upper_nonzero_b. b + f = k * fsd_center_upper_nonzero_b)))) -> (((exists fsd_center_bound_nonzero_c. fsd_center_bound_nonzero_c + (g + g) = k) /\ ((exists fsd_center_lower_nonzero_c. c = k * fsd_center_lower_nonzero_c + g) \/ (exists fsd_center_upper_nonzero_c. c + g = k * fsd_center_upper_nonzero_c)))) -> (((exists fsd_center_bound_nonzero_d. fsd_center_bound_nonzero_d + (j + j) = k) /\ ((exists fsd_center_lower_nonzero_d. d = k * fsd_center_lower_nonzero_d + j) \/ (exists fsd_center_upper_nonzero_d. d + j = k * fsd_center_upper_nonzero_d)))) -> k * r = e * e + f * f + g * g + j * j -> ~(r = 0)Proof neighborhood
Direct theorem prerequisites
FS001Z four_square_descent_zero_norm_coordinates FS0020 four_square_descent_zero_centered_remainder_divides FS0022 four_square_descent_divisible_coordinates_prime_factor FS0021 four_square_descent_nonunit_proper_factor_not_primeDirect 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 (4)
01Fix variables and assumptionsL1–10
02Fix variables and assumptionsL11–20
03Fix variables and assumptionsL21–22
04Calculate and transport equalitiesL23–24
05Establish hzerosL25–28
06Separate the logical casesL29–31
07Calculate and transport equalitiesL32–41
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L32
rewrite hzeros_left at ha - L33
rewrite hzeros_left at ha - L34
rewrite hzeros_left at ha - L35
rewrite hzeros_left at ha - L36
rewrite hzeros_right_left at hb - L37
rewrite hzeros_right_left at hb - L38
rewrite hzeros_right_left at hb - L39
rewrite hzeros_right_left at hb - L40
rewrite hzeros_right_right_left at hc - L41
rewrite hzeros_right_right_left at hc
08Calculate and transport equalitiesL42–47
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
09Establish hdaL48–50
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply four square descent zero centered remainder divides.
10Establish hdbL51–53
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply four square descent zero centered remainder divides.
11Establish hdcL54–56
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply four square descent zero centered remainder divides.
12Establish hddL57–59
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply four square descent zero centered remainder divides.
13Separate the logical casesL60–63
14Establish hfactorL64–73
Establish this local claim before using it. It is not an additional assumption.
- L64
have hfactor : p = k * (x * x + x1 * x1 + x2 * x2 + x3 * x3) - L65
specialize four_square_descent_divisible_coordinates_prime_factor p - L66
specialize four_square_descent_divisible_coordinates_prime_factor k - L67
specialize four_square_descent_divisible_coordinates_prime_factor a - L68
specialize four_square_descent_divisible_coordinates_prime_factor b - L69
specialize four_square_descent_divisible_coordinates_prime_factor c - L70
specialize four_square_descent_divisible_coordinates_prime_factor d - L71
specialize four_square_descent_divisible_coordinates_prime_factor x - L72
specialize four_square_descent_divisible_coordinates_prime_factor x1 - L73
specialize four_square_descent_divisible_coordinates_prime_factor x2
15Use earlier factsL74–83
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L74
specialize four_square_descent_divisible_coordinates_prime_factor x3 - L75
apply four_square_descent_divisible_coordinates_prime_factor - L76
exact hk - L77
exact hnorm - L78
exact hda_witness - L79
exact hdb_witness - L80
exact hdc_witness - L81
exact hdd_witness - L82
specialize four_square_descent_nonunit_proper_factor_not_prime p - L83
specialize four_square_descent_nonunit_proper_factor_not_prime k
16Use earlier factsL84–89
Instantiate or apply named facts and discharge the corresponding proof obligations.
Original defined command ledger · 89 lines
- 0001
intro p - 0002
intro k - 0003
intro r - 0004
intro a - 0005
intro b - 0006
intro c - 0007
intro d - 0008
intro e - 0009
intro f - 0010
intro g - 0011
intro j - 0012
intro hprime - 0013
intro hk - 0014
intro hnonunit - 0015
intro hproper - 0016
intro hnorm - 0017
intro ha - 0018
intro hb - 0019
intro hc - 0020
intro hd - 0021
intro hcenter_norm - 0022
intro hrzero - 0023
rewrite hrzero at hcenter_norm - 0024
rewrite PA5 at hcenter_norm - 0025
have hzeros : (e = 0 /\ (f = 0 /\ (g = 0 /\ j = 0))) - 0026
apply four_square_descent_zero_norm_coordinates - 0027
symm - 0028
exact hcenter_norm - 0029
cases hzeros - 0030
cases hzeros_right - 0031
cases hzeros_right_right - 0032
rewrite hzeros_left at ha - 0033
rewrite hzeros_left at ha - 0034
rewrite hzeros_left at ha - 0035
rewrite hzeros_left at ha - 0036
rewrite hzeros_right_left at hb - 0037
rewrite hzeros_right_left at hb - 0038
rewrite hzeros_right_left at hb - 0039
rewrite hzeros_right_left at hb - 0040
rewrite hzeros_right_right_left at hc - 0041
rewrite hzeros_right_right_left at hc - 0042
rewrite hzeros_right_right_left at hc - 0043
rewrite hzeros_right_right_left at hc - 0044
rewrite hzeros_right_right_right at hd - 0045
rewrite hzeros_right_right_right at hd - 0046
rewrite hzeros_right_right_right at hd - 0047
rewrite hzeros_right_right_right at hd - 0048
have hda : Dvd(k,a)Exact native replay line
have hda : exists q. a = k * q - 0049
apply four_square_descent_zero_centered_remainder_divides - 0050
exact ha - 0051
have hdb : Dvd(k,b)Exact native replay line
have hdb : exists q. b = k * q - 0052
apply four_square_descent_zero_centered_remainder_divides - 0053
exact hb - 0054
have hdc : Dvd(k,c)Exact native replay line
have hdc : exists q. c = k * q - 0055
apply four_square_descent_zero_centered_remainder_divides - 0056
exact hc - 0057
have hdd : Dvd(k,d)Exact native replay line
have hdd : exists q. d = k * q - 0058
apply four_square_descent_zero_centered_remainder_divides - 0059
exact hd - 0060
cases hda - 0061
cases hdb - 0062
cases hdc - 0063
cases hdd - 0064
have hfactor : p = k * (x * x + x1 * x1 + x2 * x2 + x3 * x3) - 0065
specialize four_square_descent_divisible_coordinates_prime_factor p - 0066
specialize four_square_descent_divisible_coordinates_prime_factor k - 0067
specialize four_square_descent_divisible_coordinates_prime_factor a - 0068
specialize four_square_descent_divisible_coordinates_prime_factor b - 0069
specialize four_square_descent_divisible_coordinates_prime_factor c - 0070
specialize four_square_descent_divisible_coordinates_prime_factor d - 0071
specialize four_square_descent_divisible_coordinates_prime_factor x - 0072
specialize four_square_descent_divisible_coordinates_prime_factor x1 - 0073
specialize four_square_descent_divisible_coordinates_prime_factor x2 - 0074
specialize four_square_descent_divisible_coordinates_prime_factor x3 - 0075
apply four_square_descent_divisible_coordinates_prime_factor - 0076
exact hk - 0077
exact hnorm - 0078
exact hda_witness - 0079
exact hdb_witness - 0080
exact hdc_witness - 0081
exact hdd_witness - 0082
specialize four_square_descent_nonunit_proper_factor_not_prime p - 0083
specialize four_square_descent_nonunit_proper_factor_not_prime k - 0084
specialize four_square_descent_nonunit_proper_factor_not_prime (x * x + x1 * x1 + x2 * x2 + x3 * x3) - 0085
apply four_square_descent_nonunit_proper_factor_not_prime - 0086
exact hprime - 0087
exact hnonunit - 0088
exact hproper - 0089
exact hfactor