Documentation

Mathlib.Data.QPF.Multivariate.Constructions.Const

Constant functors are QPFs #

Constant functors map every type vectors to the same target type. This is a useful device for constructing data types from more basic types that are not actually functorial. For instance Const n Nat makes Nat into a functor that can be used in a functor-based data type specification.

def MvQPF.Const (n : ) (A : Type u_1) (_v : TypeVec n) :
Type u_1

Constant multivariate functor

Instances For
    instance MvQPF.Const.inhabited (n : ) {A : Type u_1} {α : TypeVec n} [Inhabited A] :
    def MvQPF.Const.mk {n : } {A : Type u} {α : TypeVec n} (x : A) :

    Constructor for constant functor

    Instances For
      def MvQPF.Const.get {n : } {A : Type u} {α : TypeVec n} (x : MvQPF.Const n A α) :
      A

      Destructor for constant functor

      Instances For
        @[simp]
        theorem MvQPF.Const.mk_get {n : } {A : Type u} {α : TypeVec n} (x : MvQPF.Const n A α) :
        @[simp]
        theorem MvQPF.Const.get_mk {n : } {A : Type u} {α : TypeVec n} (x : A) :
        def MvQPF.Const.map {n : } {A : Type u} {α : TypeVec n} {β : TypeVec n} :
        MvQPF.Const n A αMvQPF.Const n A β

        map for constant functor

        Instances For
          theorem MvQPF.Const.map_mk {n : } {A : Type u} {α : TypeVec n} {β : TypeVec n} (f : TypeVec.Arrow α β) (x : A) :
          theorem MvQPF.Const.get_map {n : } {A : Type u} {α : TypeVec n} {β : TypeVec n} (f : TypeVec.Arrow α β) (x : MvQPF.Const n A α) :
          instance MvQPF.Const.mvqpf {n : } {A : Type u} :