PE0003

least_prime_above_exists

Alpha v34 independently verified · alpha_closed; checked-use authorized; not Stable

Euclid unboundedness terminates the finite least-prime scan without any unbounded-search axiom.

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 authorized

Direct 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

25 script commands · 9 reading checkpoints · 3 local claims

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)

Long local formulas use this family’s existing definitions. Each new abbreviation was expanded back to the identical native formula, including its free-variable context. The original edition is preserved below.

01Fix variables and assumptionsL1–1

Work with arbitrary variables or the premises of the current implication.

  1. 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.

  1. 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))
  2. L3
    specialize prime_unbounded a
  3. L4
    apply prime_unbounded
03Separate the logical casesL5–6

Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.

  1. L5
    cases hu
  2. L6
    cases hu_witness
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.

  1. L7
    have hs : (∃ y. NextPrime(a,y)) ∨ (∀ y. Prime(y) → Lt(a,y) → Lt(a + x,y))Definitions: NextPrimeLtPrime
  2. L8
    specialize least_prime_above_finite_scan a
  3. L9
    specialize least_prime_above_finite_scan x
  4. L10
    apply least_prime_above_finite_scan
05Separate the logical casesL11–11

Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.

  1. L11
    cases hs
06Use earlier factsL12–12

Instantiate or apply named facts and discharge the corresponding proof obligations.

  1. L12
    exact hs_left
07Separate the logical casesL13–13

Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.

  1. 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.

  1. L14
    have hlt : exists pc_lt_pen_exists_contradiction. pc_lt_pen_exists_contradiction + S (a + x) = (x)
  2. L15
    specialize hs_right x
  3. L16
    apply hs_right
  4. L17
    exact hu_witness_right
  5. L18
    exact hu_witness_left
  6. L19
    specialize lt_not_le (a + x)
  7. L20
    specialize lt_not_le x
  8. L21
    apply lt_not_le
  9. L22
    exact hlt
  10. L23
    specialize le_add_left x
09Use earlier factsL24–25

Instantiate or apply named facts and discharge the corresponding proof obligations.

  1. L24
    specialize le_add_left a
  2. L25
    apply le_add_left

Library-wide reading audit

Original exact command ledger · 25 lines
  1. 0001intro a
  2. 0002have 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))
  3. 0003specialize prime_unbounded a
  4. 0004apply prime_unbounded
  5. 0005cases hu
  6. 0006cases hu_witness
  7. 0007have 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)))
  8. 0008specialize least_prime_above_finite_scan a
  9. 0009specialize least_prime_above_finite_scan x
  10. 0010apply least_prime_above_finite_scan
  11. 0011cases hs
  12. 0012exact hs_left
  13. 0013exfalso
  14. 0014have hlt : exists pc_lt_pen_exists_contradiction. pc_lt_pen_exists_contradiction + S (a + x) = (x)
  15. 0015specialize hs_right x
  16. 0016apply hs_right
  17. 0017exact hu_witness_right
  18. 0018exact hu_witness_left
  19. 0019specialize lt_not_le (a + x)
  20. 0020specialize lt_not_le x
  21. 0021apply lt_not_le
  22. 0022exact hlt
  23. 0023specialize le_add_left x
  24. 0024specialize le_add_left a
  25. 0025apply le_add_left