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.
Statement with defined notation
∀ b. ∀ c. ∀ n. ∀ sn. sn = S n → BoundedPrefix(b,c,sn) → (∀ x. Lt(x,n) → ¬BetaAt(b,c,x,n)) → BoundedPrefix(b,c,n)Every purple notation token opens its conservative definition. This is a reading surface; the compiler expands the statement before the unchanged kernel checks it.
Definitions used by this theorem
In the theorem statement
4 occurrences
In local proof propositions
3 occurrences
Exact expanded native-PA statement
forall b c n sn. sn = S n -> (forall fp_i_bounded_succ. (exists fp_gap_bounded_succ_index. fp_gap_bounded_succ_index + S fp_i_bounded_succ = sn) -> exists fp_value_bounded_succ. ((((exists ff_h_bounded_succ_entry. ff_h_bounded_succ_entry + S (fp_value_bounded_succ) = S ((S (fp_i_bounded_succ)) * c)) /\ exists ff_q_bounded_succ_entry. b = ff_q_bounded_succ_entry * S ((S (fp_i_bounded_succ)) * c) + (fp_value_bounded_succ))) /\ (exists fp_gap_bounded_succ_value. fp_gap_bounded_succ_value + S fp_value_bounded_succ = sn))) -> (forall i. (exists h. h + S i = n) -> ~(((exists ff_h_top_i. ff_h_top_i + S (n) = S ((S (i)) * c)) /\ exists ff_q_top_i. b = ff_q_top_i * S ((S (i)) * c) + (n)))) -> (forall fp_i_bounded_prefix. (exists fp_gap_bounded_prefix_index. fp_gap_bounded_prefix_index + S fp_i_bounded_prefix = n) -> exists fp_value_bounded_prefix. ((((exists ff_h_bounded_prefix_entry. ff_h_bounded_prefix_entry + S (fp_value_bounded_prefix) = S ((S (fp_i_bounded_prefix)) * c)) /\ exists ff_q_bounded_prefix_entry. b = ff_q_bounded_prefix_entry * S ((S (fp_i_bounded_prefix)) * c) + (fp_value_bounded_prefix))) /\ (exists fp_gap_bounded_prefix_value. fp_gap_bounded_prefix_value + S fp_value_bounded_prefix = n)))Proof neighborhood
Direct theorem prerequisites
Direct theorem dependents
Definition-aware tactic body
Only local propositions introduced by have or suffices are compacted. The untrusted compiler re-expands each one before the original tactic script is replayed; defined notation is never accepted by the kernel. Open the exact replay line beneath every changed command.
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 (2)
01Fix variables and assumptionsL1–7
02Calculate and transport equalitiesL8–9
03Fix variables and assumptionsL10–11
04Use earlier factsL12–12
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L12
specialize hbounded i
05Establish hfullL13–18
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hbounded.
- L13
have hfull : ∃ x. BetaAt(b,c,i,x) ∧ Lt(x,S n)Definitions: BetaAt(b,c,i,x)Lt(x,S n)Original native command in the exact edition - L14
apply hbounded - L15
specialize le_succ (S i) - L16
specialize le_succ n - L17
apply le_succ - L18
exact hi
06Separate the logical casesL19–20
07Establish hsplitL21–25
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply finite lt succ eq or lt.
08Separate the logical casesL26–27
09Use earlier factsL28–30
10Calculate and transport equalitiesL31–32
11Use earlier factsL33–33
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L33
exact hfull_witness_left
12Construct an explicit witnessL34–34
Supply the displayed value, then prove that it has the required property.
- L34
exists x
13Separate the logical casesL35–35
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L35
split
Original defined command ledger · 37 lines
- 0001
intro b - 0002
intro c - 0003
intro n - 0004
intro sn - 0005
intro hsn - 0006
intro hbounded - 0007
intro hnotop - 0008
rewrite hsn at hbounded - 0009
rewrite hsn at hbounded - 0010
intro i - 0011
intro hi - 0012
specialize hbounded i - 0013
have hfull : ∃ x. BetaAt(b,c,i,x) ∧ Lt(x,S n)Exact native replay line
have hfull : exists x. (((exists h. h + S x = S ((S i) * c)) /\ exists q. b = q * S ((S i) * c) + x) /\ exists h. h + S x = S n) - 0014
apply hbounded - 0015
specialize le_succ (S i) - 0016
specialize le_succ n - 0017
apply le_succ - 0018
exact hi - 0019
cases hfull - 0020
cases hfull_witness - 0021
have hsplit : x = n ∨ Lt(x,n)Exact native replay line
have hsplit : x = n \/ exists h. h + S x = n - 0022
specialize finite_lt_succ_eq_or_lt n - 0023
specialize finite_lt_succ_eq_or_lt x - 0024
apply finite_lt_succ_eq_or_lt - 0025
exact hfull_witness_right - 0026
cases hsplit - 0027
exfalso - 0028
specialize hnotop i - 0029
apply hnotop - 0030
exact hi - 0031
rewrite <- hsplit_left - 0032
rewrite <- hsplit_left - 0033
exact hfull_witness_left - 0034
exists x - 0035
split - 0036
exact hfull_witness_left - 0037
exact hsplit_right