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
forall n a b c d. n * 2 = a * a + b * b + c * c + d * d -> (exists fsl_a_fsps_half fsl_b_fsps_half fsl_c_fsps_half fsl_d_fsps_half. (n) = fsl_a_fsps_half * fsl_a_fsps_half + fsl_b_fsps_half * fsl_b_fsps_half + fsl_c_fsps_half * fsl_c_fsps_half + fsl_d_fsps_half * fsl_d_fsps_half)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 n a b c d. n * 2 = a * a + b * b + c * c + d * d -> (exists fsl_a_fsps_half fsl_b_fsps_half fsl_c_fsps_half fsl_d_fsps_half. (n) = fsl_a_fsps_half * fsl_a_fsps_half + fsl_b_fsps_half * fsl_b_fsps_half + fsl_c_fsps_half * fsl_c_fsps_half + fsl_d_fsps_half * fsl_d_fsps_half)Proof neighborhood
Direct theorem prerequisites
FS003X four_square_parity_even_norm_pair_selection FS003Y four_square_parity_swap_middle_coordinates FS003Z four_square_parity_swap_outer_coordinates FS001T four_square_descent_even_multiplier_matching_parity_halvingDirect 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–6
02Establish hpairsL7–10
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply four square parity even norm pair selection.
- L7
have hpairs : (Even(a) ∧ Even(b) ∨ Odd(a) ∧ Odd(b)) ∧ (Even(c) ∧ Even(d) ∨ Odd(c) ∧ Odd(d)) ∨ ((Even(a) ∧ Even(c) ∨ Odd(a) ∧ Odd(c)) ∧ (Even(b) ∧ Even(d) ∨ Odd(b) ∧ Odd(d)) ∨ (Even(a) ∧ Even(d) ∨ Odd(a) ∧ Odd(d)) ∧ (Even(b) ∧ Even(c) ∨ Odd(b) ∧ Odd(c)))Definitions: Even(a)Even(b)Odd(a)Odd(b)Even(c)Even(d)Odd(c)Odd(d)Original native command in the exact edition - L8
specialize four_square_parity_even_norm_pair_selection n - L9
apply four_square_parity_even_norm_pair_selection - L10
exact hnorm
03Separate the logical casesL11–12
04Use earlier factsL13–21
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L13
specialize four_square_descent_even_multiplier_matching_parity_halving n - L14
specialize four_square_descent_even_multiplier_matching_parity_halving a - L15
specialize four_square_descent_even_multiplier_matching_parity_halving b - L16
specialize four_square_descent_even_multiplier_matching_parity_halving c - L17
specialize four_square_descent_even_multiplier_matching_parity_halving d - L18
apply four_square_descent_even_multiplier_matching_parity_halving - L19
exact hnorm - L20
exact hpairs_left_left - L21
exact hpairs_left_right
05Separate the logical casesL22–23
06Use earlier factsL24–29
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L24
specialize four_square_descent_even_multiplier_matching_parity_halving n - L25
specialize four_square_descent_even_multiplier_matching_parity_halving a - L26
specialize four_square_descent_even_multiplier_matching_parity_halving c - L27
specialize four_square_descent_even_multiplier_matching_parity_halving b - L28
specialize four_square_descent_even_multiplier_matching_parity_halving d - L29
apply four_square_descent_even_multiplier_matching_parity_halving
07Calculate and transport equalitiesL30–30
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L30
trans a * a + b * b + c * c + d * d
08Use earlier factsL31–34
09Separate the logical casesL35–35
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L35
cases hpairs_right_right
10Use earlier factsL36–41
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L36
specialize four_square_descent_even_multiplier_matching_parity_halving n - L37
specialize four_square_descent_even_multiplier_matching_parity_halving a - L38
specialize four_square_descent_even_multiplier_matching_parity_halving d - L39
specialize four_square_descent_even_multiplier_matching_parity_halving b - L40
specialize four_square_descent_even_multiplier_matching_parity_halving c - L41
apply four_square_descent_even_multiplier_matching_parity_halving
11Calculate and transport equalitiesL42–42
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L42
trans a * a + b * b + c * c + d * d
Original defined command ledger · 46 lines
- 0001
intro n - 0002
intro a - 0003
intro b - 0004
intro c - 0005
intro d - 0006
intro hnorm - 0007
have hpairs : (Even(a) ∧ Even(b) ∨ Odd(a) ∧ Odd(b)) ∧ (Even(c) ∧ Even(d) ∨ Odd(c) ∧ Odd(d)) ∨ ((Even(a) ∧ Even(c) ∨ Odd(a) ∧ Odd(c)) ∧ (Even(b) ∧ Even(d) ∨ Odd(b) ∧ Odd(d)) ∨ (Even(a) ∧ Even(d) ∨ Odd(a) ∧ Odd(d)) ∧ (Even(b) ∧ Even(c) ∨ Odd(b) ∧ Odd(c)))Exact native replay line
have hpairs : ((((((exists fsd_even_first_fsps_half_pairs_ab. a = 2 * fsd_even_first_fsps_half_pairs_ab) /\ (exists fsd_even_second_fsps_half_pairs_ab. b = 2 * fsd_even_second_fsps_half_pairs_ab)) \/ ((exists fsd_odd_first_fsps_half_pairs_ab. a = 2 * fsd_odd_first_fsps_half_pairs_ab + 1) /\ (exists fsd_odd_second_fsps_half_pairs_ab. b = 2 * fsd_odd_second_fsps_half_pairs_ab + 1)))) /\ ((((exists fsd_even_first_fsps_half_pairs_cd. c = 2 * fsd_even_first_fsps_half_pairs_cd) /\ (exists fsd_even_second_fsps_half_pairs_cd. d = 2 * fsd_even_second_fsps_half_pairs_cd)) \/ ((exists fsd_odd_first_fsps_half_pairs_cd. c = 2 * fsd_odd_first_fsps_half_pairs_cd + 1) /\ (exists fsd_odd_second_fsps_half_pairs_cd. d = 2 * fsd_odd_second_fsps_half_pairs_cd + 1))))) \/ (((((((exists fsd_even_first_fsps_half_pairs_crossed_ac. a = 2 * fsd_even_first_fsps_half_pairs_crossed_ac) /\ (exists fsd_even_second_fsps_half_pairs_crossed_ac. c = 2 * fsd_even_second_fsps_half_pairs_crossed_ac)) \/ ((exists fsd_odd_first_fsps_half_pairs_crossed_ac. a = 2 * fsd_odd_first_fsps_half_pairs_crossed_ac + 1) /\ (exists fsd_odd_second_fsps_half_pairs_crossed_ac. c = 2 * fsd_odd_second_fsps_half_pairs_crossed_ac + 1)))) /\ ((((exists fsd_even_first_fsps_half_pairs_crossed_bd. b = 2 * fsd_even_first_fsps_half_pairs_crossed_bd) /\ (exists fsd_even_second_fsps_half_pairs_crossed_bd. d = 2 * fsd_even_second_fsps_half_pairs_crossed_bd)) \/ ((exists fsd_odd_first_fsps_half_pairs_crossed_bd. b = 2 * fsd_odd_first_fsps_half_pairs_crossed_bd + 1) /\ (exists fsd_odd_second_fsps_half_pairs_crossed_bd. d = 2 * fsd_odd_second_fsps_half_pairs_crossed_bd + 1))))) \/ (((((exists fsd_even_first_fsps_half_pairs_crossed_ad. a = 2 * fsd_even_first_fsps_half_pairs_crossed_ad) /\ (exists fsd_even_second_fsps_half_pairs_crossed_ad. d = 2 * fsd_even_second_fsps_half_pairs_crossed_ad)) \/ ((exists fsd_odd_first_fsps_half_pairs_crossed_ad. a = 2 * fsd_odd_first_fsps_half_pairs_crossed_ad + 1) /\ (exists fsd_odd_second_fsps_half_pairs_crossed_ad. d = 2 * fsd_odd_second_fsps_half_pairs_crossed_ad + 1)))) /\ ((((exists fsd_even_first_fsps_half_pairs_crossed_bc. b = 2 * fsd_even_first_fsps_half_pairs_crossed_bc) /\ (exists fsd_even_second_fsps_half_pairs_crossed_bc. c = 2 * fsd_even_second_fsps_half_pairs_crossed_bc)) \/ ((exists fsd_odd_first_fsps_half_pairs_crossed_bc. b = 2 * fsd_odd_first_fsps_half_pairs_crossed_bc + 1) /\ (exists fsd_odd_second_fsps_half_pairs_crossed_bc. c = 2 * fsd_odd_second_fsps_half_pairs_crossed_bc + 1)))))))) - 0008
specialize four_square_parity_even_norm_pair_selection n - 0009
apply four_square_parity_even_norm_pair_selection - 0010
exact hnorm - 0011
cases hpairs - 0012
cases hpairs_left - 0013
specialize four_square_descent_even_multiplier_matching_parity_halving n - 0014
specialize four_square_descent_even_multiplier_matching_parity_halving a - 0015
specialize four_square_descent_even_multiplier_matching_parity_halving b - 0016
specialize four_square_descent_even_multiplier_matching_parity_halving c - 0017
specialize four_square_descent_even_multiplier_matching_parity_halving d - 0018
apply four_square_descent_even_multiplier_matching_parity_halving - 0019
exact hnorm - 0020
exact hpairs_left_left - 0021
exact hpairs_left_right - 0022
cases hpairs_right - 0023
cases hpairs_right_left - 0024
specialize four_square_descent_even_multiplier_matching_parity_halving n - 0025
specialize four_square_descent_even_multiplier_matching_parity_halving a - 0026
specialize four_square_descent_even_multiplier_matching_parity_halving c - 0027
specialize four_square_descent_even_multiplier_matching_parity_halving b - 0028
specialize four_square_descent_even_multiplier_matching_parity_halving d - 0029
apply four_square_descent_even_multiplier_matching_parity_halving - 0030
trans a * a + b * b + c * c + d * d - 0031
exact hnorm - 0032
apply four_square_parity_swap_middle_coordinates - 0033
exact hpairs_right_left_left - 0034
exact hpairs_right_left_right - 0035
cases hpairs_right_right - 0036
specialize four_square_descent_even_multiplier_matching_parity_halving n - 0037
specialize four_square_descent_even_multiplier_matching_parity_halving a - 0038
specialize four_square_descent_even_multiplier_matching_parity_halving d - 0039
specialize four_square_descent_even_multiplier_matching_parity_halving b - 0040
specialize four_square_descent_even_multiplier_matching_parity_halving c - 0041
apply four_square_descent_even_multiplier_matching_parity_halving - 0042
trans a * a + b * b + c * c + d * d - 0043
exact hnorm - 0044
apply four_square_parity_swap_outer_coordinates - 0045
exact hpairs_right_right_left - 0046
exact hpairs_right_right_right