Nuprl Lemma : rsc5_rounds_progress

es:EO'. e1,e2:E. Cmd:ValueAllType. n,round1,round2:.
  ((z:    Cmd
     round:
      e:E
       (e1 loc e 
        (e <loc e2)
        z  rsc5_RoundInfo(Cmd)(e)
        round  rsc5_NewRoundsState(Cmd) n(e)
        let z,c = z 
         in let m,i = z 
            in ((eqof(IntDeq) m n))  (round < i)))
   (e1 <loc e2)
   round1  rsc5_NewRoundsState(Cmd) n(e1)
   round2  rsc5_NewRoundsState(Cmd) n(e2)
   (round1 < round2))


Proof not projected




Definitions occuring in Statement :  rsc5_NewRoundsState: rsc5_NewRoundsState(Cmd) rsc5_RoundInfo: rsc5_RoundInfo(Cmd) Message: Message classrel: v  X(e) event-ordering+: EO+(Info) es-le: e loc e'  es-locl: (e <loc e') es-E: E assert: b all: x:A. B[x] exists: x:A. B[x] implies: P  Q and: P  Q less_than: a < b apply: f a spread: spread def product: x:A  B[x] int: int-deq: IntDeq eqof: eqof(d) vatype: ValueAllType
Definitions :  eq_atom: x =a y atom-deq: AtomDeq list-deq: list-deq(eq) name-deq: NameDeq name_eq: name_eq(x;y) name: Name rsc5_vote'base: rsc5_vote'base(Cmd) rsc5_vote2retry: rsc5_vote2retry(Cmd) rsc5_retry'base: rsc5_retry'base(Cmd) false: False bfalse: ff btrue: tt band: p  q ifthenelse: if b then t else f fi  uiff: uiff(P;Q) guard: {T} cand: A c B so_lambda: x.t[x] member: t  T not: A trans: Trans(T;x,y.E[x; y]) prop: rsc5_init: rsc5_init() rsc5_update_round: rsc5_update_round(Cmd) assert: b rsc5_RoundInfo: rsc5_RoundInfo(Cmd) and: P  Q exists: x:A. B[x] implies: P  Q vatype: ValueAllType all: x:A. B[x] so_apply: x[s] or: P  Q uimplies: b supposing a unit: Unit iff: P  Q bool: so_apply: x[s1;s2] uall: [x:A]. B[x] rsc5_NewRoundsState: rsc5_NewRoundsState(Cmd) subtype: S  T it:
Lemmas :  event-ordering+_wf valueall-type_wf rsc5_NewRoundsState_wf exists_wf es-E_wf single-valued-bag-single single-valued-classrel-base simple-loc-comb-1-concat-single-val name_wf assert-name_eq base-disjoint-classrel simple-loc-comb-1-concat-disjoint-classrel disjoint-classrel-symm rsc5_vote'base_wf rsc5_vote2retry_wf concat-lifting-loc-1_wf simple-loc-comb-1_wf rsc5_retry'base_wf parallel-class-single-val es-le_wf Message_wf event-ordering+_inc es-locl_wf Memory-class_wf classrel_wf and_functionality_wrt_uiff3 eqtt_to_assert decidable__equal_int not_over_and assert_of_lt_int and_functionality_wrt_uiff assert_of_band not_functionality_wrt_uiff assert_of_bnot not_wf bnot_wf uiff_transitivity eqff_to_assert bool_wf lt_int_wf band_wf safe-assert-deq equal_wf and_functionality_wrt_uiff2 sq_stable_from_decidable decidable__lt decidable__assert decidable__cand rsc5_RoundInfo_wf bag_wf Id_wf rsc5_init_wf rsc5_update_round_wf less_than_wf int-deq_wf eqof_wf assert_wf and_wf Memory-class-progress

\mforall{}es:EO'.  \mforall{}e1,e2:E.  \mforall{}Cmd:ValueAllType.  \mforall{}n,round1,round2:\mBbbZ{}.
    ((\mexists{}z:\mBbbZ{}  \mtimes{}  \mBbbZ{}  \mtimes{}  Cmd
          \mexists{}round:\mBbbZ{}
            \mexists{}e:E
              (e1  \mleq{}loc  e 
              \mwedge{}  (e  <loc  e2)
              \mwedge{}  z  \mmember{}  rsc5\_RoundInfo(Cmd)(e)
              \mwedge{}  round  \mmember{}  rsc5\_NewRoundsState(Cmd)  n(e)
              \mwedge{}  let  z,c  =  z 
                  in  let  m,i  =  z 
                        in  (\muparrow{}(eqof(IntDeq)  m  n))  \mwedge{}  (round  <  i)))
    {}\mRightarrow{}  (e1  <loc  e2)
    {}\mRightarrow{}  round1  \mmember{}  rsc5\_NewRoundsState(Cmd)  n(e1)
    {}\mRightarrow{}  round2  \mmember{}  rsc5\_NewRoundsState(Cmd)  n(e2)
    {}\mRightarrow{}  (round1  <  round2))


Date html generated: 2012_02_20-PM-05_08_02
Last ObjectModification: 2012_02_02-PM-02_19_08

Home Index