Nuprl Lemma : consensus-ts5-true-knowledge

[V:Type]
  A:Id List. W:{a:Id| (a  A)}  List List. x:ts-reachable(consensus-ts5(V;A;W)).
    let x1,x2 = x 
    in a,b:{a:Id| (a  A)} .
         let I,z = Knowledge(x2;a)(b) 
         in (I  Inning(x1;b))
             case z
              of inl(p) =>
               let k,v = p 
               in (k < I)
                   (k  dom(Estimate(x1;b)))
                   (Estimate(x1;b)(k) = v)
                   (i:. i  dom(Estimate(x1;b)) supposing (k < i)  (i < I))
               | inr(p) =>
               i:. i  dom(Estimate(x1;b)) supposing i < I 
         supposing b  dom(Knowledge(x2;a))


Proof not projected




Definitions occuring in Statement :  consensus-ts5: consensus-ts5(V;A;W),  cs-knowledge: Knowledge(x;a),  cs-estimate: Estimate(s;a),  cs-inning: Inning(s;a),  fpf-ap: f(x),  fpf-dom: x  dom(f),  id-deq: IdDeq,  Id: Id,  assert: b,  uimplies: b supposing a,  uall: [x:A]. B[x],  le: A  B,  all: x:A. B[x],  not: A,  and: P  Q,  less_than: a < b,  set: {x:A| B[x]} ,  spread: spread def,  decide: case b of inl(x) => s[x] | inr(y) => t[y],  list: type List,  int: ,  universe: Type,  equal: s = t,  l_member: (x  l),  int-deq: IntDeq,  ts-reachable: ts-reachable(ts)
Definitions :  true: True,  cand: A c B,  pi1: fst(t),  ts-type: ts-type(ts),  so_lambda: x.t[x],  member: t  T,  implies: P  Q,  prop: ,  and: P  Q,  uimplies: b supposing a,  consensus-ts5: consensus-ts5(V;A;W),  all: x:A. B[x],  uall: [x:A]. B[x],  consensus-state4: ConsensusState,  bfalse: ff,  false: False,  ifthenelse: if b then t else f fi ,  btrue: tt,  assert: b,  not: A,  le: A  B,  sq_stable: SqStable(P),  reduce: reduce(f;k;as),  deq-member: deq-member(eq;x;L),  fpf-empty: ,  pi2: snd(t),  cs-estimate: Estimate(s;a),  cs-inning: Inning(s;a),  cs-knowledge: Knowledge(x;a),  fpf-dom: x  dom(f),  ts-init: ts-init(ts),  infix_ap: x f y,  Id: Id,  squash: T,  guard: {T},  eqof: eqof(d),  fpf-single: x : v,  fpf-ap: f(x),  top: Top,  uiff: uiff(P;Q),  so_apply: x[s],  ts-reachable: ts-reachable(ts),  iff: P  Q,  unit: Unit,  bool: ,  consensus-rel-add-knowledge-step: consensus-rel-add-knowledge-step(V;A;W;x1;x2;y1;y2;a),  consensus-rel-knowledge-archive-step: consensus-rel-knowledge-archive-step(V;A;W;x1;x2;y1;y2;a),  consensus-rel-knowledge-inning-step: consensus-rel-knowledge-inning-step(V;A;W;x1;x2;y1;y2;a),  or: P  Q,  consensus-rel-knowledge-step: consensus-rel-knowledge-step(V;A;W;x1;x2;y1;y2;a),  exists: x:A. B[x],  consensus-rel-knowledge: consensus-rel-knowledge(V;A;W;x;y),  ts-rel: ts-rel(ts),  decidable: Dec(P),  sq_type: SQType(T),  it: ,  eq_id: a = b
Lemmas :  ts-type_wf,  ts-reachable_wf,  not_wf,  cs-estimate_wf,  subtype-top,  subtype-fpf2,  int-deq_wf,  cs-inning_wf,  le_wf,  fpf-ap_wf,  fpf_wf,  top_wf,  fpf-trivial-subtype-top,  cs-knowledge_wf,  id-deq_wf,  fpf-dom_wf,  assert_wf,  l_member_wf,  Id_wf,  all_wf,  consensus-state5_wf,  consensus-state4_wf,  consensus-ts5_wf,  ts-reachable-induction,  subtype_rel_simple_product,  subtype_rel_self,  subtype_rel_function,  sq_stable__all,  false_wf,  sq_stable__uall,  assert_of_bnot,  eqff_to_assert,  bnot_wf,  uiff_transitivity,  eqtt_to_assert,  iff_weakening_uiff,  bool_wf,  squash_wf,  sq_stable__not,  sq_stable__equal,  decidable__lt,  decidable__le,  sq_stable_from_decidable,  sq_stable__and,  true_wf,  list-subtype,  mk_fpf_wf,  strong-subtype-self,  strong-subtype-set3,  strong-subtype-deq-subtype,  ts-rel_wf,  assert_witness,  decidable__equal_Id,  atom2_subtype_base,  subtype_base_sq,  deq_wf,  equal_wf,  not_functionality_wrt_uiff,  assert-eq-id,  fpf-single-dom-sq,  fpf-join-ap-sq,  eq_id_wf,  fpf-single_wf

\mforall{}[V:Type]
    \mforall{}A:Id  List.  \mforall{}W:\{a:Id|  (a  \mmember{}  A)\}    List  List.  \mforall{}x:ts-reachable(consensus-ts5(V;A;W)).
        let  x1,x2  =  x 
        in  \mforall{}a,b:\{a:Id|  (a  \mmember{}  A)\}  .
                  let  I,z  =  Knowledge(x2;a)(b) 
                  in  (I  \mleq{}  Inning(x1;b))
                        \mwedge{}  case  z
                            of  inl(p)  =>
                              let  k,v  =  p 
                              in  (k  <  I)
                                    \mwedge{}  (\muparrow{}k  \mmember{}  dom(Estimate(x1;b)))
                                    \mwedge{}  (Estimate(x1;b)(k)  =  v)
                                    \mwedge{}  (\mforall{}i:\mBbbZ{}.  \mneg{}\muparrow{}i  \mmember{}  dom(Estimate(x1;b))  supposing  (k  <  i)  \mwedge{}  (i  <  I))
                              |  inr(p)  =>
                              \mforall{}i:\mBbbZ{}.  \mneg{}\muparrow{}i  \mmember{}  dom(Estimate(x1;b))  supposing  i  <  I 
                  supposing  \muparrow{}b  \mmember{}  dom(Knowledge(x2;a))


Date html generated: 2012_01_23-PM-12_06_20
Last ObjectModification: 2011_12_14-PM-06_37_36

Home Index