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 a p. ((~(a = 1) /\ forall bpr_left_pc_pen_bertrand_source bpr_right_pc_pen_bertrand_source. a = bpr_left_pc_pen_bertrand_source * bpr_right_pc_pen_bertrand_source -> bpr_left_pc_pen_bertrand_source = 1 \/ bpr_right_pc_pen_bertrand_source = 1)) -> (((~(p = 1) /\ forall bpr_left_pc_pen_bertrand_next_prime bpr_right_pc_pen_bertrand_next_prime. p = bpr_left_pc_pen_bertrand_next_prime * bpr_right_pc_pen_bertrand_next_prime -> bpr_left_pc_pen_bertrand_next_prime = 1 \/ bpr_right_pc_pen_bertrand_next_prime = 1)) /\ ((exists pc_lt_pen_bertrand_next_greater. pc_lt_pen_bertrand_next_greater + S (a) = (p)) /\ forall pen_comparison_bertrand_next. ((~(pen_comparison_bertrand_next = 1) /\ forall bpr_left_pc_pen_bertrand_next_comparison bpr_right_pc_pen_bertrand_next_comparison. pen_comparison_bertrand_next = bpr_left_pc_pen_bertrand_next_comparison * bpr_right_pc_pen_bertrand_next_comparison -> bpr_left_pc_pen_bertrand_next_comparison = 1 \/ bpr_right_pc_pen_bertrand_next_comparison = 1)) -> (exists pc_lt_pen_bertrand_next_above. pc_lt_pen_bertrand_next_above + S (a) = (pen_comparison_bertrand_next)) -> (exists pc_le_pen_bertrand_next_minimal. pc_le_pen_bertrand_next_minimal + (p) = (pen_comparison_bertrand_next)))) -> (exists pc_lt_pen_bertrand_bound. pc_lt_pen_bertrand_bound + S (p) = (a + a))Constructive proof overview
Generated structural guide
Bertrand's theorem bounds the actual consecutive prime, rather than only producing a sparse prime subsequence.
The unchanged tactic script uses 3 declared prerequisites and contains 24 exact native proof lines.
Alpha v34 checked-use · first admitted v28 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
prime_two_le Alpha theorem; checked-use authorized bertrand_strict Alpha theorem; checked-use authorized lt_of_le_of_lt 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.
01Fix variables and assumptionsL1–4
02Separate the logical casesL5–6
03Establish hwL7–12
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply bertrand strict.
- L7
have hw : exists q. ((~(q = 1) /\ forall bpr_left_pc_pen_bertrand_witness bpr_right_pc_pen_bertrand_witness. q = bpr_left_pc_pen_bertrand_witness * bpr_right_pc_pen_bertrand_witness -> bpr_left_pc_pen_bertrand_witness = 1 \/ bpr_right_pc_pen_bertrand_witness = 1)) /\ ((exists pc_lt_pen_bertrand_lower. pc_lt_pen_bertrand_lower + S (a) = (q)) /\ (exists pc_lt_pen_bertrand_upper. pc_lt_pen_bertrand_upper + S (q) = (a + a))) - L8
specialize bertrand_strict a - L9
apply bertrand_strict - L10
specialize prime_two_le a - L11
apply prime_two_le - L12
exact ha
04Separate the logical casesL13–15
05Use earlier factsL16–24
Instantiate or apply named facts and discharge the corresponding proof obligations.
Original exact command ledger · 24 lines
- 0001
intro a - 0002
intro p - 0003
intro ha - 0004
intro hp - 0005
cases hp - 0006
cases hp_right - 0007
have hw : exists q. ((~(q = 1) /\ forall bpr_left_pc_pen_bertrand_witness bpr_right_pc_pen_bertrand_witness. q = bpr_left_pc_pen_bertrand_witness * bpr_right_pc_pen_bertrand_witness -> bpr_left_pc_pen_bertrand_witness = 1 \/ bpr_right_pc_pen_bertrand_witness = 1)) /\ ((exists pc_lt_pen_bertrand_lower. pc_lt_pen_bertrand_lower + S (a) = (q)) /\ (exists pc_lt_pen_bertrand_upper. pc_lt_pen_bertrand_upper + S (q) = (a + a))) - 0008
specialize bertrand_strict a - 0009
apply bertrand_strict - 0010
specialize prime_two_le a - 0011
apply prime_two_le - 0012
exact ha - 0013
cases hw - 0014
cases hw_witness - 0015
cases hw_witness_right - 0016
specialize lt_of_le_of_lt p - 0017
specialize lt_of_le_of_lt x - 0018
specialize lt_of_le_of_lt (a + a) - 0019
apply lt_of_le_of_lt - 0020
specialize hp_right_right x - 0021
apply hp_right_right - 0022
exact hw_witness_left - 0023
exact hw_witness_right_left - 0024
exact hw_witness_right_right