TF0005

beta_admissible_prime_factor_product_is_two_square

Alpha v34 independently verified · alpha_closed; checked-use authorized; not Stable

Any finite product whose decoded factors are prime two or prime one modulo four is constructively a sum of two squares.

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_admissible_product ff_v_ftsf_admissible_product. ((((exists ff_h_ftsf_admissible_product_start. ff_h_ftsf_admissible_product_start + S (1) = S ((S (0)) * ff_v_ftsf_admissible_product)) /\ exists ff_q_ftsf_admissible_product_start. ff_u_ftsf_admissible_product = ff_q_ftsf_admissible_product_start * S ((S (0)) * ff_v_ftsf_admissible_product) + (1))) /\ ((((exists ff_h_ftsf_admissible_product_terminal. ff_h_ftsf_admissible_product_terminal + S (n) = S ((S (l)) * ff_v_ftsf_admissible_product)) /\ exists ff_q_ftsf_admissible_product_terminal. ff_u_ftsf_admissible_product = ff_q_ftsf_admissible_product_terminal * S ((S (l)) * ff_v_ftsf_admissible_product) + (n))) /\ forall ff_i_ftsf_admissible_product. (exists ff_lt_ftsf_admissible_product_bound. ff_lt_ftsf_admissible_product_bound + S ff_i_ftsf_admissible_product = l) -> exists ff_p_ftsf_admissible_product ff_r_ftsf_admissible_product ff_s_ftsf_admissible_product. ((((exists ff_h_ftsf_admissible_product_factor. ff_h_ftsf_admissible_product_factor + S (ff_p_ftsf_admissible_product) = S ((S (ff_i_ftsf_admissible_product)) * c)) /\ exists ff_q_ftsf_admissible_product_factor. b = ff_q_ftsf_admissible_product_factor * S ((S (ff_i_ftsf_admissible_product)) * c) + (ff_p_ftsf_admissible_product))) /\ ((((exists ff_h_ftsf_admissible_product_partial. ff_h_ftsf_admissible_product_partial + S (ff_r_ftsf_admissible_product) = S ((S (ff_i_ftsf_admissible_product)) * ff_v_ftsf_admissible_product)) /\ exists ff_q_ftsf_admissible_product_partial. ff_u_ftsf_admissible_product = ff_q_ftsf_admissible_product_partial * S ((S (ff_i_ftsf_admissible_product)) * ff_v_ftsf_admissible_product) + (ff_r_ftsf_admissible_product))) /\ ((((exists ff_h_ftsf_admissible_product_successor. ff_h_ftsf_admissible_product_successor + S (ff_s_ftsf_admissible_product) = S ((S (S ff_i_ftsf_admissible_product)) * ff_v_ftsf_admissible_product)) /\ exists ff_q_ftsf_admissible_product_successor. ff_u_ftsf_admissible_product = ff_q_ftsf_admissible_product_successor * S ((S (S ff_i_ftsf_admissible_product)) * ff_v_ftsf_admissible_product) + (ff_s_ftsf_admissible_product))) /\ ff_s_ftsf_admissible_product = ff_r_ftsf_admissible_product * ff_p_ftsf_admissible_product)))))) -> (forall ftsf_index_admissible_source ftsf_factor_admissible_source. (exists ftsf_gap_admissible_source_bound. ftsf_gap_admissible_source_bound + S ftsf_index_admissible_source = (l)) -> (((exists ff_h_ftsf_admissible_source_entry. ff_h_ftsf_admissible_source_entry + S (ftsf_factor_admissible_source) = S ((S (ftsf_index_admissible_source)) * c)) /\ exists ff_q_ftsf_admissible_source_entry. b = ff_q_ftsf_admissible_source_entry * S ((S (ftsf_index_admissible_source)) * c) + (ftsf_factor_admissible_source))) -> (((~(ftsf_factor_admissible_source = 1) /\ forall frm_prime_left_ftsf_admissible_source_prime frm_prime_right_ftsf_admissible_source_prime. ftsf_factor_admissible_source = frm_prime_left_ftsf_admissible_source_prime * frm_prime_right_ftsf_admissible_source_prime -> frm_prime_left_ftsf_admissible_source_prime = 1 \/ frm_prime_right_ftsf_admissible_source_prime = 1)) /\ (ftsf_factor_admissible_source = 2 \/ exists ftsf_residue_admissible_source. ftsf_factor_admissible_source = 4 * ftsf_residue_admissible_source + 1))) -> (exists ftsf_first_admissible_result ftsf_second_admissible_result. (n) = ftsf_first_admissible_result * ftsf_first_admissible_result + ftsf_second_admissible_result * ftsf_second_admissible_result)

