Model witnesses for the licensing-context table #
Each witnessed row of LicensingContext.properties carries a model operator
realizing its signatures: the classical row via Signature.SoundFor,
the Strawson row via Signature.StrawsonSoundFor. This converts the
table's strawsonSignature/classicalSignature annotations into derived
facts about denotations — the licensing analogue of the
derive-don't-stipulate rule.
Coverage is incremental (contextWitness? is Option-valued): the
witnessed rows are those whose operators exist in the zoo — negation
(complementation), the quantifier rows (every_sem/no_sem/few_sem sections,
atMost2_student), conditional antecedents (condNecessity), and the
four Strawson-only rows (onlyFull, sorryFull, superlativeAssert,
sinceFull). The none rows await operators (without, deny,
doubt, before, too…to, the comparatives) or concern rows whose
content is the licensing mechanism rather than the signature (the
FC/mono rows, questions).
Each witness carries a strength certificate for its classical row
(DEStrength.HoldsFor, from Semantics/Polarity/Strength.lean), and
ContextWitness.holdsFor_of_licenses grounds the keystone: at a
witnessed presupposition-free row, strength-matched licensing means the
operator really holds the strength the item requires.
A model-theoretic witness for a licensing-context row: an operator (with its definedness/presupposition function) realizing the row's Strawson signature, and its classical signature when one exists.
- W : Type u_1
- β : Type u_2
The context function.
Definedness: where the argument's presupposition is satisfied.
- latticeβ : Lattice self.β
- boundedβ : BoundedOrder self.β
- strawson : c.properties.strawsonSignature.StrawsonSoundFor self.f self.defined
The Strawson row is Strawson-sound for
f. - classical (σ : NaturalLogic.Signature) : σ ∈ c.properties.classicalSignature → σ.SoundFor self.f
The classical row, when present, is classically sound for
f. - strength (σ : NaturalLogic.Signature) : σ ∈ c.properties.classicalSignature → ∀ s ∈ σ.toDEStrength, s.HoldsFor self.f
The classical row's Zwarts strength holds semantically of
f(vacuous at Strawson-only rows).
Instances For
The at-most operator #
The model operator for the .atMost row: antitone in scope but not
anti-additive — the strictness witness separating weak DE from
anti-additivity.
"At most n A's are B" - true if at most n worlds satisfy both.
Uses an existential over a sublist witness so the def is decidable
only when the predicates are decidable, but stays in Prop.
Equations
- Polarity.atMost n restr scope = ∀ (ws : List (Fin 4)), ws.Nodup → (∀ w ∈ ws, restr w ∧ scope w) → ws.length ≤ n
Instances For
Monotonicity: if p ⊆ q (entailment) and q has at most n witnesses,
so does p.
"At most 2 students ___" with fixed restrictor.
Equations
- Polarity.atMost2_student scope x✝ = Polarity.atMost 2 {0, 1} scope
Instances For
"At most n" is antitone in scope.
"At most 1 student ___" with fixed restrictor.
Equations
- Polarity.atMost1_student scope x✝ = Polarity.atMost 1 {0, 1} scope
Instances For
"At most 1" is still antitone.
"At most n" is not anti-additive (counterexample): the strictness witness for DE ⊊ anti-additive.
Classical rows #
Negation: complementation realizes the anti-morphism row.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Universal restrictor: the restrictor section of every_sem is
completely anti-additive (toy scope falsifying the unit condition's
vacuity).
Equations
- One or more equations did not get rendered due to their size.
Instances For
Nobody: the scope section of no_sem is completely anti-additive.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Few: the scope section of few_sem is antitone (weak DE — and not
anti-additive, matching its .anti row).
Equations
- One or more equations did not get rendered due to their size.
Instances For
At most n: atMost2_student is antitone; the strictness witness
atMost_not_antiAdditive is why this row is .anti, not .antiAdd.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Conditional antecedents: the antecedent section of condNecessity is
classically antitone with the modal base held constant.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Strawson-only rows (classicalSignature = none) #
Only: Strawson-.anti with its existence presupposition;
classically nothing (onlyFull_not_de).
Equations
- One or more equations did not get rendered due to their size.
Instances For
Adversatives: Strawson-.anti with doxastic factivity; classically
nothing (sorryFull_not_de).
Equations
- One or more equations did not get rendered due to their size.
Instances For
Temporal since: Strawson-.anti with the past-event
presupposition.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Superlatives: Strawson-.anti in the restriction with the
designated-subject presupposition.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The table #
The witness table, populated incrementally; none rows are recorded
in the module docstring.
Equations
- Polarity.contextWitness? Polarity.LicensingContext.negation = some Polarity.negationWitness
- Polarity.contextWitness? Polarity.LicensingContext.nobody = some Polarity.nobodyWitness
- Polarity.contextWitness? Polarity.LicensingContext.universalRestrictor = some Polarity.universalRestrictorWitness
- Polarity.contextWitness? Polarity.LicensingContext.few = some Polarity.fewWitness
- Polarity.contextWitness? Polarity.LicensingContext.atMost = some Polarity.atMostWitness
- Polarity.contextWitness? Polarity.LicensingContext.conditionalAntecedent = some Polarity.conditionalAntecedentWitness
- Polarity.contextWitness? Polarity.LicensingContext.onlyFocus = some Polarity.onlyFocusWitness
- Polarity.contextWitness? Polarity.LicensingContext.adversative = some Polarity.adversativeWitness
- Polarity.contextWitness? Polarity.LicensingContext.sinceTemporal = some Polarity.sinceTemporalWitness
- Polarity.contextWitness? Polarity.LicensingContext.superlative = some Polarity.superlativeWitness
- Polarity.contextWitness? Polarity.LicensingContext.beforeClause = none
- Polarity.contextWitness? Polarity.LicensingContext.withoutClause = none
- Polarity.contextWitness? Polarity.LicensingContext.question = none
- Polarity.contextWitness? Polarity.LicensingContext.phrasalComparative = none
- Polarity.contextWitness? Polarity.LicensingContext.clausalComparative = none
- Polarity.contextWitness? Polarity.LicensingContext.tooTo = none
- Polarity.contextWitness? Polarity.LicensingContext.modalPossibility = none
- Polarity.contextWitness? Polarity.LicensingContext.modalNecessity = none
- Polarity.contextWitness? Polarity.LicensingContext.imperative = none
- Polarity.contextWitness? Polarity.LicensingContext.generic = none
- Polarity.contextWitness? Polarity.LicensingContext.freeRelative = none
- Polarity.contextWitness? Polarity.LicensingContext.doubtVerb = none
- Polarity.contextWitness? Polarity.LicensingContext.denyVerb = none
Instances For
Grounded strength licensing #
Equations
Equations
At a witnessed presupposition-free row, keystone strength licensing is semantically real: the witness operator holds the strength the item requires. Strawson-only rows are exempt — their antitonicity holds only on the definedness region.