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. ∀ p. ∀ n. ∀ t. ¬p = 0 → BitCount(b,c,p,n) → ∃ x. ∃ y. BitCount(x,y,p,n) ∧ ModularSetPullback(b,c,x,y,p,t)
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 88 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 (5)
01Fix variables and assumptionsL1–7
02Establish hindicesL8–13
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply finite modular translation indices exists.
- L8
have hindices : ∃ r. ∃ s. ∀ fms_i_indices. Lt(fms_i_indices,p) → ∃ x. BetaAt(r,s,fms_i_indices,x) ∧ (Lt(x,p) ∧ ModEq(p,fms_i_indices + t,x))Definitions: Lt(fms_i_indices,p)BetaAt(r,s,fms_i_indices,x)Lt(x,p)ModEq(p,fms_i_indices + t,x)Original native command in the exact edition - L9
specialize finite_modular_translation_indices_exists p - L10
specialize finite_modular_translation_indices_exists t - L11
specialize finite_modular_translation_indices_exists p - L12
apply finite_modular_translation_indices_exists - L13
exact hp
03Separate the logical casesL14–15
04Establish hcomposeL16–22
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply finite beta composition exists.
- L16
have hcompose : ∃ z. ∃ d. ∀ fms_i_compose. ∀ fms_j_compose. ∀ fms_v_compose. Lt(fms_i_compose,p) → BetaAt(x,x1,fms_i_compose,fms_j_compose) → BetaAt(b,c,fms_j_compose,fms_v_compose) → BetaAt(z,d,fms_i_compose,fms_v_compose)Definitions: Lt(fms_i_compose,p)BetaAt(x,x1,fms_i_compose,fms_j_compose)BetaAt(b,c,fms_j_compose,fms_v_compose)BetaAt(z,d,fms_i_compose,fms_v_compose)Original native command in the exact edition - L17
specialize finite_beta_composition_exists x - L18
specialize finite_beta_composition_exists x1 - L19
specialize finite_beta_composition_exists b - L20
specialize finite_beta_composition_exists c - L21
specialize finite_beta_composition_exists p - L22
apply finite_beta_composition_exists
05Separate the logical casesL23–24
06Establish hbitsL25–34
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply finite modular composition all bits.
- L25
have hbits : AllBits(x2,x3,p)Definitions: AllBits(x2,x3,p)Original native command in the exact edition - L26
specialize finite_modular_composition_all_bits p - L27
specialize finite_modular_composition_all_bits t - L28
specialize finite_modular_composition_all_bits x - L29
specialize finite_modular_composition_all_bits x1 - L30
specialize finite_modular_composition_all_bits b - L31
specialize finite_modular_composition_all_bits c - L32
specialize finite_modular_composition_all_bits x2 - L33
specialize finite_modular_composition_all_bits x3 - L34
apply finite_modular_composition_all_bits
07Use earlier factsL35–36
08Separate the logical casesL37–37
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L37
cases hn
09Use earlier factsL38–38
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L38
exact hn_right
10Establish hmL39–44
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply bit count exists.
- L39
have hm : ∃ m. BitCount(x2,x3,p,m)Definitions: BitCount(x2,x3,p,m)Original native command in the exact edition - L40
specialize bit_count_exists x2 - L41
specialize bit_count_exists x3 - L42
specialize bit_count_exists p - L43
apply bit_count_exists - L44
exact hbits
11Separate the logical casesL45–45
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L45
cases hm
12Establish heL46–46
Establish this local claim before using it. It is not an additional assumption.
- L46
have he : n=x4
13Establish hpermutationL47–53
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply finite modular translation indices permutation.
- L47
have hpermutation : (∀ y. Lt(y,p) → ∃ z. BetaAt(x,x1,y,z) ∧ Lt(z,p)) ∧ (∀ y. ∀ z. ∀ n. Lt(y,p) → Lt(z,p) → BetaAt(x,x1,y,n) → BetaAt(x,x1,z,n) → y = z)Definitions: Lt(y,p)BetaAt(x,x1,y,z)Lt(z,p)BetaAt(x,x1,y,n)BetaAt(x,x1,z,n)Original native command in the exact edition - L48
specialize finite_modular_translation_indices_permutation p - L49
specialize finite_modular_translation_indices_permutation t - L50
specialize finite_modular_translation_indices_permutation x - L51
specialize finite_modular_translation_indices_permutation x1 - L52
apply finite_modular_translation_indices_permutation - L53
exact hindices_witness_witness
14Separate the logical casesL54–56
15Use earlier factsL57–66
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L57
specialize beta_sum_permutation_invariant p - L58
specialize beta_sum_permutation_invariant x - L59
specialize beta_sum_permutation_invariant x1 - L60
specialize beta_sum_permutation_invariant b - L61
specialize beta_sum_permutation_invariant c - L62
specialize beta_sum_permutation_invariant x2 - L63
specialize beta_sum_permutation_invariant x3 - L64
specialize beta_sum_permutation_invariant n - L65
specialize beta_sum_permutation_invariant x4 - L66
apply beta_sum_permutation_invariant
16Use earlier factsL67–71
17Construct an explicit witnessL72–73
18Separate the logical casesL74–74
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L74
split
19Calculate and transport equalitiesL75–76
20Use earlier factsL77–86
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L77
exact hm_witness - L78
specialize finite_modular_composition_pullback p - L79
specialize finite_modular_composition_pullback t - L80
specialize finite_modular_composition_pullback x - L81
specialize finite_modular_composition_pullback x1 - L82
specialize finite_modular_composition_pullback b - L83
specialize finite_modular_composition_pullback c - L84
specialize finite_modular_composition_pullback x2 - L85
specialize finite_modular_composition_pullback x3 - L86
apply finite_modular_composition_pullback
Original defined command ledger · 88 lines
- 0001
intro b - 0002
intro c - 0003
intro p - 0004
intro n - 0005
intro t - 0006
intro hp - 0007
intro hn - 0008
have hindices : ∃ r. ∃ s. ∀ fms_i_indices. Lt(fms_i_indices,p) → ∃ x. BetaAt(r,s,fms_i_indices,x) ∧ (Lt(x,p) ∧ ModEq(p,fms_i_indices + t,x)) - 0009
specialize finite_modular_translation_indices_exists p - 0010
specialize finite_modular_translation_indices_exists t - 0011
specialize finite_modular_translation_indices_exists p - 0012
apply finite_modular_translation_indices_exists - 0013
exact hp - 0014
cases hindices - 0015
cases hindices_witness - 0016
have hcompose : ∃ z. ∃ d. ∀ fms_i_compose. ∀ fms_j_compose. ∀ fms_v_compose. Lt(fms_i_compose,p) → BetaAt(x,x1,fms_i_compose,fms_j_compose) → BetaAt(b,c,fms_j_compose,fms_v_compose) → BetaAt(z,d,fms_i_compose,fms_v_compose) - 0017
specialize finite_beta_composition_exists x - 0018
specialize finite_beta_composition_exists x1 - 0019
specialize finite_beta_composition_exists b - 0020
specialize finite_beta_composition_exists c - 0021
specialize finite_beta_composition_exists p - 0022
apply finite_beta_composition_exists - 0023
cases hcompose - 0024
cases hcompose_witness - 0025
have hbits : AllBits(x2,x3,p) - 0026
specialize finite_modular_composition_all_bits p - 0027
specialize finite_modular_composition_all_bits t - 0028
specialize finite_modular_composition_all_bits x - 0029
specialize finite_modular_composition_all_bits x1 - 0030
specialize finite_modular_composition_all_bits b - 0031
specialize finite_modular_composition_all_bits c - 0032
specialize finite_modular_composition_all_bits x2 - 0033
specialize finite_modular_composition_all_bits x3 - 0034
apply finite_modular_composition_all_bits - 0035
exact hindices_witness_witness - 0036
exact hcompose_witness_witness - 0037
cases hn - 0038
exact hn_right - 0039
have hm : ∃ m. BitCount(x2,x3,p,m) - 0040
specialize bit_count_exists x2 - 0041
specialize bit_count_exists x3 - 0042
specialize bit_count_exists p - 0043
apply bit_count_exists - 0044
exact hbits - 0045
cases hm - 0046
have he : n=x4 - 0047
have hpermutation : (∀ y. Lt(y,p) → ∃ z. BetaAt(x,x1,y,z) ∧ Lt(z,p)) ∧ (∀ y. ∀ z. ∀ n. Lt(y,p) → Lt(z,p) → BetaAt(x,x1,y,n) → BetaAt(x,x1,z,n) → y = z) - 0048
specialize finite_modular_translation_indices_permutation p - 0049
specialize finite_modular_translation_indices_permutation t - 0050
specialize finite_modular_translation_indices_permutation x - 0051
specialize finite_modular_translation_indices_permutation x1 - 0052
apply finite_modular_translation_indices_permutation - 0053
exact hindices_witness_witness - 0054
cases hpermutation - 0055
cases hn - 0056
cases hm_witness - 0057
specialize beta_sum_permutation_invariant p - 0058
specialize beta_sum_permutation_invariant x - 0059
specialize beta_sum_permutation_invariant x1 - 0060
specialize beta_sum_permutation_invariant b - 0061
specialize beta_sum_permutation_invariant c - 0062
specialize beta_sum_permutation_invariant x2 - 0063
specialize beta_sum_permutation_invariant x3 - 0064
specialize beta_sum_permutation_invariant n - 0065
specialize beta_sum_permutation_invariant x4 - 0066
apply beta_sum_permutation_invariant - 0067
exact hpermutation_left - 0068
exact hpermutation_right - 0069
exact hcompose_witness_witness - 0070
exact hn_left - 0071
exact hm_witness_left - 0072
exists x2 - 0073
exists x3 - 0074
split - 0075
rewrite he - 0076
rewrite he - 0077
exact hm_witness - 0078
specialize finite_modular_composition_pullback p - 0079
specialize finite_modular_composition_pullback t - 0080
specialize finite_modular_composition_pullback x - 0081
specialize finite_modular_composition_pullback x1 - 0082
specialize finite_modular_composition_pullback b - 0083
specialize finite_modular_composition_pullback c - 0084
specialize finite_modular_composition_pullback x2 - 0085
specialize finite_modular_composition_pullback x3 - 0086
apply finite_modular_composition_pullback - 0087
exact hindices_witness_witness - 0088
exact hcompose_witness_witness