{ [V:Type]
    [A:Id List]. [W:{a:Id| (a  A)}  List List].
    [x:ts-reachable(consensus-ts4(V;A;W))]. [i:]. [v:V].
    [a:{a:Id| (a  A)} ].
      [j:i]. [v':V].  v' = v supposing in state x, inning j could commit v'  
      supposing by state x, a archived v in inning i 
    supposing v1,v2:V.  Dec(v1 = v2) }

{ Proof }



Definitions occuring in Statement :  cs-inning-committable: in state s, inning i could commit v  cs-archived: by state s, a archived v in inning i consensus-ts4: consensus-ts4(V;A;W) Id: Id int_seg: {i..j} decidable: Dec(P) uimplies: b supposing a uall: [x:A]. B[x] all: x:A. B[x] set: {x:A| B[x]}  list: type List natural_number: $n int: universe: Type equal: s = t l_member: (x  l) ts-reachable: ts-reachable(ts)
Definitions :  ts-init: ts-init(ts) fpf-single: x : v cs-inning: Inning(s;a) consensus-rel: CR[x,y] fpf-empty: minus: -n lambda: x.A[x] cs-not-completed: in state s, a has not completed inning i so_apply: x[s] guard: {T} assert: b natural_number: $n real: rationals: subtype: S  T pair: <a, b> false: False lelt: i  j < k axiom: Ax cs-inning-committable: in state s, inning i could commit v  int_seg: {i..j} ts-rel: ts-rel(ts) rel_star: R^* so_lambda: x.t[x] tag-by: zT rev_implies: P  Q implies: P  Q iff: P  Q record+: record+ record: record(x.T[x]) fset: FSet{T} isect2: T1  T2 b-union: A  B true: True fpf-cap: f(x)?z spread: spread def pi1: fst(t) intensional-universe: IType fpf-ap: f(x) top: Top cs-estimate: Estimate(s;a) fpf-domain: fpf-domain(f) strong-subtype: strong-subtype(A;B) le: A  B ge: i  j  less_than: a < b and: P  Q uiff: uiff(P;Q) fpf: a:A fp-B[a] product: x:A  B[x] exists: x:A. B[x] apply: f a infix_ap: x f y consensus-state4: ConsensusState cs-archived: by state s, a archived v in inning i int: transition-system: transition-system{i:l} ts-type: ts-type(ts) subtype_rel: A r B consensus-ts4: consensus-ts4(V;A;W) ts-reachable: ts-reachable(ts) l_member: (x  l) set: {x:A| B[x]}  not: A union: left + right or: P  Q bool: Id: Id list: type List limited-type: LimitedType isect: x:A. B[x] uall: [x:A]. B[x] uimplies: b supposing a decidable: Dec(P) prop: function: x:A  B[x] equal: s = t universe: Type member: t  T all: x:A. B[x] CollapseTHEN: Error :CollapseTHEN,  tactic: Error :tactic,  cand: A c B nat: pi2: snd(t) cons: [car / cdr] void: Void int-deq: IntDeq nil: [] squash: T uni_sat: a = !x:T. Q[x] inv_funs: InvFuns(A;B;f;g) inject: Inj(A;B;f) eqfun_p: IsEqFun(T;eq) refl: Refl(T;x,y.E[x; y]) urefl: UniformlyRefl(T;x,y.E[x; y]) sym: Sym(T;x,y.E[x; y]) usym: UniformlySym(T;x,y.E[x; y]) trans: Trans(T;x,y.E[x; y]) utrans: UniformlyTrans(T;x,y.E[x; y]) anti_sym: AntiSym(T;x,y.R[x; y]) uanti_sym: UniformlyAntiSym(T;x,y.R[x; y]) connex: Connex(T;x,y.R[x; y]) uconnex: uconnex(T; x,y.R[x; y]) coprime: CoPrime(a,b) ident: Ident(T;op;id) assoc: Assoc(T;op) comm: Comm(T;op) inverse: Inverse(T;op;id;inv) bilinear: BiLinear(T;pl;tm) bilinear_p: IsBilinear(A;B;C;+a;+b;+c;f) action_p: IsAction(A;x;e;S;f) dist_1op_2op_lr: Dist1op2opLR(A;1op;2op) fun_thru_1op: fun_thru_1op(A;B;opa;opb;f) fun_thru_2op: FunThru2op(A;B;opa;opb;f) cancel: Cancel(T;S;op) monot: monot(T;x,y.R[x; y];f) monoid_p: IsMonoid(T;op;id) group_p: IsGroup(T;op;id;inv) monoid_hom_p: IsMonHom{M1,M2}(f) grp_leq: a  b integ_dom_p: IsIntegDom(r) prime_ideal_p: IsPrimeIdeal(R;P) no_repeats: no_repeats(T;l) value-type: value-type(T) is_list_splitting: is_list_splitting(T;L;LL;L2;f) is_accum_splitting: is_accum_splitting(T;A;L;LL;L2;f;g;x) req: x = y rnonneg: rnonneg(r) rleq: x  y i-member: r  I partitions: partitions(I;p) modulus-of-ccontinuity: modulus-of-ccontinuity(omega;I;f) fpf-sub: f  g sq_stable: SqStable(P) it: cs-passed: by state s, a passed inning i without archiving a value cs-inning-committed: in state s, inning i has committed v cs-archive-blocked: in state s, ws' blocks ws from archiving v in inning i cs-precondition: state s may consider v in inning i add: n + m IdLnk: IdLnk Knd: Knd MaName: MaName l_disjoint: l_disjoint(T;l1;l2) consensus-state3: consensus-state3(T) atom: Atom sq_type: SQType(T) sqequal: s ~ t atom: Atom$n fpf-join: f  g eqof: eqof(d) list_ind: list_ind def reduce: reduce(f;k;as) deq-member: deq-member(eq;x;L) deq: EqDecider(T) fpf-dom: x  dom(f) decide: case b of inl(x) =s[x] | inr(y) =t[y] ifthenelse: if b then t else f fi  filter: filter(P;l) grp_car: |g| select: l[i] length: ||as|| bag: bag(T) ma-state: State(ds) rcv: rcv(l,tg) locl: locl(a) bfalse: ff eq_bool: p =b q lt_int: i <z j le_int: i z j eq_int: (i = j) eq_atom: x =a y null: null(as) set_blt: a < b grp_blt: a < b dcdr-to-bool: [d] bl-all: (xL.P[x])_b bl-exists: (xL.P[x])_b b-exists: (i<n.P[i])_b eq_type: eq_type(T;T') eq_atom: eq_atom$n(x;y) qeq: qeq(r;s) q_less: q_less(r;s) q_le: q_le(r;s) deq-disjoint: deq-disjoint(eq;as;bs) deq-all-disjoint: deq-all-disjoint(eq;ass;bs) eq_str: Error :eq_str,  eq_id: a = b eq_lnk: a = b bimplies: p  q band: p  q bor: p q bnot: b btrue: tt MaAuto: Error :MaAuto,  Auto: Error :Auto,  HypSubst: Error :HypSubst,  AssertBY: Error :AssertBY,  D: Error :D,  nequal: a  b  T  qless: r < s eq_knd: a = b quotient: x,y:A//B[x; y] divides: b | a assoced: a ~ b set_car: |p| set_leq: a  b set_lt: a <p b grp_lt: a < b rng_car: |r| unit: Unit nat_plus: dstype: dstype(TypeNames; d; a) string: Error :string,  l_contains: A  B reducible: reducible(a) prime: prime(a) l_exists: (xL. P[x]) l_all: (xL.P[x]) fun-connected: y is f*(x) qle: r  s q-rel: q-rel(r;x) i-finite: i-finite(I) i-closed: i-closed(I) p-outcome: Outcome fset-member: a  s f-subset: xs  ys fset-closed: (s closed under fs)
Lemmas :  decidable__cand decidable__equal_int decidable__not decidable__l_member product_subtype_base list_subtype_base cs-archive-blocked_wf cs-precondition_wf int_subtype_base fpf-join_wf member_singleton assert_of_bnot eqff_to_assert uiff_transitivity bool_wf not_wf iff_weakening_uiff bool_subtype_base eqtt_to_assert bool_cases subtype_rel_function subtype_rel_self subtype_rel_simple_product bnot_wf not_functionality_wrt_iff length_wf1 select_wf list-subtype fpf-domain-join fpf-single_wf fpf-join-ap-sq member-fpf-domain fpf-type subtype-fpf2 subtype-top cs-inning_wf assert_wf int-deq_wf fpf-ap_wf fpf-dom_wf ifthenelse_wf false_wf fpf-trivial-subtype-top member-fpf-dom true_wf atom2_subtype_base set_subtype_base subtype_base_sq nat_wf decidable__equal_Id consensus-rel_wf cs-inning-committable-step le_wf cs-not-completed_wf decidable__cs-archived ts-reachable-induction sq_stable_wf sq_stable__all sq_stable__uall squash_wf sq_stable__equal ts-init_wf_reachable ts-init_wf nil_member fpf-empty_wf pi2_wf fpf-domain_wf2 consensus-state4_wf top_wf subtype_rel_wf ts-reachable_wf consensus-ts4_wf member_wf cs-estimate_wf fpf-domain_wf l_member_wf cs-archived_wf Id_wf ts-type_wf decidable_wf intensional-universe_wf fpf_wf ts-rel_wf rel_star_wf int_seg_wf cs-inning-committable_wf uall_wf uiff_inversion int_seg_properties

\mforall{}[V:Type]
    \mforall{}[A:Id  List].  \mforall{}[W:\{a:Id|  (a  \mmember{}  A)\}    List  List].  \mforall{}[x:ts-reachable(consensus-ts4(V;A;W))].  \mforall{}[i:\mBbbZ{}].
    \mforall{}[v:V].  \mforall{}[a:\{a:Id|  (a  \mmember{}  A)\}  ].
        \mforall{}[j:\mBbbN{}i].  \mforall{}[v':V].    v'  =  v  supposing  in  state  x,  inning  j  could  commit  v'   
        supposing  by  state  x,  a  archived  v  in  inning  i 
    supposing  \mforall{}v1,v2:V.    Dec(v1  =  v2)


Date html generated: 2011_08_16-AM-10_05_18
Last ObjectModification: 2011_06_18-AM-09_01_07

Home Index