Documentation

Linglib.Theories.Semantics.PIP.Basic

Plural Intensional Presuppositional Predicate Calculus (PIP) #

@cite{keshet-abney-2024} @cite{brasoveanu-2010} @cite{stone-1997}Core types for @cite{keshet-abney-2024}'s PIP system, which extends first-order predicate calculus with set abstraction, plural assignments, formula labels, and world-subscripted predicates to handle intensional anaphora uniformly.

The Core Innovation #

Pronouns carry descriptive content (the formula that introduced their antecedent), not stored entity values. This enables anaphora to entities introduced under modal operators, where no actual entity exists in the evaluation world.

Encoding Strategy #

PIP is natively a static, truth-conditional system: formulas denote truth values relative to a model, plural assignment set G, and evaluation world w*. Our formalization encodes PIP as a dynamic update system over IntensionalCDRT's IContext W E, which is a legitimate approach: @cite{brasoveanu-2010} shows the equivalence between plural predicate calculi and dynamic plural logics. The key properties (label monotonicity, external/local variable distinction) are faithfully preserved.

PIP's Five Constructs (paper item 17) #

  1. Unselective closure with bracketed [x] (local) vs unbracketed x (external)
  2. Summation Σxφ: set-forming over individuals
  3. Formula labels X ≡ φ: tautological abbreviatory definitions
  4. World subscripts P_w(x): predicates evaluated at specific worlds
  5. Presuppositions φ|ψ: assert φ, presuppose ψ

Key Types #

