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. ∀ m0. ∀ m1. ∀ m2. ∀ m3. ¬k = 0 → p · k · (k · r) = m0 · m0 + m1 · m1 + m2 · m2 + m3 · m3 → Dvd(k,m0) → Dvd(k,m1) → Dvd(k,m2) → Dvd(k,m3) → ∃ x. ∃ y. ∃ z. ∃ n. p · r = x · x + y · y + z · z + n · nEvery 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 m0 m1 m2 m3. ~(k = 0) -> (p * k) * (k * r) = (m0 * m0 + m1 * m1 + m2 * m2 + m3 * m3) -> (exists ftcn_factor_fsso_multiple_0. (m0) = (k) * ftcn_factor_fsso_multiple_0) -> (exists ftcn_factor_fsso_multiple_1. (m1) = (k) * ftcn_factor_fsso_multiple_1) -> (exists ftcn_factor_fsso_multiple_2. (m2) = (k) * ftcn_factor_fsso_multiple_2) -> (exists ftcn_factor_fsso_multiple_3. (m3) = (k) * ftcn_factor_fsso_multiple_3) -> (exists fsl_a_fsso_quotient fsl_b_fsso_quotient fsl_c_fsso_quotient fsl_d_fsso_quotient. (p * r) = fsl_a_fsso_quotient * fsl_a_fsso_quotient + fsl_b_fsso_quotient * fsl_b_fsso_quotient + fsl_c_fsso_quotient * fsl_c_fsso_quotient + fsl_d_fsso_quotient * fsl_d_fsso_quotient)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
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–10
02Fix variables and assumptionsL11–13
03Separate the logical casesL14–17
04Construct an explicit witnessL18–21
05Use earlier factsL22–30
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L22
specialize four_square_descent_scaled_norm_quotient p - L23
specialize four_square_descent_scaled_norm_quotient k - L24
specialize four_square_descent_scaled_norm_quotient r - L25
specialize four_square_descent_scaled_norm_quotient x - L26
specialize four_square_descent_scaled_norm_quotient x1 - L27
specialize four_square_descent_scaled_norm_quotient x2 - L28
specialize four_square_descent_scaled_norm_quotient x3 - L29
apply four_square_descent_scaled_norm_quotient - L30
exact hnonzero
06Calculate and transport equalitiesL31–38
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
07Use earlier factsL39–39
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L39
exact hnorm
Original defined command ledger · 39 lines
- 0001
intro p - 0002
intro k - 0003
intro r - 0004
intro m0 - 0005
intro m1 - 0006
intro m2 - 0007
intro m3 - 0008
intro hnonzero - 0009
intro hnorm - 0010
intro hdiv0 - 0011
intro hdiv1 - 0012
intro hdiv2 - 0013
intro hdiv3 - 0014
cases hdiv0 - 0015
cases hdiv1 - 0016
cases hdiv2 - 0017
cases hdiv3 - 0018
exists x - 0019
exists x1 - 0020
exists x2 - 0021
exists x3 - 0022
specialize four_square_descent_scaled_norm_quotient p - 0023
specialize four_square_descent_scaled_norm_quotient k - 0024
specialize four_square_descent_scaled_norm_quotient r - 0025
specialize four_square_descent_scaled_norm_quotient x - 0026
specialize four_square_descent_scaled_norm_quotient x1 - 0027
specialize four_square_descent_scaled_norm_quotient x2 - 0028
specialize four_square_descent_scaled_norm_quotient x3 - 0029
apply four_square_descent_scaled_norm_quotient - 0030
exact hnonzero - 0031
rewrite hdiv0_witness at hnorm - 0032
rewrite hdiv0_witness at hnorm - 0033
rewrite hdiv1_witness at hnorm - 0034
rewrite hdiv1_witness at hnorm - 0035
rewrite hdiv2_witness at hnorm - 0036
rewrite hdiv2_witness at hnorm - 0037
rewrite hdiv3_witness at hnorm - 0038
rewrite hdiv3_witness at hnorm - 0039
exact hnorm