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 theorem in conservative defined notation
∀ n. ∀ p. Prime(p) → Lt(n,p) → Lt(n + n,p · p)
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete unchanged native tactic proof
All 42 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.
01Fix variables and assumptionsL1–4
02Establish hscaledL5–13
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply mul lt mul right nonzero.
03Establish hn_doubleL14–17
04Establish hp_doubleL18–23
05Establish htwoL24–27
06Establish hsquare_boundL28–33
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply mul le mul right.
07Establish hleftL34–42
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply two mul eq add self.
Original defined command ledger · 42 lines
- 0001
intro n - 0002
intro p - 0003
intro hprime - 0004
intro hlower - 0005
have hscaled : exists q. q + S (n * 2) = p * 2 - 0006
specialize mul_lt_mul_right_nonzero n - 0007
specialize mul_lt_mul_right_nonzero p - 0008
specialize mul_lt_mul_right_nonzero 2 - 0009
apply mul_lt_mul_right_nonzero - 0010
exact hlower - 0011
intro htwozero - 0012
apply PA1 - 0013
exact htwozero - 0014
have hn_double : n * 2 = n + n - 0015
trans 2 * n - 0016
apply mul_comm - 0017
apply two_mul_eq_add_self - 0018
have hp_double : p * 2 = p + p - 0019
trans 2 * p - 0020
apply mul_comm - 0021
apply two_mul_eq_add_self - 0022
rewrite hn_double at hscaled - 0023
rewrite hp_double at hscaled - 0024
have htwo : exists q. q + 2 = p - 0025
specialize prime_two_le p - 0026
apply prime_two_le - 0027
exact hprime - 0028
have hsquare_bound : exists q. q + (2 * p) = p * p - 0029
specialize mul_le_mul_right 2 - 0030
specialize mul_le_mul_right p - 0031
specialize mul_le_mul_right p - 0032
apply mul_le_mul_right - 0033
exact htwo - 0034
have hleft : 2 * p = p + p - 0035
apply two_mul_eq_add_self - 0036
rewrite hleft at hsquare_bound - 0037
specialize lt_of_lt_of_le (n + n) - 0038
specialize lt_of_lt_of_le (p + p) - 0039
specialize lt_of_lt_of_le (p * p) - 0040
apply lt_of_lt_of_le - 0041
exact hscaled - 0042
exact hsquare_bound