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. ∀ l. ∀ n. ∀ m. BitCount(b,c,l,n) → BitCount(d,e,l,m) → ∃ x. ∃ y. ∃ z. BitCount(x,y,l,z) ∧ ModularSetUnion(b,c,d,e,x,y,l)
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 87 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 (3)
01Fix variables and assumptionsL1–9
02Establish hAL10–16
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply finite bit complement exists.
- L10
have hA : ∃ u. ∃ v. ∃ q. BitCount(u,v,l,q) ∧ ((∀ x. ∀ y. ∀ z. Lt(x,l) → BetaAt(b,c,x,y) → BetaAt(u,v,x,z) → y = 0 ∧ z = 1 ∨ y = 1 ∧ z = 0) ∧ n + q = l)Definitions: BitCount(u,v,l,q)Lt(x,l)BetaAt(b,c,x,y)BetaAt(u,v,x,z)Original native command in the exact edition - L11
specialize finite_bit_complement_exists b - L12
specialize finite_bit_complement_exists c - L13
specialize finite_bit_complement_exists l - L14
specialize finite_bit_complement_exists n - L15
apply finite_bit_complement_exists - L16
exact hn
03Separate the logical casesL17–21
04Establish hBL22–28
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply finite bit complement exists.
- L22
have hB : ∃ u. ∃ v. ∃ q. BitCount(u,v,l,q) ∧ ((∀ x. ∀ y. ∀ z. Lt(x,l) → BetaAt(d,e,x,y) → BetaAt(u,v,x,z) → y = 0 ∧ z = 1 ∨ y = 1 ∧ z = 0) ∧ m + q = l)Definitions: BitCount(u,v,l,q)Lt(x,l)BetaAt(d,e,x,y)BetaAt(u,v,x,z)Original native command in the exact edition - L23
specialize finite_bit_complement_exists d - L24
specialize finite_bit_complement_exists e - L25
specialize finite_bit_complement_exists l - L26
specialize finite_bit_complement_exists m - L27
apply finite_bit_complement_exists - L28
exact hm
05Separate the logical casesL29–33
06Establish hIL34–43
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply finite bit intersection exists.
- L34
have hI : ∃ u. ∃ v. ∃ q. BitCount(u,v,l,q) ∧ ModularSetIntersection(x,x1,x3,x4,u,v,l)Definitions: BitCount(u,v,l,q)ModularSetIntersection(x,x1,x3,x4,u,v,l)Original native command in the exact edition - L35
specialize finite_bit_intersection_exists x - L36
specialize finite_bit_intersection_exists x1 - L37
specialize finite_bit_intersection_exists x3 - L38
specialize finite_bit_intersection_exists x4 - L39
specialize finite_bit_intersection_exists l - L40
specialize finite_bit_intersection_exists x2 - L41
specialize finite_bit_intersection_exists x5 - L42
apply finite_bit_intersection_exists - L43
exact hA_witness_witness_witness_left
07Use earlier factsL44–44
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L44
exact hB_witness_witness_witness_left
08Separate the logical casesL45–48
09Establish hUL49–55
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply finite bit complement exists.
- L49
have hU : ∃ u. ∃ v. ∃ q. BitCount(u,v,l,q) ∧ ((∀ x. ∀ y. ∀ z. Lt(x,l) → BetaAt(x6,x7,x,y) → BetaAt(u,v,x,z) → y = 0 ∧ z = 1 ∨ y = 1 ∧ z = 0) ∧ x8 + q = l)Definitions: BitCount(u,v,l,q)Lt(x,l)BetaAt(x6,x7,x,y)BetaAt(u,v,x,z)Original native command in the exact edition - L50
specialize finite_bit_complement_exists x6 - L51
specialize finite_bit_complement_exists x7 - L52
specialize finite_bit_complement_exists l - L53
specialize finite_bit_complement_exists x8 - L54
apply finite_bit_complement_exists - L55
exact hI_witness_witness_witness_left
10Separate the logical casesL56–60
11Construct an explicit witnessL61–63
12Separate the logical casesL64–64
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L64
split
13Use earlier factsL65–65
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L65
exact hU_witness_witness_witness_left
14Separate the logical casesL66–67
15Use earlier factsL68–77
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L68
specialize finite_bit_union_of_complements b - L69
specialize finite_bit_union_of_complements c - L70
specialize finite_bit_union_of_complements d - L71
specialize finite_bit_union_of_complements e - L72
specialize finite_bit_union_of_complements x - L73
specialize finite_bit_union_of_complements x1 - L74
specialize finite_bit_union_of_complements x3 - L75
specialize finite_bit_union_of_complements x4 - L76
specialize finite_bit_union_of_complements x6 - L77
specialize finite_bit_union_of_complements x7
16Use earlier factsL78–87
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L78
specialize finite_bit_union_of_complements x9 - L79
specialize finite_bit_union_of_complements x10 - L80
specialize finite_bit_union_of_complements l - L81
apply finite_bit_union_of_complements - L82
exact hn_right - L83
exact hm_right - L84
exact hA_witness_witness_witness_right_left - L85
exact hB_witness_witness_witness_right_left - L86
exact hI_witness_witness_witness_right - L87
exact hU_witness_witness_witness_right_left
Original defined command ledger · 87 lines
- 0001
intro b - 0002
intro c - 0003
intro d - 0004
intro e - 0005
intro l - 0006
intro n - 0007
intro m - 0008
intro hn - 0009
intro hm - 0010
have hA : ∃ u. ∃ v. ∃ q. BitCount(u,v,l,q) ∧ ((∀ x. ∀ y. ∀ z. Lt(x,l) → BetaAt(b,c,x,y) → BetaAt(u,v,x,z) → y = 0 ∧ z = 1 ∨ y = 1 ∧ z = 0) ∧ n + q = l) - 0011
specialize finite_bit_complement_exists b - 0012
specialize finite_bit_complement_exists c - 0013
specialize finite_bit_complement_exists l - 0014
specialize finite_bit_complement_exists n - 0015
apply finite_bit_complement_exists - 0016
exact hn - 0017
cases hA - 0018
cases hA_witness - 0019
cases hA_witness_witness - 0020
cases hA_witness_witness_witness - 0021
cases hA_witness_witness_witness_right - 0022
have hB : ∃ u. ∃ v. ∃ q. BitCount(u,v,l,q) ∧ ((∀ x. ∀ y. ∀ z. Lt(x,l) → BetaAt(d,e,x,y) → BetaAt(u,v,x,z) → y = 0 ∧ z = 1 ∨ y = 1 ∧ z = 0) ∧ m + q = l) - 0023
specialize finite_bit_complement_exists d - 0024
specialize finite_bit_complement_exists e - 0025
specialize finite_bit_complement_exists l - 0026
specialize finite_bit_complement_exists m - 0027
apply finite_bit_complement_exists - 0028
exact hm - 0029
cases hB - 0030
cases hB_witness - 0031
cases hB_witness_witness - 0032
cases hB_witness_witness_witness - 0033
cases hB_witness_witness_witness_right - 0034
have hI : ∃ u. ∃ v. ∃ q. BitCount(u,v,l,q) ∧ ModularSetIntersection(x,x1,x3,x4,u,v,l) - 0035
specialize finite_bit_intersection_exists x - 0036
specialize finite_bit_intersection_exists x1 - 0037
specialize finite_bit_intersection_exists x3 - 0038
specialize finite_bit_intersection_exists x4 - 0039
specialize finite_bit_intersection_exists l - 0040
specialize finite_bit_intersection_exists x2 - 0041
specialize finite_bit_intersection_exists x5 - 0042
apply finite_bit_intersection_exists - 0043
exact hA_witness_witness_witness_left - 0044
exact hB_witness_witness_witness_left - 0045
cases hI - 0046
cases hI_witness - 0047
cases hI_witness_witness - 0048
cases hI_witness_witness_witness - 0049
have hU : ∃ u. ∃ v. ∃ q. BitCount(u,v,l,q) ∧ ((∀ x. ∀ y. ∀ z. Lt(x,l) → BetaAt(x6,x7,x,y) → BetaAt(u,v,x,z) → y = 0 ∧ z = 1 ∨ y = 1 ∧ z = 0) ∧ x8 + q = l) - 0050
specialize finite_bit_complement_exists x6 - 0051
specialize finite_bit_complement_exists x7 - 0052
specialize finite_bit_complement_exists l - 0053
specialize finite_bit_complement_exists x8 - 0054
apply finite_bit_complement_exists - 0055
exact hI_witness_witness_witness_left - 0056
cases hU - 0057
cases hU_witness - 0058
cases hU_witness_witness - 0059
cases hU_witness_witness_witness - 0060
cases hU_witness_witness_witness_right - 0061
exists x9 - 0062
exists x10 - 0063
exists x11 - 0064
split - 0065
exact hU_witness_witness_witness_left - 0066
cases hn - 0067
cases hm - 0068
specialize finite_bit_union_of_complements b - 0069
specialize finite_bit_union_of_complements c - 0070
specialize finite_bit_union_of_complements d - 0071
specialize finite_bit_union_of_complements e - 0072
specialize finite_bit_union_of_complements x - 0073
specialize finite_bit_union_of_complements x1 - 0074
specialize finite_bit_union_of_complements x3 - 0075
specialize finite_bit_union_of_complements x4 - 0076
specialize finite_bit_union_of_complements x6 - 0077
specialize finite_bit_union_of_complements x7 - 0078
specialize finite_bit_union_of_complements x9 - 0079
specialize finite_bit_union_of_complements x10 - 0080
specialize finite_bit_union_of_complements l - 0081
apply finite_bit_union_of_complements - 0082
exact hn_right - 0083
exact hm_right - 0084
exact hA_witness_witness_witness_right_left - 0085
exact hB_witness_witness_witness_right_left - 0086
exact hI_witness_witness_witness_right - 0087
exact hU_witness_witness_witness_right_left