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. ∀ d. ∀ e. ∀ f. ∀ g. ∀ h. ∀ t. ∀ l. ∀ n. ∀ m. ∀ q. ∀ r. Sum(b,c,l,n) → Sum(d,e,l,m) → Sum(f,g,l,q) → Sum(h,t,l,r) → (∀ x. ∀ y. ∀ z. ∀ k. ∀ i. Lt(x,l) → BetaAt(b,c,x,y) → BetaAt(d,e,x,z) → BetaAt(f,g,x,k) → BetaAt(h,t,x,i) → y + z = k + i) → n + m = q + r
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 156 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–8
02Induction on lL9–18
03Establish hzero_nL19–24
04Establish hzero_mL25–30
05Establish hzero_qL31–36
06Establish hzero_rL37–46
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta sum zero.
07Calculate and transport equalitiesL47–47
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L47
refl
08Fix variables and assumptionsL48–56
09Establish hdAL57–63
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta sum succ decompose.
- L57
have hdA : ∃ fms_term_hdA. ∃ fms_sum_hdA. BetaAt(b,c,l,fms_term_hdA) ∧ (Sum(b,c,l,fms_sum_hdA) ∧ n = fms_sum_hdA + fms_term_hdA)Definitions: BetaAt(b,c,l,fms_term_hdA)Sum(b,c,l,fms_sum_hdA)Original native command in the exact edition - L58
specialize beta_sum_succ_decompose b - L59
specialize beta_sum_succ_decompose c - L60
specialize beta_sum_succ_decompose l - L61
specialize beta_sum_succ_decompose n - L62
apply beta_sum_succ_decompose - L63
exact hn
10Separate the logical casesL64–67
11Establish hdBL68–74
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta sum succ decompose.
- L68
have hdB : ∃ fms_term_hdB. ∃ fms_sum_hdB. BetaAt(d,e,l,fms_term_hdB) ∧ (Sum(d,e,l,fms_sum_hdB) ∧ m = fms_sum_hdB + fms_term_hdB)Definitions: BetaAt(d,e,l,fms_term_hdB)Sum(d,e,l,fms_sum_hdB)Original native command in the exact edition - L69
specialize beta_sum_succ_decompose d - L70
specialize beta_sum_succ_decompose e - L71
specialize beta_sum_succ_decompose l - L72
specialize beta_sum_succ_decompose m - L73
apply beta_sum_succ_decompose - L74
exact hm
12Separate the logical casesL75–78
13Establish hdCL79–85
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta sum succ decompose.
- L79
have hdC : ∃ fms_term_hdC. ∃ fms_sum_hdC. BetaAt(f,g,l,fms_term_hdC) ∧ (Sum(f,g,l,fms_sum_hdC) ∧ q = fms_sum_hdC + fms_term_hdC)Definitions: BetaAt(f,g,l,fms_term_hdC)Sum(f,g,l,fms_sum_hdC)Original native command in the exact edition - L80
specialize beta_sum_succ_decompose f - L81
specialize beta_sum_succ_decompose g - L82
specialize beta_sum_succ_decompose l - L83
specialize beta_sum_succ_decompose q - L84
apply beta_sum_succ_decompose - L85
exact hq
14Separate the logical casesL86–89
15Establish hdDL90–96
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta sum succ decompose.
- L90
have hdD : ∃ fms_term_hdD. ∃ fms_sum_hdD. BetaAt(h,t,l,fms_term_hdD) ∧ (Sum(h,t,l,fms_sum_hdD) ∧ r = fms_sum_hdD + fms_term_hdD)Definitions: BetaAt(h,t,l,fms_term_hdD)Sum(h,t,l,fms_sum_hdD)Original native command in the exact edition - L91
specialize beta_sum_succ_decompose h - L92
specialize beta_sum_succ_decompose t - L93
specialize beta_sum_succ_decompose l - L94
specialize beta_sum_succ_decompose r - L95
apply beta_sum_succ_decompose - L96
exact hr
16Separate the logical casesL97–100
17Establish hprefixL101–110
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply IH.
18Fix variables and assumptionsL111–120
19Use earlier factsL121–130
Instantiate or apply named facts and discharge the corresponding proof obligations.
20Use earlier factsL131–134
21Establish hlastL135–144
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hbalance.
22Use earlier factsL145–147
23Calculate and transport equalitiesL148–156
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
Original defined command ledger · 156 lines
- 0001
intro b - 0002
intro c - 0003
intro d - 0004
intro e - 0005
intro f - 0006
intro g - 0007
intro h - 0008
intro t - 0009
induction l - 0010
intro n - 0011
intro m - 0012
intro q - 0013
intro r - 0014
intro hn - 0015
intro hm - 0016
intro hq - 0017
intro hr - 0018
intro hbalance - 0019
have hzero_n : n=0 - 0020
specialize beta_sum_zero b - 0021
specialize beta_sum_zero c - 0022
specialize beta_sum_zero n - 0023
apply beta_sum_zero - 0024
exact hn - 0025
have hzero_m : m=0 - 0026
specialize beta_sum_zero d - 0027
specialize beta_sum_zero e - 0028
specialize beta_sum_zero m - 0029
apply beta_sum_zero - 0030
exact hm - 0031
have hzero_q : q=0 - 0032
specialize beta_sum_zero f - 0033
specialize beta_sum_zero g - 0034
specialize beta_sum_zero q - 0035
apply beta_sum_zero - 0036
exact hq - 0037
have hzero_r : r=0 - 0038
specialize beta_sum_zero h - 0039
specialize beta_sum_zero t - 0040
specialize beta_sum_zero r - 0041
apply beta_sum_zero - 0042
exact hr - 0043
rewrite hzero_n - 0044
rewrite hzero_m - 0045
rewrite hzero_q - 0046
rewrite hzero_r - 0047
refl - 0048
intro n - 0049
intro m - 0050
intro q - 0051
intro r - 0052
intro hn - 0053
intro hm - 0054
intro hq - 0055
intro hr - 0056
intro hbalance - 0057
have hdA : ∃ fms_term_hdA. ∃ fms_sum_hdA. BetaAt(b,c,l,fms_term_hdA) ∧ (Sum(b,c,l,fms_sum_hdA) ∧ n = fms_sum_hdA + fms_term_hdA) - 0058
specialize beta_sum_succ_decompose b - 0059
specialize beta_sum_succ_decompose c - 0060
specialize beta_sum_succ_decompose l - 0061
specialize beta_sum_succ_decompose n - 0062
apply beta_sum_succ_decompose - 0063
exact hn - 0064
cases hdA - 0065
cases hdA_witness - 0066
cases hdA_witness_witness - 0067
cases hdA_witness_witness_right - 0068
have hdB : ∃ fms_term_hdB. ∃ fms_sum_hdB. BetaAt(d,e,l,fms_term_hdB) ∧ (Sum(d,e,l,fms_sum_hdB) ∧ m = fms_sum_hdB + fms_term_hdB) - 0069
specialize beta_sum_succ_decompose d - 0070
specialize beta_sum_succ_decompose e - 0071
specialize beta_sum_succ_decompose l - 0072
specialize beta_sum_succ_decompose m - 0073
apply beta_sum_succ_decompose - 0074
exact hm - 0075
cases hdB - 0076
cases hdB_witness - 0077
cases hdB_witness_witness - 0078
cases hdB_witness_witness_right - 0079
have hdC : ∃ fms_term_hdC. ∃ fms_sum_hdC. BetaAt(f,g,l,fms_term_hdC) ∧ (Sum(f,g,l,fms_sum_hdC) ∧ q = fms_sum_hdC + fms_term_hdC) - 0080
specialize beta_sum_succ_decompose f - 0081
specialize beta_sum_succ_decompose g - 0082
specialize beta_sum_succ_decompose l - 0083
specialize beta_sum_succ_decompose q - 0084
apply beta_sum_succ_decompose - 0085
exact hq - 0086
cases hdC - 0087
cases hdC_witness - 0088
cases hdC_witness_witness - 0089
cases hdC_witness_witness_right - 0090
have hdD : ∃ fms_term_hdD. ∃ fms_sum_hdD. BetaAt(h,t,l,fms_term_hdD) ∧ (Sum(h,t,l,fms_sum_hdD) ∧ r = fms_sum_hdD + fms_term_hdD) - 0091
specialize beta_sum_succ_decompose h - 0092
specialize beta_sum_succ_decompose t - 0093
specialize beta_sum_succ_decompose l - 0094
specialize beta_sum_succ_decompose r - 0095
apply beta_sum_succ_decompose - 0096
exact hr - 0097
cases hdD - 0098
cases hdD_witness - 0099
cases hdD_witness_witness - 0100
cases hdD_witness_witness_right - 0101
have hprefix : x1+x3=x5+x7 - 0102
specialize IH x1 - 0103
specialize IH x3 - 0104
specialize IH x5 - 0105
specialize IH x7 - 0106
apply IH - 0107
exact hdA_witness_witness_right_left - 0108
exact hdB_witness_witness_right_left - 0109
exact hdC_witness_witness_right_left - 0110
exact hdD_witness_witness_right_left - 0111
intro i - 0112
intro a - 0113
intro v - 0114
intro w - 0115
intro z - 0116
intro hi - 0117
intro ha - 0118
intro hv - 0119
intro hw - 0120
intro hz - 0121
specialize hbalance i - 0122
specialize hbalance a - 0123
specialize hbalance v - 0124
specialize hbalance w - 0125
specialize hbalance z - 0126
apply hbalance - 0127
specialize le_succ S i - 0128
specialize le_succ l - 0129
apply le_succ - 0130
exact hi - 0131
exact ha - 0132
exact hv - 0133
exact hw - 0134
exact hz - 0135
have hlast : x+x2=x4+x6 - 0136
specialize hbalance l - 0137
specialize hbalance x - 0138
specialize hbalance x2 - 0139
specialize hbalance x4 - 0140
specialize hbalance x6 - 0141
apply hbalance - 0142
specialize le_refl S l - 0143
apply le_refl - 0144
exact hdA_witness_witness_left - 0145
exact hdB_witness_witness_left - 0146
exact hdC_witness_witness_left - 0147
exact hdD_witness_witness_left - 0148
rewrite hdA_witness_witness_right_right - 0149
rewrite hdB_witness_witness_right_right - 0150
rewrite hdC_witness_witness_right_right - 0151
rewrite hdD_witness_witness_right_right - 0152
trans (x1+x3)+(x+x2) - 0153
simp [add_assoc, add_comm] - 0154
rewrite hprefix - 0155
rewrite hlast - 0156
simp [add_assoc, add_comm]