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) ∧ ModularSetIntersection(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 98 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 hcodeL10–16
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta pointwise mul prefix exists.
- L10
have hcode : ∃ u. ∃ v. ∀ fms_i_product. ∀ fms_a_product. ∀ fms_z_product. ∀ fms_w_product. Lt(fms_i_product,l) → BetaAt(b,c,fms_i_product,fms_a_product) → BetaAt(d,e,fms_i_product,fms_z_product) → BetaAt(u,v,fms_i_product,fms_w_product) → fms_w_product = fms_a_product · fms_z_productDefinitions: Lt(fms_i_product,l)BetaAt(b,c,fms_i_product,fms_a_product)BetaAt(d,e,fms_i_product,fms_z_product)BetaAt(u,v,fms_i_product,fms_w_product)Original native command in the exact edition - L11
specialize beta_pointwise_mul_prefix_exists b - L12
specialize beta_pointwise_mul_prefix_exists c - L13
specialize beta_pointwise_mul_prefix_exists d - L14
specialize beta_pointwise_mul_prefix_exists e - L15
specialize beta_pointwise_mul_prefix_exists l - L16
apply beta_pointwise_mul_prefix_exists
03Separate the logical casesL17–20
04Establish hbitsL21–23
Establish this local claim before using it. It is not an additional assumption.
- L21
have hbits : AllBits(x,x1,l)Definitions: AllBits(x,x1,l)Original native command in the exact edition - L22
intro i - L23
intro hi
05Establish haL24–28
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at exists.
- L24
have ha : ∃ a. BetaAt(b,c,i,a)Definitions: BetaAt(b,c,i,a)Original native command in the exact edition - L25
specialize beta_at_exists b - L26
specialize beta_at_exists c - L27
specialize beta_at_exists i - L28
apply beta_at_exists
06Separate the logical casesL29–29
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L29
cases ha
07Establish hbL30–34
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at exists.
- L30
have hb : ∃ a. BetaAt(d,e,i,a)Definitions: BetaAt(d,e,i,a)Original native command in the exact edition - L31
specialize beta_at_exists d - L32
specialize beta_at_exists e - L33
specialize beta_at_exists i - L34
apply beta_at_exists
08Separate the logical casesL35–35
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L35
cases hb
09Establish hwL36–40
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at exists.
- L36
have hw : ∃ a. BetaAt(x,x1,i,a)Definitions: BetaAt(x,x1,i,a)Original native command in the exact edition - L37
specialize beta_at_exists x - L38
specialize beta_at_exists x1 - L39
specialize beta_at_exists i - L40
apply beta_at_exists
10Separate the logical casesL41–41
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L41
cases hw
11Establish heL42–51
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hcode witness witness.
12Construct an explicit witnessL52–52
Supply the displayed value, then prove that it has the required property.
- L52
exists x4
13Separate the logical casesL53–53
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L53
split
14Use earlier factsL54–54
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L54
exact hw_witness
15Calculate and transport equalitiesL55–56
16Use earlier factsL57–66
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L57
specialize finite_bit_product_cases x2 - L58
specialize finite_bit_product_cases x3 - L59
apply finite_bit_product_cases - L60
specialize finite_bit_entry_cases b - L61
specialize finite_bit_entry_cases c - L62
specialize finite_bit_entry_cases l - L63
specialize finite_bit_entry_cases i - L64
specialize finite_bit_entry_cases x2 - L65
apply finite_bit_entry_cases - L66
exact hn_right
17Use earlier factsL67–76
Instantiate or apply named facts and discharge the corresponding proof obligations.
18Use earlier factsL77–77
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L77
exact hb_witness
19Establish hcountL78–83
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply bit count exists.
- L78
have hcount : ∃ q. BitCount(x,x1,l,q)Definitions: BitCount(x,x1,l,q)Original native command in the exact edition - L79
specialize bit_count_exists x - L80
specialize bit_count_exists x1 - L81
specialize bit_count_exists l - L82
apply bit_count_exists - L83
exact hbits
20Separate the logical casesL84–84
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L84
cases hcount
21Construct an explicit witnessL85–87
22Separate the logical casesL88–88
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L88
split
23Use earlier factsL89–98
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L89
exact hcount_witness - L90
specialize finite_bit_intersection_from_product b - L91
specialize finite_bit_intersection_from_product c - L92
specialize finite_bit_intersection_from_product d - L93
specialize finite_bit_intersection_from_product e - L94
specialize finite_bit_intersection_from_product x - L95
specialize finite_bit_intersection_from_product x1 - L96
specialize finite_bit_intersection_from_product l - L97
apply finite_bit_intersection_from_product - L98
exact hcode_witness_witness
Original defined command ledger · 98 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 hcode : ∃ u. ∃ v. ∀ fms_i_product. ∀ fms_a_product. ∀ fms_z_product. ∀ fms_w_product. Lt(fms_i_product,l) → BetaAt(b,c,fms_i_product,fms_a_product) → BetaAt(d,e,fms_i_product,fms_z_product) → BetaAt(u,v,fms_i_product,fms_w_product) → fms_w_product = fms_a_product · fms_z_product - 0011
specialize beta_pointwise_mul_prefix_exists b - 0012
specialize beta_pointwise_mul_prefix_exists c - 0013
specialize beta_pointwise_mul_prefix_exists d - 0014
specialize beta_pointwise_mul_prefix_exists e - 0015
specialize beta_pointwise_mul_prefix_exists l - 0016
apply beta_pointwise_mul_prefix_exists - 0017
cases hcode - 0018
cases hcode_witness - 0019
cases hn - 0020
cases hm - 0021
have hbits : AllBits(x,x1,l) - 0022
intro i - 0023
intro hi - 0024
have ha : ∃ a. BetaAt(b,c,i,a) - 0025
specialize beta_at_exists b - 0026
specialize beta_at_exists c - 0027
specialize beta_at_exists i - 0028
apply beta_at_exists - 0029
cases ha - 0030
have hb : ∃ a. BetaAt(d,e,i,a) - 0031
specialize beta_at_exists d - 0032
specialize beta_at_exists e - 0033
specialize beta_at_exists i - 0034
apply beta_at_exists - 0035
cases hb - 0036
have hw : ∃ a. BetaAt(x,x1,i,a) - 0037
specialize beta_at_exists x - 0038
specialize beta_at_exists x1 - 0039
specialize beta_at_exists i - 0040
apply beta_at_exists - 0041
cases hw - 0042
have he : x4=x2*x3 - 0043
specialize hcode_witness_witness i - 0044
specialize hcode_witness_witness x2 - 0045
specialize hcode_witness_witness x3 - 0046
specialize hcode_witness_witness x4 - 0047
apply hcode_witness_witness - 0048
exact hi - 0049
exact ha_witness - 0050
exact hb_witness - 0051
exact hw_witness - 0052
exists x4 - 0053
split - 0054
exact hw_witness - 0055
rewrite he - 0056
rewrite he - 0057
specialize finite_bit_product_cases x2 - 0058
specialize finite_bit_product_cases x3 - 0059
apply finite_bit_product_cases - 0060
specialize finite_bit_entry_cases b - 0061
specialize finite_bit_entry_cases c - 0062
specialize finite_bit_entry_cases l - 0063
specialize finite_bit_entry_cases i - 0064
specialize finite_bit_entry_cases x2 - 0065
apply finite_bit_entry_cases - 0066
exact hn_right - 0067
exact hi - 0068
exact ha_witness - 0069
specialize finite_bit_entry_cases d - 0070
specialize finite_bit_entry_cases e - 0071
specialize finite_bit_entry_cases l - 0072
specialize finite_bit_entry_cases i - 0073
specialize finite_bit_entry_cases x3 - 0074
apply finite_bit_entry_cases - 0075
exact hm_right - 0076
exact hi - 0077
exact hb_witness - 0078
have hcount : ∃ q. BitCount(x,x1,l,q) - 0079
specialize bit_count_exists x - 0080
specialize bit_count_exists x1 - 0081
specialize bit_count_exists l - 0082
apply bit_count_exists - 0083
exact hbits - 0084
cases hcount - 0085
exists x - 0086
exists x1 - 0087
exists x2 - 0088
split - 0089
exact hcount_witness - 0090
specialize finite_bit_intersection_from_product b - 0091
specialize finite_bit_intersection_from_product c - 0092
specialize finite_bit_intersection_from_product d - 0093
specialize finite_bit_intersection_from_product e - 0094
specialize finite_bit_intersection_from_product x - 0095
specialize finite_bit_intersection_from_product x1 - 0096
specialize finite_bit_intersection_from_product l - 0097
apply finite_bit_intersection_from_product - 0098
exact hcode_witness_witness