Documentation

Mt.System.Validation

Equations
  • Mt.System.instIsReservationReservation = spec.is_reservation
def Mt.System.valid {spec : Mt.Spec} (s : Mt.System spec) :
Prop

Central validation predicate for reasoning about systems.

A valid system has the following property: Given any future iteration of the system (or the system itself), the following holds:

  • No threads have panicked yet (and they never will)
  • Its current state is valid according to the specification
Equations
theorem Mt.System.fundamental_validation_theorem {spec : Mt.Spec} (s : Mt.System spec) (no_panics_yet : s.panics = 0) (initial_valid : Mt.Spec.validate spec Mt.IsReservation.empty s.state) (threads_valid : ∀ (t : Mt.Thread spec), t s.threadsMt.Thread.valid t) :