Constructive proof overview

Generated structural guide

Any finite product whose decoded factors are prime two or prime one modulo four is constructively a sum of two squares.

The unchanged tactic script uses 2 declared prerequisites and contains 27 exact native proof lines.

Alpha v34 checked-use · first admitted v23 · independently kernel and Lean verified; not Stable

Proof neighborhood

Direct dependencies

TF0003 beta_two_square_represented_factor_product prime_two_or_one_mod_four_is_sum_of_two_squares Alpha theorem; checked-use authorized

Direct 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

27 script commands · 7 reading checkpoints · 1 local claims

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–6

Work with arbitrary variables or the premises of the current implication.

  1. L1
    intro b
  2. L2
    intro c
  3. L3
    intro l
  4. L4
    intro n
  5. L5
    intro hproduct
  6. L6
    intro hadmissible
02Use earlier factsL7–12

Instantiate or apply named facts and discharge the corresponding proof obligations.

  1. L7
    specialize beta_two_square_represented_factor_product b
  2. L8
    specialize beta_two_square_represented_factor_product c
  3. L9
    specialize beta_two_square_represented_factor_product l
  4. L10
    specialize beta_two_square_represented_factor_product n
  5. L11
    apply beta_two_square_represented_factor_product
  6. L12
    exact hproduct
03Fix variables and assumptionsL13–16

Work with arbitrary variables or the premises of the current implication.

  1. L13
    intro i
  2. L14
    intro p
  3. L15
    intro hi
  4. L16
    intro hp
04Use earlier factsL17–18

Instantiate or apply named facts and discharge the corresponding proof obligations.

  1. L17
    specialize hadmissible i
  2. L18
    specialize hadmissible p
05Establish hclassL19–22

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hadmissible.

  1. L19
    have hclass : ((~(p = 1) /\ forall frm_prime_left_ftsf_admissible_local frm_prime_right_ftsf_admissible_local. p = frm_prime_left_ftsf_admissible_local * frm_prime_right_ftsf_admissible_local -> frm_prime_left_ftsf_admissible_local = 1 \/ frm_prime_right_ftsf_admissible_local = 1)) /\ (p = 2 \/ exists t. p = 4 * t + 1)
  2. L20
    apply hadmissible
  3. L21
    exact hi
  4. L22
    exact hp
06Separate the logical casesL23–23

Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.

  1. L23
    cases hclass
07Use earlier factsL24–27

Instantiate or apply named facts and discharge the corresponding proof obligations.

  1. L24
    specialize prime_two_or_one_mod_four_is_sum_of_two_squares p
  2. L25
    apply prime_two_or_one_mod_four_is_sum_of_two_squares
  3. L26
    exact hclass_left
  4. L27
    exact hclass_right

Library-wide reading audit

Original exact command ledger · 27 lines
  1. 0001intro b
  2. 0002intro c
  3. 0003intro l
  4. 0004intro n
  5. 0005intro hproduct
  6. 0006intro hadmissible
  7. 0007specialize beta_two_square_represented_factor_product b
  8. 0008specialize beta_two_square_represented_factor_product c
  9. 0009specialize beta_two_square_represented_factor_product l
  10. 0010specialize beta_two_square_represented_factor_product n
  11. 0011apply beta_two_square_represented_factor_product
  12. 0012exact hproduct
  13. 0013intro i
  14. 0014intro p
  15. 0015intro hi
  16. 0016intro hp
  17. 0017specialize hadmissible i
  18. 0018specialize hadmissible p
  19. 0019have hclass : ((~(p = 1) /\ forall frm_prime_left_ftsf_admissible_local frm_prime_right_ftsf_admissible_local. p = frm_prime_left_ftsf_admissible_local * frm_prime_right_ftsf_admissible_local -> frm_prime_left_ftsf_admissible_local = 1 \/ frm_prime_right_ftsf_admissible_local = 1)) /\ (p = 2 \/ exists t. p = 4 * t + 1)
  20. 0020apply hadmissible
  21. 0021exact hi
  22. 0022exact hp
  23. 0023cases hclass
  24. 0024specialize prime_two_or_one_mod_four_is_sum_of_two_squares p
  25. 0025apply prime_two_or_one_mod_four_is_sum_of_two_squares
  26. 0026exact hclass_left
  27. 0027exact hclass_right