{ [Info:Type]
    P:es:EO+(Info)  E  
      X:EClass({e':E| 
                 (e' <loc e)
                  ((P es e'))
                  (e'':E. ((e' <loc e'')  (e'' <loc e)  ((P es e''))))} \000C)
       es:EO+(Info). e:E.
         ((e  X  a:E. ((a <loc e)  ((P es a))))
          es-p-local-pred(es;e.((P es e))) e X(e) supposing e  X) }

{ Proof }



Definitions occuring in Statement :  eclass-val: X(e) in-eclass: e  X eclass: EClass(A[eo; e]) event-ordering+: EO+(Info) es-p-local-pred: es-p-local-pred(es;P) es-locl: (e <loc e') es-E: E assert: b bool: uimplies: b supposing a uall: [x:A]. B[x] all: x:A. B[x] exists: x:A. B[x] iff: P  Q not: A implies: P  Q and: P  Q set: {x:A| B[x]}  apply: f a lambda: x.A[x] function: x:A  B[x] universe: Type
Definitions :  empty-bag: {} bag-only: only(bs) inr: inr x  outl: outl(x) bag_size_empty: bag_size_empty{bag_size_empty_compseq_tag_def:o} null: null(as) guard: {T} btrue: tt sq_type: SQType(T) inl: inl x  axiom: Ax natural_number: $n int: true: True eq_int: (i = j) bag_only_single: bag_only_single{bag_only_single_compseq_tag_def:o}(x) bag_size_single: bag_size_single{bag_size_single_compseq_tag_def:o}(x) sq_exists: x:{A| B[x]} union: left + right or: P  Q suptype: suptype(S; T) cand: A c B atom: Atom es-base-E: es-base-E(es) token: "$token" pair: <a, b> Id: Id fpf: a:A fp-B[a] eq_atom: x =a y eq_atom: eq_atom$n(x;y) dep-isect: Error :dep-isect,  record+: record+ es-E-interface: E(X) top: Top prop: subtype: S  T strong-subtype: strong-subtype(A;B) void: Void record-select: r.x infix_ap: x f y es-causl: (e < e') decide: case b of inl(x) =s[x] | inr(y) =t[y] ifthenelse: if b then t else f fi  le: A  B ge: i  j  less_than: a < b uiff: uiff(P;Q) subtype_rel: A r B false: False do-apply: do-apply(f;x) es-local-pred: last(P) can-apply: can-apply(f;x) eclass-val: X(e) lambda: x.A[x] rev_implies: P  Q in-eclass: e  X not: A implies: P  Q set: {x:A| B[x]}  equal: s = t member: t  T quotient: x,y:A//B[x; y] bag: bag(T) universe: Type bool: so_lambda: x y.t[x; y] eclass: EClass(A[eo; e]) uall: [x:A]. B[x] so_lambda: x.t[x] all: x:A. B[x] function: x:A  B[x] uimplies: b supposing a isect: x:A. B[x] es-p-local-pred: es-p-local-pred(es;P) iff: P  Q exists: x:A. B[x] and: P  Q product: x:A  B[x] es-locl: (e <loc e') assert: b es-E: E event_ordering: EO event-ordering+: EO+(Info) Auto: Error :Auto,  CollapseTHEN: Error :CollapseTHEN,  D: Error :D,  apply: f a CollapseTHENA: Error :CollapseTHENA,  ParallelOp: Error :ParallelOp,  MaAuto: Error :MaAuto,  local-pred-class: local-pred-class(P) THENM: Error :THENM
Lemmas :  assert_wf es-p-local-pred_wf bool_wf event-ordering+_inc es-E_wf event-ordering+_wf eclass_wf iff_wf es-locl_wf uall_wf es-local-pred-property local-pred-class_wf in-eclass_wf eclass-val_wf not_wf member_wf subtype_rel_wf es-interface-subtype_rel2 es-base-E_wf subtype_rel_self top_wf es-local-pred_wf true_wf assert_witness false_wf es-causl_wf Id_wf ifthenelse_wf subtype_base_sq bool_subtype_base assert_elim

\mforall{}[Info:Type]
    \mforall{}P:es:EO+(Info)  {}\mrightarrow{}  E  {}\mrightarrow{}  \mBbbB{}
        \mexists{}X:EClass(\{e':E| 
                              (e'  <loc  e)
                              \mwedge{}  (\muparrow{}(P  es  e'))
                              \mwedge{}  (\mforall{}e'':E.  ((e'  <loc  e'')  {}\mRightarrow{}  (e''  <loc  e)  {}\mRightarrow{}  (\mneg{}\muparrow{}(P  es  e''))))\}  )
          \mforall{}es:EO+(Info).  \mforall{}e:E.
              ((\muparrow{}e  \mmember{}\msubb{}  X  \mLeftarrow{}{}\mRightarrow{}  \mexists{}a:E.  ((a  <loc  e)  \mwedge{}  (\muparrow{}(P  es  a))))
              \mwedge{}  es-p-local-pred(es;\mlambda{}e.(\muparrow{}(P  es  e)))  e  X(e)  supposing  \muparrow{}e  \mmember{}\msubb{}  X)


Date html generated: 2011_08_16-PM-04_43_10
Last ObjectModification: 2011_06_20-AM-01_02_54

Home Index