TODO: Fix the paper version of this.
- sandbox : Set α
- categorise : α → β
- catPerm : Equiv.Perm β
- le_card_categorise (b : β) : Cardinal.aleph0 ⊔ Cardinal.mk ↑s ≤ Cardinal.mk ↑(self.sandbox ∩ self.categorise ⁻¹' {b})
Instances For
theorem
Rel.le_card_categorise
{α : Type u_1}
{β : Type u_2}
{r : Rel α α}
(R : OrbitRestriction (r.dom ∪ r.codom) β)
(b : β)
:
def
Rel.catInj
{α : Type u_1}
{β : Type u_2}
{r : Rel α α}
(R : OrbitRestriction (r.dom ∪ r.codom) β)
(b : β)
:
Equations
- Rel.catInj R b = Nonempty.some ⋯
Instances For
@[simp]
inductive
Rel.newOrbits
{α : Type u_1}
{β : Type u_2}
{r : Rel α α}
(R : OrbitRestriction (r.dom ∪ r.codom) β)
:
Rel α α
- left {α : Type u_1} {β : Type u_2} {r : Rel α α} {R : OrbitRestriction (r.dom ∪ r.codom) β} (a : α) (had : a ∈ r.dom) (hac : a ∉ r.codom) : newOrbits R (↑((catInj R ((Equiv.symm R.catPerm) (R.categorise a))) (⟨a, ⋯⟩, 0))) a
- leftStep {α : Type u_1} {β : Type u_2} {r : Rel α α} {R : OrbitRestriction (r.dom ∪ r.codom) β} (n : ℕ) (a : α) (had : a ∈ r.dom) (hac : a ∉ r.codom) : newOrbits R ↑((catInj R ((⇑(Equiv.symm R.catPerm))^[n + 2] (R.categorise a))) (⟨a, ⋯⟩, n + 1)) ↑((catInj R ((⇑(Equiv.symm R.catPerm))^[n + 1] (R.categorise a))) (⟨a, ⋯⟩, n))
- right {α : Type u_1} {β : Type u_2} {r : Rel α α} {R : OrbitRestriction (r.dom ∪ r.codom) β} (a : α) (had : a ∉ r.dom) (hac : a ∈ r.codom) : newOrbits R a ↑((catInj R (R.catPerm (R.categorise a))) (⟨a, ⋯⟩, 0))
- rightStep {α : Type u_1} {β : Type u_2} {r : Rel α α} {R : OrbitRestriction (r.dom ∪ r.codom) β} (n : ℕ) (a : α) (had : a ∉ r.dom) (hac : a ∈ r.codom) : newOrbits R ↑((catInj R ((⇑R.catPerm)^[n + 1] (R.categorise a))) (⟨a, ⋯⟩, n)) ↑((catInj R ((⇑R.catPerm)^[n + 2] (R.categorise a))) (⟨a, ⋯⟩, n + 1))
Instances For
def
Rel.permutativeExtension
{α : Type u_1}
{β : Type u_2}
(r : Rel α α)
(R : OrbitRestriction (r.dom ∪ r.codom) β)
:
Rel α α
Equations
- r.permutativeExtension R = r ⊔ Rel.newOrbits R
Instances For
theorem
Rel.le_permutativeExtension
{α : Type u_1}
{β : Type u_2}
(r : Rel α α)
(R : OrbitRestriction (r.dom ∪ r.codom) β)
:
theorem
Rel.dom_permutativeExtension_subset'
{α : Type u_1}
{β : Type u_2}
(r : Rel α α)
(R : OrbitRestriction (r.dom ∪ r.codom) β)
:
theorem
Rel.card_permutativeExtension
{α : Type u_1}
{β : Type u_2}
(r : Rel α α)
(R : OrbitRestriction (r.dom ∪ r.codom) β)
(hr : r.Coinjective)
:
theorem
Rel.categorise_newOrbits
{α : Type u_1}
{β : Type u_2}
{r : Rel α α}
(R : OrbitRestriction (r.dom ∪ r.codom) β)
{a₁ a₂ : α}
(h : newOrbits R a₁ a₂)
:
theorem
Rel.categorise_permutativeExtension
{α : Type u_1}
{β : Type u_2}
{r : Rel α α}
(R : OrbitRestriction (r.dom ∪ r.codom) β)
{a₁ a₂ : α}
(h : r.permutativeExtension R a₁ a₂)
:
theorem
Rel.newOrbits_coinjective
{α : Type u_1}
{β : Type u_2}
{r : Rel α α}
(R : OrbitRestriction (r.dom ∪ r.codom) β)
:
(newOrbits R).Coinjective
theorem
Rel.permutativeExtension_codomEqDom
{α : Type u_1}
{β : Type u_2}
{r : Rel α α}
(R : OrbitRestriction (r.dom ∪ r.codom) β)
:
theorem
Rel.permutativeExtension_permutative
{α : Type u_1}
{β : Type u_2}
{r : Rel α α}
(R : OrbitRestriction (r.dom ∪ r.codom) β)
(hr : r.OneOne)
:
theorem
Rel.categorise_permutativeExtension_of_oneOne
{α : Type u_1}
{β : Type u_2}
{r : Rel α α}
(R : OrbitRestriction (r.dom ∪ r.codom) β)
(hr : r.OneOne)
{a₁ a₂ : α}
(h : r.permutativeExtension R a₁ a₂)
:
TODO: Strengthen statement in blueprint version.
def
Rel.permutativeExtension'
{α : Type u_1}
(r : Rel α α)
(hr : r.OneOne)
(s : Set α)
(hs₁ : s.Infinite)
(hs₂ : Cardinal.mk ↑r.dom ≤ Cardinal.mk ↑s)
(hs₃ : Disjoint (r.dom ∪ r.codom) s)
:
Rel α α
Equations
- r.permutativeExtension' hr s hs₁ hs₂ hs₃ = r.permutativeExtension { sandbox := s, sandbox_disjoint := hs₃, categorise := fun (x : α) => (), catPerm := 1, le_card_categorise := ⋯ }
Instances For
theorem
Rel.le_permutativeExtension'
{α : Type u_1}
{r : Rel α α}
{hr : r.OneOne}
{s : Set α}
{hs₁ : s.Infinite}
{hs₂ : Cardinal.mk ↑r.dom ≤ Cardinal.mk ↑s}
{hs₃ : Disjoint (r.dom ∪ r.codom) s}
:
theorem
Rel.permutativeExtension'_permutative
{α : Type u_1}
{r : Rel α α}
{hr : r.OneOne}
{s : Set α}
{hs₁ : s.Infinite}
{hs₂ : Cardinal.mk ↑r.dom ≤ Cardinal.mk ↑s}
{hs₃ : Disjoint (r.dom ∪ r.codom) s}
:
(r.permutativeExtension' hr s hs₁ hs₂ hs₃).Permutative