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.
Exact expanded first-order arithmetic statement
forall p r x y. (exists ftcn_factor_root. (r * r + 1) = (p) * ftcn_factor_root) -> (exists ftcn_left_squared ftcn_right_squared. ((r * x) * (r * x)) + (p) * ftcn_left_squared = (y * y) + (p) * ftcn_right_squared) -> (exists ftcn_factor_norm. (x * x + y * y) = (p) * ftcn_factor_norm)Constructive proof overview
Generated structural guide
A root of minus one and either matching linear square yield an actual divisible two-square norm.
The unchanged tactic script uses 7 declared prerequisites and contains 46 exact native proof lines.
dependency-curried kernel-checked theorem body; Alpha enrollment and checked-use authority follow separately sealed release evidence; Stable membership remains unchanged
Proof neighborhood
Direct dependencies
TS0014 negative_one_scaled_square_congruent_zero mod_eq_refl Stable theorem; checked-use authorized mod_eq_add Stable theorem; checked-use authorized mod_eq_symm Stable theorem; checked-use authorized mod_eq_trans Stable theorem; checked-use authorized add_comm Stable theorem; checked-use authorized TS0011 balanced_zero_congruence_implies_multipleDirect dependents
Formal native tactic body
Dependencies are introduced as named hypotheses before line 1. Local theorem links identify exact declared prerequisites. This exact body belongs to a complete independently kernel-checked constructive proof bundle and has Alpha checked-use authority; it does not imply Stable membership.
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 (2)
01Fix variables and assumptionsL1–6
02Establish hzeroL7–12
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply negative one scaled square congruent zero.
- L7
have hzero : exists ftcn_left_norm_root ftcn_right_norm_root. ((r * x) * (r * x) + x * x) + (p) * ftcn_left_norm_root = (0) + (p) * ftcn_right_norm_root - L8
specialize negative_one_scaled_square_congruent_zero p - L9
specialize negative_one_scaled_square_congruent_zero r - L10
specialize negative_one_scaled_square_congruent_zero x - L11
apply negative_one_scaled_square_congruent_zero - L12
exact hroot
03Establish hsameL13–16
04Establish haddL17–25
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply mod eq add.
- L17
have hadd : exists ftcn_left_norm_added ftcn_right_norm_added. ((r * x) * (r * x) + x * x) + (p) * ftcn_left_norm_added = (y * y + x * x) + (p) * ftcn_right_norm_added - L18
specialize mod_eq_add p - L19
specialize mod_eq_add ((r * x) * (r * x)) - L20
specialize mod_eq_add (y * y) - L21
specialize mod_eq_add (x * x) - L22
specialize mod_eq_add (x * x) - L23
apply mod_eq_add - L24
exact hsquare - L25
exact hsame
05Establish hreverseL26–31
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply mod eq symm.
- L26
have hreverse : exists ftcn_left_norm_reverse ftcn_right_norm_reverse. (y * y + x * x) + (p) * ftcn_left_norm_reverse = ((r * x) * (r * x) + x * x) + (p) * ftcn_right_norm_reverse - L27
specialize mod_eq_symm p - L28
specialize mod_eq_symm ((r * x) * (r * x) + x * x) - L29
specialize mod_eq_symm (y * y + x * x) - L30
apply mod_eq_symm - L31
exact hadd
06Establish hnormL32–39
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply mod eq trans.
- L32
have hnorm : exists ftcn_left_norm_zero ftcn_right_norm_zero. (y * y + x * x) + (p) * ftcn_left_norm_zero = (0) + (p) * ftcn_right_norm_zero - L33
specialize mod_eq_trans p - L34
specialize mod_eq_trans (y * y + x * x) - L35
specialize mod_eq_trans ((r * x) * (r * x) + x * x) - L36
specialize mod_eq_trans 0 - L37
apply mod_eq_trans - L38
exact hreverse - L39
exact hzero
07Establish horderL40–46
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply add comm.
Original exact command ledger · 46 lines
- 0001
intro p - 0002
intro r - 0003
intro x - 0004
intro y - 0005
intro hroot - 0006
intro hsquare - 0007
have hzero : exists ftcn_left_norm_root ftcn_right_norm_root. ((r * x) * (r * x) + x * x) + (p) * ftcn_left_norm_root = (0) + (p) * ftcn_right_norm_root - 0008
specialize negative_one_scaled_square_congruent_zero p - 0009
specialize negative_one_scaled_square_congruent_zero r - 0010
specialize negative_one_scaled_square_congruent_zero x - 0011
apply negative_one_scaled_square_congruent_zero - 0012
exact hroot - 0013
have hsame : exists ftcn_left_norm_same ftcn_right_norm_same. (x * x) + (p) * ftcn_left_norm_same = (x * x) + (p) * ftcn_right_norm_same - 0014
specialize mod_eq_refl p - 0015
specialize mod_eq_refl (x * x) - 0016
exact mod_eq_refl - 0017
have hadd : exists ftcn_left_norm_added ftcn_right_norm_added. ((r * x) * (r * x) + x * x) + (p) * ftcn_left_norm_added = (y * y + x * x) + (p) * ftcn_right_norm_added - 0018
specialize mod_eq_add p - 0019
specialize mod_eq_add ((r * x) * (r * x)) - 0020
specialize mod_eq_add (y * y) - 0021
specialize mod_eq_add (x * x) - 0022
specialize mod_eq_add (x * x) - 0023
apply mod_eq_add - 0024
exact hsquare - 0025
exact hsame - 0026
have hreverse : exists ftcn_left_norm_reverse ftcn_right_norm_reverse. (y * y + x * x) + (p) * ftcn_left_norm_reverse = ((r * x) * (r * x) + x * x) + (p) * ftcn_right_norm_reverse - 0027
specialize mod_eq_symm p - 0028
specialize mod_eq_symm ((r * x) * (r * x) + x * x) - 0029
specialize mod_eq_symm (y * y + x * x) - 0030
apply mod_eq_symm - 0031
exact hadd - 0032
have hnorm : exists ftcn_left_norm_zero ftcn_right_norm_zero. (y * y + x * x) + (p) * ftcn_left_norm_zero = (0) + (p) * ftcn_right_norm_zero - 0033
specialize mod_eq_trans p - 0034
specialize mod_eq_trans (y * y + x * x) - 0035
specialize mod_eq_trans ((r * x) * (r * x) + x * x) - 0036
specialize mod_eq_trans 0 - 0037
apply mod_eq_trans - 0038
exact hreverse - 0039
exact hzero - 0040
have horder : y * y + x * x = x * x + y * y - 0041
apply add_comm - 0042
rewrite horder at hnorm - 0043
specialize balanced_zero_congruence_implies_multiple p - 0044
specialize balanced_zero_congruence_implies_multiple (x * x + y * y) - 0045
apply balanced_zero_congruence_implies_multiple - 0046
exact hnorm