Documentation

ConNF.Coherent.Support

Supports #

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

Main declarations #

Base supports #

Instances For
    Equations
    • ConNF.BaseSupport.instSuperAEnumerationAtom = { superA := ConNF.BaseSupport.atoms }
    Equations
    • ConNF.BaseSupport.instSuperNEnumerationNearLitter = { superN := ConNF.BaseSupport.nearLitters }
    @[simp]
    theorem ConNF.BaseSupport.mk_atoms [ConNF.Params] {a : ConNF.Enumeration ConNF.Atom} {N : ConNF.Enumeration ConNF.NearLitter} :
    { atoms := a, nearLitters := N } = a
    @[simp]
    theorem ConNF.BaseSupport.mk_nearLitters [ConNF.Params] {a : ConNF.Enumeration ConNF.Atom} {N : ConNF.Enumeration ConNF.NearLitter} :
    { atoms := a, nearLitters := N } = N
    theorem ConNF.BaseSupport.atoms_congr [ConNF.Params] {S T : ConNF.BaseSupport} (h : S = T) :
    theorem ConNF.BaseSupport.nearLitters_congr [ConNF.Params] {S T : ConNF.BaseSupport} (h : S = T) :
    theorem ConNF.BaseSupport.ext [ConNF.Params] {S T : ConNF.BaseSupport} (h₁ : S = T) (h₂ : S = T) :
    S = T
    instance ConNF.BaseSupport.instSMulBasePerm [ConNF.Params] :
    SMul ConNF.BasePerm ConNF.BaseSupport
    Equations
    • ConNF.BaseSupport.instSMulBasePerm = { smul := fun (π : ConNF.BasePerm) (S : ConNF.BaseSupport) => { atoms := π S, nearLitters := π S } }
    @[simp]
    theorem ConNF.BaseSupport.smul_atoms [ConNF.Params] (π : ConNF.BasePerm) (S : ConNF.BaseSupport) :
    (π S) = π S
    @[simp]
    theorem ConNF.BaseSupport.smul_nearLitters [ConNF.Params] (π : ConNF.BasePerm) (S : ConNF.BaseSupport) :
    (π S) = π S
    @[simp]
    theorem ConNF.BaseSupport.smul_atoms_eq_of_smul_eq [ConNF.Params] {π : ConNF.BasePerm} {S : ConNF.BaseSupport} (h : π S = S) :
    π S = S
    @[simp]
    theorem ConNF.BaseSupport.smul_nearLitters_eq_of_smul_eq [ConNF.Params] {π : ConNF.BasePerm} {S : ConNF.BaseSupport} (h : π S = S) :
    π S = S
    instance ConNF.BaseSupport.instMulActionBasePerm [ConNF.Params] :
    MulAction ConNF.BasePerm ConNF.BaseSupport
    Equations
    theorem ConNF.BaseSupport.smul_eq_smul_iff [ConNF.Params] (π₁ π₂ : ConNF.BasePerm) (S : ConNF.BaseSupport) :
    π₁ S = π₂ S (∀ aS, π₁ a = π₂ a) NS, π₁ N = π₂ N
    theorem ConNF.BaseSupport.smul_eq_iff [ConNF.Params] (π : ConNF.BasePerm) (S : ConNF.BaseSupport) :
    π S = S (∀ aS, π a = a) NS, π N = N
    noncomputable instance ConNF.BaseSupport.instAdd [ConNF.Params] :
    Add ConNF.BaseSupport
    Equations
    • ConNF.BaseSupport.instAdd = { add := fun (S T : ConNF.BaseSupport) => { atoms := S + T, nearLitters := S + T } }
    @[simp]
    theorem ConNF.BaseSupport.add_atoms [ConNF.Params] (S T : ConNF.BaseSupport) :
    (S + T) = S + T
    @[simp]
    theorem ConNF.BaseSupport.add_nearLitters [ConNF.Params] (S T : ConNF.BaseSupport) :
    (S + T) = S + T
    def ConNF.baseSupportEquiv [ConNF.Params] :
    ConNF.BaseSupport ConNF.Enumeration ConNF.Atom × ConNF.Enumeration ConNF.NearLitter
    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      theorem ConNF.card_baseSupport [ConNF.Params] :
      Cardinal.mk ConNF.BaseSupport = Cardinal.mk ConNF.μ

      Structural supports #

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

          Orders on supports #

          instance ConNF.instLEBaseSupport [ConNF.Params] :
          LE ConNF.BaseSupport
          Equations
          • ConNF.instLEBaseSupport = { le := fun (S T : ConNF.BaseSupport) => (∀ aS, a T) NS, N T }
          Equations
          theorem ConNF.BaseSupport.smul_le_smul [ConNF.Params] {S T : ConNF.BaseSupport} (h : S T) (π : ConNF.BasePerm) :
          π S π T
          theorem ConNF.BaseSupport.le_add_right [ConNF.Params] {S T : ConNF.BaseSupport} :
          S S + T
          theorem ConNF.BaseSupport.le_add_left [ConNF.Params] {S T : ConNF.BaseSupport} :
          S T + S
          def ConNF.BaseSupport.Subsupport [ConNF.Params] (S T : ConNF.BaseSupport) :
          Equations
          Instances For
            theorem ConNF.BaseSupport.Subsupport.le [ConNF.Params] {S T : ConNF.BaseSupport} (h : S.Subsupport T) :
            S T
            theorem ConNF.BaseSupport.Subsupport.trans [ConNF.Params] {S T U : ConNF.BaseSupport} (h₁ : S.Subsupport T) (h₂ : T.Subsupport U) :
            S.Subsupport U
            theorem ConNF.BaseSupport.smul_subsupport_smul [ConNF.Params] {S T : ConNF.BaseSupport} (h : S.Subsupport T) (π : ConNF.BasePerm) :
            (π S).Subsupport (π T)
            instance ConNF.instLESupport [ConNF.Params] {α : ConNF.TypeIndex} :
            Equations
            instance ConNF.instPreorderSupport [ConNF.Params] {α : ConNF.TypeIndex} :
            Equations
            theorem ConNF.Support.smul_le_smul [ConNF.Params] {α : ConNF.TypeIndex} {S T : ConNF.Support α} (h : S T) (π : ConNF.StrPerm α) :
            π S π T
            theorem ConNF.Support.le_add_right [ConNF.Params] {α : ConNF.TypeIndex} {S T : ConNF.Support α} :
            S S + T
            theorem ConNF.Support.le_add_left [ConNF.Params] {α : ConNF.TypeIndex} {S T : ConNF.Support α} :
            S T + S
            def ConNF.Support.Subsupport [ConNF.Params] {α : ConNF.TypeIndex} (S T : ConNF.Support α) :
            Equations
            Instances For
              theorem ConNF.Support.Subsupport.le [ConNF.Params] {α : ConNF.TypeIndex} {S T : ConNF.Support α} (h : S.Subsupport T) :
              S T
              theorem ConNF.Support.Subsupport.trans [ConNF.Params] {α : ConNF.TypeIndex} {S T U : ConNF.Support α} (h₁ : S.Subsupport T) (h₂ : T.Subsupport U) :
              S.Subsupport U
              theorem ConNF.Support.smul_subsupport_smul [ConNF.Params] {α : ConNF.TypeIndex} {S T : ConNF.Support α} (h : S.Subsupport T) (π : ConNF.StrPerm α) :
              (π S).Subsupport (π T)
              theorem ConNF.subsupport_add [ConNF.Params] {α : ConNF.TypeIndex} {S T : ConNF.Support α} :
              S.Subsupport (S + T)
              theorem ConNF.smul_eq_of_subsupport [ConNF.Params] {α : ConNF.TypeIndex} {S T : ConNF.Support α} {π : ConNF.StrPerm α} (h₁ : S.Subsupport T) (h₂ : S.Subsupport (π T)) :
              π S = S
              theorem ConNF.smul_eq_smul_of_le [ConNF.Params] {α : ConNF.TypeIndex} {S T : ConNF.Support α} {π₁ π₂ : ConNF.StrPerm α} (h : S T) (h₂ : π₁ T = π₂ T) :
              π₁ S = π₂ S
              theorem ConNF.smul_eq_of_le [ConNF.Params] {α : ConNF.TypeIndex} {S T : ConNF.Support α} {π : ConNF.StrPerm α} (h : S T) (h₂ : π T = T) :
              π S = S