{ 
[T:Type]. 
[P:i:Id 
 k:{k:Knd| 
hasloc(k;i)}  
 T]. 
[ik:LocKnd].
    (let i,k:LocKnd = ik in P[i;k] 
 T) }
{ Proof }
Definitions occuring in Statement : 
locknd-spread: let i,k:LocKnd = ik in P[i; k], 
LocKnd: LocKnd, 
hasloc: hasloc(k;i), 
Knd: Knd, 
Id: Id, 
assert:
b, 
uall:
[x:A]. B[x], 
so_apply: x[s1;s2], 
member: t 
 T, 
set: {x:A| B[x]} , 
function: x:A 
 B[x], 
universe: Type
Definitions : 
uall:
[x:A]. B[x], 
LocKnd: LocKnd, 
member: t 
 T, 
locknd-spread: let i,k:LocKnd = ik in P[i; k], 
so_apply: x[s1;s2], 
implies: P 
 Q, 
iff: P 

 Q, 
prop:
, 
and: P 
 Q, 
rev_implies: P 
 Q
Lemmas : 
assert_wf, 
hasloc_wf, 
Id_wf, 
Knd_wf
\mforall{}[T:Type].  \mforall{}[P:i:Id  {}\mrightarrow{}  k:\{k:Knd|  \muparrow{}hasloc(k;i)\}    {}\mrightarrow{}  T].  \mforall{}[ik:LocKnd].
    (let  i,k:LocKnd  =  ik  in  P[i;k]  \mmember{}  T)
Date html generated:
2011_08_10-AM-07_51_55
Last ObjectModification:
2011_06_18-AM-08_14_17
Home
Index