MatchingLogic.EntryIII.Generated #
Local decidable equality used by the generated-submodel construction.
Equations
Instances For
Application-context composition #
Context composition: outer.comp inner plugs inner into outer.
Equations
- MatchingLogic.AppCtx.hole.comp inner = inner
- (MatchingLogic.AppCtx.node sigma i args tail).comp inner = MatchingLogic.AppCtx.node sigma i args (tail.comp inner)
Instances For
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
The smallest set of canonical worlds containing root and closed under
backwards canonical symbol steps.
Equations
- MatchingLogic.Generated root world = Relation.ReflTransGen MatchingLogic.canonicalStep root world
Instances For
The carrier of the submodel generated by root.
Equations
- MatchingLogic.GeneratedCarrier root = { world : MatchingLogic.CanonicalCarrier S // MatchingLogic.Generated root world }
Instances For
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
- MatchingLogic.generatedRoot root = ⟨root, ⋯⟩
Instances For
The canonical interpretation restricted to generated inputs and outputs.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The submodel generated backwards from root.
Equations
- MatchingLogic.generatedModel root = { carrier := MatchingLogic.GeneratedCarrier root, nonempty := ⋯, interp := MatchingLogic.generatedInterp root }
Instances For
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.
- root {S : Signature} {root : CanonicalCarrier S} : GeneratingPath root root []
- tail {S : Signature} {root parent : CanonicalCarrier S} {path : List (Coord S)} {sigma : S.Sym} {components : Fin (S.arity sigma) → CanonicalCarrier S} {i : Fin (S.arity sigma)} : GeneratingPath root parent path → parent ∈ canonicalInterp sigma components → GeneratingPath root (components i) (path ++ [⟨sigma, i⟩])
Instances For
The one-step context for a generating coordinate, with top in all
sibling positions as required by source Definition 76.
Equations
- MatchingLogic.generatingStepContext e = MatchingLogic.AppCtx.node e.fst e.snd (fun (x : Fin (S.arity e.fst)) => MatchingLogic.Pattern.tp) MatchingLogic.AppCtx.hole
Instances For
Every canonical MCS contains top.
A source generating path witnesses membership in the reachability closure.
Reachability and the paper's explicit generating-path relation agree.
Source Lemma 77: a generating context transports every member of its end world back into the root MCS.
Every reachable world has a context transporting all of its members into the root.
Lemma 78: Singleton Variables #
Source Lemma 78: a variable pattern belongs to at most one reachable canonical world.
Carrier form of Singleton Variables, used by the later completed valuation.