Documentation

ConNF.ModelData.Support

Supports #

In this file, we define the notion of a support.

Main declarations #

Base supports #

Instances For
    @[simp]
    theorem ConNF.BaseSupport.mk_atoms [Params] {a : Enumeration Atom} {N : Enumeration NearLitter} :
    { atoms := a, nearLitters := N }ᴬ = a
    @[simp]
    theorem ConNF.BaseSupport.mk_nearLitters [Params] {a : Enumeration Atom} {N : Enumeration NearLitter} :
    { atoms := a, nearLitters := N }ᴺ = N
    theorem ConNF.BaseSupport.ext [Params] {S T : BaseSupport} (h₁ : Sᴬ = Tᴬ) (h₂ : Sᴺ = Tᴺ) :
    S = T
    @[simp]
    @[simp]
    theorem ConNF.BaseSupport.smul_eq_smul_iff [Params] (π₁ π₂ : BasePerm) (S : BaseSupport) :
    π₁ • S = π₂ • S ↔ (∀ a ∈ Sᴬ, π₁ • a = π₂ • a) ∧ ∀ N ∈ Sᴺ, π₁ • N = π₂ • N
    theorem ConNF.BaseSupport.smul_eq_iff [Params] (π : BasePerm) (S : BaseSupport) :
    π • S = S ↔ (∀ a ∈ Sᴬ, π • a = a) ∧ ∀ N ∈ Sᴺ, π • N = N
    Equations
    @[simp]
    Equations
    • One or more equations did not get rendered due to their size.
    Instances For

      Structural supports #

      structure ConNF.Support [Params] (α : TypeIndex) :
      Instances For
        @[simp]
        theorem ConNF.Support.mk_atoms [Params] {α : TypeIndex} (E : Enumeration (α ↝ ⊥ × Atom)) (F : Enumeration (α ↝ ⊥ × NearLitter)) :
        { atoms := E, nearLitters := F }ᴬ = E
        @[simp]
        theorem ConNF.Support.mk_nearLitters [Params] {α : TypeIndex} (E : Enumeration (α ↝ ⊥ × Atom)) (F : Enumeration (α ↝ ⊥ × NearLitter)) :
        { atoms := E, nearLitters := F }ᴺ = F
        Equations
        • One or more equations did not get rendered due to their size.
        Equations
        • One or more equations did not get rendered due to their size.
        Equations
        • One or more equations did not get rendered due to their size.
        @[simp]
        theorem ConNF.Support.deriv_atoms [Params] {α β : TypeIndex} (S : Support α) (A : α ↝ β) :
        Sᴬ ⇘ A = (S ⇘ A)ᴬ
        @[simp]
        theorem ConNF.Support.deriv_nearLitters [Params] {α β : TypeIndex} (S : Support α) (A : α ↝ β) :
        Sᴺ ⇘ A = (S ⇘ A)ᴺ
        @[simp]
        theorem ConNF.Support.sderiv_atoms [Params] {α β : TypeIndex} (S : Support α) (h : β < α) :
        Sᴬ ↘ h = (S ↘ h)ᴬ
        @[simp]
        theorem ConNF.Support.sderiv_nearLitters [Params] {α β : TypeIndex} (S : Support α) (h : β < α) :
        Sᴺ ↘ h = (S ↘ h)ᴺ
        @[simp]
        theorem ConNF.Support.coderiv_atoms [Params] {α β : TypeIndex} (S : Support β) (A : α ↝ β) :
        Sᴬ ⇗ A = (S ⇗ A)ᴬ
        @[simp]
        theorem ConNF.Support.coderiv_nearLitters [Params] {α β : TypeIndex} (S : Support β) (A : α ↝ β) :
        Sᴺ ⇗ A = (S ⇗ A)ᴺ
        @[simp]
        theorem ConNF.Support.scoderiv_atoms [Params] {α β : TypeIndex} (S : Support β) (h : β < α) :
        Sᴬ ↗ h = (S ↗ h)ᴬ
        @[simp]
        theorem ConNF.Support.scoderiv_nearLitters [Params] {α β : TypeIndex} (S : Support β) (h : β < α) :
        Sᴺ ↗ h = (S ↗ h)ᴺ
        @[simp]
        theorem ConNF.Support.derivBot_atoms [Params] {α : TypeIndex} (S : Support α) (A : α ↝ ⊥) :
        Sᴬ ⇘. A = (S ⇘. A)ᴬ
        @[simp]
        theorem ConNF.Support.derivBot_nearLitters [Params] {α : TypeIndex} (S : Support α) (A : α ↝ ⊥) :
        Sᴺ ⇘. A = (S ⇘. A)ᴺ
        theorem ConNF.Support.ext' [Params] {α : TypeIndex} {S T : Support α} (h₁ : Sᴬ = Tᴬ) (h₂ : Sᴺ = Tᴺ) :
        S = T
        theorem ConNF.Support.ext [Params] {α : TypeIndex} {S T : Support α} (h : ∀ (A : α ↝ ⊥), S ⇘. A = T ⇘. A) :
        S = T
        theorem ConNF.Support.ext_iff [Params] {α : TypeIndex} {S T : Support α} :
        S = T ↔ ∀ (A : α ↝ ⊥), S ⇘. A = T ⇘. A
        @[simp]
        theorem ConNF.Support.deriv_derivBot [Params] {β α : TypeIndex} (S : Support α) (A : α ↝ β) (B : β ↝ ⊥) :
        S ⇘ A ⇘. B = S ⇘. (A ⇘ B)
        @[simp]
        theorem ConNF.Support.coderiv_deriv_eq [Params] {α β : TypeIndex} (S : Support β) (A : α ↝ β) :
        S ⇗ A ⇘ A = S
        theorem ConNF.Support.eq_of_atom_mem_scoderiv_botDeriv [Params] {α β : TypeIndex} {S : Support β} {A : α ↝ ⊥} {h : β < α} {a : Atom} (ha : a ∈ (S ↗ h ⇘. A)ᴬ) :
        ∃ (B : β ↝ ⊥), A = B ↗ h
        theorem ConNF.Support.eq_of_nearLitter_mem_scoderiv_botDeriv [Params] {α β : TypeIndex} {S : Support β} {A : α ↝ ⊥} {h : β < α} {N : NearLitter} (hN : N ∈ (S ↗ h ⇘. A)ᴺ) :
        ∃ (B : β ↝ ⊥), A = B ↗ h
        @[simp]
        theorem ConNF.Support.scoderiv_botDeriv_eq [Params] {α β : TypeIndex} (S : Support β) (A : β ↝ ⊥) (h : β < α) :
        S ↗ h ⇘. (A ↗ h) = S ⇘. A
        @[simp]
        theorem ConNF.Support.scoderiv_deriv_eq [Params] {α β γ : TypeIndex} (S : Support β) (A : β ↝ γ) (h : β < α) :
        S ↗ h ⇘ (A ↗ h) = S ⇘ A
        @[simp]
        theorem ConNF.Support.coderiv_inj [Params] {α β : TypeIndex} (S T : Support β) (A : α ↝ β) :
        S ⇗ A = T ⇗ A ↔ S = T
        @[simp]
        theorem ConNF.Support.scoderiv_inj [Params] {α β : TypeIndex} (S T : Support β) (h : β < α) :
        S ↗ h = T ↗ h ↔ S = T
        Equations
        @[simp]
        theorem ConNF.Support.smul_atoms [Params] {α : TypeIndex} (π : StrPerm α) (S : Support α) :
        (π • S)ᴬ = π • Sᴬ
        @[simp]
        theorem ConNF.Support.smul_nearLitters [Params] {α : TypeIndex} (π : StrPerm α) (S : Support α) :
        (π • S)ᴺ = π • Sᴺ
        theorem ConNF.Support.smul_atoms_eq_of_smul_eq [Params] {α : TypeIndex} {π : StrPerm α} {S : Support α} (h : π • S = S) :
        π • Sᴬ = Sᴬ
        theorem ConNF.Support.smul_nearLitters_eq_of_smul_eq [Params] {α : TypeIndex} {π : StrPerm α} {S : Support α} (h : π • S = S) :
        π • Sᴺ = Sᴺ
        @[simp]
        theorem ConNF.Support.smul_derivBot [Params] {α : TypeIndex} (π : StrPerm α) (S : Support α) (A : α ↝ ⊥) :
        (π • S) ⇘. A = π A • S ⇘. A
        theorem ConNF.Support.smul_coderiv [Params] {β α : TypeIndex} (π : StrPerm α) (S : Support β) (A : α ↝ β) :
        π • S ⇗ A = (π ⇘ A • S) ⇗ A
        theorem ConNF.Support.smul_scoderiv [Params] {β α : TypeIndex} (π : StrPerm α) (S : Support β) (h : β < α) :
        π • S ↗ h = (π ↘ h • S) ↗ h
        theorem ConNF.Support.smul_eq_smul_iff [Params] {β : TypeIndex} (π₁ π₂ : StrPerm β) (S : Support β) :
        π₁ • S = π₂ • S ↔ ∀ (A : β ↝ ⊥), (∀ a ∈ (S ⇘. A)ᴬ, π₁ A • a = π₂ A • a) ∧ ∀ N ∈ (S ⇘. A)ᴺ, π₁ A • N = π₂ A • N
        theorem ConNF.Support.smul_eq_iff [Params] {β : TypeIndex} (π : StrPerm β) (S : Support β) :
        π • S = S ↔ ∀ (A : β ↝ ⊥), (∀ a ∈ (S ⇘. A)ᴬ, π A • a = a) ∧ ∀ N ∈ (S ⇘. A)ᴺ, π A • N = N
        noncomputable instance ConNF.Support.instAdd [Params] {α : TypeIndex} :
        Equations
        @[simp]
        theorem ConNF.Support.add_derivBot [Params] {α : TypeIndex} (S T : Support α) (A : α ↝ ⊥) :
        (S + T) ⇘. A = S ⇘. A + T ⇘. A
        theorem ConNF.Support.smul_add [Params] {α : TypeIndex} (S T : Support α) (π : StrPerm α) :
        π • (S + T) = π • S + π • T
        theorem ConNF.Support.add_inj_of_bound_eq_bound [Params] {α : TypeIndex} {S T U V : Support α} (ha : Sᴬ.bound = Tᴬ.bound) (hN : Sᴺ.bound = Tᴺ.bound) (h' : S + U = T + V) :
        S = T ∧ U = V
        Equations
        • One or more equations did not get rendered due to their size.
        Instances For

          Orders on supports #

          Equations
          Equations
          theorem ConNF.BaseSupport.smul_le_smul [Params] {S T : BaseSupport} (h : S ≤ T) (π : BasePerm) :
          π • S ≤ π • T
          Equations
          Equations
          theorem ConNF.Support.smul_le_smul [Params] {α : TypeIndex} {S T : Support α} (h : S ≤ T) (π : StrPerm α) :
          π • S ≤ π • T
          theorem ConNF.Support.le_add_right [Params] {α : TypeIndex} {S T : Support α} :
          S ≤ S + T
          theorem ConNF.Support.le_add_left [Params] {α : TypeIndex} {S T : Support α} :
          S ≤ T + S
          Equations
          Instances For
            theorem ConNF.Support.Subsupport.le [Params] {α : TypeIndex} {S T : Support α} (h : S.Subsupport T) :
            S ≤ T
            theorem ConNF.Support.Subsupport.trans [Params] {α : TypeIndex} {S T U : Support α} (h₁ : S.Subsupport T) (h₂ : T.Subsupport U) :
            theorem ConNF.Support.smul_subsupport_smul [Params] {α : TypeIndex} {S T : Support α} (h : S.Subsupport T) (π : StrPerm α) :
            (π • S).Subsupport (π • T)
            theorem ConNF.subsupport_add [Params] {α : TypeIndex} {S T : Support α} :
            S.Subsupport (S + T)
            theorem ConNF.smul_eq_of_subsupport [Params] {α : TypeIndex} {S T : Support α} {π : StrPerm α} (h₁ : S.Subsupport T) (h₂ : S.Subsupport (π • T)) :
            π • S = S
            theorem ConNF.smul_eq_smul_of_le [Params] {α : TypeIndex} {S T : Support α} {π₁ π₂ : StrPerm α} (h : S ≤ T) (h₂ : π₁ • T = π₂ • T) :
            π₁ • S = π₂ • S
            theorem ConNF.smul_eq_of_le [Params] {α : TypeIndex} {S T : Support α} {π : StrPerm α} (h : S ≤ T) (h₂ : π • T = T) :
            π • S = S