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. ∀ a. ∀ b. ∀ c. ∀ d. ∀ e. ∀ f. ∀ g. ∀ h. 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(h + h,k) ∧ ((∃ x. d = k · x + h) ∨ Dvd(k,d + h)) → ∃ x. k · x = e · e + f · f + g · g + h · hEvery 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 a b c d e f g h. p * k = (a * a + b * b + c * c + d * d) -> (((exists fsd_center_bound_fssq_a. fsd_center_bound_fssq_a + (e + e) = k) /\ ((exists fsd_center_lower_fssq_a. a = k * fsd_center_lower_fssq_a + e) \/ (exists fsd_center_upper_fssq_a. a + e = k * fsd_center_upper_fssq_a)))) -> (((exists fsd_center_bound_fssq_b. fsd_center_bound_fssq_b + (f + f) = k) /\ ((exists fsd_center_lower_fssq_b. b = k * fsd_center_lower_fssq_b + f) \/ (exists fsd_center_upper_fssq_b. b + f = k * fsd_center_upper_fssq_b)))) -> (((exists fsd_center_bound_fssq_c. fsd_center_bound_fssq_c + (g + g) = k) /\ ((exists fsd_center_lower_fssq_c. c = k * fsd_center_lower_fssq_c + g) \/ (exists fsd_center_upper_fssq_c. c + g = k * fsd_center_upper_fssq_c)))) -> (((exists fsd_center_bound_fssq_d. fsd_center_bound_fssq_d + (h + h) = k) /\ ((exists fsd_center_lower_fssq_d. d = k * fsd_center_lower_fssq_d + h) \/ (exists fsd_center_upper_fssq_d. d + h = k * fsd_center_upper_fssq_d)))) -> exists r. k * r = (e * e + f * f + g * g + h * h)Proof neighborhood
Direct theorem prerequisites
FS005C four_square_signed_centered_norm_congruent multiple_implies_balanced_zero_congruence · Alpha closed mod_eq_symm · Stable closed mod_eq_trans · Stable closed balanced_zero_congruence_implies_multiple · Alpha closed mul_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–10
02Fix variables and assumptionsL11–15
03Establish hcongruentL16–25
Establish this local claim before using it. It is not an additional assumption.
- L16
have hcongruent : ModEq(k,a · a + b · b + c · c + d · d,e · e + f · f + g · g + h · h)Definitions: ModEq(k,a · a + b · b + c · c + d · d,e · e + f · f + g · g + h · h)Original native command in the exact edition - L17
specialize four_square_signed_centered_norm_congruent k - L18
specialize four_square_signed_centered_norm_congruent a - L19
specialize four_square_signed_centered_norm_congruent b - L20
specialize four_square_signed_centered_norm_congruent c - L21
specialize four_square_signed_centered_norm_congruent d - L22
specialize four_square_signed_centered_norm_congruent e - L23
specialize four_square_signed_centered_norm_congruent f - L24
specialize four_square_signed_centered_norm_congruent g - L25
specialize four_square_signed_centered_norm_congruent h
04Use earlier factsL26–30
05Establish hleft_zeroL31–34
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply multiple implies balanced zero congruence.
- L31
have hleft_zero : ModEq(k,a · a + b · b + c · c + d · d,0)Definitions: ModEq(k,a · a + b · b + c · c + d · d,0)Original native command in the exact edition - L32
specialize multiple_implies_balanced_zero_congruence k - L33
specialize multiple_implies_balanced_zero_congruence (a * a + b * b + c * c + d * d) - L34
apply multiple_implies_balanced_zero_congruence
06Construct an explicit witnessL35–35
Supply the displayed value, then prove that it has the required property.
- L35
exists p
07Calculate and transport equalitiesL36–37
08Use earlier factsL38–39
09Establish hreverseL40–45
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply mod eq symm.
- L40
have hreverse : ModEq(k,e · e + f · f + g · g + h · h,a · a + b · b + c · c + d · d)Definitions: ModEq(k,e · e + f · f + g · g + h · h,a · a + b · b + c · c + d · d)Original native command in the exact edition - L41
specialize mod_eq_symm k - L42
specialize mod_eq_symm (a * a + b * b + c * c + d * d) - L43
specialize mod_eq_symm (e * e + f * f + g * g + h * h) - L44
apply mod_eq_symm - L45
exact hcongruent
10Establish hzeroL46–53
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply mod eq trans.
- L46
have hzero : ModEq(k,e · e + f · f + g · g + h · h,0)Definitions: ModEq(k,e · e + f · f + g · g + h · h,0)Original native command in the exact edition - L47
specialize mod_eq_trans k - L48
specialize mod_eq_trans (e * e + f * f + g * g + h * h) - L49
specialize mod_eq_trans (a * a + b * b + c * c + d * d) - L50
specialize mod_eq_trans 0 - L51
apply mod_eq_trans - L52
exact hreverse - L53
exact hleft_zero
11Establish hmultipleL54–58
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply balanced zero congruence implies multiple.
- L54
have hmultiple : Dvd(k,e · e + f · f + g · g + h · h)Definitions: Dvd(k,e · e + f · f + g · g + h · h)Original native command in the exact edition - L55
specialize balanced_zero_congruence_implies_multiple k - L56
specialize balanced_zero_congruence_implies_multiple (e * e + f * f + g * g + h * h) - L57
apply balanced_zero_congruence_implies_multiple - L58
exact hzero
12Separate the logical casesL59–59
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L59
cases hmultiple
13Construct an explicit witnessL60–60
Supply the displayed value, then prove that it has the required property.
- L60
exists x
14Calculate and transport equalitiesL61–61
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L61
symm
15Use earlier factsL62–62
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L62
exact hmultiple_witness
Original defined command ledger · 62 lines
- 0001
intro p - 0002
intro k - 0003
intro a - 0004
intro b - 0005
intro c - 0006
intro d - 0007
intro e - 0008
intro f - 0009
intro g - 0010
intro h - 0011
intro hnorm - 0012
intro ha - 0013
intro hb - 0014
intro hc - 0015
intro hd - 0016
have hcongruent : ModEq(k,a · a + b · b + c · c + d · d,e · e + f · f + g · g + h · h)Exact native replay line
have hcongruent : exists ftcn_left_fssq_quotient_congruence ftcn_right_fssq_quotient_congruence. (a * a + b * b + c * c + d * d) + (k) * ftcn_left_fssq_quotient_congruence = (e * e + f * f + g * g + h * h) + (k) * ftcn_right_fssq_quotient_congruence - 0017
specialize four_square_signed_centered_norm_congruent k - 0018
specialize four_square_signed_centered_norm_congruent a - 0019
specialize four_square_signed_centered_norm_congruent b - 0020
specialize four_square_signed_centered_norm_congruent c - 0021
specialize four_square_signed_centered_norm_congruent d - 0022
specialize four_square_signed_centered_norm_congruent e - 0023
specialize four_square_signed_centered_norm_congruent f - 0024
specialize four_square_signed_centered_norm_congruent g - 0025
specialize four_square_signed_centered_norm_congruent h - 0026
apply four_square_signed_centered_norm_congruent - 0027
exact ha - 0028
exact hb - 0029
exact hc - 0030
exact hd - 0031
have hleft_zero : ModEq(k,a · a + b · b + c · c + d · d,0)Exact native replay line
have hleft_zero : exists ftcn_left_fssq_quotient_left_zero ftcn_right_fssq_quotient_left_zero. (a * a + b * b + c * c + d * d) + (k) * ftcn_left_fssq_quotient_left_zero = (0) + (k) * ftcn_right_fssq_quotient_left_zero - 0032
specialize multiple_implies_balanced_zero_congruence k - 0033
specialize multiple_implies_balanced_zero_congruence (a * a + b * b + c * c + d * d) - 0034
apply multiple_implies_balanced_zero_congruence - 0035
exists p - 0036
trans p * k - 0037
symm - 0038
exact hnorm - 0039
apply mul_comm - 0040
have hreverse : ModEq(k,e · e + f · f + g · g + h · h,a · a + b · b + c · c + d · d)Exact native replay line
have hreverse : exists ftcn_left_fssq_quotient_reverse ftcn_right_fssq_quotient_reverse. (e * e + f * f + g * g + h * h) + (k) * ftcn_left_fssq_quotient_reverse = (a * a + b * b + c * c + d * d) + (k) * ftcn_right_fssq_quotient_reverse - 0041
specialize mod_eq_symm k - 0042
specialize mod_eq_symm (a * a + b * b + c * c + d * d) - 0043
specialize mod_eq_symm (e * e + f * f + g * g + h * h) - 0044
apply mod_eq_symm - 0045
exact hcongruent - 0046
have hzero : ModEq(k,e · e + f · f + g · g + h · h,0)Exact native replay line
have hzero : exists ftcn_left_fssq_quotient_zero ftcn_right_fssq_quotient_zero. (e * e + f * f + g * g + h * h) + (k) * ftcn_left_fssq_quotient_zero = (0) + (k) * ftcn_right_fssq_quotient_zero - 0047
specialize mod_eq_trans k - 0048
specialize mod_eq_trans (e * e + f * f + g * g + h * h) - 0049
specialize mod_eq_trans (a * a + b * b + c * c + d * d) - 0050
specialize mod_eq_trans 0 - 0051
apply mod_eq_trans - 0052
exact hreverse - 0053
exact hleft_zero - 0054
have hmultiple : Dvd(k,e · e + f · f + g · g + h · h)Exact native replay line
have hmultiple : exists ftcn_factor_fssq_quotient_multiple. (e * e + f * f + g * g + h * h) = (k) * ftcn_factor_fssq_quotient_multiple - 0055
specialize balanced_zero_congruence_implies_multiple k - 0056
specialize balanced_zero_congruence_implies_multiple (e * e + f * f + g * g + h * h) - 0057
apply balanced_zero_congruence_implies_multiple - 0058
exact hzero - 0059
cases hmultiple - 0060
exists x - 0061
symm - 0062
exact hmultiple_witness