Polarity Operators #
The two semantic operators that polarity heads spell out, as bare functions
on (W → Prop) propositions:
This module is deliberately syntax-free: no UPOS, no head structure, no "PolarityHead" packaging. Those notions belong at the syntax-semantics interface or in fragment-level entries that pair a semantic operator with its syntactic realization. The semantics layer only owns the operator.
Equational simp lemmas (affirm_eq_id, neg_apply, neg_neg) make the
operators transparent to downstream reasoning.
Affirmative polarity operator — identity on propositions ([Lak90]'s Σ).
Equations
- Semantics.Polarity.affirm W = id
Instances For
Negative polarity operator — pointwise propositional negation ([Lak90]'s NEG).
Equations
- Semantics.Polarity.neg W p w = ¬p w
Instances For
@[simp]