Thm* the_es:ES, e',e:E. Dec((e <loc e')) | [decidable__es-locl] |
Thm* the_es:ES, e,e':E.
Thm* (e <loc e')  first(e') & e = pred(e') E (e <loc pred(e')) | [es-locl-iff] |
Thm* es:ES, e,e':E. e e'  loc(e) = loc(e') Id | [es-le-loc] |
Thm* es:ES, e:E, l:IdLnk, tg:Id.
Thm* kind(e) = rcv(l; tg)
Thm* 
Thm* loc(e) = destination(l) & loc(sender(e)) = source(l) | [es-loc-rcv] |
Thm* the_es:ES, e:E. first(e)  loc(pred(e)) = loc(e) Id | [es-loc-pred] |
Thm* the_es:ES, j,e:E. first(j)  (e <loc j) | [es-first-implies] |
Thm* the_es:ES, j:E. first(j)  (pred(j) <loc j) | [es-pred-locl] |
Thm* the_es:ES, e:E. (e <loc e) | [es-locl-antireflexive] |
Thm* the_es:ES. SWellFounded((x <loc y)) | [es-locl-swellfnd] |
Thm* the_es:ES. Trans x,y:E. x y | [es-le-trans] |
Thm* the_es:ES. Trans x,y:E. (x <loc y) | [es-locl-trans] |
Thm* the_es:ES. WellFnd{i}(E;x,y.(x <loc y)) | [es-locl-wellfnd] |
Thm* the_es:ES.
Thm* (Trans e,e':E. (e <loc e'))
Thm* & SWellFounded((e <loc e'))
Thm* & ( e,e':E. loc(e) = loc(e') Id  (e <loc e') e = e' (e' <loc e))
Thm* & ( e:E. first(e)  ( e':E. (e' <loc e)))
Thm* & ( e:E.
Thm* & ( first(e)
Thm* & (
Thm* & ((pred(e) <loc e) & ( e':E. ((pred(e) <loc e') & (e' <loc e))))
Thm* & ( e:E.
Thm* & ( first(e)
Thm* & (
Thm* & (( x:Id. (x when e) = (x after pred(e)) vartype(loc(e);x)))
Thm* & (Trans e,e':E. (e < e'))
Thm* & SWellFounded((e < e'))
Thm* & ( e:E.
Thm* & (isrcv(e)
Thm* & (
Thm* & (sends(lnk(e);sender(e))[index(e)] = msg(lnk(e);tag(e);val(e)) Msg)
Thm* & ( e,e':E. (e <loc e')  (e < e'))
Thm* & ( e:E. isrcv(e)  (sender(e) < e))
Thm* & ( e,e':E.
Thm* & ((e < e')
Thm* & (
Thm* & ( first(e') & (e < pred(e')) e = pred(e') E
Thm* & ( isrcv(e') & (e < sender(e')) e = sender(e') E)
Thm* & ( e:E. isrcv(e)  loc(e) = destination(lnk(e)))
Thm* & ( e:E, l:IdLnk.
Thm* & ( loc(e) = source(l)  sends(l;e) = nil (Msg on l) List)
Thm* & ( e,e':E.
Thm* & (isrcv(e)
Thm* & (
Thm* & (isrcv(e')
Thm* & (
Thm* & (lnk(e) = lnk(e')
Thm* & (
Thm* & (((e <loc e')
Thm* & ((
Thm* & (((sender(e) <loc sender(e'))
Thm* & (( sender(e) = sender(e') E & index(e)<index(e')))
Thm* & ( e:E, l:IdLnk, n: ||sends(l;e)||.
Thm* & ( e':E. isrcv(e') & lnk(e') = l & sender(e') = e E & index(e') = n ) | [es-axioms] |
Thm* the_es:ES, e,e':E. (e < e') Prop | [es-causl_wf] |
Thm* the_es:ES, e:E. first(e)  pred(e) E | [es-pred_wf] |
Thm* the_es:ES, e:E. first(e)  | [es-first_wf] |
Thm* the_es:ES, e:E. isrcv(e)  index(e) ||sends(lnk(e);sender(e))|| | [es-index_wf] |
Thm* the_es:ES, e:E. isrcv(e)  sender(e) E | [es-sender_wf] |
Thm* the_es:ES, l:IdLnk, e:E. sends(l;e) (Msg on l) List | [es-sends_wf] |
Thm* the_es:ES, e:E, x:Id. (x after e) vartype(loc(e);x) | [es-after_wf] |
Thm* the_es:ES, e:E, x:Id. (x when e) vartype(loc(e);x) | [es-when_wf] |
Thm* the_es:ES, e:E. val(e) valtype(e) | [es-val_wf] |
Thm* the_es:ES, e:E. valtype(e) Type | [es-valtype_wf] |
Thm* the_es:ES, e:E. isrcv(e)  acttype(e) Type | [es-acttype_wf] |
Thm* the_es:ES, e:E. isrcv(e)  rcvtype(e) Type | [es-rcvtype_wf] |
Thm* the_es:ES, e:E. isrcv(e)  lnk(e) IdLnk | [es-lnk_wf] |
Thm* the_es:ES, e:E. isrcv(e)  tag(e) Id | [es-tag_wf] |
Thm* the_es:ES, e:E. isrcv(e)  | [es-isrcv_wf] |
Thm* the_es:ES, e:E. kind(e) Knd | [es-kind_wf] |
Thm* the_es:ES, e:E. loc(e) Id | [es-loc_wf] |
Thm* the_es:ES, e,e':E. Dec(e = e') | [decidable__es-E_equal] |
Thm* the_es:ES, e,e':E. e = e'  e = e' | [assert-es-eq-E] |
Thm* the_es:ES, e,e':E. e = e'  | [es-eq-E_wf] |
Def e e' == (e <loc e') e = e' E | [es-le] |