@[irreducible]
Equations
- Auto.HList.nil_IsomType = { f := fun (x : Auto.HList β []) => PUnit.unit, g := fun (x : PUnit) => Auto.HList.nil, eq₁ := ⋯, eq₂ := ⋯ }
Instances For
Equations
- Auto.HList.getD default Auto.HList.nil x✝ = default
- Auto.HList.getD default (Auto.HList.cons a a_1) 0 = a
- Auto.HList.getD default (Auto.HList.cons x_3 as) n.succ = Auto.HList.getD default as n
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}
(hβ : β₁ ≍ β₂)
(hty : ty₁ ≍ ty₂)
(hdefault : default₁ ≍ default₂)
(htys : tys₁ ≍ tys₂)
(hhl : hl₁ ≍ hl₂)
(hn : n₁ = n₂)
:
def
Auto.HList.ofMapTy
{β : Type u_1}
{α : Type u_2}
{γ : β → Sort u_3}
(f : α → β)
{tys : List α}
:
Equations
- Auto.HList.ofMapTy f Auto.HList.nil = Auto.HList.nil
- Auto.HList.ofMapTy f (Auto.HList.cons x_2 xs) = Auto.HList.cons x_2 (Auto.HList.ofMapTy f xs)
Instances For
def
Auto.HList.toMapTy
{β : Type u_1}
{α : Type u_2}
{γ : β → Sort u_3}
(f : α → β)
{tys : List α}
:
Equations
- Auto.HList.toMapTy f Auto.HList.nil = Auto.HList.nil
- Auto.HList.toMapTy f (Auto.HList.cons x_2 xs) = Auto.HList.cons x_2 (Auto.HList.toMapTy f xs)
Instances For
def
Auto.HList.ofMapList
{α : Type u_1}
{β : α → Sort u_2}
(f : (x : α) → β x)
(xs : List α)
:
HList β xs
Equations
- Auto.HList.ofMapList f [] = Auto.HList.nil
- Auto.HList.ofMapList f (x_1 :: xs) = Auto.HList.cons (f x_1) (Auto.HList.ofMapList f xs)
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
- Auto.HList.map f Auto.HList.nil = Auto.HList.nil
- Auto.HList.map f (Auto.HList.cons x_2 xs) = Auto.HList.cons (f head x_2) (Auto.HList.map f xs)
Instances For
def
Auto.HList.append
{α✝ : Type u_1}
{β : α✝ → Sort u_2}
{as bs : List α✝}
(xs : HList β as)
(ys : HList β bs)
:
Equations
- Auto.HList.nil.append x✝ = x✝
- (Auto.HList.cons x_2 xs).append x✝ = Auto.HList.cons x_2 (xs.append x✝)
Instances For
def
Auto.HList.append_get_left
{α✝ : Type u_1}
{β : α✝ → Sort u_2}
{as bs : List α✝}
(xs : HList β (as ++ bs))
:
HList β as
Equations
- x.append_get_left = Auto.HList.nil
- (Auto.HList.cons x xs_3).append_get_left = Auto.HList.cons x xs_3.append_get_left
Instances For
def
Auto.HList.append_get_right
{α✝ : Type u_1}
{β : α✝ → Sort u_2}
{as bs : List α✝}
(xs : HList β (as ++ bs))
:
HList β bs
Equations
- x.append_get_right = x
- (Auto.HList.cons x xs_3).append_get_right = xs_3.append_get_right
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
- Auto.HList.nil.reverseAux x✝ = x✝
- (Auto.HList.cons x_3 xs).reverseAux x✝ = xs.reverseAux (Auto.HList.cons x_3 x✝)
Instances For
Equations
- xs.reverse = xs.reverseAux Auto.HList.nil