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) → ¬n = 0 → ∃ x. ModularSetMember(b,c,l,x)
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 28 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
02Use earlier factsL7–7
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L7
specialize zero_or_succ n
03Separate the logical casesL8–9
04Use earlier factsL10–11
05Separate the logical casesL12–12
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L12
cases zero_or_succ_right
06Calculate and transport equalitiesL13–14
07Establish hwL15–21
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply bit count positive last one.
- L15
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 - L16
specialize bit_count_positive_last_one b - L17
specialize bit_count_positive_last_one c - L18
specialize bit_count_positive_last_one l - L19
specialize bit_count_positive_last_one x - L20
apply bit_count_positive_last_one - L21
exact hcount
08Separate the logical casesL22–24
09Construct an explicit witnessL25–25
Supply the displayed value, then prove that it has the required property.
- L25
exists x1
10Separate the logical casesL26–26
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L26
split
Original defined command ledger · 28 lines
- 0001
intro b - 0002
intro c - 0003
intro l - 0004
intro n - 0005
intro hcount - 0006
intro hn - 0007
specialize zero_or_succ n - 0008
cases zero_or_succ - 0009
exfalso - 0010
apply hn - 0011
exact zero_or_succ_left - 0012
cases zero_or_succ_right - 0013
rewrite zero_or_succ_right_witness at hcount - 0014
rewrite zero_or_succ_right_witness at hcount - 0015
have hw : ∃ i. Lt(i,l) ∧ (BetaAt(b,c,i,1) ∧ Lt(x,S i)) - 0016
specialize bit_count_positive_last_one b - 0017
specialize bit_count_positive_last_one c - 0018
specialize bit_count_positive_last_one l - 0019
specialize bit_count_positive_last_one x - 0020
apply bit_count_positive_last_one - 0021
exact hcount - 0022
cases hw - 0023
cases hw_witness - 0024
cases hw_witness_right - 0025
exists x1 - 0026
split - 0027
exact hw_witness_left - 0028
exact hw_witness_right_left