Nuprl Lemma : consensus-safety1

V:Type
  ((v1,v2:V.  Dec(v1 = v2))
   {v,v':V. ((v = v'))}
   (L:V List. Dec(v:V. ((v  L))))
   (A:Id List. W:{a:Id| (a  A)}  List List.
        ((||W||  1 )
         two-intersection(A;W)
         (f:ConsensusState  consensus-state1(V)
             ((v:V. s:ts-reachable(consensus-ts4(V;A;W)).
                 ((f s) = Decided[v]  i:. in state s, inning i has committed v))
              ts-refinement(consensus-ts1(V);consensus-ts4(V;A;W);f))))))


Proof not projected




Definitions occuring in Statement :  two-intersection: two-intersection(A;W) cs-inning-committed: in state s, inning i has committed v consensus-ts4: consensus-ts4(V;A;W) consensus-state4: ConsensusState consensus-ts1: consensus-ts1(T) cs-decided: Decided[v] consensus-state1: consensus-state1(V) Id: Id length: ||as|| nat: decidable: Dec(P) guard: {T} ge: i  j  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 function: x:A  B[x] list: type List natural_number: $n universe: Type equal: s = t l_member: (x  l) ts-refinement: ts-refinement(ts1;ts2;f) ts-reachable: ts-reachable(ts)
Definitions :  all: x:A. B[x] implies: P  Q exists: x:A. B[x] ge: i  j  member: t  T prop: so_lambda: x.t[x] consensus-ts3: consensus-ts3(T) consensus-ts2: consensus-ts2(T) consensus-ts1: consensus-ts1(T) cs-is-decided: cs-is-decided(x) cs-undecided: UNDECIDED consensus-state1: consensus-state1(V) ts-type: ts-type(ts) pi1: fst(t) consensus-state2: consensus-state2(T) top: Top subtype: S  T consensus-ts4: consensus-ts4(V;A;W) bfalse: ff btrue: tt ifthenelse: if b then t else f fi  and: P  Q compose: f o g suptype: suptype(S; T) rev_implies: P  Q squash: T iff: P  Q true: True false: False cand: A c B le: A  B l_member: (x  l) not: A cs-decided: Decided[v] isl: isl(x) assert: b uall: [x:A]. B[x] uimplies: b supposing a so_apply: x[s] guard: {T} unit: Unit bool: ts-reachable: ts-reachable(ts) uiff: uiff(P;Q) or: P  Q cs-ambivalent: AMBIVALENT cs-predecided: PREDECIDED[v] nat: cs-ref-map-constraints: cs-ref-map-constraints(V;A;W;f) cs-archived: by state s, a archived v in inning i l_all: (xL.P[x]) one-intersection: one-intersection(A;W) cs-inning-committed: in state s, inning i has committed v it:
Lemmas :  consensus-refinement3 consensus-ts4-ref-map consensus-refinement2 consensus-refinement1 two-intersection_wf ge_wf length_wf Id_wf l_member_wf all_wf decidable_wf exists_wf not_wf guard_wf equal_wf ts-refinement-composition consensus-ts1_wf consensus-ts2_wf consensus-ts3_wf cs-ref-map3_wf consensus-state3_wf ifthenelse_wf isl_wf top_wf consensus-ts4_wf compose_wf assert_of_bnot eqff_to_assert bnot_wf assert_wf iff_transitivity eqtt_to_assert bool_wf ts-reachable_wf ts-type_wf ts-refinement-reachable consensus-state4_wf cs-is-decided_wf uiff_transitivity consensus-state2-cases cs-decided_wf2 consensus-state2_wf true_wf squash_wf cs-inning-committed_wf nat_wf cs-decided_wf consensus-state1_wf cs-ref-map3-decided cs-inning_wf le_wf consensus-ts4-estimate-domain two-intersection-one-intersection select_wf cs-commited_wf cs-undecided_wf ts-refinement_wf iff_wf

\mforall{}V:Type
    ((\mforall{}v1,v2:V.    Dec(v1  =  v2))
    {}\mRightarrow{}  \{\mexists{}v,v':V.  (\mneg{}(v  =  v'))\}
    {}\mRightarrow{}  (\mforall{}L:V  List.  Dec(\mexists{}v:V.  (\mneg{}(v  \mmember{}  L))))
    {}\mRightarrow{}  (\mforall{}A:Id  List.  \mforall{}W:\{a:Id|  (a  \mmember{}  A)\}    List  List.
                ((||W||  \mgeq{}  1  )
                {}\mRightarrow{}  two-intersection(A;W)
                {}\mRightarrow{}  (\mexists{}f:ConsensusState  {}\mrightarrow{}  consensus-state1(V)
                          ((\mforall{}v:V.  \mforall{}s:ts-reachable(consensus-ts4(V;A;W)).
                                  ((f  s)  =  Decided[v]  \mLeftarrow{}{}\mRightarrow{}  \mexists{}i:\mBbbN{}.  in  state  s,  inning  i  has  committed  v))
                          \mwedge{}  ts-refinement(consensus-ts1(V);consensus-ts4(V;A;W);f))))))


Date html generated: 2012_01_23-PM-12_05_37
Last ObjectModification: 2011_12_31-AM-11_10_21

Home Index