TypeDescription
FLabelFormula label index (paper's X in X ≡ φ)
Description W EDescriptive content associated with a label
Discourse W EInformation state + label registry
PUpdate W EDiscourse-level update (dynamic encoding of PIP formulas)

Formula label: an index for tracking descriptive content.

In PIP, X ≡ φ defines X as an abbreviation for formula φ. This definition is a tautology (always true) and can be "floated" to the top of any discourse. Our encoding models this as a registry entry that persists monotonically through all operators.

Instances For
    def Semantics.PIP.instDecidableEqFLabel.decEq (x✝ x✝¹ : FLabel) :
    Decidable (x✝ = x✝¹)
    Equations
    Instances For
      structure Semantics.PIP.Description (W : Type u_1) (E : Type u_2) :
      Type (max u_1 u_2)

      A description: the descriptive content associated with a formula label.

      Records which variable is being described and the predicate that constrains it. When a pronoun carries label α, retrieval evaluates the description's predicate to find the intended referent.

      Instances For
        def Semantics.PIP.LabelStore (W : Type u_1) (E : Type u_2) :
        Type (max u_2 u_1)

        A label store maps formula labels to their descriptive content.

        Labels accumulate monotonically as discourse proceeds — they are never retracted by negation, modals, or other operators. This monotonicity is what enables cross-modal and cross-negation anaphora.

        Equations
        Instances For
          def Semantics.PIP.LabelStore.empty {W : Type u_1} {E : Type u_2} :

          Empty label store: no labels registered.

          Equations
          Instances For
            def Semantics.PIP.LabelStore.register {W : Type u_1} {E : Type u_2} (s : LabelStore W E) (α : FLabel) (d : Description W E) :

            Register a label with its description.

            Equations
            Instances For
              def Semantics.PIP.LabelStore.lookup {W : Type u_1} {E : Type u_2} (s : LabelStore W E) (α : FLabel) :

              Look up a label.

              Equations
              Instances For
                def Semantics.PIP.LabelStore.registered {W : Type u_1} {E : Type u_2} (s : LabelStore W E) (α : FLabel) :

                A label is registered iff its lookup is not none.

                Equations
                Instances For
                  theorem Semantics.PIP.LabelStore.register_preserves {W : Type u_1} {E : Type u_2} (s : LabelStore W E) (α β : FLabel) (d : Description W E) (hne : β α) :
                  s.register α d β = s β

                  Registration is monotonic: registering a new label preserves old ones.

                  structure Semantics.PIP.Discourse (W : Type u_1) (E : Type u_2) :
                  Type (max u_1 u_2)

                  A PIP discourse state: information state + label registry.

                  The discourse state separates two orthogonal concerns:

                  1. Info: the set of live assignment-world pairs (epistemic state)
                  2. Labels: the accumulated descriptive content registry

                  This separation is key: negation and modals affect info but not labels, which is why labels survive these operators and enable cross-boundary anaphora.

                  Instances For
                    def Semantics.PIP.Discourse.initial {W : Type u_1} {E : Type u_2} :

                    Initial discourse: all possibilities, no labels.

                    Equations
                    Instances For
                      def Semantics.PIP.Discourse.empty {W : Type u_1} {E : Type u_2} :

                      Empty discourse: contradiction.

                      Equations
                      Instances For
                        def Semantics.PIP.Discourse.consistent {W : Type u_1} {E : Type u_2} (d : Discourse W E) :

                        Is the discourse consistent (non-empty info state)?

                        Equations
                        Instances For

                          Update only the info state, preserving labels.

                          Equations
                          Instances For
                            def Semantics.PIP.Discourse.addLabel {W : Type u_1} {E : Type u_2} (d : Discourse W E) (α : FLabel) (desc : Description W E) :

                            Register a new label, preserving info state.

                            Equations
                            Instances For
                              def Semantics.PIP.PUpdate (W : Type u_1) (E : Type u_2) :
                              Type (max u_2 u_1)

                              A PIP update: discourse-to-discourse transformer.

                              In PIP's native formulation, formulas are truth-conditional (not updates). Our dynamic encoding represents PIP formulas as discourse transformers, following the @cite{brasoveanu-2010} equivalence. The key invariant: labels are monotonically accumulated (never retracted), mirroring PIP's property that formula-label definitions X ≡ φ are tautologies that float freely.

                              Equations
                              Instances For
                                def Semantics.PIP.presuppose {W : Type u_1} {E : Type u_2} (pred : Dynamic.Core.ICDRTAssignment W EWBool) :

                                Presupposition operator ∂: a definedness condition.

                                ⟦∂φ⟧ filters the information state to pairs where φ holds. If the result is empty, the utterance is undefined (presupposition failure).

                                In PIP, presuppositions are used for:

                                1. Definite descriptions (DEF_α presupposes α is registered)
                                2. Pronominal anaphora (presupposes antecedent is accessible)
                                Equations
                                Instances For
                                  def Semantics.PIP.retrieveDef {W : Type u_1} {E : Type u_2} (α : FLabel) :

                                  DEF_α: retrieve the entity satisfying the description labeled α.

                                  Given label α and the current discourse state:

                                  1. Look up α's description (variable v, predicate P)
                                  2. Filter to assignments where g(v) is a real entity (not ⋆)
                                  3. Filter to assignments where P(g, w) holds

                                  The presupposition is that α is registered and yields a real entity. This is the mechanism by which pronouns get their reference: the pronoun carries label α, and DEF_α retrieves "the x such that P(x)" from the label store.

                                  Equations
                                  • One or more equations did not get rendered due to their size.
                                  Instances For
                                    def Semantics.PIP.pluralTruth {W : Type u_1} {E : Type u_2} (c : Dynamic.IntensionalCDRT.IContext W E) (w : W) (pred : Dynamic.Core.ICDRTAssignment W EWBool) :

                                    PIP truth relative to a world and a plural context.

                                    A predicate P holds at world w in context c iff P(g, w) = true for ALL assignments g paired with w in c.

                                    This "plural" evaluation is what gives PIP its power: different assignments may bind different entities to the same variable, and truth requires the predicate to hold across all of them.

                                    Equations
                                    Instances For

                                      Variable binding mode: how a variable was introduced.

                                      • Local: Bound by a quantifier in the same clause. Both the individual variable and its restrictor are in scope.
                                      • External: Bound from an enclosing scope. In modal contexts, the world variable is external (introduced by the modal operator).

                                      This distinction falls out naturally from PIP's semantics without stipulation: under quantifiers, the bound variable is local; under modals, the world variable is external because it's quantified by the modal from outside the scope of any indefinites.

                                      Instances For
                                        Equations
                                        • One or more equations did not get rendered due to their size.
                                        Instances For

                                          A bound variable record: tracks how a variable was introduced.

                                          Instances For
                                            Equations
                                            • One or more equations did not get rendered due to their size.
                                            Instances For