Documentation

Auto.Lib.HList

inductive Auto.HList {α : Type u_1} (β : αSort u_2) :
List αSort (max (u_1 + 1) u_2)
Instances For
    @[irreducible]
    def Auto.HList.nil_IsomType {α : Type u} {β : αSort v} :
    Equations
    Instances For
      @[irreducible]
      def Auto.HList.cons_IsomType {α : Type u} {β : αType v} {a : α} {as : List α} :
      IsomType (HList β (a :: as)) (β a × HList β as)
      Equations
      • One or more equations did not get rendered due to their size.
      Instances For
        @[irreducible]
        def Auto.HList.singleton_IsomType {α : Type u_1} {β : αSort u_2} {a : α} :
        IsomType (HList β [a]) (β a)
        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          def Auto.HList.getD {α : Type u_1} {β : αSort u_2} {ty : α} (default : β ty) {tys : List α} :
          HList β tys(n : Nat) → β (tys.getD n ty)
          Equations
          Instances For
            theorem Auto.HList.getD_heq {α₁ α₂ : Type u_1} {β₁ : α₁Sort u_2} {ty₁ : α₁} {default₁ : β₁ ty₁} {tys₁ : List α₁} {hl₁ : HList β₁ tys₁} {n₁ : Nat} {β₂ : α₂Sort u_2} {ty₂ : α₂} {default₂ : β₂ ty₂} {tys₂ : List α₂} {hl₂ : HList β₂ tys₂} {n₂ : Nat} ( : β₁ β₂) (hty : ty₁ ty₂) (hdefault : default₁ default₂) (htys : tys₁ tys₂) (hhl : hl₁ hl₂) (hn : n₁ = n₂) :
            getD default₁ hl₁ n₁ getD default₂ hl₂ n₂
            def Auto.HList.ofMapTy {β : Type u_1} {α : Type u_2} {γ : βSort u_3} (f : αβ) {tys : List α} :
            HList γ (List.map f tys)HList (γ f) tys
            Equations
            Instances For
              def Auto.HList.toMapTy {β : Type u_1} {α : Type u_2} {γ : βSort u_3} (f : αβ) {tys : List α} :
              HList (γ f) tysHList γ (List.map f tys)
              Equations
              Instances For
                def Auto.HList.ofMapList {α : Type u_1} {β : αSort u_2} (f : (x : α) → β x) (xs : List α) :
                HList β xs
                Equations
                Instances For
                  def Auto.HList.map {α : Type u_1} {β : αSort u_2} {γ : αSort u_3} (f : (a : α) → β aγ a) {tys : List α} (xs : HList β tys) :
                  HList γ tys
                  Equations
                  Instances For
                    def Auto.HList.append {α✝ : Type u_1} {β : α✝Sort u_2} {as bs : List α✝} (xs : HList β as) (ys : HList β bs) :
                    HList β (as ++ bs)
                    Equations
                    Instances For
                      theorem Auto.HList.append_assoc {α✝ : Type u_1} {β : α✝Sort u_2} {as bs cs : List α✝} (xs : HList β as) (ys : HList β bs) (zs : HList β cs) :
                      (xs.append ys).append zs xs.append (ys.append zs)
                      theorem Auto.HList.getD_append_left {α✝ : Type u_1} {β : α✝Sort u_2} {as bs : List α✝} {i : Nat} {a✝ : α✝} {df : β a✝} (xs : HList β as) (ys : HList β bs) (h : i < as.length) :
                      getD df (xs.append ys) i getD df xs i
                      theorem Auto.HList.getD_append_right {α✝ : Type u_1} {β : α✝Sort u_2} {as bs : List α✝} {i : Nat} {a✝ : α✝} {df : β a✝} (xs : HList β as) (ys : HList β bs) (h : i as.length) :
                      getD df (xs.append ys) i getD df ys (i - as.length)
                      def Auto.HList.append_get_left {α✝ : Type u_1} {β : α✝Sort u_2} {as bs : List α✝} (xs : HList β (as ++ bs)) :
                      HList β as
                      Equations
                      Instances For
                        def Auto.HList.append_get_right {α✝ : Type u_1} {β : α✝Sort u_2} {as bs : List α✝} (xs : HList β (as ++ bs)) :
                        HList β bs
                        Equations
                        Instances For
                          theorem Auto.HList.append_get_left_eq {α✝ : Type u_1} {β : α✝Sort u_2} {as bs : List α✝} (xs : HList β as) (ys : HList β bs) :
                          theorem Auto.HList.append_get_right_eq {α✝ : Type u_1} {β : α✝Sort u_2} {as bs : List α✝} (xs : HList β as) (ys : HList β bs) :
                          theorem Auto.HList.append_get_append_eq {α✝ : Type u_1} {β : α✝Sort u_2} {as bs : List α✝} (xs : HList β (as ++ bs)) :
                          @[irreducible]
                          def Auto.HList.append_IsomType {α : Type u} {β : αSort v} {xs ys : List α} :
                          IsomType (HList β (xs ++ ys)) (HList β xs ×' HList β ys)
                          Equations
                          • One or more equations did not get rendered due to their size.
                          Instances For
                            @[irreducible]
                            def Auto.HList.append_singleton_IsomType {α : Type u} {β : αSort v} {xs : List α} {x : α} :
                            IsomType (HList β (xs ++ [x])) (HList β xs ×' β x)
                            Equations
                            • One or more equations did not get rendered due to their size.
                            Instances For
                              def Auto.HList.reverseAux {α✝ : Type u_1} {β : α✝Sort u_2} {bs as : List α✝} (xs : HList β as) (ys : HList β bs) :
                              HList β (as.reverseAux bs)
                              Equations
                              Instances For
                                def Auto.HList.reverse {α✝ : Type u_1} {β : α✝Sort u_2} {as : List α✝} (xs : HList β as) :
                                Equations
                                Instances For
                                  theorem Auto.HList.reverse_nil {α✝ : Type u_1} {β : α✝Sort u_2} :
                                  theorem Auto.HList.reverseAux_eq_append {α✝ : Type u_1} {β : α✝Sort u_2} {as bs : List α✝} {xs : HList β as} {ys : HList β bs} :
                                  theorem Auto.HList.reverse_cons {α✝ : Type u_1} {β : α✝Sort u_2} {as : List α✝} {a : α✝} {x : β a} {xs : HList β as} :