Documentation

Linglib.Theories.Semantics.Dynamic.PLA.Quantifiers

@[reducible, inline]
abbrev Semantics.Dynamic.PLA.GQRel (α : Type u_1) :
Type u_1

A Generalized quantifier relation: determines truth based on two sets.

GQRel α = Set α → Set α → Prop

Examples:

Equations
Instances For

    Every: All A's are B's

    Equations
    Instances For

      Some: At least one A is a B

      Equations
      Instances For

        No: No A is a B

        Equations
        Instances For

          Most: More than half of the A's are B's (requires finite)

          Equations
          Instances For

            At least n: At least n A's are B's

            Equations
            Instances For

              Exactly n: Exactly n A's are B's

              Equations
              Instances For

                A quantifier is conservative if D(A)(B) ↔ D(A)(A ∩ B).

                This is the key semantic universal: determiners only care about the A's when determining the relation to B.

                "Every student passed" ↔ "Every student is a student who passed"

                Equations
                Instances For

                  A quantifier is upward monotone in the second argument if D(A)(B) and B ⊆ C implies D(A)(C).

                  Equations
                  Instances For

                    A quantifier is downward monotone in the second argument if D(A)(B) and C ⊆ B implies D(A)(C).

                    Equations
                    Instances For

                      A quantifier is truthful (has existential import) if D(A)(B) implies A ∩ B ≠ ∅.

                      Truthful quantifiers: some, every (presuppositionally), most Non-truthful: no, at most n

                      Equations
                      Instances For

                        Note: every is only truthful if we assume existential presupposition. Standard logic treats "every A is B" as vacuously true when A = ∅.

                        @[reducible, inline]

                        A witness function selects, for each entity in the restrictor satisfying some condition, a witnessing entity.

                        For "Every farmer who owns a donkey beats it":

                        • For each farmer f who owns a donkey, wit f is a donkey that f owns

                        This is @cite{dekker-2012}'s solution to donkey anaphora with universal quantifiers.

                        Equations
                        Instances For
                          def Semantics.Dynamic.PLA.ValidWitness {α : Type u_1} (R : ααProp) (A B : Set α) (wit : WitnessFn α) :

                          A witness function is valid for sets A and R if: for all x ∈ A, the witness wit(x) is related to x by R.

                          For "owns a donkey": valid_witness owns farmers donkeys wit means ∀ f ∈ farmers, owns f (wit f) ∧ wit f ∈ donkeys

                          Equations
                          Instances For
                            theorem Semantics.Dynamic.PLA.truthful_has_witness {α : Type u_1} [Nonempty α] (D : GQRel α) (hT : D.IsTruthful) (A B : Set α) (h : D A B) :
                            xA B, True

                            Truthful existence: For truthful quantifiers, if D(A)(B) holds, there exists a valid witness function.

                            This is the key to dynamic binding: truthful quantifiers "export" witnesses that can be referenced anaphorically.

                            def Semantics.Dynamic.PLA.Formula.gqUpdate {E : Type u_1} [Nonempty E] (M : Model E) (D : GQRel E) (x : VarIdx) (φ ψ : Formula) :

                            Dynamic quantifier update: Dx(φ)(ψ) where D is a generalized quantifier.

                            Semantics: D(restrictor)(scope) where:

                            • restrictor = {e | M, g[x↦e], ê ⊨ φ}
                            • scope = {e | M, g[x↦e], ê ⊨ ψ}

                            This generalizes ∃x.φ (which is some(univ)(φ)).

                            Equations
                            • One or more equations did not get rendered due to their size.
                            Instances For
                              theorem Semantics.Dynamic.PLA.exists_as_gq {E : Type u_1} [Nonempty E] (M : Model E) (x : VarIdx) (φ : Formula) (s : InfoState E) :
                              Formula.update M (Formula.exists_ x φ) s = {p : Assignment E × WitnessSeq E | p s ∃ (e : E), Formula.sat M (p.1[x e]) p.2 φ}

                              Standard existential is some(univ)(φ), but we use the standard definition which also updates the assignment.

                              def Semantics.Dynamic.PLA.donkeyUpdate {E : Type u_1} (M : Model E) (farmer donkey : VarIdx) (pron_it : PronIdx) (owns beats : String) :

                              Donkey update: For "Every farmer who owns a donkey beats it".

                              This captures the dependency between the universally quantified farmer and the existentially introduced donkey.

                              We need to track, for each farmer f, which donkey witnesses the "owns a donkey" part, and that donkey is what "it" refers to.

                              Equations
                              • One or more equations did not get rendered due to their size.
                              Instances For
                                def Semantics.Dynamic.PLA.etypeApproach {E : Type u_1} (M : Model E) (farmer donkey owns beats : String) :

                                The E-type approach (Evans): pronouns pick out the unique/salient entity.

                                For "Every farmer who owns a donkey beats it": "it" = the unique donkey that the farmer owns (if unique), or a contextually salient one (if multiple).

                                This differs from the witness-function approach in requiring uniqueness or salience.

                                Equations
                                • One or more equations did not get rendered due to their size.
                                Instances For
                                  theorem Semantics.Dynamic.PLA.gqUpdate_eliminative {E : Type u_1} [Nonempty E] (M : Model E) (D : GQRel E) (x : VarIdx) (φ ψ : Formula) (s : InfoState E) :
                                  Formula.gqUpdate M D x φ ψ s s

                                  GQ updates are eliminative: They never add possibilities.

                                  theorem Semantics.Dynamic.PLA.gqUpdate_conservative {E : Type u_1} [Nonempty E] (M : Model E) (D : GQRel E) (hC : D.IsConservative) (x : VarIdx) (φ ψ : Formula) (s : InfoState E) (p : Poss E) :
                                  p Formula.gqUpdate M D x φ ψ s p s D {e : E | Formula.sat M (p.1[x e]) p.2 φ} {e : E | Formula.sat M (p.1[x e]) p.2 φ Formula.sat M (p.1[x e]) p.2 ψ}

                                  Conservativity transfers: If D is conservative, so is the dynamic version (in a suitable sense).

                                  theorem Semantics.Dynamic.PLA.indefinite_wide_scope {E : Type u_1} [Nonempty E] (M : Model E) (x : VarIdx) (φ ψ : Formula) (s : InfoState E) (p : Poss E) :
                                  p Formula.update M (Formula.exists_ x φ) s∃ (e : E), Formula.sat M (p.1[x e]) p.2 φ

                                  Indefinites take wide scope (in dynamic semantics).

                                  "If a farmer owns a donkey, he beats it." The indefinites "a farmer" and "a donkey" can bind pronouns in the consequent.

                                  This is modeled by having the existential update extend the assignment globally, not just locally.

                                  theorem Semantics.Dynamic.PLA.universal_no_export {E : Type u_1} [Nonempty E] (M : Model E) (x : VarIdx) (φ : Formula) (s : InfoState E) :

                                  Universals don't export: "Every farmer owns a donkey" doesn't make "the donkey" available for subsequent anaphora (without special mechanisms).