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
Generated structural guide
The appended value fits every modulus after the same constructive scaled-base rebase.
Use the direct prerequisites le_add_left, succ_le_succ, le_scaled_nonzero, le_trans, base_le_beta_modulus as previously established PA formulas.
The proof proceeds by intermediate claims (5).
Referenced ingredients
Proof neighborhood
Direct dependencies
PA002J le_add_left PA002K succ_le_succ PA002N le_scaled_nonzero PA000R le_trans PA002P base_le_beta_modulusDirect dependents
Formal native tactic body
Dependencies are introduced as named hypotheses before line 1. Linked names are exact direct references. This Stable checked-use theorem is independently kernel-checked when replayed.
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