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
∀ b. ∀ c. ∀ l. ∀ n. ∀ q. Product(b,c,S S l,n) → (∀ x. ∀ y. Lt(x,l) → BetaAt(b,c,x,y) → ∃ z. ∃ m. y = z · z + m · m) → BetaAt(b,c,l,q) → BetaAt(b,c,S l,q) → ∃ x. ∃ y. n = x · x + y · yEvery 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 b c l n q. (exists ff_u_ftsf_pair_product ff_v_ftsf_pair_product. ((((exists ff_h_ftsf_pair_product_start. ff_h_ftsf_pair_product_start + S (1) = S ((S (0)) * ff_v_ftsf_pair_product)) /\ exists ff_q_ftsf_pair_product_start. ff_u_ftsf_pair_product = ff_q_ftsf_pair_product_start * S ((S (0)) * ff_v_ftsf_pair_product) + (1))) /\ ((((exists ff_h_ftsf_pair_product_terminal. ff_h_ftsf_pair_product_terminal + S (n) = S ((S (S S l)) * ff_v_ftsf_pair_product)) /\ exists ff_q_ftsf_pair_product_terminal. ff_u_ftsf_pair_product = ff_q_ftsf_pair_product_terminal * S ((S (S S l)) * ff_v_ftsf_pair_product) + (n))) /\ forall ff_i_ftsf_pair_product. (exists ff_lt_ftsf_pair_product_bound. ff_lt_ftsf_pair_product_bound + S ff_i_ftsf_pair_product = S S l) -> exists ff_p_ftsf_pair_product ff_r_ftsf_pair_product ff_s_ftsf_pair_product. ((((exists ff_h_ftsf_pair_product_factor. ff_h_ftsf_pair_product_factor + S (ff_p_ftsf_pair_product) = S ((S (ff_i_ftsf_pair_product)) * c)) /\ exists ff_q_ftsf_pair_product_factor. b = ff_q_ftsf_pair_product_factor * S ((S (ff_i_ftsf_pair_product)) * c) + (ff_p_ftsf_pair_product))) /\ ((((exists ff_h_ftsf_pair_product_partial. ff_h_ftsf_pair_product_partial + S (ff_r_ftsf_pair_product) = S ((S (ff_i_ftsf_pair_product)) * ff_v_ftsf_pair_product)) /\ exists ff_q_ftsf_pair_product_partial. ff_u_ftsf_pair_product = ff_q_ftsf_pair_product_partial * S ((S (ff_i_ftsf_pair_product)) * ff_v_ftsf_pair_product) + (ff_r_ftsf_pair_product))) /\ ((((exists ff_h_ftsf_pair_product_successor. ff_h_ftsf_pair_product_successor + S (ff_s_ftsf_pair_product) = S ((S (S ff_i_ftsf_pair_product)) * ff_v_ftsf_pair_product)) /\ exists ff_q_ftsf_pair_product_successor. ff_u_ftsf_pair_product = ff_q_ftsf_pair_product_successor * S ((S (S ff_i_ftsf_pair_product)) * ff_v_ftsf_pair_product) + (ff_s_ftsf_pair_product))) /\ ff_s_ftsf_pair_product = ff_r_ftsf_pair_product * ff_p_ftsf_pair_product)))))) -> (forall ftsf_index_drop_old ftsf_factor_drop_old. (exists ftsf_gap_drop_old_bound. ftsf_gap_drop_old_bound + S ftsf_index_drop_old = (l)) -> (((exists ff_h_ftsf_drop_old_entry. ff_h_ftsf_drop_old_entry + S (ftsf_factor_drop_old) = S ((S (ftsf_index_drop_old)) * c)) /\ exists ff_q_ftsf_drop_old_entry. b = ff_q_ftsf_drop_old_entry * S ((S (ftsf_index_drop_old)) * c) + (ftsf_factor_drop_old))) -> (exists ftsf_first_drop_old_representation ftsf_second_drop_old_representation. (ftsf_factor_drop_old) = ftsf_first_drop_old_representation * ftsf_first_drop_old_representation + ftsf_second_drop_old_representation * ftsf_second_drop_old_representation)) -> (((exists ff_h_ftsf_pair_first. ff_h_ftsf_pair_first + S (q) = S ((S (l)) * c)) /\ exists ff_q_ftsf_pair_first. b = ff_q_ftsf_pair_first * S ((S (l)) * c) + (q))) -> (((exists ff_h_ftsf_pair_second. ff_h_ftsf_pair_second + S (q) = S ((S (S l)) * c)) /\ exists ff_q_ftsf_pair_second. b = ff_q_ftsf_pair_second * S ((S (S l)) * c) + (q))) -> (exists ftsf_first_pair_result ftsf_second_pair_result. (n) = ftsf_first_pair_result * ftsf_first_pair_result + ftsf_second_pair_result * ftsf_second_pair_result)Proof neighborhood
Direct theorem prerequisites
TS002T beta_product_adjacent_equal_pair_decomposes_as_square TS002R represented_factor_product_times_square_is_two_squareDirect 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 (2)
01Fix variables and assumptionsL1–9
02Use earlier factsL10–14
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L10
specialize beta_product_adjacent_equal_pair_decomposes_as_square b - L11
specialize beta_product_adjacent_equal_pair_decomposes_as_square c - L12
specialize beta_product_adjacent_equal_pair_decomposes_as_square l - L13
specialize beta_product_adjacent_equal_pair_decomposes_as_square n - L14
specialize beta_product_adjacent_equal_pair_decomposes_as_square q
03Establish hdecompositionL15–19
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta product adjacent equal pair decomposes as square.
- L15
have hdecomposition : ∃ r. Product(b,c,l,r) ∧ n = r · (q · q)Definitions: Product(b,c,l,r)Original native command in the exact edition - L16
apply beta_product_adjacent_equal_pair_decomposes_as_square - L17
exact hproduct - L18
exact hfirst - L19
exact hsecond
04Separate the logical casesL20–21
05Use earlier factsL22–31
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L22
specialize represented_factor_product_times_square_is_two_square b - L23
specialize represented_factor_product_times_square_is_two_square c - L24
specialize represented_factor_product_times_square_is_two_square l - L25
specialize represented_factor_product_times_square_is_two_square x - L26
specialize represented_factor_product_times_square_is_two_square q - L27
specialize represented_factor_product_times_square_is_two_square n - L28
apply represented_factor_product_times_square_is_two_square - L29
exact hdecomposition_witness_left - L30
exact hprefix - L31
exact hdecomposition_witness_right
Original defined command ledger · 31 lines
- 0001
intro b - 0002
intro c - 0003
intro l - 0004
intro n - 0005
intro q - 0006
intro hproduct - 0007
intro hprefix - 0008
intro hfirst - 0009
intro hsecond - 0010
specialize beta_product_adjacent_equal_pair_decomposes_as_square b - 0011
specialize beta_product_adjacent_equal_pair_decomposes_as_square c - 0012
specialize beta_product_adjacent_equal_pair_decomposes_as_square l - 0013
specialize beta_product_adjacent_equal_pair_decomposes_as_square n - 0014
specialize beta_product_adjacent_equal_pair_decomposes_as_square q - 0015
have hdecomposition : ∃ r. Product(b,c,l,r) ∧ n = r · (q · q)Exact native replay line
have hdecomposition : exists r. ((exists ff_u_ftsf_pair_local ff_v_ftsf_pair_local. ((((exists ff_h_ftsf_pair_local_start. ff_h_ftsf_pair_local_start + S (1) = S ((S (0)) * ff_v_ftsf_pair_local)) /\ exists ff_q_ftsf_pair_local_start. ff_u_ftsf_pair_local = ff_q_ftsf_pair_local_start * S ((S (0)) * ff_v_ftsf_pair_local) + (1))) /\ ((((exists ff_h_ftsf_pair_local_terminal. ff_h_ftsf_pair_local_terminal + S (r) = S ((S (l)) * ff_v_ftsf_pair_local)) /\ exists ff_q_ftsf_pair_local_terminal. ff_u_ftsf_pair_local = ff_q_ftsf_pair_local_terminal * S ((S (l)) * ff_v_ftsf_pair_local) + (r))) /\ forall ff_i_ftsf_pair_local. (exists ff_lt_ftsf_pair_local_bound. ff_lt_ftsf_pair_local_bound + S ff_i_ftsf_pair_local = l) -> exists ff_p_ftsf_pair_local ff_r_ftsf_pair_local ff_s_ftsf_pair_local. ((((exists ff_h_ftsf_pair_local_factor. ff_h_ftsf_pair_local_factor + S (ff_p_ftsf_pair_local) = S ((S (ff_i_ftsf_pair_local)) * c)) /\ exists ff_q_ftsf_pair_local_factor. b = ff_q_ftsf_pair_local_factor * S ((S (ff_i_ftsf_pair_local)) * c) + (ff_p_ftsf_pair_local))) /\ ((((exists ff_h_ftsf_pair_local_partial. ff_h_ftsf_pair_local_partial + S (ff_r_ftsf_pair_local) = S ((S (ff_i_ftsf_pair_local)) * ff_v_ftsf_pair_local)) /\ exists ff_q_ftsf_pair_local_partial. ff_u_ftsf_pair_local = ff_q_ftsf_pair_local_partial * S ((S (ff_i_ftsf_pair_local)) * ff_v_ftsf_pair_local) + (ff_r_ftsf_pair_local))) /\ ((((exists ff_h_ftsf_pair_local_successor. ff_h_ftsf_pair_local_successor + S (ff_s_ftsf_pair_local) = S ((S (S ff_i_ftsf_pair_local)) * ff_v_ftsf_pair_local)) /\ exists ff_q_ftsf_pair_local_successor. ff_u_ftsf_pair_local = ff_q_ftsf_pair_local_successor * S ((S (S ff_i_ftsf_pair_local)) * ff_v_ftsf_pair_local) + (ff_s_ftsf_pair_local))) /\ ff_s_ftsf_pair_local = ff_r_ftsf_pair_local * ff_p_ftsf_pair_local)))))) /\ n = r * (q * q)) - 0016
apply beta_product_adjacent_equal_pair_decomposes_as_square - 0017
exact hproduct - 0018
exact hfirst - 0019
exact hsecond - 0020
cases hdecomposition - 0021
cases hdecomposition_witness - 0022
specialize represented_factor_product_times_square_is_two_square b - 0023
specialize represented_factor_product_times_square_is_two_square c - 0024
specialize represented_factor_product_times_square_is_two_square l - 0025
specialize represented_factor_product_times_square_is_two_square x - 0026
specialize represented_factor_product_times_square_is_two_square q - 0027
specialize represented_factor_product_times_square_is_two_square n - 0028
apply represented_factor_product_times_square_is_two_square - 0029
exact hdecomposition_witness_left - 0030
exact hprefix - 0031
exact hdecomposition_witness_right