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.
The carry relation contains actual quotient columns and carry bits, not the desired valuation. The theorem includes all finite lists and zero parts. It uses sequential binary-column carries; a separate simultaneous-grid or permutation-invariance theorem is not asserted.
Exact theorem in conservative defined notation
∀ b. ∀ c. ∀ sb. ∀ sc. ∀ l. ∃ cb. ∃ cc. MultinomialBinomialPrefix(b,c,sb,sc,cb,cc,l)
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 50 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.
Named ingredients (2)
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
04Use earlier factsL8–14
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L8
specialize multinomial_binomial_prefix_empty b - L9
specialize multinomial_binomial_prefix_empty c - L10
specialize multinomial_binomial_prefix_empty sb - L11
specialize multinomial_binomial_prefix_empty sc - L12
specialize multinomial_binomial_prefix_empty 0 - L13
specialize multinomial_binomial_prefix_empty 0 - L14
apply multinomial_binomial_prefix_empty
05Establish hprefixL15–16
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply IH.
- L15
have hprefix : ∃ cb. ∃ cc. MultinomialBinomialPrefix(b,c,sb,sc,cb,cc,l)Definitions: MultinomialBinomialPrefix(b,c,sb,sc,cb,cc,l)Original native command in the exact edition - L16
apply IH
06Separate the logical casesL17–18
07Establish hpartL19–23
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at exists.
- L19
have hpart : ∃ a. BetaAt(b,c,l,a)Definitions: BetaAt(b,c,l,a)Original native command in the exact edition - L20
specialize beta_at_exists b - L21
specialize beta_at_exists c - L22
specialize beta_at_exists l - L23
apply beta_at_exists
08Separate the logical casesL24–24
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L24
cases hpart
09Establish hpartialL25–29
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at exists.
- L25
have hpartial : ∃ u. BetaAt(sb,sc,l,u)Definitions: BetaAt(sb,sc,l,u)Original native command in the exact edition - L26
specialize beta_at_exists sb - L27
specialize beta_at_exists sc - L28
specialize beta_at_exists l - L29
apply beta_at_exists
10Separate the logical casesL30–30
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L30
cases hpartial
11Establish hchooseL31–34
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply choose exists.
- L31
have hchoose : ∃ C. Choose(x3 + x2,x3,C)Definitions: Choose(x3 + x2,x3,C)Original native command in the exact edition - L32
specialize choose_exists (x3 + x2) - L33
specialize choose_exists x3 - L34
apply choose_exists
12Separate the logical casesL35–35
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L35
cases hchoose
13Use earlier factsL36–45
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L36
specialize multinomial_binomial_prefix_extend b - L37
specialize multinomial_binomial_prefix_extend c - L38
specialize multinomial_binomial_prefix_extend sb - L39
specialize multinomial_binomial_prefix_extend sc - L40
specialize multinomial_binomial_prefix_extend x - L41
specialize multinomial_binomial_prefix_extend x1 - L42
specialize multinomial_binomial_prefix_extend l - L43
specialize multinomial_binomial_prefix_extend x2 - L44
specialize multinomial_binomial_prefix_extend x3 - L45
specialize multinomial_binomial_prefix_extend x4
Original defined command ledger · 50 lines
- 0001
intro b - 0002
intro c - 0003
intro sb - 0004
intro sc - 0005
induction l - 0006
exists 0 - 0007
exists 0 - 0008
specialize multinomial_binomial_prefix_empty b - 0009
specialize multinomial_binomial_prefix_empty c - 0010
specialize multinomial_binomial_prefix_empty sb - 0011
specialize multinomial_binomial_prefix_empty sc - 0012
specialize multinomial_binomial_prefix_empty 0 - 0013
specialize multinomial_binomial_prefix_empty 0 - 0014
apply multinomial_binomial_prefix_empty - 0015
have hprefix : ∃ cb. ∃ cc. MultinomialBinomialPrefix(b,c,sb,sc,cb,cc,l) - 0016
apply IH - 0017
cases hprefix - 0018
cases hprefix_witness - 0019
have hpart : ∃ a. BetaAt(b,c,l,a) - 0020
specialize beta_at_exists b - 0021
specialize beta_at_exists c - 0022
specialize beta_at_exists l - 0023
apply beta_at_exists - 0024
cases hpart - 0025
have hpartial : ∃ u. BetaAt(sb,sc,l,u) - 0026
specialize beta_at_exists sb - 0027
specialize beta_at_exists sc - 0028
specialize beta_at_exists l - 0029
apply beta_at_exists - 0030
cases hpartial - 0031
have hchoose : ∃ C. Choose(x3 + x2,x3,C) - 0032
specialize choose_exists (x3 + x2) - 0033
specialize choose_exists x3 - 0034
apply choose_exists - 0035
cases hchoose - 0036
specialize multinomial_binomial_prefix_extend b - 0037
specialize multinomial_binomial_prefix_extend c - 0038
specialize multinomial_binomial_prefix_extend sb - 0039
specialize multinomial_binomial_prefix_extend sc - 0040
specialize multinomial_binomial_prefix_extend x - 0041
specialize multinomial_binomial_prefix_extend x1 - 0042
specialize multinomial_binomial_prefix_extend l - 0043
specialize multinomial_binomial_prefix_extend x2 - 0044
specialize multinomial_binomial_prefix_extend x3 - 0045
specialize multinomial_binomial_prefix_extend x4 - 0046
apply multinomial_binomial_prefix_extend - 0047
exact hprefix_witness_witness - 0048
exact hpart_witness - 0049
exact hpartial_witness - 0050
exact hchoose_witness