{ [Info:Type]
    es:EO+(Info)
      [T:Type]
        X:EClass(T). P:E(X)  . i:Id.
          [R:Id  E(X)  ]
            n:. L:Id List.
              ((xL.y:E(X). (R[x;y]  (P[y])))
                  (e:E(X)
                      ((P[e])
                       e is first@ i s.t.  q.||filter(e.P[e];(X)(q))||
                        = n))) supposing 
                 ((n  ||L||) and 
                 no_repeats(Id;L)) 
            supposing x1,x2:Id. y:E(X).  (R[x1;y]  R[x2;y]  (x1 = x2)) 
          supposing e:E(X). loc(e) = i supposing P[e] }

{ Proof }



Definitions occuring in Statement :  es-interface-predecessors: (X)(e),  es-E-interface: E(X),  eclass: EClass(A[eo; e]),  event-ordering+: EO+(Info),  es-first-at: e is first@ i s.t.  e.P[e],  es-loc: loc(e),  Id: Id,  length: ||as||,  assert: b,  bool: ,  nat_plus: ,  uimplies: b supposing a,  uall: [x:A]. B[x],  prop: ,  so_apply: x[s1;s2],  so_apply: x[s],  le: A  B,  all: x:A. B[x],  exists: x:A. B[x],  implies: P  Q,  and: P  Q,  lambda: x.A[x],  function: x:A  B[x],  list: type List,  int: ,  universe: Type,  equal: s = t,  l_all: (xL.P[x]),  no_repeats: no_repeats(T;l),  filter: filter(P;l)
Definitions :  uall: [x:A]. B[x],  all: x:A. B[x],  uimplies: b supposing a,  so_apply: x[s],  prop: ,  implies: P  Q,  so_apply: x[s1;s2],  no_repeats: no_repeats(T;l),  le: A  B,  exists: x:A. B[x],  and: P  Q,  member: t  T,  not: A,  false: False,  rev_implies: P  Q,  iff: P  Q,  so_lambda: x.t[x],  so_lambda: x y.t[x; y],  assert: b,  cand: A c B,  btrue: tt,  ifthenelse: if b then t else f fi ,  true: True,  nat: ,  guard: {T},  ge: i  j ,  top: Top,  squash: T,  es-E-interface: E(X),  length: ||as||,  label: ...$L... t,  ycomb: Y,  subtype: S  T,  nat_plus: ,  sq_type: SQType(T),  strongwellfounded: SWellFounded(R[x; y]),  decidable: Dec(P),  or: P  Q,  bfalse: ff,  filter: filter(P;l),  reduce: reduce(f;k;as),  append: as @ bs,  es-first-at: e is first@ i s.t.  e.P[e],  alle-lt: e<e'.P[e]
Lemmas :  assert_wf,  es-E-interface_wf,  es-interface-top,  Id_wf,  select_wf,  not_wf,  nat_wf,  length_wf1,  filter-interface-predecessors-lower-bound2,  l_all_wf2,  l_member_wf,  le_wf,  no_repeats_wf,  nat_plus_wf,  es-loc_wf,  event-ordering+_inc,  bool_wf,  eclass_wf,  es-E_wf,  event-ordering+_wf,  subtype_base_sq,  bool_subtype_base,  filter_wf,  es-interface-predecessors_wf,  assert_elim,  es-causl-swellfnd,  es-causl_wf,  nat_properties,  ge_wf,  decidable__equal_int,  in-eclass_wf,  es-prior-interface_wf,  es-interface-subtype_rel2,  top_wf,  bnot_wf,  squash_wf,  true_wf,  es-interface-predecessors-general-step,  bool_cases,  iff_weakening_uiff,  eqtt_to_assert,  uiff_transitivity,  eqff_to_assert,  assert_of_bnot,  eclass-val_wf2,  es-prior-interface-causl,  es-loc-prior-interface,  length_nil,  non_neg_length,  length_wf_nat,  filter_wf_top,  append_wf,  length_append,  filter_append_sq,  filter_type,  subtype_rel_list,  length_cons,  length-append,  es-first-at-exists,  es-prior-interface-locl,  append-nil,  assert_witness,  es-first-at_wf

\mforall{}[Info:Type]
    \mforall{}es:EO+(Info)
        \mforall{}[T:Type]
            \mforall{}X:EClass(T).  \mforall{}P:E(X)  {}\mrightarrow{}  \mBbbB{}.  \mforall{}i:Id.
                \mforall{}[R:Id  {}\mrightarrow{}  E(X)  {}\mrightarrow{}  \mBbbP{}]
                    \mforall{}n:\mBbbN{}\msupplus{}.  \mforall{}L:Id  List.
                        ((\mforall{}x\mmember{}L.\mexists{}y:E(X).  (R[x;y]  \mwedge{}  (\muparrow{}P[y])))
                              {}\mRightarrow{}  (\mexists{}e:E(X)
                                        ((\muparrow{}P[e])  \mwedge{}  e  is  first@  i  s.t.    q.||filter(\mlambda{}e.P[e];\mleq{}(X)(q))||  =  n)))  supposing 
                              ((n  \mleq{}  ||L||)  and 
                              no\_repeats(Id;L)) 
                    supposing  \mforall{}x1,x2:Id.  \mforall{}y:E(X).    (R[x1;y]  {}\mRightarrow{}  R[x2;y]  {}\mRightarrow{}  (x1  =  x2)) 
                supposing  \mforall{}e:E(X).  loc(e)  =  i  supposing  \muparrow{}P[e]


Date html generated: 2011_08_16-PM-05_23_55
Last ObjectModification: 2011_06_20-AM-01_22_56

Home Index