A representation-independent stateful ordered set #
The abstract state is a finite set over any linear order. Membership, insertion, minimum and
strict successor have operation-dependent result types. All operations are admissible, including
empty queries and duplicate insertion. A bounded-key implementation can specialize spec.valid
for insertion while preserving arbitrary membership and successor queries. This module does not
choose a representation or charge a computational cost.
Main definitions #
Cslib.OrderedSet.Op,Cslib.OrderedSet.spec: shared typed ordered-set interface and semantics.
References #
The adaptive client syntax uses Quang Dao's upstream free monad via Cslib.Stateful.Spec.
Instances For
@[instance_reducible]
@[reducible, inline]
Mathematical ordered-set semantics. All operations are admissible, including empty queries.