Expand description
Deterministic temporal interval and valid-time foundations. Deterministic temporal interval and valid-time foundations.
This first G5 slice introduces half-open intervals [start, end) over
endpoint domains with total ordering. Intervals use deterministic
lexicographic (start, end) ordering when stored in ordered collections,
which makes later coalescing behavior easy to audit.
Half-open semantics mean:
startis included;endis excluded;- directly adjacent intervals such as
[1, 3)and[3, 5)do not overlap, but they can be coalesced; - invalid intervals with
start >= endare rejected explicitly.
On top of the interval substrate, this module also provides a first deterministic valid-time relation foundation:
ValidTimeSupport<T>stores the canonical interval support for one fact;ValidTimeRelation<F, T>maps exact facts to deterministic valid-time support and materializes exact support back into the published unary, binary, and n-ary relation surface.ValidTimeRelation::snapshot_atandValidTimeRelation::restrict_toprovide the first narrow temporal operations over stored facts.- relation-level exact support materialization for valid-time surfaces is
also available generically through
crate::ExactSupport.
This module remains intentionally narrower than a full temporal algebra. Temporal joins, temporal composition, transaction time, and bitemporal APIs are later work.
Structs§
- Interval
- Deterministic half-open interval over an ordered endpoint domain.
- Valid
Time Relation - Deterministic valid-time support attached to exact facts.
- Valid
Time Support - Deterministic canonical valid-time support for one fact.
Enums§
- Interval
Error - Validation errors for deterministic half-open intervals.