{ [Info,A:Type]. [L:EClass(A) List]. [es:EO+(Info)]. [e:E].
    uiff(e  first-class(L);0 < index-of-first X in L.e  X) }

{ Proof }



Definitions occuring in Statement :  first-class: first-class(L),  in-eclass: e  X,  eclass: EClass(A[eo; e]),  event-ordering+: EO+(Info),  es-E: E,  assert: b,  uiff: uiff(P;Q),  uall: [x:A]. B[x],  less_than: a < b,  list: type List,  natural_number: $n,  universe: Type,  first_index: index-of-first x in L.P[x]
Definitions :  uall: [x:A]. B[x],  uiff: uiff(P;Q),  all: x:A. B[x],  member: t  T,  and: P  Q,  uimplies: b supposing a,  prop: ,  subtype: S  T,  so_lambda: x y.t[x; y],  so_lambda: x.t[x],  iff: P  Q,  rev_implies: P  Q,  implies: P  Q,  so_apply: x[s1;s2],  nat: ,  so_apply: x[s],  guard: {T}
Lemmas :  is-first-class,  assert_wf,  in-eclass_wf,  first-class_wf,  top_wf,  eclass_wf,  es-E_wf,  event-ordering+_inc,  es-interface-top,  assert_witness,  first_index_wf,  nat_wf,  event-ordering+_wf,  l_exists_wf,  l_member_wf,  uiff_functionality_wrt_uiff2,  first_index-positive

\mforall{}[Info,A:Type].  \mforall{}[L:EClass(A)  List].  \mforall{}[es:EO+(Info)].  \mforall{}[e:E].
    uiff(\muparrow{}e  \mmember{}\msubb{}  first-class(L);0  <  index-of-first  X  in  L.e  \mmember{}\msubb{}  X)


Date html generated: 2011_08_16-AM-11_41_56
Last ObjectModification: 2011_06_20-AM-00_32_50

Home Index