Documentation

Mt.Thread.Traced

structure Mt.Traced.TracedThread (spec : Mt.Spec) :
Type 1
  • thread : Mt.Thread spec
  • reservation : spec.Reservation
Instances For
    Equations
    • Mt.Traced.instIsReservationReservation = spec.is_reservation
    Equations
    Equations
    theorem Mt.Traced.TracedThread.valid_elim {spec : Mt.Spec} {thread : Mt.Traced.TracedThread spec} (is_valid : Mt.Traced.TracedThread.valid thread) (env_r : spec.Reservation) (s : spec.State) :
    Mt.Traced.TracedThread.block_until thread s = trueMt.Spec.validate spec (env_r + thread.reservation) sr', let _discr := Mt.Traced.TracedThread.iterate thread s; match Mt.Traced.TracedThread.iterate thread s with | Mt.Thread.IterationResult.Done s' => Mt.Spec.validate spec (env_r + r') s' r' = Mt.IsReservation.empty | Mt.Thread.IterationResult.Panic a => False | Mt.Thread.IterationResult.Running s' cont => Mt.Spec.validate spec (env_r + r') s' Mt.Traced.TracedThread.valid { thread := cont, reservation := r' }