@@ -4,6 +4,73 @@ The release clock (`v4.29.1`, ...) tracks Lean/mathlib compatibility and is what
44
55## [Unreleased]
66
7+ ## [0.230.108] - 2026-04-21
8+
9+ ### Changed
10+ - **`Core/Partition.lean` dissolved into `Core/Question/Partition/`** —
11+ the 1360-line straggler is now four per-purpose modules sharing a
12+ single Setoid-canonical foundation:
13+ - `Core/Question/Partition/QUD.lean` (moved from
14+ `Core/Question/QUD.lean`): `QUD M = {toSetoid : Setoid M, decR :
15+ DecidableRel toSetoid.r}`. The bundled-Setoid struct preserves the
16+ Bool API for ~335 consumer call sites while making the
17+ Setoid-canonical structure explicit.
18+ - `Core/Question/Partition/Basic.lean` (moved from
19+ `Core/Question/Partition.lean`): `IsPartition` predicate (over
20+ `Setoid.IsPartition`), `toSetoid`/`toQUD` bridges.
21+ - `Core/Question/Partition/Lattice.lean` (new, ~89 LOC): refinement
22+ order — `refines` (`⊑`), `coarsens`, reflexivity / transitivity /
23+ antisymmetry, `all_refine_trivial`, `compose_refines_left`/right,
24+ `exact_refines_all`.
25+ - `Core/Question/Partition/Cells.lean` (new, 394 LOC): concrete
26+ enumeration — `toCells`, `numCells`, `stepFn` and rep-fold helpers,
27+ `toCells_*` theorems, `toFinpartition`, `toCellsFinset`,
28+ coverage/disjointness lemmas, fine/coarse refinement lemmas.
29+ - `Core/Question/Partition/Binary.lean` (new, 95 LOC): yes/no
30+ partitions — `binaryPartition`, `complement_same_partition`,
31+ `binaryPartition_coarsens`, `coarsestPreserving` and its
32+ refinement/preservation lemmas.
33+ - `Core/Question/Partition/Negativity.lean` (new, ~50 LOC): Merin's
34+ epistemic characterization — `isProperCoarsening`,
35+ `isNegativeAttribute`.
36+ - **DT block extracted to `Core/Agent/PartitionDT.lean`** (767 LOC) —
37+ partition decision-theoretic infrastructure (`partitionEU`,
38+ `eu_eq_partitionEU`, `coarsening_preserves_eu`, `partitionValue`,
39+ Blackwell ordering theorems, `questionUtility_qud_nonneg`) lives
40+ under `Core/Agent/` to mirror its dependency on
41+ `Core/Agent/DecisionTheory.lean`.
42+ - Architectural choice: Direction A (Setoid-canonical) — `QUD`,
43+ `Question`, and partition primitives are co-located construction /
44+ consumption faces of the underlying `Setoid` rather than separately
45+ unified. Mirrors mathlib's non-unification of `Setoid` + `LowerSet`
46+ + `IsPartition`.
47+ - **21 consumers migrated** (Linglib.lean + 20 importers) across
48+ `Theories/Semantics/Questions/`, `Theories/Semantics/Plurality/`,
49+ `Theories/Semantics/Focus/`, `Theories/Pragmatics/Dialogue/KOS/`,
50+ `Core/Discourse/`, and `Phenomena/Studies/`.
51+
52+ ### Fixed
53+ - **`Interval Time` `[LE Time]` → `[LinearOrder Time]` cascade**
54+ (pre-existing build failure unrelated to partition work). The Time
55+ directory rename in 0.230.99 (commit f64da888) tightened
56+ `Interval Time` to require `[LinearOrder Time]`, but ~12 downstream
57+ files declaring functions/structures over `Ev Time` /
58+ `Eventuality Time` / `Interval Time` weren't propagated. Strengthened
59+ at definition sites (safe — `LinearOrder` extends `LE`) in:
60+ `Events/Basic.lean`, `Events/EventRelations.lean`,
61+ `Events/DegreeEvents.lean` (also `[LE Deg]` → `[LinearOrder Deg]`),
62+ `Events/ThematicRoles.lean`, `Attitudes/RationalAttitude.lean`,
63+ `Tense/TemporalAdverbials.lean`, `Quotation/Demonstration.lean`,
64+ `Morphology/ReversalRestitution.lean`,
65+ `Phenomena/TenseAspect/Studies/Cruse1973.lean`,
66+ `Phenomena/TenseAspect/Studies/OgiharaST2024.lean` (uses `T` rather
67+ than `Time`), `Phenomena/Comparison/Studies/Wellwood2015.lean`,
68+ `Phenomena/Gradability/Studies/CarianiSantorioWellwood2024.lean`,
69+ `Phenomena/Quotation/Studies/Rudin2025LI.lean`. Files using only `≤`
70+ (`Tense/Basic.lean::upperLimitConstraint`,
71+ `Modality/TemporalConstraint.lean`, `Core/Modality/HistoricalAlternatives.lean`)
72+ were left at `[LE Time]`.
73+
774## [0.230.107] - 2026-04-20
875
976### Changed
0 commit comments