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. BitCount(b,c,l,n) → Lt(1,n) → ∃ x. ModularSetMember(b,c,l,x) ∧ ¬x = 0
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 56 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–6
02Establish honeL7–11
03Construct an explicit witnessL12–12
Supply the displayed value, then prove that it has the required property.
- L12
exists 1
04Calculate and transport equalitiesL13–13
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L13
simp
05Use earlier factsL14–14
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L14
exact hn
06Establish hnonzeroL15–20
07Establish hsuccL21–24
08Separate the logical casesL25–25
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L25
cases hsucc
09Calculate and transport equalitiesL26–28
10Establish hwL29–35
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply bit count positive last one.
- L29
have hw : ∃ i. Lt(i,l) ∧ (BetaAt(b,c,i,1) ∧ Lt(x,S i))Definitions: Lt(i,l)BetaAt(b,c,i,1)Lt(x,S i)Original native command in the exact edition - L30
specialize bit_count_positive_last_one b - L31
specialize bit_count_positive_last_one c - L32
specialize bit_count_positive_last_one l - L33
specialize bit_count_positive_last_one x - L34
apply bit_count_positive_last_one - L35
exact hcount
11Separate the logical casesL36–38
12Construct an explicit witnessL39–39
Supply the displayed value, then prove that it has the required property.
- L39
exists x1
13Separate the logical casesL40–41
14Use earlier factsL42–43
15Fix variables and assumptionsL44–44
Work with arbitrary variables or the premises of the current implication.
- L44
intro hz
16Use earlier factsL45–54
Instantiate or apply named facts and discharge the corresponding proof obligations.
Original defined command ledger · 56 lines
- 0001
intro b - 0002
intro c - 0003
intro l - 0004
intro n - 0005
intro hcount - 0006
intro hn - 0007
have hone : Lt(0,n) - 0008
specialize le_trans 1 - 0009
specialize le_trans 2 - 0010
specialize le_trans n - 0011
apply le_trans - 0012
exists 1 - 0013
simp - 0014
exact hn - 0015
have hnonzero : ~(n=0) - 0016
intro hz - 0017
specialize ne_zero_of_one_le n - 0018
apply ne_zero_of_one_le - 0019
exact hone - 0020
exact hz - 0021
have hsucc : exists q. n=S q - 0022
specialize nonzero_is_succ n - 0023
apply nonzero_is_succ - 0024
exact hnonzero - 0025
cases hsucc - 0026
rewrite hsucc_witness at hcount - 0027
rewrite hsucc_witness at hcount - 0028
rewrite hsucc_witness at hn - 0029
have hw : ∃ i. Lt(i,l) ∧ (BetaAt(b,c,i,1) ∧ Lt(x,S i)) - 0030
specialize bit_count_positive_last_one b - 0031
specialize bit_count_positive_last_one c - 0032
specialize bit_count_positive_last_one l - 0033
specialize bit_count_positive_last_one x - 0034
apply bit_count_positive_last_one - 0035
exact hcount - 0036
cases hw - 0037
cases hw_witness - 0038
cases hw_witness_right - 0039
exists x1 - 0040
split - 0041
split - 0042
exact hw_witness_left - 0043
exact hw_witness_right_left - 0044
intro hz - 0045
specialize ne_zero_of_one_le x1 - 0046
apply ne_zero_of_one_le - 0047
specialize le_of_succ_le_succ 1 - 0048
specialize le_of_succ_le_succ x1 - 0049
apply le_of_succ_le_succ - 0050
specialize le_trans 2 - 0051
specialize le_trans S x - 0052
specialize le_trans S x1 - 0053
apply le_trans - 0054
exact hn - 0055
exact hw_witness_right_right - 0056
exact hz