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. exists p. ((~(p = 1) /\ forall bpr_left_pc_pen_next_exists_prime bpr_right_pc_pen_next_exists_prime. p = bpr_left_pc_pen_next_exists_prime * bpr_right_pc_pen_next_exists_prime -> bpr_left_pc_pen_next_exists_prime = 1 \/ bpr_right_pc_pen_next_exists_prime = 1)) /\ ((exists pc_lt_pen_next_exists_greater. pc_lt_pen_next_exists_greater + S (a) = (p)) /\ forall pen_comparison_next_exists. ((~(pen_comparison_next_exists = 1) /\ forall bpr_left_pc_pen_next_exists_comparison bpr_right_pc_pen_next_exists_comparison. pen_comparison_next_exists = bpr_left_pc_pen_next_exists_comparison * bpr_right_pc_pen_next_exists_comparison -> bpr_left_pc_pen_next_exists_comparison = 1 \/ bpr_right_pc_pen_next_exists_comparison = 1)) -> (exists pc_lt_pen_next_exists_above. pc_lt_pen_next_exists_above + S (a) = (pen_comparison_next_exists)) -> (exists pc_le_pen_next_exists_minimal. pc_le_pen_next_exists_minimal + (p) = (pen_comparison_next_exists)))Constructive proof overview
Generated structural guide
Euclid unboundedness terminates the finite least-prime scan without any unbounded-search axiom.
The unchanged tactic script uses 4 declared prerequisites and contains 25 exact native proof lines.
Alpha v34 checked-use · first admitted v28 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
prime_unbounded Stable theorem; checked-use authorized PE0002 least_prime_above_finite_scan lt_not_le Stable theorem; checked-use authorized le_add_left 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)
01Fix variables and assumptionsL1–1
Work with arbitrary variables or the premises of the current implication.
- L1
intro a
02Establish huL2–4
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime unbounded.
- L2
have hu : exists p. (exists pc_lt_pen_unbounded. pc_lt_pen_unbounded + S (a) = (p)) /\ ((~(p = 1) /\ forall bpr_left_pc_pen_unbounded_prime bpr_right_pc_pen_unbounded_prime. p = bpr_left_pc_pen_unbounded_prime * bpr_right_pc_pen_unbounded_prime -> bpr_left_pc_pen_unbounded_prime = 1 \/ bpr_right_pc_pen_unbounded_prime = 1)) - L3
specialize prime_unbounded a - L4
apply prime_unbounded
03Separate the logical casesL5–6
04Establish hsL7–10
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply least prime above finite scan.
05Separate the logical casesL11–11
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L11
cases hs
06Use earlier factsL12–12
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L12
exact hs_left
07Separate the logical casesL13–13
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L13
exfalso
08Establish hltL14–23
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hs right.
- L14
have hlt : exists pc_lt_pen_exists_contradiction. pc_lt_pen_exists_contradiction + S (a + x) = (x) - L15
specialize hs_right x - L16
apply hs_right - L17
exact hu_witness_right - L18
exact hu_witness_left - L19
specialize lt_not_le (a + x) - L20
specialize lt_not_le x - L21
apply lt_not_le - L22
exact hlt - L23
specialize le_add_left x
Original exact command ledger · 25 lines
- 0001
intro a - 0002
have hu : exists p. (exists pc_lt_pen_unbounded. pc_lt_pen_unbounded + S (a) = (p)) /\ ((~(p = 1) /\ forall bpr_left_pc_pen_unbounded_prime bpr_right_pc_pen_unbounded_prime. p = bpr_left_pc_pen_unbounded_prime * bpr_right_pc_pen_unbounded_prime -> bpr_left_pc_pen_unbounded_prime = 1 \/ bpr_right_pc_pen_unbounded_prime = 1)) - 0003
specialize prime_unbounded a - 0004
apply prime_unbounded - 0005
cases hu - 0006
cases hu_witness - 0007
have hs : (exists pen_least_exists_scan. ((~(pen_least_exists_scan = 1) /\ forall bpr_left_pc_pen_exists_scan_found_prime bpr_right_pc_pen_exists_scan_found_prime. pen_least_exists_scan = bpr_left_pc_pen_exists_scan_found_prime * bpr_right_pc_pen_exists_scan_found_prime -> bpr_left_pc_pen_exists_scan_found_prime = 1 \/ bpr_right_pc_pen_exists_scan_found_prime = 1)) /\ ((exists pc_lt_pen_exists_scan_found_greater. pc_lt_pen_exists_scan_found_greater + S (a) = (pen_least_exists_scan)) /\ forall pen_comparison_exists_scan_found. ((~(pen_comparison_exists_scan_found = 1) /\ forall bpr_left_pc_pen_exists_scan_found_comparison bpr_right_pc_pen_exists_scan_found_comparison. pen_comparison_exists_scan_found = bpr_left_pc_pen_exists_scan_found_comparison * bpr_right_pc_pen_exists_scan_found_comparison -> bpr_left_pc_pen_exists_scan_found_comparison = 1 \/ bpr_right_pc_pen_exists_scan_found_comparison = 1)) -> (exists pc_lt_pen_exists_scan_found_above. pc_lt_pen_exists_scan_found_above + S (a) = (pen_comparison_exists_scan_found)) -> (exists pc_le_pen_exists_scan_found_minimal. pc_le_pen_exists_scan_found_minimal + (pen_least_exists_scan) = (pen_comparison_exists_scan_found)))) \/ (forall pen_unseen_exists_scan. ((~(pen_unseen_exists_scan = 1) /\ forall bpr_left_pc_pen_exists_scan_prime bpr_right_pc_pen_exists_scan_prime. pen_unseen_exists_scan = bpr_left_pc_pen_exists_scan_prime * bpr_right_pc_pen_exists_scan_prime -> bpr_left_pc_pen_exists_scan_prime = 1 \/ bpr_right_pc_pen_exists_scan_prime = 1)) -> (exists pc_lt_pen_exists_scan_above. pc_lt_pen_exists_scan_above + S (a) = (pen_unseen_exists_scan)) -> (exists pc_lt_pen_exists_scan_unseen. pc_lt_pen_exists_scan_unseen + S (a + x) = (pen_unseen_exists_scan))) - 0008
specialize least_prime_above_finite_scan a - 0009
specialize least_prime_above_finite_scan x - 0010
apply least_prime_above_finite_scan - 0011
cases hs - 0012
exact hs_left - 0013
exfalso - 0014
have hlt : exists pc_lt_pen_exists_contradiction. pc_lt_pen_exists_contradiction + S (a + x) = (x) - 0015
specialize hs_right x - 0016
apply hs_right - 0017
exact hu_witness_right - 0018
exact hu_witness_left - 0019
specialize lt_not_le (a + x) - 0020
specialize lt_not_le x - 0021
apply lt_not_le - 0022
exact hlt - 0023
specialize le_add_left x - 0024
specialize le_add_left a - 0025
apply le_add_left