MatchingLogic.Definedness #
The signature enriched with a unary definedness symbol, written none.
Equations
Instances For
Definedness-free patterns embed into the enriched language.
Equations
- MatchingLogic.emb (MatchingLogic.Pattern.var x_1) = MatchingLogic.Pattern.var x_1
- MatchingLogic.emb MatchingLogic.Pattern.bot = MatchingLogic.Pattern.bot
- MatchingLogic.emb (a.imp b) = (MatchingLogic.emb a).imp (MatchingLogic.emb b)
- MatchingLogic.emb (MatchingLogic.Pattern.ex x_1 a) = MatchingLogic.Pattern.ex x_1 (MatchingLogic.emb a)
- MatchingLogic.emb (MatchingLogic.Pattern.app σ f) = MatchingLogic.Pattern.app (some σ) fun (i : Fin ((MatchingLogic.defSig S).arity (some σ))) => MatchingLogic.emb (f i)
Instances For
⌈φ⌉.
Equations
- MatchingLogic.defined φ = MatchingLogic.Pattern.app none fun (x : Fin ((MatchingLogic.defSig S).arity none)) => φ
Instances For
The axiom ⌈x⌉ of the paper.
Instances For
The expansion of a definedness-free model: the same carrier, the same
symbols, and definedness interpreted as constantly everything on singletons —
which the pointwise extension turns into univ on nonempty arguments and ∅
on empty ones.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The expansion satisfies the definedness axiom, so it really is a model of
Γ ∪ {⌈x⌉} whenever M is a model of Γ.
⌈·⌉ has the semantics of Section 2 in the expansion: univ when the
argument is inhabited, ∅ when it is empty. This is a control: if it failed,
expand would not be interpreting definedness.
Corollary 16 (conservativity of definedness).
Note (S) is supplied rather than assumed — soundness is a theorem here, and it
holds at defSig S as at any signature. (L) remains a hypothesis, inherited
from Corollary 15, and is needed at the BASE signature only.