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 PA statement
forall b s C j. ~(C = 0) -> exists h. h + S s = S ((S j) * (C * S (b + s)))Structural proof guide
The appended value fits every modulus after the same constructive scaled-base rebase.
Direct prerequisites: le_add_left, succ_le_succ, le_scaled_nonzero, le_trans, base_le_beta_modulus. The authored body proceeds by intermediate claims (5).
Proof neighborhood
Direct dependencies
BT0012 le_add_left BT0016 succ_le_succ BT0055 le_scaled_nonzero BT000F le_trans BT0054 base_le_beta_modulusDirect dependents
Formal native tactic body
Dependencies are hypotheses of the historical Alpha-v12 body receipt. The complete historical Alpha-v18 proof bundle independently checks every dependency; current Alpha v25 preserves that checked theorem use without changing 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 (5)
01Fix variables and assumptionsL1–5
02Establish hsbL6–9
03Establish hssL10–14
04Establish hscaleL15–19
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply le scaled nonzero.
05Establish hsbaseL20–26
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply le trans.
06Establish hmodL27–36
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply le trans.
- L27
have hmod : exists h. h + C * S (b + s) = S ((S j) * (C * S (b + s))) - L28
specialize base_le_beta_modulus (C * S (b + s)) - L29
specialize base_le_beta_modulus j - L30
exact base_le_beta_modulus - L31
specialize le_trans (S s) - L32
specialize le_trans (C * S (b + s)) - L33
specialize le_trans (S ((S j) * (C * S (b + s)))) - L34
apply le_trans - L35
exact hsbase - L36
exact hmod
Original exact command ledger · 36 lines
- 0001
intro b - 0002
intro s - 0003
intro C - 0004
intro j - 0005
intro hC - 0006
have hsb : exists h. h + s = b + s - 0007
specialize le_add_left s - 0008
specialize le_add_left b - 0009
exact le_add_left - 0010
have hss : exists h. h + S s = S (b + s) - 0011
specialize succ_le_succ s - 0012
specialize succ_le_succ (b + s) - 0013
apply succ_le_succ - 0014
exact hsb - 0015
have hscale : exists h. h + S (b + s) = C * S (b + s) - 0016
specialize le_scaled_nonzero C - 0017
specialize le_scaled_nonzero (S (b + s)) - 0018
apply le_scaled_nonzero - 0019
exact hC - 0020
have hsbase : exists h. h + S s = C * S (b + s) - 0021
specialize le_trans (S s) - 0022
specialize le_trans (S (b + s)) - 0023
specialize le_trans (C * S (b + s)) - 0024
apply le_trans - 0025
exact hss - 0026
exact hscale - 0027
have hmod : exists h. h + C * S (b + s) = S ((S j) * (C * S (b + s))) - 0028
specialize base_le_beta_modulus (C * S (b + s)) - 0029
specialize base_le_beta_modulus j - 0030
exact base_le_beta_modulus - 0031
specialize le_trans (S s) - 0032
specialize le_trans (C * S (b + s)) - 0033
specialize le_trans (S ((S j) * (C * S (b + s)))) - 0034
apply le_trans - 0035
exact hsbase - 0036
exact hmod