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.
Sets are complete characteristic-bit codes with actual finite cardinality witnesses. The proof constructs translations and the sumset; no finite-choice oracle, supplied cardinality conclusion, or unproved polynomial-method premise is used.
Exact theorem in conservative defined notation
∀ b. ∀ c. ∀ l. ∀ n. ∀ i. ∀ a. Sum(b,c,l,n) → Lt(i,l) → BetaAt(b,c,i,a) → Le(a,n)
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 73 original proof lines are preserved. Only local proposition formulas are abbreviated; every abbreviation has an exact binder-safe expansion check. The linked exact edition contains the unchanged replay 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–2
02Induction on lL3–9
03Separate the logical casesL10–11
04Establish hzL12–21
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply add eq zero right.
05Fix variables and assumptionsL22–25
06Establish hdL26–32
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta sum succ decompose.
- L26
have hd : ∃ fms_term_hd. ∃ fms_sum_hd. BetaAt(b,c,l,fms_term_hd) ∧ (Sum(b,c,l,fms_sum_hd) ∧ n = fms_sum_hd + fms_term_hd)Definitions: BetaAt(b,c,l,fms_term_hd)Sum(b,c,l,fms_sum_hd)Original native command in the exact edition - L27
specialize beta_sum_succ_decompose b - L28
specialize beta_sum_succ_decompose c - L29
specialize beta_sum_succ_decompose l - L30
specialize beta_sum_succ_decompose n - L31
apply beta_sum_succ_decompose - L32
exact hsum
07Separate the logical casesL33–36
08Establish hcaseL37–41
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply finite lt succ eq or lt.
09Separate the logical casesL42–42
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L42
cases hcase
10Calculate and transport equalitiesL43–44
11Establish heL45–54
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at unique.
12Calculate and transport equalitiesL55–55
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L55
rewrite hd_witness_witness_right_right
13Use earlier factsL56–58
14Calculate and transport equalitiesL59–59
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L59
rewrite hd_witness_witness_right_right
15Use earlier factsL60–69
Instantiate or apply named facts and discharge the corresponding proof obligations.
Original defined command ledger · 73 lines
- 0001
intro b - 0002
intro c - 0003
induction l - 0004
intro n - 0005
intro i - 0006
intro a - 0007
intro hsum - 0008
intro hi - 0009
intro ha - 0010
exfalso - 0011
cases hi - 0012
have hz : S i=0 - 0013
specialize add_eq_zero_right x - 0014
specialize add_eq_zero_right S i - 0015
apply add_eq_zero_right - 0016
exact hi_witness - 0017
specialize succ_ne_zero i - 0018
apply succ_ne_zero - 0019
exact hz - 0020
intro n - 0021
intro i - 0022
intro a - 0023
intro hsum - 0024
intro hi - 0025
intro ha - 0026
have hd : ∃ fms_term_hd. ∃ fms_sum_hd. BetaAt(b,c,l,fms_term_hd) ∧ (Sum(b,c,l,fms_sum_hd) ∧ n = fms_sum_hd + fms_term_hd) - 0027
specialize beta_sum_succ_decompose b - 0028
specialize beta_sum_succ_decompose c - 0029
specialize beta_sum_succ_decompose l - 0030
specialize beta_sum_succ_decompose n - 0031
apply beta_sum_succ_decompose - 0032
exact hsum - 0033
cases hd - 0034
cases hd_witness - 0035
cases hd_witness_witness - 0036
cases hd_witness_witness_right - 0037
have hcase : i = l ∨ Lt(i,l) - 0038
specialize finite_lt_succ_eq_or_lt l - 0039
specialize finite_lt_succ_eq_or_lt i - 0040
apply finite_lt_succ_eq_or_lt - 0041
exact hi - 0042
cases hcase - 0043
rewrite hcase_left at ha - 0044
rewrite hcase_left at ha - 0045
have he : a=x - 0046
specialize beta_at_unique b - 0047
specialize beta_at_unique c - 0048
specialize beta_at_unique l - 0049
specialize beta_at_unique a - 0050
specialize beta_at_unique x - 0051
apply beta_at_unique - 0052
exact ha - 0053
exact hd_witness_witness_left - 0054
rewrite he - 0055
rewrite hd_witness_witness_right_right - 0056
specialize le_add_left x - 0057
specialize le_add_left x1 - 0058
apply le_add_left - 0059
rewrite hd_witness_witness_right_right - 0060
specialize le_trans a - 0061
specialize le_trans x1 - 0062
specialize le_trans x1+x - 0063
apply le_trans - 0064
specialize IH x1 - 0065
specialize IH i - 0066
specialize IH a - 0067
apply IH - 0068
exact hd_witness_witness_right_left - 0069
exact hcase_right - 0070
exact ha - 0071
specialize le_add_right x1 - 0072
specialize le_add_right x - 0073
apply le_add_right