Documentation

Mathlib.Data.QPF.Multivariate.Constructions.Quot

The quotient of QPF is itself a QPF #

The quotients are here defined using a surjective function and its right inverse. They are very similar to the abs and repr functions found in the definition of MvQPF

def MvQPF.quotientQPF {n : } {F : TypeVec nType u} [MvFunctor F] [q : MvQPF F] {G : TypeVec nType u} [MvFunctor G] {FG_abs : {α : TypeVec n} → F αG α} {FG_repr : {α : TypeVec n} → G αF α} (FG_abs_repr : ∀ {α : TypeVec n} (x : G α), FG_abs α (FG_repr α x) = x) (FG_abs_map : ∀ {α β : TypeVec n} (f : TypeVec.Arrow α β) (x : F α), FG_abs β (MvFunctor.map f x) = MvFunctor.map f (FG_abs α x)) :

If F is a QPF then G is a QPF as well. Can be used to construct MvQPF instances by transporting them across surjective functions

Instances For
    def MvQPF.Quot1 {n : } {F : TypeVec nType u} (R : α : TypeVec n⦄ → F αF αProp) (α : TypeVec n) :

    Functorial quotient type

    Instances For
      instance MvQPF.Quot1.inhabited {n : } {F : TypeVec nType u} (R : α : TypeVec n⦄ → F αF αProp) {α : TypeVec n} [Inhabited (F α)] :
      def MvQPF.Quot1.map {n : } {F : TypeVec nType u} (R : α : TypeVec n⦄ → F αF αProp) [MvFunctor F] (Hfunc : α β : TypeVec n⦄ → (a b : F α) → (f : TypeVec.Arrow α β) → R α a bR β (MvFunctor.map f a) (MvFunctor.map f b)) ⦃α : TypeVec n ⦃β : TypeVec n (f : TypeVec.Arrow α β) :
      MvQPF.Quot1 R αMvQPF.Quot1 R β

      map of the Quot1 functor

      Instances For
        def MvQPF.Quot1.mvFunctor {n : } {F : TypeVec nType u} (R : α : TypeVec n⦄ → F αF αProp) [MvFunctor F] (Hfunc : α β : TypeVec n⦄ → (a b : F α) → (f : TypeVec.Arrow α β) → R α a bR β (MvFunctor.map f a) (MvFunctor.map f b)) :

        mvFunctor instance for Quot1 with well-behaved R

        Instances For
          noncomputable def MvQPF.relQuot {n : } {F : TypeVec nType u} (R : α : TypeVec n⦄ → F αF αProp) [MvFunctor F] [q : MvQPF F] (Hfunc : α β : TypeVec n⦄ → (a b : F α) → (f : TypeVec.Arrow α β) → R α a bR β (MvFunctor.map f a) (MvFunctor.map f b)) :

          Quot1 is a QPF

          Instances For