{ 
[l1,l2:IdLnk]. 
[dt:tg:Id fp-> Type]. 
[tg:Id]. 
[T:Type].
    (lnk-decl(l1;dt)(rcv(l2,tg))?T ~ if l1 = l2 then dt(tg)?T else T fi ) }
{ Proof }
Definitions occuring in Statement : 
lnk-decl: lnk-decl(l;dt), 
fpf-cap: f(x)?z, 
fpf: a:A fp-> B[a], 
Kind-deq: KindDeq, 
eq_lnk: a = b, 
id-deq: IdDeq, 
rcv: rcv(l,tg), 
IdLnk: IdLnk, 
Id: Id, 
ifthenelse: if b then t else f fi , 
uall:
[x:A]. B[x], 
universe: Type, 
sqequal: s ~ t
Definitions : 
member: t 
 T, 
prop:
, 
IdLnk: IdLnk, 
Id: Id, 
all:
x:A. B[x], 
so_lambda: 
x.t[x], 
fpf-cap: f(x)?z, 
ifthenelse: if b then t else f fi , 
implies: P 
 Q, 
btrue: tt, 
bfalse: ff, 
uall:
[x:A]. B[x], 
sq_type: SQType(T), 
uimplies: b supposing a, 
so_apply: x[s], 
guard: {T}, 
bool:
, 
unit: Unit, 
iff: P 

 Q, 
and: P 
 Q, 
not:
A, 
false: False, 
it:
Lemmas : 
eq_lnk_wf, 
bool_wf, 
assert_wf, 
not_wf, 
bnot_wf, 
subtype_base_sq, 
IdLnk_wf, 
product_subtype_base, 
Id_wf, 
atom2_subtype_base, 
lnk-decl-cap, 
fpf-dom_wf, 
Knd_wf, 
Kind-deq_wf, 
lnk-decl_wf, 
fpf-trivial-subtype-top, 
fpf_wf, 
top_wf, 
rcv_wf, 
iff_weakening_uiff, 
eqtt_to_assert, 
uiff_transitivity, 
eqff_to_assert, 
assert_of_bnot, 
lnk-decl-dom2
\mforall{}[l1,l2:IdLnk].  \mforall{}[dt:tg:Id  fp->  Type].  \mforall{}[tg:Id].  \mforall{}[T:Type].
    (lnk-decl(l1;dt)(rcv(l2,tg))?T  \msim{}  if  l1  =  l2  then  dt(tg)?T  else  T  fi  )
Date html generated:
2011_08_10-AM-08_10_40
Last ObjectModification:
2011_06_18-AM-08_26_31
Home
Index