Documentation

Linglib.Core.Logic.Quantification.Defs

Generalized Quantifier Definitions #

@cite{barwise-cooper-1981} @cite{keenan-stavi-1986} @cite{peters-westerstahl-2006} @cite{van-benthem-1984}

Model-agnostic property definitions, operations, and type shifts for generalized quantifier denotations.

A GQ denotation is a function (α → Bool) → (α → Bool) → Bool mapping a restrictor and a scope to a truth value. The properties defined here (conservativity, monotonicity, duality, intersection condition, symmetry) are purely logical — they hold at the Bool-function level and require no model infrastructure.

The theory-specific module Semantics.Lexical.Determiner.Quantifier defines concrete denotations (every_sem, some_sem, etc.) and proves they satisfy these properties.

Contents #

@[reducible, inline]
abbrev Core.Quantification.GQ (α : Type u_1) :
Type u_1

Generalized quantifier denotation: restrictor → scope → truth value.

Equations
Instances For
    def Core.Quantification.Conservative {α : Type u_1} (q : GQ α) :

    Conservativity: Q(A, B) = Q(A, A ∩ B).

    Only the elements of B that are also in A matter for the quantifier's truth value. Also called "lives on" (B&C) or "intersectivity". All simple (lexicalized) determiners are conservative.

    Equations
    Instances For

      Scope-upward-monotone: if B ⊆ B' and Q(A,B), then Q(A,B').

      Equivalent to ∀ R, Monotone (q R) under pointwise Bool ordering (see scopeUpMono_iff_monotone). This connects to Semantics.Entailment.Polarity.IsUpwardEntailing = Monotone.

      Equations
      Instances For

        Scope-downward-monotone: if B ⊆ B' and Q(A,B'), then Q(A,B).

        Equivalent to ∀ R, Antitone (q R) under pointwise Bool ordering (see scopeDownMono_iff_antitone).

        Equations
        Instances For

          Intersection condition: Q(A,B) depends only on A∩B. B&C §4.8, p.189.

          Equations
          Instances For
            def Core.Quantification.QSymmetric {α : Type u_1} (q : GQ α) :

            Symmetric: Q(A,B) = Q(B,A). B&C p.210; equivalent to intersection condition by Theorem C5.

            Equations
            Instances For

              Restrictor-upward-monotone (persistent): if A ⊆ A' then Q(A,B) → Q(A',B). Linked to weak determiners and there-insertion. B&C §4.9, p.193.

              Equations
              Instances For

                Restrictor-downward-monotone (anti-persistent).

                Equations
                Instances For

                  Positive strong: Q(A,A) for all A. P&W Ch.6: "every", "most", "the".

                  Equations
                  Instances For

                    Negative strong: ¬Q(A,A) for all A. "Neither".

                    Equations
                    Instances For
                      def Core.Quantification.Extension {α : Type u_1} (_q : GQ α) :

                      Extension (EXT): Q(A,B) depends only on A and B, not on the ambient universe M. In model-theoretic GQ theory (where Q^M takes a universe), EXT must be stated as an additional axiom. For GQ α, EXT holds trivially since there is no universe parameter — it's a design theorem.

                      Significance: EXT + CONS characterize "well-behaved" determiners. See vanBenthem_cons_ext.

                      Reference: Peters & Westerståhl Ch.4 Def 4.1.

                      Equations
                      Instances For
                        def Core.Quantification.CONS2 {α : Type u_1} (q : GQ α) :

                        Second conservativity: Q(A,B) = Q(A∩B, B). P&W Ch.6.

                        Equations
                        Instances For
                          def Core.Quantification.Existential {α : Type u_1} (q : GQ α) :

                          Existential property: Q(A,B) = Q(A∩B, everything). P&W Ch.6. Characterizes determiners that are felicitous in there-sentences.

                          Equations
                          Instances For
                            def Core.Quantification.UpSEMon {α : Type u_1} (q : GQ α) :

                            ↑_SE Mon (@cite{peters-westerstahl-2006} §5.5): Q(A,B) & A⊆A' & A\B=A'\B → Q(A',B). On the number triangle: if Q(k,m) then Q(k',m) for k' ≥ k. Enlarging A by adding elements of B preserves Q.

                            Equations
                            Instances For
                              def Core.Quantification.UpSWMon {α : Type u_1} (q : GQ α) :

                              ↑_SW Mon (@cite{peters-westerstahl-2006} §5.5): Q(A,B) & A⊆A' & A∩B=A'∩B → Q(A',B). On the number triangle: if Q(k,m) then Q(k,m') for m' ≥ m. Enlarging A by adding elements outside B preserves Q. This is property (p) from P&W §5.2: half of the EXT condition.

                              Equations
                              Instances For
                                def Core.Quantification.DownNWMon {α : Type u_1} (q : GQ α) :

                                ↓_NW Mon (@cite{peters-westerstahl-2006} §5.5): Q(A,B) & A'⊆A & A\B=A'\B → Q(A',B). On the number triangle: if Q(k,m) then Q(k',m) for k' ≤ k. Shrinking A by removing elements of B preserves Q.

                                Equations
                                Instances For
                                  def Core.Quantification.DownNEMon {α : Type u_1} (q : GQ α) :

                                  ↓_NE Mon (@cite{peters-westerstahl-2006} §5.5): Q(A,B) & A'⊆A & A∩B=A'∩B → Q(A',B). On the number triangle: if Q(k,m) then Q(k,m') for m' ≤ m. Shrinking A by removing elements outside B preserves Q.

                                  Equations
                                  Instances For
                                    def Core.Quantification.Smooth {α : Type u_1} (q : GQ α) :

                                    Smooth (@cite{peters-westerstahl-2006} §5.6): Q is ↓_NE Mon and ↑_SE Mon. Smooth quantifiers are Mon↑ (Prop 9). Under ISOM, smooth quantifiers have smooth monotonicity functions f where f(n) ≤ f(n+1) ≤ f(n)+1 (Prop 10). Most natural language Mon↑ determiners are smooth: all proportional quantifiers, "some", "all", "most", etc.

                                    Equations
                                    Instances For
                                      def Core.Quantification.CoSmooth {α : Type u_1} (q : GQ α) :

                                      Co-smooth (@cite{peters-westerstahl-2006} §5.6): Q's inner negation is smooth. Equivalently, ↓_NW Mon and ↑_SW Mon. "no" and "fewer than half" are co-smooth.

                                      Equations
                                      Instances For

                                        Left anti-additive: Q(A∪B, C) ↔ Q(A,C) ∧ Q(B,C). P&W §5.9.

                                        Equations
                                        Instances For

                                          Right anti-additive: Q(A, B∪C) ↔ Q(A,B) ∧ Q(A,C). P&W §5.9.

                                          Equations
                                          Instances For
                                            def Core.Quantification.QTransitive {α : Type u_1} (q : GQ α) :

                                            Transitive: Q(A,B) ∧ Q(B,C) → Q(A,C). @cite{van-benthem-1984} §3.1. "all" is the prime transitive quantifier (inclusion is transitive).

                                            Equations
                                            Instances For

                                              Antisymmetric: Q(A,B) ∧ Q(B,A) → A = B (extensionally). @cite{van-benthem-1984} §3.1: "all" (inclusion) is antisymmetric.

                                              Equations
                                              Instances For
                                                def Core.Quantification.QLinear {α : Type u_1} (q : GQ α) :

                                                Linear (connected): Q(A,B) ∨ Q(B,A) for all A, B. @cite{van-benthem-1984} §3.1: "not all" (non-inclusion) is linear.

                                                Equations
                                                Instances For

                                                  Quasi-reflexive: Q(A,B) → Q(A,A). @cite{van-benthem-1984} §3.1. "some" is quasi-reflexive: overlap implies non-emptiness.

                                                  Equations
                                                  Instances For

                                                    Quasi-universal: Q(A,A) → Q(A,B) for all B. @cite{van-benthem-1984} §3.1. "no" is quasi-universal: if A∩A = ∅ then A∩B = ∅ for all B.

                                                    Equations
                                                    Instances For

                                                      Almost-connected: Q(A,B) → Q(A,C) ∨ Q(C,B) for all C. @cite{van-benthem-1984} §3.1: equivalent to transitivity of ¬Q. "not all" is almost-connected.

                                                      Equations
                                                      Instances For
                                                        def Core.Quantification.Variety {α : Type u_1} (q : GQ α) :

                                                        VAR (Variety): Q is non-trivial — it both accepts and rejects some pair. @cite{van-benthem-1984} §2: rules out degenerate quantifiers like "at least 2" on singleton domains. Used as hypothesis in most uniqueness theorems.

                                                        Equations
                                                        Instances For

                                                          Double monotonicity type (@cite{van-benthem-1984} §4.2). The logical Square of Opposition maps to four double-monotonicity types: all = ↓MON↑, some = ↑MON↑, no = ↓MON↓, not all = ↑MON↓.

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

                                                              Right continuity (CONT): if Q(A,B₁) and Q(A,B₂) hold and B₁ ⊆ B ⊆ B₂, then Q(A,B). @cite{van-benthem-1984} §4.3: all right-monotone quantifiers are continuous. "precisely one" is continuous but non-monotone.

                                                              Equations
                                                              • One or more equations did not get rendered due to their size.
                                                              Instances For
                                                                def Core.Quantification.Filtrating {α : Type u_1} (q : GQ α) :

                                                                Filtrating: Q(A,B) ∧ Q(A,C) → Q(A, B∩C). @cite{van-benthem-1984} Thm 4.4.2: "all" is the only filtrating quantifier (under VAR*). This is because filtrating ↔ filter (closure under ∩), and only the principal filter at A (= inclusion) satisfies CONSERV.

                                                                Equations
                                                                Instances For

                                                                  QUANT (Isomorphism closure): Q is invariant under permutations of the domain. Model-agnostic version: Q(A,B) depends only on the pointwise Boolean pattern, not on which specific elements satisfy A and B.

                                                                  This is the type ⟨1,1⟩ (binary) generalization of @cite{mostowski-1957}'s permutation invariance. Mostowski's original condition applies to type ⟨1⟩ (unary) quantifiers; the extension to binary determiners is due to @cite{van-benthem-1984} (building on Lindström 1966).

                                                                  The model-specific version in Semantics.Lexical.Determiner.Quantifier.Quantity uses cardinalities directly, which requires FiniteModel. This version captures the same intuition without model infrastructure.

                                                                  @cite{van-benthem-1984} §2: CONSERV + QUANT together reduce Q's behavior to pairs (a, b) where a = |A \ B| and b = |A ∩ B|.

                                                                  Equations
                                                                  Instances For
                                                                    def Core.Quantification.outerNeg {α : Type u_1} (q : GQ α) :
                                                                    GQ α

                                                                    Outer negation: (~Q)(A,B) = ¬Q(A,B) (B&C §4.11). Example: ~every = not-every ("Not every student passed").

                                                                    Equations
                                                                    Instances For
                                                                      def Core.Quantification.innerNeg {α : Type u_1} (q : GQ α) :
                                                                      GQ α

                                                                      Inner negation: (Q~)(A,B) = Q(A, ¬B) (B&C §4.11). Example: every~ = every...not ("Every student didn't pass").

                                                                      Equations
                                                                      Instances For
                                                                        def Core.Quantification.dualQ {α : Type u_1} (q : GQ α) :
                                                                        GQ α

                                                                        Dual: Q̌ = ~(Q~) = ¬Q(A, ¬B) (B&C §4.11). Example: every̌ = some, somě = every.

                                                                        Equations
                                                                        Instances For
                                                                          def Core.Quantification.gqMeet {α : Type u_1} (f g : GQ α) :
                                                                          GQ α

                                                                          Meet of two GQ denotations: (f ∧ g)(A,B) = f(A,B) ∧ g(A,B). K&S (20): conjunction of dets, e.g., "both John's and Mary's". Also: "between n and m" = (at least n) ∧ (at most m).

                                                                          Equations
                                                                          Instances For
                                                                            def Core.Quantification.gqJoin {α : Type u_1} (f g : GQ α) :
                                                                            GQ α

                                                                            Join of two GQ denotations: (f ∨ g)(A,B) = f(A,B) ∨ g(A,B). K&S (24): disjunction of dets, e.g., "either John's or Mary's".

                                                                            Equations
                                                                            Instances For
                                                                              def Core.Quantification.adjRestrict {α : Type u_1} (q : GQ α) (adj : αBool) :
                                                                              GQ α

                                                                              Restriction of a GQ by a restricting function (adjective/relative clause). K&S (66): h_f(s) = h(f(s)). In our representation, the adjective narrows the restrictor: "tall student" = student ∧ tall.

                                                                              Equations
                                                                              Instances For
                                                                                @[reducible, inline]
                                                                                abbrev Core.Quantification.NPQ (α : Type u_2) :
                                                                                Type u_2

                                                                                NP denotation (type ⟨1⟩): a property of properties. This is the model-agnostic version of Ty.ett from TypeShifting.lean. P&W §2.1: an NP like "every student" denotes a set of sets.

                                                                                Equations
                                                                                Instances For
                                                                                  def Core.Quantification.restrict {α : Type u_1} (q : GQ α) (A : αBool) :
                                                                                  NPQ α

                                                                                  Restriction: given a GQ Q and restrictor A, produce the type ⟨1⟩ quantifier Q^[A] (P&W §3.2.2). restrict Q A B = Q A B.

                                                                                  Equations
                                                                                  Instances For
                                                                                    def Core.Quantification.LivesOn {α : Type u_1} (Q : NPQ α) (A : αBool) :

                                                                                    A type ⟨1⟩ quantifier Q "lives on" A iff Q(B) = Q(A ∩ B) for all B. P&W §3.2.2: the restricted quantifier depends only on elements of A.

                                                                                    Equations
                                                                                    Instances For
                                                                                      def Core.Quantification.individual {α : Type u_1} (a : α) :
                                                                                      NPQ α

                                                                                      Montagovian individual: the type ⟨1⟩ quantifier I_a = {X : a ∈ X}. P&W §3.2.3: an entity lifts to the principal ultrafilter it generates.

                                                                                      Equations
                                                                                      Instances For
                                                                                        theorem Core.Quantification.scopeUpMono_iff_monotone {α : Type u_1} (q : GQ α) :
                                                                                        ScopeUpwardMono q ∀ (R : αBool), Monotone (q R)

                                                                                        ScopeUpwardMono q is ∀ R, Monotone (q R) under pointwise Bool ordering. This bridges GQ-level monotonicity to Mathlib's Monotone, which is what Polarity.lean uses (IsUpwardEntailing = Monotone).

                                                                                        theorem Core.Quantification.scopeDownMono_iff_antitone {α : Type u_1} (q : GQ α) :
                                                                                        ScopeDownwardMono q ∀ (R : αBool), Antitone (q R)

                                                                                        ScopeDownwardMono q is ∀ R, Antitone (q R) under pointwise Bool ordering.