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 b c l n. (exists ff_u_ftsf_grouped_product ff_v_ftsf_grouped_product. ((((exists ff_h_ftsf_grouped_product_start. ff_h_ftsf_grouped_product_start + S (1) = S ((S (0)) * ff_v_ftsf_grouped_product)) /\ exists ff_q_ftsf_grouped_product_start. ff_u_ftsf_grouped_product = ff_q_ftsf_grouped_product_start * S ((S (0)) * ff_v_ftsf_grouped_product) + (1))) /\ ((((exists ff_h_ftsf_grouped_product_terminal. ff_h_ftsf_grouped_product_terminal + S (n) = S ((S (l)) * ff_v_ftsf_grouped_product)) /\ exists ff_q_ftsf_grouped_product_terminal. ff_u_ftsf_grouped_product = ff_q_ftsf_grouped_product_terminal * S ((S (l)) * ff_v_ftsf_grouped_product) + (n))) /\ forall ff_i_ftsf_grouped_product. (exists ff_lt_ftsf_grouped_product_bound. ff_lt_ftsf_grouped_product_bound + S ff_i_ftsf_grouped_product = l) -> exists ff_p_ftsf_grouped_product ff_r_ftsf_grouped_product ff_s_ftsf_grouped_product. ((((exists ff_h_ftsf_grouped_product_factor. ff_h_ftsf_grouped_product_factor + S (ff_p_ftsf_grouped_product) = S ((S (ff_i_ftsf_grouped_product)) * c)) /\ exists ff_q_ftsf_grouped_product_factor. b = ff_q_ftsf_grouped_product_factor * S ((S (ff_i_ftsf_grouped_product)) * c) + (ff_p_ftsf_grouped_product))) /\ ((((exists ff_h_ftsf_grouped_product_partial. ff_h_ftsf_grouped_product_partial + S (ff_r_ftsf_grouped_product) = S ((S (ff_i_ftsf_grouped_product)) * ff_v_ftsf_grouped_product)) /\ exists ff_q_ftsf_grouped_product_partial. ff_u_ftsf_grouped_product = ff_q_ftsf_grouped_product_partial * S ((S (ff_i_ftsf_grouped_product)) * ff_v_ftsf_grouped_product) + (ff_r_ftsf_grouped_product))) /\ ((((exists ff_h_ftsf_grouped_product_successor. ff_h_ftsf_grouped_product_successor + S (ff_s_ftsf_grouped_product) = S ((S (S ff_i_ftsf_grouped_product)) * ff_v_ftsf_grouped_product)) /\ exists ff_q_ftsf_grouped_product_successor. ff_u_ftsf_grouped_product = ff_q_ftsf_grouped_product_successor * S ((S (S ff_i_ftsf_grouped_product)) * ff_v_ftsf_grouped_product) + (ff_s_ftsf_grouped_product))) /\ ff_s_ftsf_grouped_product = ff_r_ftsf_grouped_product * ff_p_ftsf_grouped_product)))))) -> (forall ftsf_index_grouped_source ftsf_factor_grouped_source. (exists ftsf_gap_grouped_source_bound. ftsf_gap_grouped_source_bound + S ftsf_index_grouped_source = (l)) -> (((exists ff_h_ftsf_grouped_source_entry. ff_h_ftsf_grouped_source_entry + S (ftsf_factor_grouped_source) = S ((S (ftsf_index_grouped_source)) * c)) /\ exists ff_q_ftsf_grouped_source_entry. b = ff_q_ftsf_grouped_source_entry * S ((S (ftsf_index_grouped_source)) * c) + (ftsf_factor_grouped_source))) -> ((((~(ftsf_factor_grouped_source = 1) /\ forall frm_prime_left_ftsf_grouped_source_good_prime frm_prime_right_ftsf_grouped_source_good_prime. ftsf_factor_grouped_source = frm_prime_left_ftsf_grouped_source_good_prime * frm_prime_right_ftsf_grouped_source_good_prime -> frm_prime_left_ftsf_grouped_source_good_prime = 1 \/ frm_prime_right_ftsf_grouped_source_good_prime = 1)) /\ (ftsf_factor_grouped_source = 2 \/ exists ftsf_good_residue_grouped_source. ftsf_factor_grouped_source = 4 * ftsf_good_residue_grouped_source + 1)) \/ exists ftsf_bad_prime_grouped_source ftsf_bad_residue_grouped_source. (((~(ftsf_bad_prime_grouped_source = 1) /\ forall frm_prime_left_ftsf_grouped_source_bad_prime frm_prime_right_ftsf_grouped_source_bad_prime. ftsf_bad_prime_grouped_source = frm_prime_left_ftsf_grouped_source_bad_prime * frm_prime_right_ftsf_grouped_source_bad_prime -> frm_prime_left_ftsf_grouped_source_bad_prime = 1 \/ frm_prime_right_ftsf_grouped_source_bad_prime = 1)) /\ (ftsf_bad_prime_grouped_source = 4 * ftsf_bad_residue_grouped_source + 3 /\ ftsf_factor_grouped_source = ftsf_bad_prime_grouped_source * ftsf_bad_prime_grouped_source)))) -> (exists ftsf_first_grouped_result ftsf_second_grouped_result. (n) = ftsf_first_grouped_result * ftsf_first_grouped_result + ftsf_second_grouped_result * ftsf_second_grouped_result)Constructive proof overview
Generated structural guide
A beta-coded grouped product folds represented prime singletons together with explicit square blocks pairing primes congruent to three modulo four.
The unchanged tactic script uses 3 declared prerequisites and contains 35 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
TS002M beta_two_square_represented_factor_product TS002O prime_two_or_one_mod_four_is_sum_of_two_squares TS001Z every_natural_square_is_sum_of_two_squaresDirect dependents
Formal native tactic body
Dependencies are introduced as named hypotheses before line 1. Local theorem links identify exact declared prerequisites. This dependency-curried candidate body does not grant checked theorem use or 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 (3)
01Fix variables and assumptionsL1–6
02Use earlier factsL7–12
Instantiate or apply named facts and discharge the corresponding proof obligations.
03Fix variables and assumptionsL13–16
04Use earlier factsL17–18
05Establish hblockL19–22
06Separate the logical casesL23–24
07Use earlier factsL25–28
08Separate the logical casesL29–32
09Calculate and transport equalitiesL33–33
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L33
rewrite hblock_right_witness_witness_right_right
Original exact command ledger · 35 lines
- 0001
intro b - 0002
intro c - 0003
intro l - 0004
intro n - 0005
intro hproduct - 0006
intro hgrouped - 0007
specialize beta_two_square_represented_factor_product b - 0008
specialize beta_two_square_represented_factor_product c - 0009
specialize beta_two_square_represented_factor_product l - 0010
specialize beta_two_square_represented_factor_product n - 0011
apply beta_two_square_represented_factor_product - 0012
exact hproduct - 0013
intro i - 0014
intro p - 0015
intro hi - 0016
intro hp - 0017
specialize hgrouped i - 0018
specialize hgrouped p - 0019
have hblock : ((((~(p = 1) /\ forall frm_prime_left_ftsf_grouped_local_good frm_prime_right_ftsf_grouped_local_good. p = frm_prime_left_ftsf_grouped_local_good * frm_prime_right_ftsf_grouped_local_good -> frm_prime_left_ftsf_grouped_local_good = 1 \/ frm_prime_right_ftsf_grouped_local_good = 1)) /\ (p = 2 \/ exists t. p = 4 * t + 1)) \/ exists q t. (((~(q = 1) /\ forall frm_prime_left_ftsf_grouped_local_bad frm_prime_right_ftsf_grouped_local_bad. q = frm_prime_left_ftsf_grouped_local_bad * frm_prime_right_ftsf_grouped_local_bad -> frm_prime_left_ftsf_grouped_local_bad = 1 \/ frm_prime_right_ftsf_grouped_local_bad = 1)) /\ (q = 4 * t + 3 /\ p = q * q))) - 0020
apply hgrouped - 0021
exact hi - 0022
exact hp - 0023
cases hblock - 0024
cases hblock_left - 0025
specialize prime_two_or_one_mod_four_is_sum_of_two_squares p - 0026
apply prime_two_or_one_mod_four_is_sum_of_two_squares - 0027
exact hblock_left_left - 0028
exact hblock_left_right - 0029
cases hblock_right - 0030
cases hblock_right_witness - 0031
cases hblock_right_witness_witness - 0032
cases hblock_right_witness_witness_right - 0033
rewrite hblock_right_witness_witness_right_right - 0034
specialize every_natural_square_is_sum_of_two_squares x - 0035
exact every_natural_square_is_sum_of_two_squares