Program Definition closedM : @modality world _ := exist _ closedR _.Definition closed := box closedM.Program Definition setM v x : @modality world _ := setR v x.Program Definition world_op (Pp : pred prog) (Pr : store -> Prop) (Pt: terminationMeasure -> Prop) : pred world :=
  fun prt =>
    match prt with (p,(r,t)) =>
      Pp p /\ Pr r /\ Pt t
    end.Definition store_op (Pr : store -> Prop) :=
  world_op TT Pr (fun _ => True).

Lemma worldNec_unfold : forall p r t p' r' t', @necR world _ (p,(r,t)) (p',(r',t')) <-> necR p p' /\ r = r' /\ t = t'.