MatchingLogic.EntryIII.SignatureReduction #
The union of the symbols appearing in a finite list of patterns.
Equations
- MatchingLogic.Pattern.symbolSupportList l = List.foldr (fun (p : MatchingLogic.Pattern S Var) (support : Finset S.Sym) => p.symbolSupport ∪ support) ∅ l
Instances For
Every pattern in a finite list is supported by that list's support.
Restrict every member of a supported finite list to the finite sub-signature.
Equations
- MatchingLogic.Pattern.restrictList F [] h_2 = []
- MatchingLogic.Pattern.restrictList F (p :: l_2) h_2 = MatchingLogic.Pattern.restrictSignature F p ⋯ :: MatchingLogic.Pattern.restrictList F l_2 ⋯
Instances For
Lifting a restricted finite list recovers the original list.
Lifting distributes through the fixed bracketing of a finite conjunction.
Extend a model of the finite sub-signature by interpreting every symbol outside it as the empty set.
Equations
- One or more equations did not get rendered due to their size.
Instances For
On a retained symbol, pointwise application is unchanged by extension.
Denotation is preserved when a restricted pattern is lifted and its model is extended by empty interpretations outside the restricted signature.
The ambient denotation of a supported pattern equals the denotation of its restriction in the finite sub-signature.
Conjunctive denotation of a finite list is unchanged by lifting and model extension.
Restricting a locally consistent supported finite list preserves local consistency: a contradiction over the restricted signature would lift to one over the original list.
Finite pointed-model existence for every finite sub-signature implies finite pointed-model existence for the ambient signature.