{ [Info:Type]
    es:EO+(Info). LL:Info List List. e1,e2:E.
      L:Info List
        (f:||LL|| + 1  E
          ((((f 0) = e1)  f ||LL|| loc e2 )
          c (i:||LL||. (f i <loc f (i + 1)))
          c ((i:||LL||. (es-hist(es;f i;pred(f (i + 1))) = LL[i]))
              (es-hist(es;f ||LL||;e2) = L)))) supposing 
           ((es-hist(es;e1;e2) = (concat(LL) @ L)) and 
           ((L = [])) and 
           (LLL.(L = []))) 
      supposing loc(e1) = loc(e2) }

{ Proof }



Definitions occuring in Statement :  es-hist: es-hist(es;e1;e2) event-ordering+: EO+(Info) es-le: e loc e'  es-locl: (e <loc e') es-pred: pred(e) es-loc: loc(e) es-E: E Id: Id select: l[i] length: ||as|| append: as @ bs int_seg: {i..j} uimplies: b supposing a uall: [x:A]. B[x] cand: A c B all: x:A. B[x] exists: x:A. B[x] not: A and: P  Q apply: f a function: x:A  B[x] nil: [] list: type List add: n + m natural_number: $n universe: Type equal: s = t l_all: (xL.P[x]) concat: concat(ll)
Definitions :  uall: [x:A]. B[x] all: x:A. B[x] member: t  T uimplies: b supposing a l_all: (xL.P[x]) not: A append: as @ bs concat: concat(ll) exists: x:A. B[x] int_seg: {i..j} length: ||as|| cand: A c B and: P  Q reduce: reduce(f;k;as) ycomb: Y implies: P  Q false: False prop: lelt: i  j < k le: A  B so_lambda: x.t[x] iff: P  Q rev_implies: P  Q top: Top subtype: S  T ifthenelse: if b then t else f fi  btrue: tt bfalse: ff eq_int: (i = j) squash: T true: True select: l[i] le_int: i z j bnot: b lt_int: i <z j assert: b so_apply: x[s] decidable: Dec(P) or: P  Q existse-between3: e(e1,e2].P[e] es-locl: (e <loc e') bool: unit: Unit sq_type: SQType(T) guard: {T} it:
Lemmas :  event-ordering+_wf l_member_wf int_seg_wf es-E_wf false_wf es-le_wf es-locl_wf int_seg_properties es-hist_wf es-pred_wf select_wf length_wf2 not_wf l_all_wf2 Id_wf es-loc_wf decidable__es-locl event-ordering+_inc null-es-hist assert_wf null_wf3 top_wf iff_weakening_uiff assert_of_null es-le-not-locl append_wf concat_wf concat-cons append_assoc_sq es-hist-is-append l_all_cons not_functionality_wrt_uiff append_is_nil length_wf1 eq_int_wf bool_wf bnot_wf uiff_transitivity eqtt_to_assert assert_of_eq_int eqff_to_assert assert_of_bnot non_neg_length length_wf_nat subtype_base_sq int_subtype_base le_wf bool_subtype_base es-locl-first squash_wf es-first_wf event_ordering_wf select_cons_tl_sq length_cons es-locl-iff

\mforall{}[Info:Type]
    \mforall{}es:EO+(Info).  \mforall{}LL:Info  List  List.  \mforall{}e1,e2:E.
        \mforall{}L:Info  List
            (\mexists{}f:\mBbbN{}||LL||  +  1  {}\mrightarrow{}  E
                ((((f  0)  =  e1)  \mwedge{}  f  ||LL||  \mleq{}loc  e2  )
                c\mwedge{}  (\mforall{}i:\mBbbN{}||LL||.  (f  i  <loc  f  (i  +  1)))
                c\mwedge{}  ((\mforall{}i:\mBbbN{}||LL||.  (es-hist(es;f  i;pred(f  (i  +  1)))  =  LL[i]))
                      \mwedge{}  (es-hist(es;f  ||LL||;e2)  =  L))))  supposing 
                  ((es-hist(es;e1;e2)  =  (concat(LL)  @  L))  and 
                  (\mneg{}(L  =  []))  and 
                  (\mforall{}L\mmember{}LL.\mneg{}(L  =  []))) 
        supposing  loc(e1)  =  loc(e2)


Date html generated: 2011_08_16-AM-11_27_35
Last ObjectModification: 2011_06_20-AM-00_27_36

Home Index