Documentation

Linglib.Theories.Semantics.Polarity.Operator

Polarity Operators #

@cite{laka-1990} @cite{turk-hirsch-2026}

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.

def Semantics.Polarity.affirm (W : Type u) :
(WProp)WProp

Affirmative polarity operator — identity on propositions (@cite{laka-1990}'s Σ).

Equations
Instances For
    def Semantics.Polarity.neg (W : Type u) :
    (WProp)WProp

    Negative polarity operator — pointwise propositional negation (@cite{laka-1990}'s NEG).

    Equations
    Instances For
      @[simp]
      @[simp]
      theorem Semantics.Polarity.affirm_apply {W : Type u} (p : WProp) :
      affirm W p = p
      @[simp]
      theorem Semantics.Polarity.neg_apply {W : Type u} (p : WProp) (w : W) :
      neg W p w ¬p w
      theorem Semantics.Polarity.neg_neg {W : Type u} (p : WProp) (w : W) :
      neg W (neg W p) w p w

      neg is an involution (up to propositional extensionality).