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.
The original division, gcd, cancellation, and factor-existence foundations are exposed through checked wrappers. Unordered uniqueness adds an actual bounded, injective, surjective index map matching repeated prime occurrences. The empty factor list represents one, not zero.
Exact theorem in conservative defined notation
∀ b. ∀ c. ∀ d. ∀ e. ∀ u. ∀ v. ∀ U. ∀ V. ∀ l. ∀ p. FactorListMatching(b,c,d,e,u,v,l) → BetaAt(U,V,l,l) ∧ (∀ x. ∀ y. Lt(x,l) → BetaAt(u,v,x,y) → BetaAt(U,V,x,y)) → BetaAt(b,c,l,p) → BetaAt(d,e,l,p) → FactorListMatching(b,c,d,e,U,V,S l)
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 73 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–14
03Separate the logical casesL15–15
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L15
cases hext
04Fix variables and assumptionsL16–21
05Establish hcaseL22–26
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply finite lt succ eq or lt.
06Separate the logical casesL27–27
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L27
cases hcase
07Establish hjL28–37
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at unique.
08Use earlier factsL38–38
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L38
exact hext_left
09Establish haL39–48
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at unique.
10Use earlier factsL49–49
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L49
exact hleft
11Calculate and transport equalitiesL50–53
12Use earlier factsL54–54
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L54
exact hright
13Establish holdL55–64
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply factor permutation prefix reflect.
- L55
- L56
specialize factor_permutation_prefix_reflect (u) - L57
specialize factor_permutation_prefix_reflect (v) - L58
specialize factor_permutation_prefix_reflect (U) - L59
specialize factor_permutation_prefix_reflect (V) - L60
specialize factor_permutation_prefix_reflect (l) - L61
specialize factor_permutation_prefix_reflect (i) - L62
specialize factor_permutation_prefix_reflect (j) - L63
apply factor_permutation_prefix_reflect - L64
exact hext_right
Original defined command ledger · 73 lines
- 0001
intro b - 0002
intro c - 0003
intro d - 0004
intro e - 0005
intro u - 0006
intro v - 0007
intro U - 0008
intro V - 0009
intro l - 0010
intro p - 0011
intro hm - 0012
intro hext - 0013
intro hleft - 0014
intro hright - 0015
cases hext - 0016
intro i - 0017
intro j - 0018
intro a - 0019
intro hi - 0020
intro hmap - 0021
intro hsource - 0022
have hcase : i = l ∨ Lt(i,l) - 0023
specialize finite_lt_succ_eq_or_lt (l) - 0024
specialize finite_lt_succ_eq_or_lt (i) - 0025
apply finite_lt_succ_eq_or_lt - 0026
exact hi - 0027
cases hcase - 0028
have hj : j = l - 0029
specialize beta_at_unique (U) - 0030
specialize beta_at_unique (V) - 0031
specialize beta_at_unique (l) - 0032
specialize beta_at_unique (j) - 0033
specialize beta_at_unique (l) - 0034
apply beta_at_unique - 0035
rewrite hcase_left at hmap - 0036
rewrite hcase_left at hmap - 0037
exact hmap - 0038
exact hext_left - 0039
have ha : a = p - 0040
specialize beta_at_unique (b) - 0041
specialize beta_at_unique (c) - 0042
specialize beta_at_unique (l) - 0043
specialize beta_at_unique (a) - 0044
specialize beta_at_unique (p) - 0045
apply beta_at_unique - 0046
rewrite hcase_left at hsource - 0047
rewrite hcase_left at hsource - 0048
exact hsource - 0049
exact hleft - 0050
rewrite hj - 0051
rewrite hj - 0052
rewrite ha - 0053
rewrite ha - 0054
exact hright - 0055
have hold : BetaAt(u,v,i,j) - 0056
specialize factor_permutation_prefix_reflect (u) - 0057
specialize factor_permutation_prefix_reflect (v) - 0058
specialize factor_permutation_prefix_reflect (U) - 0059
specialize factor_permutation_prefix_reflect (V) - 0060
specialize factor_permutation_prefix_reflect (l) - 0061
specialize factor_permutation_prefix_reflect (i) - 0062
specialize factor_permutation_prefix_reflect (j) - 0063
apply factor_permutation_prefix_reflect - 0064
exact hext_right - 0065
exact hcase_right - 0066
exact hmap - 0067
specialize hm (i) - 0068
specialize hm (j) - 0069
specialize hm (a) - 0070
apply hm - 0071
exact hcase_right - 0072
exact hold - 0073
exact hsource