Situation-Dependent Attitude Semantics #
[HK98] [Kra98a] [Lew79a] [vS09] [Ogi89]
Attitude operators with temporal parameters: believe's complement type shifts
from st (propositions = W → Bool) to s(it) (situation-dependent propositions =
WorldTimeIndex W Time → Bool). The doxastic alternatives Dox_y(w,t) become world–time
pairs, not just worlds.
Motivation #
Standard attitude semantics evaluates embedded clauses relative to worlds only: ⟦x believes p⟧(w) = ∀w' ∈ Dox_x(w). p(w')
This blocks sequence-of-tense (SOT) analysis, where embedded tense receives
a shifted interpretation relative to the matrix event time. [vS09]
synthesizes [Lew79a], [HK98], and [Ogi89]: believe's
complement type shifts to s(it), and doxastic alternatives become situation pairs.
Design #
Phase 1 (this module): Additive — new operators alongside existing ones, with lifting theorems proving generalization. Zero breaking changes.
Phase 2 (future): Migrate Doxastic.lean and Preferential.lean to use
situation-dependent types natively, with backward-compat wrappers.
Local alias for the agent-indexed accessibility relation
used by the situation-dependent operators. Aliased to
Semantics.Attitudes.Doxastic.AccessRel (Prop-valued, mathlib convention).
Equations
Instances For
Situation-dependent accessibility relation: Dox_y(w,t) = {(w',t') |...}.
Generalizes BAgentAccessRel W E = E → W → W → Prop to include
temporal coordinates in both the evaluation and accessible situations.
Equations
- Semantics.Attitudes.SituationDependent.SitAccessRel W Time E = (E → Intensional.WorldTimeIndex W Time → Intensional.WorldTimeIndex W Time → Prop)
Instances For
Situation-dependent universal modal.
⟦□p⟧(s) = ∀s' ∈ situations. R(agent, s, s') → p(s')
Generalizes Doxastic.boxAt from worlds to situations.
Equations
- Semantics.Attitudes.SituationDependent.sitBoxAt R agent s situations p = ∀ s' ∈ situations, R agent s s' → p s'
Instances For
Situation-dependent existential modal.
⟦◇p⟧(s) = ∃s' ∈ situations. R(agent, s, s') ∧ p(s')
Generalizes Doxastic.diaAt from worlds to situations.
Equations
- Semantics.Attitudes.SituationDependent.sitDiaAt R agent s situations p = ∃ s' ∈ situations, R agent s s' ∧ p s'
Instances For
Equations
- Semantics.Attitudes.SituationDependent.sitBoxAt_decidable R agent s situations p = Semantics.Attitudes.SituationDependent.sitBoxAt_decidable._aux_1 R agent s situations p
Equations
- Semantics.Attitudes.SituationDependent.sitDiaAt_decidable R agent s situations p = Semantics.Attitudes.SituationDependent.sitDiaAt_decidable._aux_1 R agent s situations p
Lift a world-proposition to a situation-proposition.
The lifted proposition ignores the temporal coordinate:
liftProp p s = p s.world. This is the backward-compatibility
embedding for code that hasn't moved to situation types yet.
Equations
Instances For
Lift a world-accessibility relation to a situation-accessibility relation.
The lifted relation ignores temporal coordinates in accessibility:
liftAccess R agent s₁ s₂ = R agent s₁.world s₂.world.
This gives classic Hintikka behavior where doxastic alternatives
differ only in world, not time.
Equations
- Semantics.Attitudes.SituationDependent.liftAccess R agent s₁ s₂ = R agent s₁.world s₂.world
Instances For
KEY THEOREM: Lifted operators recover classic Hintikka semantics.
sitBoxAt (liftAccess R) agent s sits (liftProp p)
is equivalent to
boxAt R agent s.world (sits.map (·.world)) p.
This means code using the old world-only operators produces identical results when embedded in the situation framework.
Veridicality check for situation-dependent propositions.
For veridical predicates (know), requires p(s) at the
evaluation situation. Mirrors Doxastic.veridicalityHolds.
Equations
Instances For
Equations
- One or more equations did not get rendered due to their size.
Lifted veridicality matches world-level veridicality.
A situation-dependent doxastic attitude predicate.
Generalizes DoxasticPredicate to use situation-dependent accessibility:
Dox_y(w,t) = {(w',t') |...} instead of Dox_y(w) = {w' |...}.
This is [vS09]'s enriched attitude semantics: ⟦x believes p⟧(w,t) = ∀(w',t') ∈ Dox_x(w,t). p(w')(t')
- name : String
Name of the predicate
- access : SitAccessRel W Time E
Situation-dependent accessibility relation
- veridicality : Features.Veridicality
Veridicality (veridical or not)
Instances For
Semantics for a situation-dependent doxastic predicate.
⟦x V that p⟧(s) = veridicalityHolds(V, p, s) ∧ ∀s'. R(x,s,s') → p(s')
Generalizes DoxasticPredicate.holdsAt to situations.
Equations
- V.holdsAt agent p s situations = (Semantics.Attitudes.SituationDependent.sitVeridicalityHolds V.veridicality p s ∧ Semantics.Attitudes.SituationDependent.sitBoxAt V.access agent s situations p)
Instances For
Lift a world-level DoxasticPredicate to a situation-dependent one.
The accessibility relation ignores temporal coordinates (classic Hintikka behavior), and veridicality is preserved. Use this to embed existing attitude predicates into the situation-dependent framework without changing their behavior.
Equations
- Semantics.Attitudes.SituationDependent.liftDoxastic V Time = { name := V.name, access := Semantics.Attitudes.SituationDependent.liftAccess V.access, veridicality := V.veridicality }
Instances For
The lifted predicate matches the original semantics.
(liftDoxastic V Time).holdsAt agent (liftProp p) s sits
iff V.holdsAt agent p s.world (sits.map.world).
This is the key backward-compatibility theorem: any existing
analysis using DoxasticPredicate can be replayed exactly
in the situation-dependent framework by lifting.
Veridical situation-dependent predicates entail their complement.
If x knows p at situation s, then p is true at s.
Situation-dependent K axiom: closed under known implication.
If x believes p and x believes (p → q) at situation s, then x believes q at s.
Beyond Lifting: Temporal Accessibility Constraints #
The lifting operators (liftAccess, liftProp) recover classic Hintikka
semantics exactly. But the real power of situation-dependent attitudes comes
from accessibility relations that genuinely constrain the temporal coordinate.
For example, an attitude verb might impose:
- Temporal binding: the doxastic alternative's time must match the
matrix event time:
R agent s s' → s'.time = s.time - Temporal ordering: doxastic alternatives can only concern times
at or after the attitude event:
R agent s s' → s'.time ≥ s.time
These constraints are what make sequence-of-tense work: they tie the embedded clause's temporal interpretation to the matrix event time.
See Tense.Basic (embedded frames) and
Tense.SOT.Decomposition for the formal
connection between these temporal constraints and SOT readings.
Temporal binding constraint: accessible situations share the evaluation situation's time. This gives the "simultaneous" reading in sequence of tense.
Equations
- Semantics.Attitudes.SituationDependent.temporallyBound R agent s₁ s₂ = (R agent s₁.world s₂.world ∧ s₂.time = s₁.time)
Instances For
Equations
- Semantics.Attitudes.SituationDependent.temporallyBound_decidable R a s₁ s₂ = id inferInstance
Future-oriented constraint: accessible situations have times at or after the evaluation time. This models forward-looking attitudes like "expect" or "intend".
Equations
Instances For
Equations
- Semantics.Attitudes.SituationDependent.futureOriented_decidable R a s₁ s₂ = id inferInstance