Documentation

LeanSubst.Arity

def LeanSubst.mk0 {T : Type} :
Fin 0T
Equations
    Instances For
      @[simp]
      theorem LeanSubst.mk0_eta {T : Type} {t : Fin 0T} :
      t = mk0
      def LeanSubst.mk1 {T : Type} :
      TFin 1T
      Equations
      Instances For
        @[simp]
        theorem LeanSubst.mk1_eta {T : Type} {t : Fin 1T} :
        (fun (i : Fin 1) => mk1 (t 0) i) = t
        @[simp]
        theorem LeanSubst.mk1_0 {T : Type} {t : T} :
        mk1 t 0 = t
        @[simp]
        theorem LeanSubst.mk1_cong {T : Type} {a1 a2 : T} :
        mk1 a1 = mk1 a2 a1 = a2
        def LeanSubst.mk2 {T : Type} :
        TTFin 2T
        Equations
        Instances For
          @[simp]
          theorem LeanSubst.mk2_eta {T : Type} {t : Fin 2T} :
          (fun (i : Fin 2) => mk2 (t 0) (t 1) i) = t
          @[simp]
          theorem LeanSubst.mk2_0 {T : Type} {t1 t2 : T} :
          mk2 t1 t2 0 = t1
          @[simp]
          theorem LeanSubst.mk2_1 {T : Type} {t1 t2 : T} :
          mk2 t1 t2 1 = t2
          @[simp]
          theorem LeanSubst.mk2_cong {T : Type} {a1 b1 a2 b2 : T} :
          mk2 a1 b1 = mk2 a2 b2 a1 = a2 b1 = b2
          def LeanSubst.mk3 {T : Type} :
          TTTFin 3T
          Equations
          Instances For
            @[simp]
            theorem LeanSubst.mk3_eta {T : Type} {t : Fin 3T} :
            (fun (i : Fin 3) => mk3 (t 0) (t 1) (t 2) i) = t
            @[simp]
            theorem LeanSubst.mk3_0 {T : Type} {t1 t2 t3 : T} :
            mk3 t1 t2 t3 0 = t1
            @[simp]
            theorem LeanSubst.mk3_1 {T : Type} {t1 t2 t3 : T} :
            mk3 t1 t2 t3 1 = t2
            @[simp]
            theorem LeanSubst.mk3_2 {T : Type} {t1 t2 t3 : T} :
            mk3 t1 t2 t3 2 = t3
            @[simp]
            theorem LeanSubst.mk3_cong {T : Type} {a1 b1 c1 a2 b2 c2 : T} :
            mk3 a1 b1 c1 = mk3 a2 b2 c2 a1 = a2 b1 = b2 c1 = c2
            def LeanSubst.mk4 {T : Type} :
            TTTTFin 4T
            Equations
            Instances For
              @[simp]
              theorem LeanSubst.mk4_eta {T : Type} {t : Fin 4T} :
              (fun (i : Fin 4) => mk4 (t 0) (t 1) (t 2) (t 3) i) = t
              @[simp]
              theorem LeanSubst.mk4_0 {T : Type} {t1 t2 t3 t4 : T} :
              mk4 t1 t2 t3 t4 0 = t1
              @[simp]
              theorem LeanSubst.mk4_1 {T : Type} {t1 t2 t3 t4 : T} :
              mk4 t1 t2 t3 t4 1 = t2
              @[simp]
              theorem LeanSubst.mk4_2 {T : Type} {t1 t2 t3 t4 : T} :
              mk4 t1 t2 t3 t4 2 = t3
              @[simp]
              theorem LeanSubst.mk4_3 {T : Type} {t1 t2 t3 t4 : T} :
              mk4 t1 t2 t3 t4 3 = t4
              @[simp]
              theorem LeanSubst.mk4_cong {T : Type} {a1 b1 c1 d1 a2 b2 c2 d2 : T} :
              mk4 a1 b1 c1 d1 = mk4 a2 b2 c2 d2 a1 = a2 b1 = b2 c1 = c2 d1 = d2
              @[simp]
              theorem LeanSubst.subst_mk0 {T : Type} [SubstMap T] {σ : Subst T} {x : Fin 0} :
              (mk0 x)[σ] = mk0 x
              @[simp]
              theorem LeanSubst.subst_mk1 {T : Type} [SubstMap T] {σ : Subst T} {t : T} {x : Fin 1} :
              (mk1 t x)[σ] = mk1 t[σ] x
              @[simp]
              theorem LeanSubst.subst_mk2 {T : Type} [SubstMap T] {σ : Subst T} {t1 t2 : T} {x : Fin 2} :
              (mk2 t1 t2 x)[σ] = mk2 t1[σ] t2[σ] x
              @[simp]
              theorem LeanSubst.subst_mk3 {T : Type} [SubstMap T] {σ : Subst T} {t1 t2 t3 : T} {x : Fin 3} :
              (mk3 t1 t2 t3 x)[σ] = mk3 t1[σ] t2[σ] t3[σ] x
              @[simp]
              theorem LeanSubst.subst_mk4 {T : Type} [SubstMap T] {σ : Subst T} {t1 t2 t3 t4 : T} {x : Fin 4} :
              (mk4 t1 t2 t3 t4 x)[σ] = mk4 t1[σ] t2[σ] t3[σ] t4[σ] x