Charlow (2021): Post-suppositions and semantic theory #
Exactly three boys saw exactly five movies has a cumulative reading: the boys who saw movies are three, and the movies they saw are five. Charlow shows that the obvious pointwise dynamic meaning for modified numerals derives only a weaker pseudo-cumulative reading, which is also true when four boys saw six movies, and compares three repairs: higher-order dynamic quantifiers whose cardinality tests take scope on their own, made safe by a subtyping discipline; Brasoveanu's post-suppositions, packaged as a Writer monad; and an update semantics whose maximization surveys whole contexts. The update semantics derives the cumulative reading from meanings of the pseudo-cumulative form.
Main definitions #
Evar,card,relTest: dref introduction (17), the cardinality test (19) and a dynamic verb (11); maximization (18) isUpdate.maxAt.pseudoCumulative,cumulative: the logical forms (5) and (6).exactly,exactlyHO: the dynamic quantifier (3) and the higher-order one (24), in mathlib's continuation monad.HasType: the typing (44) of logical forms, withta subtype ofT.PostSupp,exactlyPS,sentencePS: post-suppositional meanings (53) and the sentence (55).maxAtU,exactlyU,sentenceU: update-theoretic maximization (78), the quantifier (81) and the sentence (82).
Main results #
cumulative_scenarioA,cumulative_scenarioB,pseudoCumulative_scenarioB: on the models of Figure 1, (6) holds in Scenario A only, while (5) holds in Scenario B.scope27throughscope33: the six scopings of two higher-order quantifiers reduce to (27)–(30) and (32)–(33); four agree with (6) on Figure 1 and two are pseudo-cumulative.hasType_cumulative,not_hasType_pseudoCumulative: (45) has typeTand (46) has none.reify_sentencePS: the post-suppositional sentence reifies to (6).lower_maxAtU_image: the two maximizations are alphabetic variants (79).sentenceU_scenarioA,sentenceU_scenarioB: (82) is cumulative on Figure 1, anddown_sentenceULoweredrecovers (5) once the object's maximization is lifted from its pointwise counterpart, so that update-theoretic maximization is not distributive (not_isDistributive_maxAtU).
Implementation notes #
- Registers model the paper's variables, and entities are finite sets of atoms, as in §2.1.
- A dynamic quantifier of type
(e → t) → tisCont (Update S) R; a higher-order one isCont (Update S) (Cont (Update S) R), and (26) is the monad'sjoinM. - The numerals are parameters. The cardinality test counts atoms (
Mereology.atomCount). - Contexts of the update semantics are sets of assignments, and truth at an assignment is a
nonempty update of its singleton (
CCP.down). - The distributivity operators (48), (59) and (85), islands (§5.2) and §7 are not formalized, nor the subtyping of towers (40)–(41) beyond the typing of logical forms.
References #
Pointwise dynamic meanings (§2) #
Evar v P stores in v some entity satisfying P (17).
Equations
- Charlow2021.Evar v P = DynamicSemantics.Update.box {v} {i : S | P (DynamicSemantics.RegisterStructure.val v i)}
Instances For
relTest u v r is the dynamic verb that tests r of the values of u and v (11).
Equations
- Charlow2021.relTest u v r = DynamicSemantics.Update.test {i : S | r (DynamicSemantics.RegisterStructure.val u i) (DynamicSemantics.RegisterStructure.val v i)}
Instances For
Maximizing a register just introduced under a test keeps its maximal values.
Maximizing a register introduced before an update that keeps it, given when the update has an output.
card v n tests that the value of v has n atoms (19).
Equations
- Charlow2021.card v n = DynamicSemantics.Update.test {i : S | Mereology.atomCount E (DynamicSemantics.RegisterStructure.val v i) = n}
Instances For
Cardinality tests commute, so the order of the tests in (6) and (8) is immaterial (fn. 4).
pseudoCumulative is the logical form (5), whose object's cardinality test is trapped under
the subject's maximization.
Equations
- One or more equations did not get rendered due to their size.
Instances For
cumulative is the logical form (6), with both cardinality tests outside both maximizations.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Higher-order dynamic quantifiers (§3) #
exactly v n P is the dynamic quantifier (3), which introduces, maximizes and counts in one
scope.
Equations
- Charlow2021.exactly v n P k = SetRel.comp (DynamicSemantics.Update.maxAt v (SetRel.comp (Charlow2021.Evar v P) (k v))) (Charlow2021.card v n)
Instances For
exactlyHO v n P is the higher-order dynamic quantifier (24), whose cardinality test scopes
above its trace.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The map (26) from higher-order to ordinary quantifiers is the continuation monad's joinM, and
sends both the Lift (23) of (3) and (24) to (3).
The scoping (27) is the cumulative logical form (6).
The scoping (28) reverses the traces, and is (6) with the object's maximization outside.
The scoping (29) reverses the quantifiers, which only reorders the tests of (27).
The scoping (30) reverses both.
The scoping (32) puts the object under the subject's trace, giving the pseudo-cumulative (5).
The scoping (33) puts the subject under the object's trace.
Subtyping (§4.2) #
LF R E is the syntax of logical forms built from the operators typed in (44).
- dref {R : Type u_3} {E : Type u_4} (v : R) (P : E → Prop) : LF R E
- max {R : Type u_3} {E : Type u_4} (v : R) (K : LF R E) : LF R E
- card {R : Type u_3} {E : Type u_4} (v : R) (n : ℕ) : LF R E
- rel {R : Type u_3} {E : Type u_4} (u v : R) (r : E → E → Prop) : LF R E
- seq {R : Type u_3} {E : Type u_4} (K L : LF R E) : LF R E
Instances For
HasType K A is the typing (44), under which dref introduction and verbs are t, cardinality
tests are T, maximization takes and returns t, and dynamic conjunction is polymorphic, with t
a subtype of T (39).
- dref {R : Type u_1} {E : Type u_2} (v : R) (P : E → Prop) : HasType (LF.dref v P) Ty.t
- rel {R : Type u_1} {E : Type u_2} (u v : R) (r : E → E → Prop) : HasType (LF.rel u v r) Ty.t
- card {R : Type u_1} {E : Type u_2} (v : R) (n : ℕ) : HasType (LF.card v n) Ty.T
- max {R : Type u_1} {E : Type u_2} (v : R) {K : LF R E} : HasType K Ty.t → HasType (LF.max v K) Ty.t
- seq {R : Type u_1} {E : Type u_2} {K L : LF R E} {A : Ty} : HasType K A → HasType L A → HasType (K.seq L) A
- sub {R : Type u_1} {E : Type u_2} {K : LF R E} : HasType K Ty.t → HasType K Ty.T
Instances For
LF.cumulative is the logical form (45).
Equations
- One or more equations did not get rendered due to their size.
Instances For
LF.pseudoCumulative is the logical form (46).
Equations
- One or more equations did not get rendered due to their size.
Instances For
(45) has type T.
(46) has no type, since its object's cardinality test forces the scope of Mv to type T.
K.denote is the update that the logical form K denotes.
Equations
- (Charlow2021.LF.dref v P).denote = Charlow2021.Evar v P
- (Charlow2021.LF.max v K).denote = DynamicSemantics.Update.maxAt v K.denote
- (Charlow2021.LF.card v n).denote = Charlow2021.card v n
- (Charlow2021.LF.rel u v r).denote = Charlow2021.relTest u v r
- (K.seq L).denote = SetRel.comp K.denote L.denote
Instances For
Post-suppositions (§5, Appendix B) #
A post-suppositional meaning (52) is a computation of the Writer monad over the update monoid,
whose log is its post-supposition; pure and bind are (120) and (121), the unit being the
dynamic tautology T of (15).
Equations
- Charlow2021.PostSupp S = Writer (DynamicSemantics.Update S)
Instances For
exactlyPS v n P is the post-suppositional modified numeral (53), whose cardinality test is
post-supposed.
Equations
- One or more equations did not get rendered due to their size.
Instances For
sentencePS is the sentence (55), composed by Combine⁺, which is the Writer monad's <*>
(122).
Equations
- One or more equations did not get rendered due to their size.
Instances For
Reification (58) conjoins a meaning with its post-supposition.
Equations
- p.reify = SetRel.comp (Writer.val p) (Writer.log p)
Instances For
Reifying (55) gives (57), which is the cumulative (6).
Update semantics (§6) #
Update-theoretic maximization (78) keeps the outputs whose value of v is maximal in the
whole updated context.
Equations
- Charlow2021.maxAtU v K s = {j : S | j ∈ K s ∧ ∀ h ∈ K s, ¬DynamicSemantics.RegisterStructure.val v j < DynamicSemantics.RegisterStructure.val v h}
Instances For
Pointwise maximization is update-theoretic maximization on a singleton (79).
exactlyU v n P is the update-theoretic modified numeral (81), of the same form as (3).
Equations
- Charlow2021.exactlyU v n P k = (Charlow2021.maxAtU v (DynamicSemantics.CCP.seq (SetRel.image (Charlow2021.Evar v P)) (k v))).seq (SetRel.image (Charlow2021.card v n))
Instances For
sentenceU is the sentence (82), with the quantifiers in surface scope.
Equations
- Charlow2021.sentenceU v u P Q r n m = Charlow2021.exactlyU v n P fun (a : R) => Charlow2021.exactlyU u m Q fun (b : R) => SetRel.image (Charlow2021.relTest b a r)
Instances For
sentenceULowered is (82) with the object's maximization replaced by the lift of its pointwise
counterpart (p. 34).
Equations
- One or more equations did not get rendered due to their size.
Instances For
Lifting the object's maximization from its pointwise counterpart brings back the pseudo-cumulative reading (p. 34).
The models of Figure 1 #
Equations
- Charlow2021.instDecidableEqEnt x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
- Charlow2021.instFintypeEnt = { elems := { val := ↑Charlow2021.Ent.enumList, nodup := Charlow2021.Ent.enumList_nodup }, complete := Charlow2021.instFintypeEnt._proof_1 }
Equations
- Charlow2021.instDecidableEqReg x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
σ.Saw Y X is the cumulative closure of seeing, object first, so that every boy in X saw a
movie in Y and every movie in Y was seen by a boy in X.
Equations
- σ.Saw Y X = Set.LiftRel (fun (b m : Charlow2021.Ent) => (b, m) ∈ σ.sees) ↑X ↑Y
Instances For
Every seeing is of a movie by a boy.
Equations
- σ.WellFormed = (σ.sees ⊆ σ.boys ×ˢ σ.movies)
Instances For
Every boy saw some movie.
Equations
- σ.Total = ∀ b ∈ σ.boys, ∃ (m : Charlow2021.Ent), (b, m) ∈ σ.sees
Instances For
Equations
- One or more equations did not get rendered due to their size.
Equations
- σ.instDecidableTotal = { decide := decide (∀ a ∈ Finset.univ, (fun (b : Charlow2021.Ent) => b ∈ σ.boys → ∃ (m : Charlow2021.Ent), (b, m) ∈ σ.sees) a), reflects_decide := ⋯ }
Equations
- σ.instDecidablePredFinsetEntBoys x✝ = { decide := decide x✝.Nonempty && decide (x✝ ⊆ σ.boys), reflects_decide := ⋯ }
Scenario A of Figure 1 has three boys who saw five movies.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Scenario B of Figure 1 adds to Scenario A a fourth boy, who saw a sixth movie.
Equations
- One or more equations did not get rendered due to their size.
Instances For
An assignment gives each register a plurality.
Equations
- Charlow2021.St = (Charlow2021.Reg → Finset Charlow2021.Ent)
Instances For
Pluralities are finite sets of atoms, which # counts (§2.1).
The object's maximization stores the movies the subject's boys saw.
(6) is true exactly when all the boys are n and the movies they saw m.
(5) is true exactly when some maximal plurality of boys who saw m movies is n boys.
After the subject's dref and the object's dref and verb, the context holds every pair of boys and movies they saw.
Update-theoretic maximization of the object keeps the movies seen by all the boys.
(82) is true exactly when all the boys are n and the movies they saw m, so it has the
cumulative reading (§6.2).
Update-theoretic maximization is not distributive, since otherwise it would be the lift of its pointwise counterpart, and (82) would be true in Scenario B (§6.2).