Documentation

ConNF.Background.PermutativeExtension

structure Rel.OrbitRestriction {α : Type u_1} (s : Set α) (β : Type u_2) :
Type (max u_1 u_2)

TODO: Fix the paper version of this.

Instances For
    theorem Rel.le_card_categorise {α : Type u_1} {β : Type u_2} {r : Rel α α} (R : Rel.OrbitRestriction (r.dom r.codom) β) (b : β) :
    Cardinal.mk ((r.dom r.codom) × ) Cardinal.mk (R.sandbox R.categorise ⁻¹' {b})
    def Rel.catInj {α : Type u_1} {β : Type u_2} {r : Rel α α} (R : Rel.OrbitRestriction (r.dom r.codom) β) (b : β) :
    (r.dom r.codom) × (R.sandbox R.categorise ⁻¹' {b})
    Equations
    Instances For
      theorem Rel.catInj_mem_sandbox {α : Type u_1} {β : Type u_2} {r : Rel α α} (R : Rel.OrbitRestriction (r.dom r.codom) β) (b : β) (x : (r.dom r.codom) × ) :
      ((Rel.catInj R b) x) R.sandbox
      @[simp]
      theorem Rel.categorise_catInj {α : Type u_1} {β : Type u_2} {r : Rel α α} (R : Rel.OrbitRestriction (r.dom r.codom) β) (b : β) (x : (r.dom r.codom) × ) :
      R.categorise ((Rel.catInj R b) x) = b
      theorem Rel.catInj_ne_of_mem {α : Type u_1} {β : Type u_2} {r : Rel α α} (R : Rel.OrbitRestriction (r.dom r.codom) β) (b : β) (x : (r.dom r.codom) × ) (a : α) (ha : a r.dom r.codom) :
      ((Rel.catInj R b) x) a
      theorem Rel.catInj_injective {α : Type u_1} {β : Type u_2} {r : Rel α α} {R : Rel.OrbitRestriction (r.dom r.codom) β} {b₁ b₂ : β} {x₁ x₂ : (r.dom r.codom) × } (h : ((Rel.catInj R b₁) x₁) = ((Rel.catInj R b₂) x₂)) :
      b₁ = b₂ x₁ = x₂
      @[simp]
      theorem Rel.catInj_inj {α : Type u_1} {β : Type u_2} {r : Rel α α} {R : Rel.OrbitRestriction (r.dom r.codom) β} {b₁ b₂ : β} {a₁ a₂ : α} {h₁ : a₁ r.dom r.codom} {h₂ : a₂ r.dom r.codom} {n₁ n₂ : } :
      ((Rel.catInj R b₁) (a₁, h₁, n₁)) = ((Rel.catInj R b₂) (a₂, h₂, n₂)) b₁ = b₂ a₁ = a₂ n₁ = n₂
      inductive Rel.newOrbits {α : Type u_1} {β : Type u_2} {r : Rel α α} (R : Rel.OrbitRestriction (r.dom r.codom) β) :
      Rel α α
      Instances For
        def Rel.permutativeExtension {α : Type u_1} {β : Type u_2} (r : Rel α α) (R : Rel.OrbitRestriction (r.dom r.codom) β) :
        Rel α α
        Equations
        Instances For
          theorem Rel.le_permutativeExtension {α : Type u_1} {β : Type u_2} (r : Rel α α) (R : Rel.OrbitRestriction (r.dom r.codom) β) :
          r r.permutativeExtension R
          theorem Rel.dom_permutativeExtension_subset {α : Type u_1} {β : Type u_2} (r : Rel α α) (R : Rel.OrbitRestriction (r.dom r.codom) β) :
          (r.permutativeExtension R).dom r.dom r.codom R.sandbox
          theorem Rel.dom_permutativeExtension_subset' {α : Type u_1} {β : Type u_2} (r : Rel α α) (R : Rel.OrbitRestriction (r.dom r.codom) β) :
          (r.permutativeExtension R).dom r.dom r.codom ((⋃ ar.dom, ⋃ (n : ), Subtype.val '' Set.range (Rel.catInj R ((⇑(Equiv.symm R.catPerm))^[n + 1] (R.categorise a)))) ar.codom, ⋃ (n : ), Subtype.val '' Set.range (Rel.catInj R ((⇑R.catPerm)^[n + 1] (R.categorise a))))
          theorem Rel.card_permutativeExtension {α : Type u_1} {β : Type u_2} (r : Rel α α) (R : Rel.OrbitRestriction (r.dom r.codom) β) (hr : r.Coinjective) :
          Cardinal.mk (r.permutativeExtension R).dom Cardinal.aleph0 Cardinal.mk r.dom
          theorem Rel.categorise_newOrbits {α : Type u_1} {β : Type u_2} {r : Rel α α} (R : Rel.OrbitRestriction (r.dom r.codom) β) {a₁ a₂ : α} (h : Rel.newOrbits R a₁ a₂) :
          R.categorise a₂ = R.catPerm (R.categorise a₁)
          theorem Rel.categorise_permutativeExtension {α : Type u_1} {β : Type u_2} {r : Rel α α} (R : Rel.OrbitRestriction (r.dom r.codom) β) {a₁ a₂ : α} (h : r.permutativeExtension R a₁ a₂) :
          r a₁ a₂ R.categorise a₂ = R.catPerm (R.categorise a₁)
          theorem Rel.newOrbits_injective {α : Type u_1} {β : Type u_2} {r : Rel α α} (R : Rel.OrbitRestriction (r.dom r.codom) β) :
          (Rel.newOrbits R).Injective
          theorem Rel.newOrbits_coinjective {α : Type u_1} {β : Type u_2} {r : Rel α α} (R : Rel.OrbitRestriction (r.dom r.codom) β) :
          (Rel.newOrbits R).Coinjective
          theorem Rel.newOrbits_oneOne {α : Type u_1} {β : Type u_2} {r : Rel α α} (R : Rel.OrbitRestriction (r.dom r.codom) β) :
          (Rel.newOrbits R).OneOne
          theorem Rel.permutativeExtension_codomEqDom {α : Type u_1} {β : Type u_2} {r : Rel α α} (R : Rel.OrbitRestriction (r.dom r.codom) β) :
          (r.permutativeExtension R).CodomEqDom
          theorem Rel.disjoint_newOrbits_dom {α : Type u_1} {β : Type u_2} {r : Rel α α} (R : Rel.OrbitRestriction (r.dom r.codom) β) :
          Disjoint r.dom (Rel.newOrbits R).dom
          theorem Rel.disjoint_newOrbits_codom {α : Type u_1} {β : Type u_2} {r : Rel α α} (R : Rel.OrbitRestriction (r.dom r.codom) β) :
          Disjoint r.codom (Rel.newOrbits R).codom
          theorem Rel.permutativeExtension_permutative {α : Type u_1} {β : Type u_2} {r : Rel α α} (R : Rel.OrbitRestriction (r.dom r.codom) β) (hr : r.OneOne) :
          (r.permutativeExtension R).Permutative
          theorem Rel.categorise_permutativeExtension_of_oneOne {α : Type u_1} {β : Type u_2} {r : Rel α α} (R : Rel.OrbitRestriction (r.dom r.codom) β) (hr : r.OneOne) {a₁ a₂ : α} (h : r.permutativeExtension R a₁ a₂) :
          r a₁ a₂ a₁r.dom a₂r.codom R.categorise a₂ = R.catPerm (R.categorise 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} :
            r r.permutativeExtension' hr s hs₁ hs₂ hs₃
            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
            theorem Rel.dom_permutativeExtension'_subset {α : 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₃).dom r.dom r.codom s