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 n. ((forall p. (exists ptmf_gap_search. ptmf_gap_search + p = B) -> ~((((~(p = 1) /\ forall frm_prime_left_ptmf_source_prime frm_prime_right_ptmf_source_prime. p = frm_prime_left_ptmf_source_prime * frm_prime_right_ptmf_source_prime -> frm_prime_left_ptmf_source_prime = 1 \/ frm_prime_right_ptmf_source_prime = 1)) /\ ((exists ff_residue_ptmf_source_residue. (p) = 4 * ff_residue_ptmf_source_residue + 3) /\ (exists ff_quotient_ptmf_source_divides. (n) = (p) * ff_quotient_ptmf_source_divides))))) \/ (exists p. ((exists ptmf_gap_search. ptmf_gap_search + p = B) /\ ((((~(p = 1) /\ forall frm_prime_left_ptmf_source_prime frm_prime_right_ptmf_source_prime. p = frm_prime_left_ptmf_source_prime * frm_prime_right_ptmf_source_prime -> frm_prime_left_ptmf_source_prime = 1 \/ frm_prime_right_ptmf_source_prime = 1)) /\ ((exists ff_residue_ptmf_source_residue. (p) = 4 * ff_residue_ptmf_source_residue + 3) /\ (exists ff_quotient_ptmf_source_divides. (n) = (p) * ff_quotient_ptmf_source_divides)))))))Constructive proof overview
Generated structural guide
Finite induction either excludes every three-mod-four prime divisor up to the supplied bound or returns an actual bounded prime-divisor witness.
The unchanged tactic script uses 7 declared prerequisites and contains 66 exact native proof lines.
Alpha v34 checked-use · first admitted v23 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
le_zero Stable theorem; checked-use authorized prime_nonzero Stable theorem; checked-use authorized TF000B three_mod_four_prime_divisor_decidable le_refl Stable theorem; checked-use authorized le_eq_or_lt Stable theorem; checked-use authorized le_of_succ_le_succ Stable theorem; checked-use authorized le_succ Stable theorem; checked-use authorizedDirect 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
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)
01Induction on BL1–2
02Separate the logical casesL3–3
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L3
left
03Fix variables and assumptionsL4–6
04Separate the logical casesL7–7
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L7
cases hbad
05Establish hpzeroL8–17
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply le zero.
06Use earlier factsL18–18
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L18
specialize three_mod_four_prime_divisor_decidable n
07Separate the logical casesL19–20
08Construct an explicit witnessL21–21
Supply the displayed value, then prove that it has the required property.
- L21
exists S B
09Separate the logical casesL22–22
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L22
split
10Use earlier factsL23–26
11Separate the logical casesL27–28
12Fix variables and assumptionsL29–31
13Establish hsplitL32–36
14Separate the logical casesL37–39
15Calculate and transport equalitiesL40–43
16Use earlier factsL44–44
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L44
apply three_mod_four_prime_divisor_decidable_right
17Separate the logical casesL45–45
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L45
split
18Use earlier factsL46–46
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L46
exact hbad_left
19Separate the logical casesL47–47
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L47
split
20Use earlier factsL48–56
Instantiate or apply named facts and discharge the corresponding proof obligations.
21Separate the logical casesL57–59
22Construct an explicit witnessL60–60
Supply the displayed value, then prove that it has the required property.
- L60
exists x
23Separate the logical casesL61–61
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L61
split
Original exact command ledger · 66 lines
- 0001
induction B - 0002
intro n - 0003
left - 0004
intro p - 0005
intro hbound - 0006
intro hbad - 0007
cases hbad - 0008
have hpzero : p = 0 - 0009
specialize le_zero p - 0010
apply le_zero - 0011
exact hbound - 0012
specialize prime_nonzero p - 0013
apply prime_nonzero - 0014
exact hbad_left - 0015
exact hpzero - 0016
intro n - 0017
specialize three_mod_four_prime_divisor_decidable (S B) - 0018
specialize three_mod_four_prime_divisor_decidable n - 0019
cases three_mod_four_prime_divisor_decidable - 0020
right - 0021
exists S B - 0022
split - 0023
specialize le_refl (S B) - 0024
exact le_refl - 0025
exact three_mod_four_prime_divisor_decidable_left - 0026
specialize IH n - 0027
cases IH - 0028
left - 0029
intro p - 0030
intro hbound - 0031
intro hbad - 0032
have hsplit : p = S B \/ exists h. h + S p = S B - 0033
specialize le_eq_or_lt p - 0034
specialize le_eq_or_lt (S B) - 0035
apply le_eq_or_lt - 0036
exact hbound - 0037
cases hsplit - 0038
cases hbad - 0039
cases hbad_right - 0040
rewrite hsplit_left at hbad_left - 0041
rewrite hsplit_left at hbad_left - 0042
rewrite hsplit_left at hbad_right_left - 0043
rewrite hsplit_left at hbad_right_right - 0044
apply three_mod_four_prime_divisor_decidable_right - 0045
split - 0046
exact hbad_left - 0047
split - 0048
exact hbad_right_left - 0049
exact hbad_right_right - 0050
specialize IH_left p - 0051
apply IH_left - 0052
specialize le_of_succ_le_succ p - 0053
specialize le_of_succ_le_succ B - 0054
apply le_of_succ_le_succ - 0055
exact hsplit_right - 0056
exact hbad - 0057
right - 0058
cases IH_right - 0059
cases IH_right_witness - 0060
exists x - 0061
split - 0062
specialize le_succ x - 0063
specialize le_succ B - 0064
apply le_succ - 0065
exact IH_right_witness_left - 0066
exact IH_right_witness_right