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
∀ p. ∀ h. ∀ b. ∀ c. p = 2 · h + 1 → Prime(p) → (∀ x. Lt(x,S h) → ∃ y. ∃ z. x · x = p · y + z ∧ (Lt(z,p) ∧ BetaAt(b,c,x,z))) → InjectivePrefix(b,c,S h)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 p h b c. p = 2 * h + 1 -> ((~(p = 1) /\ forall frm_prime_left_fsri_prime frm_prime_right_fsri_prime. p = frm_prime_left_fsri_prime * frm_prime_right_fsri_prime -> frm_prime_left_fsri_prime = 1 \/ frm_prime_right_fsri_prime = 1)) -> (forall fsri_index_prefix_injective_source. (exists fsri_gap_prefix_injective_source_index. fsri_gap_prefix_injective_source_index + S (fsri_index_prefix_injective_source) = (S h)) -> exists fsri_quotient_prefix_injective_source fsri_residue_prefix_injective_source. (fsri_index_prefix_injective_source * fsri_index_prefix_injective_source = (p) * fsri_quotient_prefix_injective_source + fsri_residue_prefix_injective_source /\ ((exists fsri_gap_prefix_injective_source_residue. fsri_gap_prefix_injective_source_residue + S (fsri_residue_prefix_injective_source) = (p)) /\ (((exists fsri_height_prefix_injective_source_entry. fsri_height_prefix_injective_source_entry + S (fsri_residue_prefix_injective_source) = S ((S (fsri_index_prefix_injective_source)) * (c))) /\ exists fsri_quotient_prefix_injective_source_entry. (b) = fsri_quotient_prefix_injective_source_entry * S ((S (fsri_index_prefix_injective_source)) * (c)) + (fsri_residue_prefix_injective_source)))))) -> (forall fp_i_fsri_prefix_injective_result fp_j_fsri_prefix_injective_result fp_value_fsri_prefix_injective_result. (exists fp_gap_fsri_prefix_injective_result_i. fp_gap_fsri_prefix_injective_result_i + S fp_i_fsri_prefix_injective_result = S h) -> (exists fp_gap_fsri_prefix_injective_result_j. fp_gap_fsri_prefix_injective_result_j + S fp_j_fsri_prefix_injective_result = S h) -> (((exists ff_h_fsri_prefix_injective_result_left. ff_h_fsri_prefix_injective_result_left + S (fp_value_fsri_prefix_injective_result) = S ((S (fp_i_fsri_prefix_injective_result)) * c)) /\ exists ff_q_fsri_prefix_injective_result_left. b = ff_q_fsri_prefix_injective_result_left * S ((S (fp_i_fsri_prefix_injective_result)) * c) + (fp_value_fsri_prefix_injective_result))) -> (((exists ff_h_fsri_prefix_injective_result_right. ff_h_fsri_prefix_injective_result_right + S (fp_value_fsri_prefix_injective_result) = S ((S (fp_j_fsri_prefix_injective_result)) * c)) /\ exists ff_q_fsri_prefix_injective_result_right. b = ff_q_fsri_prefix_injective_result_right * S ((S (fp_j_fsri_prefix_injective_result)) * c) + (fp_value_fsri_prefix_injective_result))) -> fp_i_fsri_prefix_injective_result = fp_j_fsri_prefix_injective_result)Proof neighborhood
Direct theorem prerequisites
FS004D four_square_equal_square_remainders_are_congruent FS004A four_square_prime_half_square_residues_injectiveDirect 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–10
02Fix variables and assumptionsL11–14
03Establish hfirstL15–18
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hprefix.
- L15
have hfirst : ∃ q. ∃ r. i · i = p · q + r ∧ (Lt(r,p) ∧ BetaAt(b,c,i,r))Definitions: Lt(r,p)BetaAt(b,c,i,r)Original native command in the exact edition - L16
specialize hprefix i - L17
apply hprefix - L18
exact hi
04Separate the logical casesL19–22
05Establish hsecondL23–26
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hprefix.
- L23
have hsecond : ∃ q. ∃ r. j · j = p · q + r ∧ (Lt(r,p) ∧ BetaAt(b,c,j,r))Definitions: Lt(r,p)BetaAt(b,c,j,r)Original native command in the exact edition - L24
specialize hprefix j - L25
apply hprefix - L26
exact hj
06Separate the logical casesL27–30
07Establish hfirst_valueL31–39
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at unique.
08Establish hsecond_valueL40–48
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at unique.
09Establish hsameL49–54
10Establish hmodL55–64
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply four square equal square remainders are congruent.
- L55
have hmod : ModEq(p,i · i,j · j)Definitions: ModEq(p,i · i,j · j)Original native command in the exact edition - L56
specialize four_square_equal_square_remainders_are_congruent p - L57
specialize four_square_equal_square_remainders_are_congruent i - L58
specialize four_square_equal_square_remainders_are_congruent j - L59
specialize four_square_equal_square_remainders_are_congruent x - L60
specialize four_square_equal_square_remainders_are_congruent x2 - L61
specialize four_square_equal_square_remainders_are_congruent x1 - L62
apply four_square_equal_square_remainders_are_congruent - L63
exact hfirst_witness_witness_left - L64
exact hsecond_witness_witness_left
11Use earlier factsL65–74
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L65
specialize four_square_prime_half_square_residues_injective p - L66
specialize four_square_prime_half_square_residues_injective h - L67
specialize four_square_prime_half_square_residues_injective i - L68
specialize four_square_prime_half_square_residues_injective j - L69
apply four_square_prime_half_square_residues_injective - L70
exact hodd - L71
exact hprime - L72
specialize le_of_succ_le_succ i - L73
specialize le_of_succ_le_succ h - L74
apply le_of_succ_le_succ
Original defined command ledger · 80 lines
- 0001
intro p - 0002
intro h - 0003
intro b - 0004
intro c - 0005
intro hodd - 0006
intro hprime - 0007
intro hprefix - 0008
intro i - 0009
intro j - 0010
intro v - 0011
intro hi - 0012
intro hj - 0013
intro hleft - 0014
intro hright - 0015
have hfirst : ∃ q. ∃ r. i · i = p · q + r ∧ (Lt(r,p) ∧ BetaAt(b,c,i,r))Exact native replay line
have hfirst : exists q r. (i * i = p * q + r /\ ((exists fsri_gap_prefix_first_bound. fsri_gap_prefix_first_bound + S (r) = (p)) /\ (((exists fsri_height_prefix_first_entry. fsri_height_prefix_first_entry + S (r) = S ((S (i)) * (c))) /\ exists fsri_quotient_prefix_first_entry. (b) = fsri_quotient_prefix_first_entry * S ((S (i)) * (c)) + (r))))) - 0016
specialize hprefix i - 0017
apply hprefix - 0018
exact hi - 0019
cases hfirst - 0020
cases hfirst_witness - 0021
cases hfirst_witness_witness - 0022
cases hfirst_witness_witness_right - 0023
have hsecond : ∃ q. ∃ r. j · j = p · q + r ∧ (Lt(r,p) ∧ BetaAt(b,c,j,r))Exact native replay line
have hsecond : exists q r. (j * j = p * q + r /\ ((exists fsri_gap_prefix_second_bound. fsri_gap_prefix_second_bound + S (r) = (p)) /\ (((exists fsri_height_prefix_second_entry. fsri_height_prefix_second_entry + S (r) = S ((S (j)) * (c))) /\ exists fsri_quotient_prefix_second_entry. (b) = fsri_quotient_prefix_second_entry * S ((S (j)) * (c)) + (r))))) - 0024
specialize hprefix j - 0025
apply hprefix - 0026
exact hj - 0027
cases hsecond - 0028
cases hsecond_witness - 0029
cases hsecond_witness_witness - 0030
cases hsecond_witness_witness_right - 0031
have hfirst_value : x1 = v - 0032
specialize beta_at_unique b - 0033
specialize beta_at_unique c - 0034
specialize beta_at_unique i - 0035
specialize beta_at_unique x1 - 0036
specialize beta_at_unique v - 0037
apply beta_at_unique - 0038
exact hfirst_witness_witness_right_right - 0039
exact hleft - 0040
have hsecond_value : x3 = v - 0041
specialize beta_at_unique b - 0042
specialize beta_at_unique c - 0043
specialize beta_at_unique j - 0044
specialize beta_at_unique x3 - 0045
specialize beta_at_unique v - 0046
apply beta_at_unique - 0047
exact hsecond_witness_witness_right_right - 0048
exact hright - 0049
have hsame : x3 = x1 - 0050
trans v - 0051
exact hsecond_value - 0052
symm - 0053
exact hfirst_value - 0054
rewrite hsame at hsecond_witness_witness_left - 0055
have hmod : ModEq(p,i · i,j · j)Exact native replay line
have hmod : exists fsri_left_prefix_equal_mod fsri_right_prefix_equal_mod. (i * i) + (p) * fsri_left_prefix_equal_mod = (j * j) + (p) * fsri_right_prefix_equal_mod - 0056
specialize four_square_equal_square_remainders_are_congruent p - 0057
specialize four_square_equal_square_remainders_are_congruent i - 0058
specialize four_square_equal_square_remainders_are_congruent j - 0059
specialize four_square_equal_square_remainders_are_congruent x - 0060
specialize four_square_equal_square_remainders_are_congruent x2 - 0061
specialize four_square_equal_square_remainders_are_congruent x1 - 0062
apply four_square_equal_square_remainders_are_congruent - 0063
exact hfirst_witness_witness_left - 0064
exact hsecond_witness_witness_left - 0065
specialize four_square_prime_half_square_residues_injective p - 0066
specialize four_square_prime_half_square_residues_injective h - 0067
specialize four_square_prime_half_square_residues_injective i - 0068
specialize four_square_prime_half_square_residues_injective j - 0069
apply four_square_prime_half_square_residues_injective - 0070
exact hodd - 0071
exact hprime - 0072
specialize le_of_succ_le_succ i - 0073
specialize le_of_succ_le_succ h - 0074
apply le_of_succ_le_succ - 0075
exact hi - 0076
specialize le_of_succ_le_succ j - 0077
specialize le_of_succ_le_succ h - 0078
apply le_of_succ_le_succ - 0079
exact hj - 0080
exact hmod