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
∀ p. ∀ t. ∀ r. ∀ s. ∀ b. ∀ c. ∀ z. ∀ d. (∀ x. Lt(x,p) → ∃ y. BetaAt(r,s,x,y) ∧ (Lt(y,p) ∧ ModEq(p,x + t,y))) → (∀ x. ∀ y. ∀ n. Lt(x,p) → BetaAt(r,s,x,y) → BetaAt(b,c,y,n) → BetaAt(z,d,x,n)) → ModularSetPullback(b,c,z,d,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 78 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–10
02Fix variables and assumptionsL11–15
03Establish hkL16–19
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hindices.
- L16
have hk : ∃ k. BetaAt(r,s,i,k) ∧ (Lt(k,p) ∧ ModEq(p,i + t,k))Definitions: BetaAt(r,s,i,k)Lt(k,p)ModEq(p,i + t,k)Original native command in the exact edition - L17
specialize hindices i - L18
apply hindices - L19
exact hi
04Separate the logical casesL20–22
05Establish heL23–32
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply mod eq bounded unique.
06Use earlier factsL33–40
07Calculate and transport equalitiesL41–42
08Separate the logical casesL43–43
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L43
split
09Fix variables and assumptionsL44–44
Work with arbitrary variables or the premises of the current implication.
- L44
intro ht
10Establish haL45–49
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at exists.
- L45
have ha : ∃ a. BetaAt(b,c,j,a)Definitions: BetaAt(b,c,j,a)Original native command in the exact edition - L46
specialize beta_at_exists b - L47
specialize beta_at_exists c - L48
specialize beta_at_exists j - L49
apply beta_at_exists
11Separate the logical casesL50–50
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L50
cases ha
12Establish hvL51–58
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hcompose.
13Establish honeL59–68
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at unique.
14Calculate and transport equalitiesL69–69
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L69
rewrite hone at ha_witness
15Use earlier factsL70–70
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L70
exact ha_witness
16Fix variables and assumptionsL71–71
Work with arbitrary variables or the premises of the current implication.
- L71
intro hs
Original defined command ledger · 78 lines
- 0001
intro p - 0002
intro t - 0003
intro r - 0004
intro s - 0005
intro b - 0006
intro c - 0007
intro z - 0008
intro d - 0009
intro hindices - 0010
intro hcompose - 0011
intro i - 0012
intro j - 0013
intro hi - 0014
intro hj - 0015
intro hmod - 0016
have hk : ∃ k. BetaAt(r,s,i,k) ∧ (Lt(k,p) ∧ ModEq(p,i + t,k)) - 0017
specialize hindices i - 0018
apply hindices - 0019
exact hi - 0020
cases hk - 0021
cases hk_witness - 0022
cases hk_witness_right - 0023
have he : x=j - 0024
specialize mod_eq_bounded_unique p - 0025
specialize mod_eq_bounded_unique x - 0026
specialize mod_eq_bounded_unique j - 0027
apply mod_eq_bounded_unique - 0028
exact hk_witness_right_left - 0029
exact hj - 0030
specialize mod_eq_trans p - 0031
specialize mod_eq_trans x - 0032
specialize mod_eq_trans i+t - 0033
specialize mod_eq_trans j - 0034
apply mod_eq_trans - 0035
specialize mod_eq_symm p - 0036
specialize mod_eq_symm i+t - 0037
specialize mod_eq_symm x - 0038
apply mod_eq_symm - 0039
exact hk_witness_right_right - 0040
exact hmod - 0041
rewrite he at hk_witness_left - 0042
rewrite he at hk_witness_left - 0043
split - 0044
intro ht - 0045
have ha : ∃ a. BetaAt(b,c,j,a) - 0046
specialize beta_at_exists b - 0047
specialize beta_at_exists c - 0048
specialize beta_at_exists j - 0049
apply beta_at_exists - 0050
cases ha - 0051
have hv : BetaAt(z,d,i,x1) - 0052
specialize hcompose i - 0053
specialize hcompose j - 0054
specialize hcompose x1 - 0055
apply hcompose - 0056
exact hi - 0057
exact hk_witness_left - 0058
exact ha_witness - 0059
have hone : x1=1 - 0060
specialize beta_at_unique z - 0061
specialize beta_at_unique d - 0062
specialize beta_at_unique i - 0063
specialize beta_at_unique x1 - 0064
specialize beta_at_unique 1 - 0065
apply beta_at_unique - 0066
exact hv - 0067
exact ht - 0068
rewrite hone at ha_witness - 0069
rewrite hone at ha_witness - 0070
exact ha_witness - 0071
intro hs - 0072
specialize hcompose i - 0073
specialize hcompose j - 0074
specialize hcompose 1 - 0075
apply hcompose - 0076
exact hi - 0077
exact hk_witness_left - 0078
exact hs