{ [Info:Type]
    es:EO+(Info)
      [A:Type]
        X:EClass(A)
          [S:Type]
            init:S. f:S  A  S. test:S  A  . nxt:S  A  S. e:E.
              (e  Threshold(init;f;test;nxt;X)
               ((e  X)
                   (e':E(Threshold(init;f;test;nxt;X))
                      ((e' <loc e)
                       (e'':E(X)
                           ((e' <loc e'')
                            (e'' <loc e)
                            ((test 
                                  list_accum(s,v.f s v;
                                             nxt 
                                             Threshold(init;f;test;nxt;X)(e');
                                             X(e', e'')) 
                                  X(e'')))))
                       ((test 
                           list_accum(s,v.f s v;
                                      nxt Threshold(init;f;test;nxt;X)(e');
                                      X(e', e)) 
                           X(e))))))
                   ((e  X)
                     (e':E(X)
                         ((e' <loc e)
                          ((test list_accum(s,v.f s v;init;X(<e')) X(e')))))
                     ((test list_accum(s,v.f s v;init;X(<e)) X(e))))) }

{ Proof }



Definitions occuring in Statement :  es-threshold: Threshold(init;f;test;nxt;X),  es-prior-interval-vals: X(e1, e2),  es-prior-interface-vals: X(<e),  es-E-interface: E(X),  eclass-val: X(e),  in-eclass: e  X,  eclass: EClass(A[eo; e]),  event-ordering+: EO+(Info),  es-locl: (e <loc e'),  es-E: E,  assert: b,  bool: ,  uall: [x:A]. B[x],  all: x:A. B[x],  exists: x:A. B[x],  iff: P  Q,  not: A,  implies: P  Q,  or: P  Q,  and: P  Q,  apply: f a,  function: x:A  B[x],  product: x:A  B[x],  universe: Type,  list_accum: list_accum(x,a.f[x; a];y;l)
Definitions :  uall: [x:A]. B[x],  all: x:A. B[x],  iff: P  Q,  assert: b,  or: P  Q,  and: P  Q,  exists: x:A. B[x],  implies: P  Q,  rev_implies: P  Q,  member: t  T,  cand: A c B,  prop: ,  so_lambda: x y.t[x; y],  guard: {T},  top: Top,  btrue: tt,  ifthenelse: if b then t else f fi ,  true: True,  es-E-interface: E(X),  uimplies: b supposing a,  let: let,  so_apply: x[s1;s2],  sq_type: SQType(T),  subtype: S  T
Lemmas :  is-threshold2,  es-locl_wf,  not_wf,  assert_wf,  list_accum_wf,  es-prior-interval-vals_wf,  eclass-val_wf,  es-E_wf,  event-ordering+_inc,  es-threshold_wf,  es-prior-interface-vals_wf,  es-E-interface_wf,  es-interface-subtype_rel2,  event-ordering+_wf,  top_wf,  in-eclass_wf,  implies-is-threshold,  subtype_base_sq,  bool_subtype_base,  bool_wf,  eclass_wf,  assert_elim

\mforall{}[Info:Type]
    \mforall{}es:EO+(Info)
        \mforall{}[A:Type]
            \mforall{}X:EClass(A)
                \mforall{}[S:Type]
                    \mforall{}init:S.  \mforall{}f:S  {}\mrightarrow{}  A  {}\mrightarrow{}  S.  \mforall{}test:S  {}\mrightarrow{}  A  {}\mrightarrow{}  \mBbbB{}.  \mforall{}nxt:S  \mtimes{}  A  {}\mrightarrow{}  S.  \mforall{}e:E.
                        (\muparrow{}e  \mmember{}\msubb{}  Threshold(init;f;test;nxt;X)
                        \mLeftarrow{}{}\mRightarrow{}  ((\muparrow{}e  \mmember{}\msubb{}  X)
                                \mwedge{}  (\mexists{}e':E(Threshold(init;f;test;nxt;X))
                                        ((e'  <loc  e)
                                        \mwedge{}  (\mforall{}e'':E(X)
                                                  ((e'  <loc  e'')
                                                  {}\mRightarrow{}  (e''  <loc  e)
                                                  {}\mRightarrow{}  (\mneg{}\muparrow{}(test 
                                                                list\_accum(s,v.f  s  v;
                                                                                      nxt  Threshold(init;f;test;nxt;X)(e');
                                                                                      X(e',  e'')) 
                                                                X(e'')))))
                                        \mwedge{}  (\muparrow{}(test  list\_accum(s,v.f  s  v;nxt  Threshold(init;f;test;nxt;X)(e');X(e',  e)) 
                                                  X(e))))))
                                \mvee{}  ((\muparrow{}e  \mmember{}\msubb{}  X)
                                    \mwedge{}  (\mforall{}e':E(X).  ((e'  <loc  e)  {}\mRightarrow{}  (\mneg{}\muparrow{}(test  list\_accum(s,v.f  s  v;init;X(<e'))  X(e')))))
                                    \mwedge{}  (\muparrow{}(test  list\_accum(s,v.f  s  v;init;X(<e))  X(e)))))


Date html generated: 2011_08_16-PM-05_13_08
Last ObjectModification: 2011_06_20-AM-01_14_15

Home Index