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. ∀ tb. ∀ tc. ∀ ub. ∀ uc. ∀ p. ∀ t. ∀ v. ¬p = 0 → t + v = p → ModularSetPullback(d,e,tb,tc,p,v) → ModularSetUnion(b,c,tb,tc,ub,uc,p) → ∀ x. Lt(x,p) → (BetaAt(ub,uc,x,1) → BetaAt(b,c,x,1) ∨ (∃ y. ModularSetMember(d,e,p,y) ∧ ModEq(p,y + t,x))) ∧ (BetaAt(b,c,x,1) ∨ (∃ y. ModularSetMember(d,e,p,y) ∧ ModEq(p,y + t,x)) → BetaAt(ub,uc,x,1))
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 56 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 (1)
01Fix variables and assumptionsL1–10
02Fix variables and assumptionsL11–17
03Establish hshiftL18–27
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply finite modular pushforward membership witness.
- L18
have hshift : (BetaAt(tb,tc,z,1) → ∃ x. ModularSetMember(d,e,p,x) ∧ ModEq(p,x + t,z)) ∧ ((∃ x. ModularSetMember(d,e,p,x) ∧ ModEq(p,x + t,z)) → BetaAt(tb,tc,z,1))Definitions: BetaAt(tb,tc,z,1)ModularSetMember(d,e,p,x)ModEq(p,x + t,z)Original native command in the exact edition - L19
specialize finite_modular_pushforward_membership_witness d - L20
specialize finite_modular_pushforward_membership_witness e - L21
specialize finite_modular_pushforward_membership_witness tb - L22
specialize finite_modular_pushforward_membership_witness tc - L23
specialize finite_modular_pushforward_membership_witness p - L24
specialize finite_modular_pushforward_membership_witness t - L25
specialize finite_modular_pushforward_membership_witness v - L26
specialize finite_modular_pushforward_membership_witness z - L27
apply finite_modular_pushforward_membership_witness
04Use earlier factsL28–31
05Separate the logical casesL32–32
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L32
cases hshift
06Establish hunL33–36
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hunion.
- L33
have hun : (BetaAt(ub,uc,z,1) → BetaAt(b,c,z,1) ∨ BetaAt(tb,tc,z,1)) ∧ (BetaAt(b,c,z,1) ∨ BetaAt(tb,tc,z,1) → BetaAt(ub,uc,z,1))Definitions: BetaAt(ub,uc,z,1)BetaAt(b,c,z,1)BetaAt(tb,tc,z,1)Original native command in the exact edition - L34
specialize hunion z - L35
apply hunion - L36
exact hz
07Separate the logical casesL37–38
08Fix variables and assumptionsL39–39
Work with arbitrary variables or the premises of the current implication.
- L39
intro hu
09Establish hcaseL40–42
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hun left.
- L40
have hcase : BetaAt(b,c,z,1) ∨ BetaAt(tb,tc,z,1)Definitions: BetaAt(b,c,z,1)BetaAt(tb,tc,z,1)Original native command in the exact edition - L41
apply hun_left - L42
exact hu
10Separate the logical casesL43–44
11Use earlier factsL45–45
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L45
exact hcase_left
12Separate the logical casesL46–46
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L46
right
13Use earlier factsL47–48
14Fix variables and assumptionsL49–49
Work with arbitrary variables or the premises of the current implication.
- L49
intro hcase
15Use earlier factsL50–50
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L50
apply hun_right
16Separate the logical casesL51–52
17Use earlier factsL53–53
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L53
exact hcase_left
18Separate the logical casesL54–54
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L54
right
Original defined command ledger · 56 lines
- 0001
intro b - 0002
intro c - 0003
intro d - 0004
intro e - 0005
intro tb - 0006
intro tc - 0007
intro ub - 0008
intro uc - 0009
intro p - 0010
intro t - 0011
intro v - 0012
intro hp - 0013
intro htv - 0014
intro hpull - 0015
intro hunion - 0016
intro z - 0017
intro hz - 0018
have hshift : (BetaAt(tb,tc,z,1) → ∃ x. ModularSetMember(d,e,p,x) ∧ ModEq(p,x + t,z)) ∧ ((∃ x. ModularSetMember(d,e,p,x) ∧ ModEq(p,x + t,z)) → BetaAt(tb,tc,z,1)) - 0019
specialize finite_modular_pushforward_membership_witness d - 0020
specialize finite_modular_pushforward_membership_witness e - 0021
specialize finite_modular_pushforward_membership_witness tb - 0022
specialize finite_modular_pushforward_membership_witness tc - 0023
specialize finite_modular_pushforward_membership_witness p - 0024
specialize finite_modular_pushforward_membership_witness t - 0025
specialize finite_modular_pushforward_membership_witness v - 0026
specialize finite_modular_pushforward_membership_witness z - 0027
apply finite_modular_pushforward_membership_witness - 0028
exact hp - 0029
exact htv - 0030
exact hpull - 0031
exact hz - 0032
cases hshift - 0033
have hun : (BetaAt(ub,uc,z,1) → BetaAt(b,c,z,1) ∨ BetaAt(tb,tc,z,1)) ∧ (BetaAt(b,c,z,1) ∨ BetaAt(tb,tc,z,1) → BetaAt(ub,uc,z,1)) - 0034
specialize hunion z - 0035
apply hunion - 0036
exact hz - 0037
cases hun - 0038
split - 0039
intro hu - 0040
have hcase : BetaAt(b,c,z,1) ∨ BetaAt(tb,tc,z,1) - 0041
apply hun_left - 0042
exact hu - 0043
cases hcase - 0044
left - 0045
exact hcase_left - 0046
right - 0047
apply hshift_left - 0048
exact hcase_right - 0049
intro hcase - 0050
apply hun_right - 0051
cases hcase - 0052
left - 0053
exact hcase_left - 0054
right - 0055
apply hshift_right - 0056
exact hcase_right