Event predicates and the Event type are imported from
Theories/Semantics/Events/Basic.lean — the unified event ontology.
Tense-aspect code uses Event Time and EventPred W Time without
referencing .sort (the field exists for Krifka-style consumers but
is irrelevant for Klein-style tense composition).
Predicate over time intervals (output of IMPF/PRFV).
Equations
- Semantics.Aspect.Core.IntervalPred W Time = (W → Core.Time.Interval Time → Prop)
Instances For
Predicate over time points (output of PERF, input to TENSE).
Defined as WorldTimeIndex W Time → Prop to make the situation structure
explicit in the tense-aspect pipeline, connecting directly to
situation semantics (Elbourne, Percus, Kratzer).
Equations
- Semantics.Aspect.Core.PointPred W Time = (Core.WorldTimeIndex W Time → Prop)
Instances For
Viewpoint aspect types. @cite{klein-1994} identified imperfective, perfective, perfect, and prospective. @cite{smith-1997} added the neutral viewpoint (default in the absence of overt aspect morphology).
- imperfective : ViewpointType
- perfective : ViewpointType
- perfect : ViewpointType
- prospective : ViewpointType
- neutral : ViewpointType
Instances For
Equations
- Semantics.Aspect.Core.instDecidableEqViewpointType x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
Bool-level viewpoint aspect, capturing the perfective/imperfective distinction
without the full interval-based EventPred/IntervalPred machinery.
Used by Modal/Ability.lean (actuality inferences) and
Phenomena/ActualityInferences/Data.lean where the key insight is simply
"perfective requires actualization, imperfective doesn't."
- perfective : ViewpointAspectB
- imperfective : ViewpointAspectB
Instances For
Equations
- Semantics.Aspect.Core.instDecidableEqViewpointAspectB x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
Project ViewpointType to the coarser perfective/imperfective distinction.
Returns none for perfect and prospective (neither is simply perf/impf).
Equations
- Semantics.Aspect.Core.ViewpointType.perfective.toBoolAspect = some Semantics.Aspect.Core.ViewpointAspectB.perfective
- Semantics.Aspect.Core.ViewpointType.imperfective.toBoolAspect = some Semantics.Aspect.Core.ViewpointAspectB.imperfective
- Semantics.Aspect.Core.ViewpointType.perfect.toBoolAspect = none
- Semantics.Aspect.Core.ViewpointType.prospective.toBoolAspect = none
- Semantics.Aspect.Core.ViewpointType.neutral.toBoolAspect = none
Instances For
Roundtrip: embedding then projecting is the identity.
The TT↔TSit interval relation for each viewpoint (@cite{klein-1994}: 108).
Equations
- Semantics.Aspect.Core.ViewpointType.imperfective.ttTSitRelation tt tsit = tt.properSubinterval tsit
- Semantics.Aspect.Core.ViewpointType.perfective.ttTSitRelation tt tsit = tsit.subinterval tt
- Semantics.Aspect.Core.ViewpointType.perfect.ttTSitRelation tt tsit = tt.isAfter tsit
- Semantics.Aspect.Core.ViewpointType.prospective.ttTSitRelation tt tsit = tt.isBefore tsit
- Semantics.Aspect.Core.ViewpointType.neutral.ttTSitRelation tt tsit = tt.initialOverlap tsit
Instances For
IMPERFECTIVE: reference time properly contained in event runtime. @cite{klein-1994}: TT INCL TSit. @cite{knick-sharf-2026} eq. 25.
Equations
- Semantics.Aspect.Core.IMPF P w t = ∃ (e : Semantics.Events.Event Time), t.properSubinterval e.τ ∧ P w e
Instances For
PERFECTIVE: event runtime contained in reference time. @cite{klein-1994}: TT AT TSit (simplified to TSit ⊆ TT, following @cite{smith-1997}). @cite{knick-sharf-2026} eq. 28.
Equations
- Semantics.Aspect.Core.PRFV P w t = ∃ (e : Semantics.Events.Event Time), e.τ.subinterval t ∧ P w e
Instances For
PROSPECTIVE: reference time before situation time. @cite{klein-1994}: TT BEFORE TSit.
Equations
- Semantics.Aspect.Core.PROSP P w t = ∃ (e : Semantics.Events.Event Time), t.isBefore e.τ ∧ P w e
Instances For
INIT_OVERLAP: initial overlap between reference time and event runtime. @cite{pancheva-2003} eq. 7b: ⟦NEUTRAL⟧ = λP.λi.∃e[i ∂τ(e) & P(e)] The beginning of the eventuality is in the reference interval, but the end may extend beyond. Derives experiential perfect readings.
Renamed from NEUTRAL to avoid collision with @cite{smith-1997}'s
neutral viewpoint (ViewpointType.neutral), which is a different concept.
Pancheva's operator is an inner Asp₂ head; Smith's neutral viewpoint is
a default viewpoint type.
Equations
- Semantics.Aspect.Core.INIT_OVERLAP P w t = ∃ (e : Semantics.Events.Event Time), t.initialOverlap e.τ ∧ P w e
Instances For
Right Boundary: PTS finishes at reference time point t.
Equations
- Semantics.Aspect.Core.RB pts t = (pts.finish = t)
Instances For
Left Boundary: PTS starts at time tLB.
Equations
- Semantics.Aspect.Core.LB tLB pts = (pts.start = tLB)
Instances For
PERFECT: introduces Perfect Time Span. @cite{knick-sharf-2026} eq. 22b — the standard XN-theoretic entry that K&S start from. Verified against the proceedings PDF.
K&S notation: λp_it.λt.∃t_PTS.[RB(t_PTS, t) ∧ p(t)]. The p(t) is
written by K&S as application to the outer reference time, with the
composition convention that t is bound to t_PTS when IMPF appears
below PERF (paper §4.2.1, sentence after eq. 25). The implementation
here applies p to pts directly (the post-composition meaning), which
matches K&S's worked composition in their (26).
Equations
- Semantics.Aspect.Core.PERF p s = ∃ (pts : Core.Time.Interval Time), Semantics.Aspect.Core.RB pts s.time ∧ p s.world pts
Instances For
PERFECT with Extended Now (K&S's revision: domain-restricted left boundary). @cite{knick-sharf-2026} eq. 23b. Verified against the proceedings PDF.
K&S notation: λp_it.λt.∃t_PTS.∃t_LB ⊆ tᵣ. [LB(t_LB, t_PTS) ∧ RB(t_PTS, t) ∧ p(t)]. The domain restriction tᵣ constrains where the
LB can be placed; narrow focus on BEEN generates alternatives over tᵣ.
K&S's (23b) is not the standard XN entry — that's their (22b),
realized here as PERF. (23b) is K&S's own revision adding an LB
existential bounded by the domain restriction. The legacy name
PERF_XN predates this clarification; both PERF and PERF_XN are
XN-theoretic, the difference being the LB+domain-restriction.
Type-level simplification: K&S's t_LB is an initial subinterval of
t_PTS (per their 23a), and t_LB ⊆ t_r compares two interval-sets.
The implementation here uses tLB : Time (a single point) with
∃ tLB ∈ tᵣ (membership), simplifying K&S's set-theoretic LB to a
single time witness inside the domain-restriction set. The simpler
typing is sufficient for the empirical predictions K&S draw and
avoids carrying intervals at every level.
Equations
- Semantics.Aspect.Core.PERF_XN p tᵣ s = ∃ (pts : Core.Time.Interval Time), ∃ tLB ∈ tᵣ, Semantics.Aspect.Core.LB tLB pts ∧ Semantics.Aspect.Core.RB pts s.time ∧ p s.world pts
Instances For
IMPF matches Klein's IMPERFECTIVE: ∃e where TT ⊂ TSit.
PRFV matches Klein's PERFECTIVE: ∃e where TSit ⊆ TT.
"has been V-ing" = PERF(IMPF(V)).
Equations
Instances For
"has V-ed" = PERF(PRFV(V)).
Equations
Instances For
PERF(IMPF(P)) unfolds: ∃ PTS and event, with PTS right-bounded at t, the PTS properly inside the event, and P holds of the event.
PERF(PRFV(P)) unfolds: ∃ PTS and event, with PTS right-bounded at t, the event inside the PTS, and P holds of the event.
Extended Now entails basic perfect (PERF_XN is stronger).
Narrower domain restriction is stronger (monotone in tᵣ).
IMPF entails an event exists.
PRFV entails an event exists.
PERF is monotone: p ⊆ q → PERF(p) ⊆ PERF(q).
IMPF and PRFV impose opposite containment directions. IMPF: reference ⊂ event runtime. PRFV: event runtime ⊆ reference.
@cite{pancheva-2003} decomposes perfect participles into two aspect heads: [T [Asp₁=PERFECT [Asp₂=VIEWPOINT [vP]]]]. The inner Asp₂ (UNBOUNDED, INIT_OVERLAP, or BOUNDED) determines the perfect type (universal, experiential, or resultative). The outer Asp₁ = PERFECT introduces the PTS via a final subinterval relation rather than a point-based right boundary.
Pancheva's UNBOUNDED (Asp₂): non-strict ⊆ variant of IMPF. ⟦UNBOUNDED⟧ = λP.λi.∃e[i ⊆ τ(e) & P(e)] (@cite{pancheva-2003}: 282, eq. 7b). Differs from IMPF in using non-strict ⊆ rather than strict ⊂.
Equations
- Semantics.Aspect.Core.UNBOUNDED P w t = ∃ (e : Semantics.Events.Event Time), t.subinterval e.τ ∧ P w e
Instances For
Pancheva's BOUNDED (Asp₂): strict ⊂ variant of PRFV. ⟦BOUNDED⟧ = λP.λi.∃e[τ(e) ⊂ i & P(e)] (@cite{pancheva-2003}: 282, eq. 7b). Differs from PRFV in using strict ⊂ rather than non-strict ⊆.
Equations
- Semantics.Aspect.Core.BOUNDED P w t = ∃ (e : Semantics.Events.Event Time), e.τ.properSubinterval t ∧ P w e
Instances For
IMPF (strict ⊂) entails UNBOUNDED (non-strict ⊆).
BOUNDED (strict ⊂) entails PRFV (non-strict ⊆).
Pancheva-style interval-level PERFECT (Asp₁). ⟦PERFECT⟧ = λp.λi.∃i'[PTS(i', i) & p(i')] (@cite{pancheva-2003}: 284, eq. 9b). PTS(i', i) iff i is a final subinterval of i': i ⊆ i' ∧ i.finish = i'.finish.
Equations
- Semantics.Aspect.Core.PERF_P p w i = ∃ (pts : Core.Time.Interval Time), i.finalSubinterval pts ∧ p w pts
Instances For
Point-based PERF is the special case of interval-based PERF_P where the reference interval degenerates to a point [t, t].
PERF_P is monotone: if p entails q, then PERF_P(p) entails PERF_P(q).
@cite{pancheva-2003} perfect type classification. The embedded Asp₂ determines the perfect reading:
- universal = PERFECT(UNBOUNDED): event ongoing throughout PTS
- experiential = PERFECT(NEUTRAL): event began within PTS
- resultative = PERFECT(BOUNDED): event completed within PTS Note: Pancheva's resultative properly involves a result state relation; BOUNDED is a simplification sufficient for the temporal structure.
- universal : PerfectType
- experiential : PerfectType
- resultative : PerfectType
Instances For
Equations
- Semantics.Aspect.Core.instDecidableEqPerfectType x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
Equations
- One or more equations did not get rendered due to their size.
Instances For
Universal perfect: PERF_P(UNBOUNDED(V)). "has been running" — event ongoing throughout PTS. @cite{pancheva-2003}: explains why universal reading requires imperfective.
Equations
Instances For
Experiential perfect: PERF_P(INIT_OVERLAP(V)). "has visited Paris" — event began within PTS. @cite{pancheva-2003}: initial-overlap aspect allows event to extend beyond PTS.
Equations
Instances For
Resultative perfect: PERF_P(BOUNDED(V)). "has broken the vase" — event completed within PTS. Simplified: properly involves result state (@cite{pancheva-2003}: 288).
Equations
Instances For
perfProg at a point entails universalPerfect at that point. Since IMPF (strict ⊂) entails UNBOUNDED (non-strict ⊆), PERF(IMPF(V)) entails PERF(UNBOUNDED(V)) = universalPerfect.
Evaluate an interval predicate at a point (trivial interval [t, t]). Bridge for non-perfect forms.
Equations
- p.atPoint s = p s.world (Core.Time.Interval.point s.time)