{ 
[M:IdLnk 
 Id 
 Type]. 
[rt:Id 
 Id]. 
[rtinv:Id 
 (Id?)].
    
[m:Msg(M)]
      msg-rename(rtinv;m) 
 Msg(
l,tg.(M l (rt tg))) 
      supposing 
isl(rtinv mtag(m)) 
    supposing inv-rel(Id;Id;rt;rtinv) }
{ Proof }
Definitions occuring in Statement : 
msg-rename: msg-rename(rtinv;m), 
mtag: mtag(m), 
Msg: Msg(M), 
IdLnk: IdLnk, 
Id: Id, 
isl: isl(x), 
assert:
b, 
uimplies: b supposing a, 
uall:
[x:A]. B[x], 
unit: Unit, 
member: t 
 T, 
apply: f a, 
lambda:
x.A[x], 
function: x:A 
 B[x], 
union: left + right, 
universe: Type, 
inv-rel: inv-rel(A;B;f;finv)
Definitions : 
uall:
[x:A]. B[x], 
uimplies: b supposing a, 
member: t 
 T, 
Msg: Msg(M), 
msg-rename: msg-rename(rtinv;m), 
pi1: fst(t), 
pi2: snd(t), 
assert:
b, 
isl: isl(x), 
outl: outl(x), 
implies: P 
 Q, 
all:
x:A. B[x], 
btrue: tt, 
bfalse: ff, 
ifthenelse: if b then t else f fi , 
mtag: mtag(m), 
false: False, 
inv-rel: inv-rel(A;B;f;finv), 
and: P 
 Q, 
prop:
, 
guard: {T}
Lemmas : 
assert_wf, 
isl_wf, 
Id_wf, 
unit_wf, 
mtag_wf, 
Msg_wf, 
inv-rel_wf, 
IdLnk_wf, 
outl_wf, 
true_wf, 
false_wf
\mforall{}[M:IdLnk  {}\mrightarrow{}  Id  {}\mrightarrow{}  Type].  \mforall{}[rt:Id  {}\mrightarrow{}  Id].  \mforall{}[rtinv:Id  {}\mrightarrow{}  (Id?)].
    \mforall{}[m:Msg(M)].  msg-rename(rtinv;m)  \mmember{}  Msg(\mlambda{}l,tg.(M  l  (rt  tg)))  supposing  \muparrow{}isl(rtinv  mtag(m)) 
    supposing  inv-rel(Id;Id;rt;rtinv)
Date html generated:
2011_08_10-AM-07_46_28
Last ObjectModification:
2011_06_18-AM-08_12_11
Home
Index