Documentation

LeanSubst.Basic

def LeanSubst.Sequence.cons {T : Sort u_1} (x : T) (xs : NatT) :
NatT
Equations
Instances For
    Equations
    Instances For
      inductive LeanSubst.Subst.Action (T : Type u) :
      Instances For
        @[simp]
        theorem LeanSubst.Subst.re_def {T : Type u} {k : Nat} :
        @[simp]
        theorem LeanSubst.Subst.re_eq {T : Type u} {k1 k2 : Nat} :
        (#k1 = #k2) = (k1 = k2)
        @[simp]
        theorem LeanSubst.Subst.su_def {T : Type u} {t : T} :
        @[simp]
        theorem LeanSubst.Subst.su_eq {T : Type u} {t1 t2 : T} :
        (%t1 = %t2) = (t1 = t2)
        def LeanSubst.Subst (T : Type u) :
        Equations
        Instances For
          class LeanSubst.SubstMap (T : Type u) :
          Instances
            def LeanSubst.Ren.to {T : Type u} :
            RenSubst T
            Equations
            Instances For
              def LeanSubst.Ren.fro {T : Type u} :
              Subst TRen
              Equations
              Instances For
                Equations
                Instances For
                  def LeanSubst.Subst.lift {T : Type u} [SubstMap T] :
                  Subst TSubst T
                  Equations
                  Instances For
                    def LeanSubst.Subst.apply {T : Type u} [SubstMap T] (σ : Subst T) :
                    TT
                    Equations
                    Instances For
                      def LeanSubst.Subst.compose {T : Type u} [SubstMap T] :
                      Subst TSubst TSubst T
                      Equations
                      Instances For
                        def LeanSubst.I {T : Type u} :
                        Equations
                        Instances For
                          def LeanSubst.S {T : Type u} :
                          Equations
                          Instances For
                            def LeanSubst.Sn {T : Type u} (k : Nat) :
                            Equations
                            Instances For
                              @[simp]
                              theorem LeanSubst.I_action {T : Type u} {n : Nat} :
                              I n = #n
                              @[simp]
                              theorem LeanSubst.S_action {T : Type u} {n : Nat} :
                              S n = #(n + 1)
                              @[simp]
                              theorem LeanSubst.Sn_action {T : Type u} {k n : Nat} :
                              Sn k n = #(n + k)
                              @[simp]
                              theorem LeanSubst.to_I {T : Type u} :
                              (Ren.to fun (x : Nat) => x) = I
                              @[simp]
                              theorem LeanSubst.to_S {T : Type u} :
                              (Ren.to fun (x : Nat) => x + 1) = S
                              @[simp]
                              theorem LeanSubst.to_Sn {T : Type u} {k : Nat} :
                              (Ren.to fun (x : Nat) => x + k) = Sn k
                              Equations
                              • One or more equations did not get rendered due to their size.
                              Instances For
                                Instances
                                  Instances
                                    @[simp]
                                    @[simp]
                                    @[simp]
                                    theorem LeanSubst.Subst.rewrite2 {T : Type u} [SubstMap T] {σ : Subst T} :
                                    I σ = σ
                                    @[simp]
                                    theorem LeanSubst.Subst.rewrite3_replace {T : Type u} [SubstMap T] {σ τ : Subst T} {s : T} :
                                    (%s::σ) τ = %(s[τ])::σ τ
                                    @[simp]
                                    theorem LeanSubst.Subst.rewrite3_rename {T : Type u} [SubstMap T] {s : Nat} {σ τ : Subst T} :
                                    (#s::σ) τ = τ s::σ τ
                                    @[simp]
                                    theorem LeanSubst.Subst.rewrite4 {T : Type u} [SubstMap T] {s : Action T} {σ : Subst T} :
                                    S (s::σ) = σ
                                    @[simp]
                                    theorem LeanSubst.Subst.rewrite5 {T : Type u} [SubstMap T] {σ : Subst T} :
                                    σ 0::S σ = σ
                                    @[simp]
                                    theorem LeanSubst.Subst.apply_I_is_id {T : Type u} [SubstMap T] [SubstMapStable T] {s : T} :
                                    s[I] = s
                                    @[simp]
                                    theorem LeanSubst.Subst.rewrite_lift {T : Type u} [SubstMap T] [SubstMapStable T] {σ : Subst T} :
                                    σ.lift = #0::σ S
                                    @[simp]
                                    theorem LeanSubst.Subst.rewrite6 {T : Type u} [SubstMap T] [SubstMapStable T] {σ : Subst T} :
                                    σ I = σ
                                    @[simp]
                                    theorem LeanSubst.Subst.apply_compose_commute {T : Type u} [SubstMap T] [SubstMapCompose T] {s : T} {σ τ : Subst T} :
                                    s[σ][τ] = s[σ τ]
                                    @[simp]
                                    theorem LeanSubst.Subst.rewrite7 {T : Type u} [SubstMap T] [SubstMapCompose T] {σ τ μ : Subst T} :
                                    (σ τ) μ = σ τ μ
                                    Equations
                                    • One or more equations did not get rendered due to their size.
                                    Instances For
                                      Equations
                                      • One or more equations did not get rendered due to their size.
                                      Instances For