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. ∀ sb. ∀ sc. ∀ p. ∀ k. ∀ l. ∀ m. BitCount(b,c,p,k) → BitCount(sb,sc,p,m) → ModularSetSumCover(b,c,d,e,sb,sc,p) → ModularSetMember(d,e,p,0) → l = 1 → CauchyDavenportBound(p,k,l,m)
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 43 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–10
02Fix variables and assumptionsL11–15
03Separate the logical casesL16–16
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L16
right
04Calculate and transport equalitiesL17–17
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L17
rewrite hl
05Establish heL18–27
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply succ le succ.
06Use earlier factsL28–37
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L28
specialize finite_bit_count_subset_le p - L29
specialize finite_bit_count_subset_le k - L30
specialize finite_bit_count_subset_le m - L31
apply finite_bit_count_subset_le - L32
exact hA - L33
exact hS - L34
specialize finite_modular_zero_sum_left_subset b - L35
specialize finite_modular_zero_sum_left_subset c - L36
specialize finite_modular_zero_sum_left_subset d - L37
specialize finite_modular_zero_sum_left_subset e
07Use earlier factsL38–43
Instantiate or apply named facts and discharge the corresponding proof obligations.
Original defined command ledger · 43 lines
- 0001
intro b - 0002
intro c - 0003
intro d - 0004
intro e - 0005
intro sb - 0006
intro sc - 0007
intro p - 0008
intro k - 0009
intro l - 0010
intro m - 0011
intro hA - 0012
intro hS - 0013
intro hcover - 0014
intro hzero - 0015
intro hl - 0016
right - 0017
rewrite hl - 0018
have he : k+1=S k - 0019
simp - 0020
rewrite he - 0021
specialize succ_le_succ k - 0022
specialize succ_le_succ m - 0023
apply succ_le_succ - 0024
specialize finite_bit_count_subset_le b - 0025
specialize finite_bit_count_subset_le c - 0026
specialize finite_bit_count_subset_le sb - 0027
specialize finite_bit_count_subset_le sc - 0028
specialize finite_bit_count_subset_le p - 0029
specialize finite_bit_count_subset_le k - 0030
specialize finite_bit_count_subset_le m - 0031
apply finite_bit_count_subset_le - 0032
exact hA - 0033
exact hS - 0034
specialize finite_modular_zero_sum_left_subset b - 0035
specialize finite_modular_zero_sum_left_subset c - 0036
specialize finite_modular_zero_sum_left_subset d - 0037
specialize finite_modular_zero_sum_left_subset e - 0038
specialize finite_modular_zero_sum_left_subset sb - 0039
specialize finite_modular_zero_sum_left_subset sc - 0040
specialize finite_modular_zero_sum_left_subset p - 0041
apply finite_modular_zero_sum_left_subset - 0042
exact hcover - 0043
exact hzero