Per-position signature profiles for two-place operators #
Linguistic operators carry one entailment signature per argument position —
every is anti-additive in its restrictor and monotone in its scope, no
is anti-additive in both ([PW06] §5.8–5.9,
[vB84]). Sig₂ records a signature pair, Sig₂.SoundFor says
each component is sound for the corresponding section, and
EntailmentSig.SoundFor.comp₂ composes an outer context into both
positions at once — the shape of locality computations like K&L's
not ∘ every-scope. The "DE on a constant parameter" idiom (adversatives,
conditional antecedents) is the special case of reading one section of a
Sig₂.SoundFor.
The GQ bridges connect the profile to the existing per-position machinery
in Quantification: the four DoubleMono cells realize
mono/anti profiles, and Left/RightAntiAdditive are sectionwise
IsAntiAdditive at the Prop instance. every_sem and no_sem get
certified profiles as worked instances.
Main declarations #
Sig₂,Sig₂.SoundFor: per-position signature profile and its soundness;EntailmentSig.SoundFor.comp₂: outer composition acts componentwise;DoubleMono.toSig₂and the four cell theoremssig₂_soundFor_upUp…sig₂_soundFor_downDown;leftAntiAdditive_iff_isAntiAdditive,rightAntiAdditive_iff_isAntiAdditive;every_sem_soundFor,no_sem_soundFor: certified determiner profiles.
A per-position signature profile for a two-place operator. For determiners the positions are restrictor and scope; under the restrictor analysis of conditionals, antecedent and consequent.
- restrictor : EntailmentSig
- scope : EntailmentSig
Instances For
Equations
- NaturalLogic.instDecidableEqSig₂.decEq { restrictor := a, scope := a_1 } { restrictor := b, scope := b_1 } = if h : a = b then h ▸ if h : a_1 = b_1 then h ▸ isTrue ⋯ else isFalse ⋯ else isFalse ⋯
Instances For
Equations
- NaturalLogic.instReprSig₂ = { reprPrec := NaturalLogic.instReprSig₂.repr }
Equations
- One or more equations did not get rendered due to their size.
Instances For
A profile is sound for a two-place operator when each component signature is sound for the corresponding section (the other argument held constant — K&L's "DE on a constant parameter" pattern, made positional).
Equations
- σ.SoundFor f = ((∀ (y : β), σ.restrictor.SoundFor fun (x : α) => f x y) ∧ ∀ (x : α), σ.scope.SoundFor (f x))
Instances For
Composing a sound outer context into a sound two-place operator
composes the profile componentwise — the two-place form of
EntailmentSig.SoundFor.comp.
Bridges to the GQ machinery #
The signature profile of each [vB84] double-monotonicity class, at mono/anti granularity.
Equations
- Quantification.DoubleMono.upUp.toSig₂ = { restrictor := NaturalLogic.EntailmentSig.mono, scope := NaturalLogic.EntailmentSig.mono }
- Quantification.DoubleMono.downUp.toSig₂ = { restrictor := NaturalLogic.EntailmentSig.anti, scope := NaturalLogic.EntailmentSig.mono }
- Quantification.DoubleMono.upDown.toSig₂ = { restrictor := NaturalLogic.EntailmentSig.mono, scope := NaturalLogic.EntailmentSig.anti }
- Quantification.DoubleMono.downDown.toSig₂ = { restrictor := NaturalLogic.EntailmentSig.anti, scope := NaturalLogic.EntailmentSig.anti }
Instances For
↑MON↑ (e.g. some): both positions monotone.
↓MON↑ (e.g. every): restrictor antitone, scope monotone.
↑MON↓ (e.g. not all): restrictor monotone, scope antitone.
↓MON↓ (e.g. no): both positions antitone.
LeftAntiAdditive ([PW06] §5.9) is sectionwise
anti-additivity in the restrictor, at the Prop instance.
RightAntiAdditive is sectionwise anti-additivity in the scope.
Certified determiner profiles #
Every realizes ↓MON↑ as a certified profile, the restrictor side
derived from left anti-additivity (every_laa).
No realizes ↓MON↓, both positions via anti-additivity (no_laa,
no_raa).
Worked composition: not every #
Propositional negation realizes the anti-morphism row at the Prop
instance.