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.
The exact G025 progression-prime milestone is fully proved in unchanged constructive arithmetic; Mod4Three deliberately reuses its existing Quadratic Reciprocity definition PD0012. The much stronger full Dirichlet progression-prime milestone G030 remains open.
Exact theorem in conservative defined notation
∀ B. ∀ n. (∀ x. Le(x,B) → ¬PrimeThreeModFourDivisor(n,x)) ∨ (∃ x. Le(x,B) ∧ PrimeThreeModFourDivisor(n,x))
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete unchanged native tactic proof
All 66 lines are the exact independently kernel-checked original script.
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 defined 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