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
∀ l. ∀ u. (∃ x. Prime(x) ∧ (Lt(l,x) ∧ Le(x,u))) ∨ (∀ x. Lt(l,x) ∧ Le(x,u) → ¬Prime(x))Every purple notation token opens its conservative definition. Expanding the displayed statement recovers the exact first-order Peano-arithmetic formula checked by the unchanged kernel.
Definitions used by this theorem
In the theorem statement
6 occurrences
In local proof propositions
1 occurrences
Exact expanded native-PA statement
forall l u. (exists bpi_value_search_witness. ((((~(bpi_value_search_witness = 1) /\ forall frm_prime_left_bpi_search_witness_interval_prime frm_prime_right_bpi_search_witness_interval_prime. bpi_value_search_witness = frm_prime_left_bpi_search_witness_interval_prime * frm_prime_right_bpi_search_witness_interval_prime -> frm_prime_left_bpi_search_witness_interval_prime = 1 \/ frm_prime_right_bpi_search_witness_interval_prime = 1)) /\ ((exists frm_gap_bpi_search_witness_interval_lower. frm_gap_bpi_search_witness_interval_lower + S l = bpi_value_search_witness) /\ (exists frm_weak_gap_bpi_search_witness_interval_upper. frm_weak_gap_bpi_search_witness_interval_upper + bpi_value_search_witness = u))))) \/ (forall bpi_value_search_exclusion. ((exists frm_gap_bpi_search_exclusion_lower. frm_gap_bpi_search_exclusion_lower + S l = bpi_value_search_exclusion) /\ (exists frm_weak_gap_bpi_search_exclusion_upper. frm_weak_gap_bpi_search_exclusion_upper + bpi_value_search_exclusion = u)) -> ~((~(bpi_value_search_exclusion = 1) /\ forall frm_prime_left_bpi_search_exclusion_prime frm_prime_right_bpi_search_exclusion_prime. bpi_value_search_exclusion = frm_prime_left_bpi_search_exclusion_prime * frm_prime_right_bpi_search_exclusion_prime -> frm_prime_left_bpi_search_exclusion_prime = 1 \/ frm_prime_right_bpi_search_exclusion_prime = 1)))Proof neighborhood
Direct theorem prerequisites
BT003G prime_nonzero BT000Y le_zero BT00PR prime_strictly_above_decidable BT000E le_refl BT0018 le_succ BT001C le_eq_or_lt BT0017 le_of_succ_le_succDirect theorem dependents
Definition-aware tactic body
Only local propositions introduced by have or suffices are compacted. Every changed line has an exact-AST conservative-expansion receipt; the kernel still receives the immutable original tactic 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 (7)
01Fix variables and assumptionsL1–1
Work with arbitrary variables or the premises of the current implication.
- L1
intro l
02Induction on uL2–2
Split the argument into the base and successor obligations. The induction hypothesis is available only in the successor branch.
- L2
induction u
03Separate the logical casesL3–3
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L3
right
04Fix variables and assumptionsL4–5
05Separate the logical casesL6–6
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L6
cases hbounds
06Fix variables and assumptionsL7–7
Work with arbitrary variables or the premises of the current implication.
- L7
intro hp
07Use earlier factsL8–8
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L8
specialize le_zero p
08Establish hzeroL9–17
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply le zero.
09Separate the logical casesL18–19
10Construct an explicit witnessL20–20
Supply the displayed value, then prove that it has the required property.
- L20
exists S u
11Separate the logical casesL21–22
12Use earlier factsL23–23
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L23
exact prime_strictly_above_decidable_left_left
13Separate the logical casesL24–24
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L24
split
14Use earlier factsL25–27
15Separate the logical casesL28–30
16Construct an explicit witnessL31–31
Supply the displayed value, then prove that it has the required property.
- L31
exists x
17Separate the logical casesL32–34
18Use earlier factsL35–35
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L35
exact IH_left_witness_left
19Separate the logical casesL36–36
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L36
split
20Use earlier factsL37–41
21Separate the logical casesL42–42
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L42
right
22Fix variables and assumptionsL43–44
23Separate the logical casesL45–45
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L45
cases hbounds
24Fix variables and assumptionsL46–46
Work with arbitrary variables or the premises of the current implication.
- L46
intro hp
25Use earlier factsL47–48
26Establish hsplitL49–51
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply le eq or lt.
27Separate the logical casesL52–52
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L52
cases hsplit
28Use earlier factsL53–53
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L53
apply prime_strictly_above_decidable_right
29Separate the logical casesL54–54
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L54
split
30Calculate and transport equalitiesL55–56
31Use earlier factsL57–57
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L57
exact hp
32Calculate and transport equalitiesL58–58
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L58
rewrite hsplit_left at hbounds_left
33Use earlier factsL59–61
34Separate the logical casesL62–62
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L62
split
Original defined command ledger · 68 lines
- 0001
intro l - 0002
induction u - 0003
right - 0004
intro p - 0005
intro hbounds - 0006
cases hbounds - 0007
intro hp - 0008
specialize le_zero p - 0009
have hzero : p = 0 - 0010
apply le_zero - 0011
exact hbounds_right - 0012
specialize prime_nonzero p - 0013
apply prime_nonzero - 0014
exact hp - 0015
exact hzero - 0016
specialize prime_strictly_above_decidable l - 0017
specialize prime_strictly_above_decidable (S u) - 0018
cases prime_strictly_above_decidable - 0019
left - 0020
exists S u - 0021
cases prime_strictly_above_decidable_left - 0022
split - 0023
exact prime_strictly_above_decidable_left_left - 0024
split - 0025
exact prime_strictly_above_decidable_left_right - 0026
specialize le_refl (S u) - 0027
exact le_refl - 0028
cases IH - 0029
left - 0030
cases IH_left - 0031
exists x - 0032
cases IH_left_witness - 0033
cases IH_left_witness_right - 0034
split - 0035
exact IH_left_witness_left - 0036
split - 0037
exact IH_left_witness_right_left - 0038
specialize le_succ x - 0039
specialize le_succ u - 0040
apply le_succ - 0041
exact IH_left_witness_right_right - 0042
right - 0043
intro p - 0044
intro hbounds - 0045
cases hbounds - 0046
intro hp - 0047
specialize le_eq_or_lt p - 0048
specialize le_eq_or_lt (S u) - 0049
have hsplit : p = S u ∨ Lt(p,S u)Exact native replay line
have hsplit : p = S u \/ exists h. h + S p = S u - 0050
apply le_eq_or_lt - 0051
exact hbounds_right - 0052
cases hsplit - 0053
apply prime_strictly_above_decidable_right - 0054
split - 0055
rewrite hsplit_left at hp - 0056
rewrite hsplit_left at hp - 0057
exact hp - 0058
rewrite hsplit_left at hbounds_left - 0059
exact hbounds_left - 0060
specialize IH_right p - 0061
apply IH_right - 0062
split - 0063
exact hbounds_left - 0064
specialize le_of_succ_le_succ p - 0065
specialize le_of_succ_le_succ u - 0066
apply le_of_succ_le_succ - 0067
exact hsplit_right - 0068
exact hp