Documentation

LeanPool.MatchingLogic.EntryIII.SignatureRestriction

MatchingLogic.EntryIII.SignatureRestriction #

The sub-signature containing exactly the symbols in F.

Equations
Instances For

    Lifting a restricted pattern recovers the original ambient pattern.

    Lifting commutes with the raw variable-for-variable substitution.

    Free variables are unchanged by signature lifting.

    Capture-freedom is preserved when a pattern is lifted to a larger signature.

    theorem MatchingLogic.Pattern.liftSignature_update {S : Signature} {Var : Type} [DecidableEq S.Sym] (F : Finset S.Sym) {n : } (args : Fin nPattern (Signature.restrict F) Var) (i : Fin n) (p : Pattern (Signature.restrict F) Var) :
    (fun (j : Fin n) => liftSignature F (Function.update args i p j)) = Function.update (fun (j : Fin n) => liftSignature F (args j)) i (liftSignature F p)

    Lifting commutes with replacing an argument of an application.

    theorem MatchingLogic.Pattern.liftSignature_app_update {S : Signature} {Var : Type} [DecidableEq S.Sym] (F : Finset S.Sym) (sigma : (Signature.restrict F).Sym) (args : Fin ((Signature.restrict F).arity sigma)Pattern (Signature.restrict F) Var) (i : Fin ((Signature.restrict F).arity sigma)) (p : Pattern (Signature.restrict F) Var) :
    liftSignature F (app sigma (Function.update args i p)) = app (↑sigma) (Function.update (fun (j : Fin (S.arity sigma)) => liftSignature F (args j)) i (liftSignature F p))

    The lifted form of an application with one replaced argument.

    theorem MatchingLogic.PForm.subst_liftSignature {S : Signature} {Var : Type} [DecidableEq S.Sym] (F : Finset S.Sym) (p : PForm) (theta : Pattern (Signature.restrict F) Var) :
    Pattern.liftSignature F (subst theta p) = subst (fun (n : ) => Pattern.liftSignature F (theta n)) p

    Lifting commutes with propositional-pattern substitution.

    Regard an application context over a finite sub-signature as one over S.

    Equations
    Instances For

      A natural-number serialization retaining every application argument.

      Equations
      Instances For

        The natural serialization is injective whenever the symbol type is encodable.

        A finite signature yields a countable type of natural-variable patterns.

        A derivation over a finite sub-signature can be replayed over S.