Documentation

LeanPool.MatchingLogic.EntryIII.Generated

MatchingLogic.EntryIII.Generated #

@[instance_reducible]

Local decidable equality used by the generated-submodel construction.

Equations
Instances For

    Application-context composition #

    def MatchingLogic.AppCtx.comp {S : Signature} {Var : Type} (outer inner : AppCtx S Var) :
    AppCtx S Var

    Context composition: outer.comp inner plugs inner into outer.

    Equations
    Instances For
      @[simp]
      theorem MatchingLogic.AppCtx.plug_comp {S : Signature} {Var : Type} (outer inner : AppCtx S Var) (p : Pattern S Var) :
      (outer.comp inner).plug p = outer.plug (inner.plug p)

      Definition 74: generated canonical model #

      One backwards canonical step, from an output world to one component world of a tuple producing it.

      Equations
      • One or more equations did not get rendered due to their size.
      Instances For
        @[simp]
        theorem MatchingLogic.canonicalStep_iff {S : Signature} (parent child : CanonicalCarrier S) :
        canonicalStep parent child ∃ (sigma : S.Sym) (components : Fin (S.arity sigma)CanonicalCarrier S) (i : Fin (S.arity sigma)), parent canonicalInterp sigma components child = components i

        The smallest set of canonical worlds containing root and closed under backwards canonical symbol steps.

        Equations
        Instances For
          @[reducible, inline]

          The carrier of the submodel generated by root.

          Equations
          Instances For
            theorem MatchingLogic.GeneratedCarrier.isMCS {S : Signature} {root : CanonicalCarrier S} (world : GeneratedCarrier root) :
            IsMCS world

            A generated point still carries its canonical MCS proof.

            A generated point still carries its canonical witnessedness proof.

            The root as a point of its generated carrier.

            Equations
            Instances For
              def MatchingLogic.generatedInterp {S : Signature} (root : CanonicalCarrier S) (sigma : S.Sym) (components : Fin (S.arity sigma)GeneratedCarrier root) :

              The canonical interpretation restricted to generated inputs and outputs.

              Equations
              • One or more equations did not get rendered due to their size.
              Instances For
                @[reducible, inline]

                The submodel generated backwards from root.

                Equations
                Instances For
                  @[simp]
                  theorem MatchingLogic.mem_generatedInterp {S : Signature} {root : CanonicalCarrier S} {sigma : S.Sym} {components : Fin (S.arity sigma)GeneratedCarrier root} {world : GeneratedCarrier root} :
                  world generatedInterp root sigma components world canonicalInterp sigma fun (i : Fin (S.arity sigma)) => (components i)
                  @[simp]
                  theorem MatchingLogic.generatedModel_interp {S : Signature} (root : CanonicalCarrier S) (sigma : S.Sym) (components : Fin (S.arity sigma)GeneratedCarrier root) :
                  (generatedModel root).interp sigma components = generatedInterp root sigma components
                  theorem MatchingLogic.mem_generatedModel_interp {S : Signature} {root : CanonicalCarrier S} {sigma : S.Sym} {components : Fin (S.arity sigma)GeneratedCarrier root} {world : GeneratedCarrier root} :
                  world (generatedModel root).interp sigma components world canonicalInterp sigma fun (i : Fin (S.arity sigma)) => (components i)

                  Definitions 75--76: generating paths and their contexts #

                  The source's explicit generating-path relation. A new coordinate is appended when an output world is followed to one of its argument worlds.

                  Instances For

                    The one-step context for a generating coordinate, with top in all sibling positions as required by source Definition 76.

                    Equations
                    Instances For

                      The symbol context C_path, obtained by nesting one-step contexts in path order.

                      Equations
                      • One or more equations did not get rendered due to their size.
                      Instances For

                        Every canonical MCS contains top.

                        theorem MatchingLogic.GeneratingPath.generated {S : Signature} {root world : CanonicalCarrier S} {path : List (Coord S)} (hpath : GeneratingPath root world path) :
                        Generated root world

                        A source generating path witnesses membership in the reachability closure.

                        theorem MatchingLogic.Generated.exists_generatingPath {S : Signature} {root world : CanonicalCarrier S} (hgen : Generated root world) :
                        ∃ (path : List (Coord S)), GeneratingPath root world path

                        Reachability and the paper's explicit generating-path relation agree.

                        theorem MatchingLogic.GeneratingPath.plug_mem_root {S : Signature} {root world : CanonicalCarrier S} {path : List (Coord S)} (hpath : GeneratingPath root world path) {p : Pattern S } (hp : p world) :
                        (generatingContext path).plug p root

                        Source Lemma 77: a generating context transports every member of its end world back into the root MCS.

                        theorem MatchingLogic.Generated.exists_generatingContext {S : Signature} {root world : CanonicalCarrier S} (hgen : Generated root world) :
                        ∃ (C : AppCtx S ), pworld, C.plug p root

                        Every reachable world has a context transporting all of its members into the root.

                        Lemma 78: Singleton Variables #

                        theorem MatchingLogic.generated_singleton_variables {S : Signature} (root : CanonicalCarrier S) {left right : CanonicalCarrier S} (hleft : Generated root left) (hright : Generated root right) {x : } (hxleft : Pattern.var x left) (hxright : Pattern.var x right) :
                        left = right

                        Source Lemma 78: a variable pattern belongs to at most one reachable canonical world.

                        theorem MatchingLogic.GeneratedCarrier.eq_of_var_mem {S : Signature} {root : CanonicalCarrier S} (left right : GeneratedCarrier root) {x : } (hxleft : Pattern.var x left) (hxright : Pattern.var x right) :
                        left = right

                        Carrier form of Singleton Variables, used by the later completed valuation.