Documentation

STDX.Subst

class Substitution (α : Type u_1) {ι : outParam (Type u_2)} (β : outParam (ιType u_3)) :
Type (max (max u_1 u_2) u_3)
  • subst : αSigma βα
Instances
    @[implicit_reducible]
    instance Substitution.instHashMap {ι : Type u_1} {β : Type u_2} [BEq ι] [Hashable ι] :
    Substitution (Std.HashMap ι β) fun (x : ι) => β
    Equations
    def Substitution.substs {α : Type u_1} {ι✝ : outParam (Type u_2)} {β : ι✝Type u_3} [Substitution α β] (m : α) (xs : List (Sigma β)) :
    α
    Equations
    Instances For
      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
          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
              Equations
              • One or more equations did not get rendered due to their size.
              Instances For
                @[simp]
                theorem Substitution.substs_nil {α : Type u_1} {ι : Type u_2} {β : ιType u_3} [Substitution α β] {m : α} :
                m[] = m
                theorem Substitution.substs_cons {α : Type u_1} {ι : Type u_2} {β : ιType u_3} [Substitution α β] {m : α} {x : Sigma β} {xs : List (Sigma β)} :
                m[..x :: xs] = subst (m[..xs]) x
                theorem Substitution.substs_cons_substs {α : Type u_1} {ι : Type u_2} {β : ιType u_3} [Substitution α β] {m : α} {x : Sigma β} {xs : List (Sigma β)} :
                m[..x :: xs] = m[..xs][..[x]]
                theorem Substitution.substs_append {α : Type u_1} {ι : Type u_2} {β : ιType u_3} [Substitution α β] {m : α} {xs ys : List (Sigma β)} :
                m[..xs ++ ys] = m[..ys][..xs]
                theorem Substitution.subst_singleton {α : Type u_1} {ι : Type u_2} {β : ιType u_3} [Substitution α β] {m : α} {x : Sigma β} :
                m[..[x]] = subst m x
                theorem Substitution.substs_of_binary {α₁ : Type u_4} {α₂ : Type u_5} {α₃ : Type u_6} {ι : Type u_7} {β : ιType u_8} [Substitution α₁ β] [Substitution α₂ β] [Substitution α₃ β] {m : α₁} {n : α₂} {xs : List (Sigma β)} {f : α₁α₂α₃} (h : ∀ (m : α₁) (n : α₂) (b : Sigma β), (f m n)[..[b]] = f (m[..[b]]) (n[..[b]])) :
                (f m n)[..xs] = f (m[..xs]) (n[..xs])
                def Substitution.IsIndepPair {α : Type u_1} {ι : Type u_2} {β : ιType u_3} [Substitution α β] (m : α) (x : ι) :
                Equations
                Instances For
                  class Substitution.IndepPair {α : Type u_1} {ι : Type u_2} {β : ιType u_3} [Substitution α β] (m : α) (x : ι) :
                  Instances
                    theorem Substitution.indepPair_iff {α : Type u_1} {ι : Type u_2} {β : ιType u_3} [Substitution α β] (m : α) (x : ι) :
                    @[simp]
                    theorem Substitution.indep_pair {α : Type u_1} {ι : Type u_2} {β : ιType u_3} [Substitution α β] {m : α} {x : ι} (h : IsIndepPair m x) {v : β x} :
                    m[x v] = m
                    structure Substitution.Example.Context (𝒱 : Type u_4) :
                    Type (max u_4 (u_5 + 1))
                    • types : 𝒱Type u_5
                    Instances For
                      @[reducible, inline]
                      abbrev Substitution.Example.Context.Mem {𝒱 : Type u_4} (Γ : Context 𝒱) :
                      Type (max u_4 u_5)
                      Equations
                      Instances For
                        @[implicit_reducible]
                        instance Substitution.Example.instMemTypes {𝒱 : Type u_4} {Γ : Context 𝒱} [DecidableEq 𝒱] :
                        Equations
                        @[implicit_reducible]
                        instance Substitution.Example.instForallMemForallTypes {𝒱 : Type u_4} {α : Type u_5} {Γ : Context 𝒱} [DecidableEq 𝒱] :
                        Substitution (Γ.Memα) fun (x : 𝒱) => Γ.MemΓ.types x
                        Equations