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 c i x C s j. ((exists h. h + S x = S ((S i) * c)) /\ exists q. b = q * S ((S i) * c) + x) -> ~(C = 0) -> exists h. h + S x = S ((S j) * (C * S (b + s)))Structural proof guide
Generated structural guide
An old beta value fits every modulus after a constructive scaled-base rebase.
Use the direct prerequisites beta_value_le_code, le_add_right, succ_le_succ, le_trans, le_scaled_nonzero, base_le_beta_modulus as previously established PA formulas.
The proof proceeds by intermediate claims (7).
Referenced ingredients
Proof neighborhood
Direct dependencies
PA002R beta_value_le_code PA002S le_add_right PA002K succ_le_succ PA000R le_trans PA002N le_scaled_nonzero 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 (6)
01Fix variables and assumptionsL1–9
02Establish hxbL10–16
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta value le code.
03Establish hbsL17–20
04Establish hxsL21–27
05Establish hsxL28–32
06Establish hscaleL33–37
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply le scaled nonzero.
07Establish hxbaseL38–44
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply le trans.
08Establish hmodL45–54
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply le trans.
- L45
have hmod : exists h. h + C * S (b + s) = S ((S j) * (C * S (b + s))) - L46
specialize base_le_beta_modulus (C * S (b + s)) - L47
specialize base_le_beta_modulus j - L48
exact base_le_beta_modulus - L49
specialize le_trans (S x) - L50
specialize le_trans (C * S (b + s)) - L51
specialize le_trans (S ((S j) * (C * S (b + s)))) - L52
apply le_trans - L53
exact hxbase - L54
exact hmod
Original exact command ledger · 54 lines
- 0001
intro b - 0002
intro c - 0003
intro i - 0004
intro x - 0005
intro C - 0006
intro s - 0007
intro j - 0008
intro hat - 0009
intro hC - 0010
have hxb : exists h. h + x = b - 0011
specialize beta_value_le_code b - 0012
specialize beta_value_le_code c - 0013
specialize beta_value_le_code i - 0014
specialize beta_value_le_code x - 0015
apply beta_value_le_code - 0016
exact hat - 0017
have hbs : exists h. h + b = b + s - 0018
specialize le_add_right b - 0019
specialize le_add_right s - 0020
exact le_add_right - 0021
have hxs : exists h. h + x = b + s - 0022
specialize le_trans x - 0023
specialize le_trans b - 0024
specialize le_trans (b + s) - 0025
apply le_trans - 0026
exact hxb - 0027
exact hbs - 0028
have hsx : exists h. h + S x = S (b + s) - 0029
specialize succ_le_succ x - 0030
specialize succ_le_succ (b + s) - 0031
apply succ_le_succ - 0032
exact hxs - 0033
have hscale : exists h. h + S (b + s) = C * S (b + s) - 0034
specialize le_scaled_nonzero C - 0035
specialize le_scaled_nonzero (S (b + s)) - 0036
apply le_scaled_nonzero - 0037
exact hC - 0038
have hxbase : exists h. h + S x = C * S (b + s) - 0039
specialize le_trans (S x) - 0040
specialize le_trans (S (b + s)) - 0041
specialize le_trans (C * S (b + s)) - 0042
apply le_trans - 0043
exact hsx - 0044
exact hscale - 0045
have hmod : exists h. h + C * S (b + s) = S ((S j) * (C * S (b + s))) - 0046
specialize base_le_beta_modulus (C * S (b + s)) - 0047
specialize base_le_beta_modulus j - 0048
exact base_le_beta_modulus - 0049
specialize le_trans (S x) - 0050
specialize le_trans (C * S (b + s)) - 0051
specialize le_trans (S ((S j) * (C * S (b + s)))) - 0052
apply le_trans - 0053
exact hxbase - 0054
exact hmod