MatchingLogic.Sanity #
theorem
MatchingLogic.Model.app_eq_empty
{S : Signature}
(M : Model S)
(σ : S.Sym)
(A : Fin (S.arity σ) → Set M.carrier)
(i : Fin (S.arity σ))
(h : A i = ∅)
:
Control 1: the pointwise extension is ∅ as soon as one argument is
(paper, Section 2, sentence after the display). This would fail if app used
∀ i, a i ∈ A i with an existential over a partial tuple, or if it forgot the
tuple entirely.
theorem
MatchingLogic.Model.app_const
{S : Signature}
(M : Model S)
(σ : S.Sym)
(h : S.arity σ = 0)
(A : Fin (S.arity σ) → Set M.carrier)
:
Control 2: a constant is interpreted by a subset of the carrier, and its
denotation does not depend on the valuation. Fin 0 being empty is what makes
the tuple unique.