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
∀ r. ∀ s. ∀ b. ∀ c. ∀ l. ∃ z. ∃ d. ∀ x. ∀ y. ∀ n. Lt(x,l) → BetaAt(r,s,x,y) → BetaAt(b,c,y,n) → BetaAt(z,d,x,n)
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 96 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–4
02Induction on lL5–5
Split the argument into the base and successor obligations. The induction hypothesis is available only in the successor branch.
- L5
induction l
03Construct an explicit witnessL6–7
04Fix variables and assumptionsL8–13
05Separate the logical casesL14–15
06Establish hzL16–23
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply add eq zero right.
07Separate the logical casesL24–25
08Establish hjL26–30
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at exists.
- L26
have hj : ∃ j. BetaAt(r,s,l,j)Definitions: BetaAt(r,s,l,j)Original native command in the exact edition - L27
specialize beta_at_exists r - L28
specialize beta_at_exists s - L29
specialize beta_at_exists l - L30
apply beta_at_exists
09Separate the logical casesL31–31
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L31
cases hj
10Establish hvL32–36
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at exists.
- L32
have hv : ∃ v. BetaAt(b,c,x2,v)Definitions: BetaAt(b,c,x2,v)Original native command in the exact edition - L33
specialize beta_at_exists b - L34
specialize beta_at_exists c - L35
specialize beta_at_exists x2 - L36
apply beta_at_exists
11Separate the logical casesL37–37
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L37
cases hv
12Use earlier factsL38–41
13Separate the logical casesL42–44
14Construct an explicit witnessL45–46
15Fix variables and assumptionsL47–52
16Establish hcaseL53–57
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply finite lt succ eq or lt.
17Separate the logical casesL58–58
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L58
cases hcase
18Calculate and transport equalitiesL59–60
19Establish hjeqL61–70
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at unique.
20Calculate and transport equalitiesL71–71
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L71
rewrite hjeq at hvj
21Establish hveqL72–81
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at unique.
22Calculate and transport equalitiesL82–84
23Use earlier factsL85–94
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L85
exact beta_prefix_extend_witness_witness_left - L86
specialize beta_prefix_extend_witness_witness_right i - L87
specialize beta_prefix_extend_witness_witness_right v - L88
apply beta_prefix_extend_witness_witness_right - L89
exact hcase_right - L90
specialize IH_witness_witness i - L91
specialize IH_witness_witness j - L92
specialize IH_witness_witness v - L93
apply IH_witness_witness - L94
exact hcase_right
Original defined command ledger · 96 lines
- 0001
intro r - 0002
intro s - 0003
intro b - 0004
intro c - 0005
induction l - 0006
exists 0 - 0007
exists 0 - 0008
intro i - 0009
intro j - 0010
intro v - 0011
intro hi - 0012
intro hj - 0013
intro hv - 0014
exfalso - 0015
cases hi - 0016
have hz : S i=0 - 0017
specialize add_eq_zero_right x - 0018
specialize add_eq_zero_right S i - 0019
apply add_eq_zero_right - 0020
exact hi_witness - 0021
specialize succ_ne_zero i - 0022
apply succ_ne_zero - 0023
exact hz - 0024
cases IH - 0025
cases IH_witness - 0026
have hj : ∃ j. BetaAt(r,s,l,j) - 0027
specialize beta_at_exists r - 0028
specialize beta_at_exists s - 0029
specialize beta_at_exists l - 0030
apply beta_at_exists - 0031
cases hj - 0032
have hv : ∃ v. BetaAt(b,c,x2,v) - 0033
specialize beta_at_exists b - 0034
specialize beta_at_exists c - 0035
specialize beta_at_exists x2 - 0036
apply beta_at_exists - 0037
cases hv - 0038
specialize beta_prefix_extend l - 0039
specialize beta_prefix_extend x - 0040
specialize beta_prefix_extend x1 - 0041
specialize beta_prefix_extend x3 - 0042
cases beta_prefix_extend - 0043
cases beta_prefix_extend_witness - 0044
cases beta_prefix_extend_witness_witness - 0045
exists x4 - 0046
exists x5 - 0047
intro i - 0048
intro j - 0049
intro v - 0050
intro hi - 0051
intro hji - 0052
intro hvj - 0053
have hcase : i = l ∨ Lt(i,l) - 0054
specialize finite_lt_succ_eq_or_lt l - 0055
specialize finite_lt_succ_eq_or_lt i - 0056
apply finite_lt_succ_eq_or_lt - 0057
exact hi - 0058
cases hcase - 0059
rewrite hcase_left at hji - 0060
rewrite hcase_left at hji - 0061
have hjeq : j=x2 - 0062
specialize beta_at_unique r - 0063
specialize beta_at_unique s - 0064
specialize beta_at_unique l - 0065
specialize beta_at_unique j - 0066
specialize beta_at_unique x2 - 0067
apply beta_at_unique - 0068
exact hji - 0069
exact hj_witness - 0070
rewrite hjeq at hvj - 0071
rewrite hjeq at hvj - 0072
have hveq : v=x3 - 0073
specialize beta_at_unique b - 0074
specialize beta_at_unique c - 0075
specialize beta_at_unique x2 - 0076
specialize beta_at_unique v - 0077
specialize beta_at_unique x3 - 0078
apply beta_at_unique - 0079
exact hvj - 0080
exact hv_witness - 0081
rewrite hcase_left - 0082
rewrite hcase_left - 0083
rewrite hveq - 0084
rewrite hveq - 0085
exact beta_prefix_extend_witness_witness_left - 0086
specialize beta_prefix_extend_witness_witness_right i - 0087
specialize beta_prefix_extend_witness_witness_right v - 0088
apply beta_prefix_extend_witness_witness_right - 0089
exact hcase_right - 0090
specialize IH_witness_witness i - 0091
specialize IH_witness_witness j - 0092
specialize IH_witness_witness v - 0093
apply IH_witness_witness - 0094
exact hcase_right - 0095
exact hji - 0096
exact hvj