{ [i:Id]. [d:{k:Knd| hasloc(k;i)}  List].
    ({k:Knd| (k  d)}  r {k:{k:Knd| hasloc(k;i)} | (k  d)} ) }

{ Proof }



Definitions occuring in Statement :  hasloc: hasloc(k;i),  Knd: Knd,  Id: Id,  subtype_rel: A r B,  assert: b,  uall: [x:A]. B[x],  set: {x:A| B[x]} ,  list: type List,  l_member: (x  l)
Definitions :  uall: [x:A]. B[x],  Id: Id,  Knd: Knd,  member: t  T,  all: x:A. B[x],  not: A,  le: A  B,  prop: ,  implies: P  Q,  false: False,  squash: T,  true: True,  IdLnk: IdLnk,  so_lambda: x.t[x],  l_all: (xL.P[x]),  subtype: S  T,  l_member: (x  l),  decidable: Dec(P),  or: P  Q,  exists: x:A. B[x],  nat: ,  cand: A c B,  uimplies: b supposing a,  sq_type: SQType(T),  so_apply: x[s],  guard: {T}
Lemmas :  decidable__assert,  hasloc_wf,  select_wf,  Knd_wf,  assert_wf,  subtype_base_sq,  union_subtype_base,  IdLnk_wf,  Id_wf,  product_subtype_base,  atom2_subtype_base,  l_member_set,  l_member_wf

\mforall{}[i:Id].  \mforall{}[d:\{k:Knd|  \muparrow{}hasloc(k;i)\}    List].    (\{k:Knd|  (k  \mmember{}  d)\}    \msubseteq{}r  \{k:\{k:Knd|  \muparrow{}hasloc(k;i)\}  |  (k  \mmember{}  d)\000C\}  )


Date html generated: 2011_08_10-AM-07_51_45
Last ObjectModification: 2011_06_18-AM-08_14_11

Home Index