Nuprl Lemma : cs-ref-map-unchanged
∀[V:Type]
((∀v1,v2:V. Dec(v1 = v2 ∈ V))
⇒ (∀A:Id List. ∀W:{a:Id| (a ∈ A)} List List.
(two-intersection(A;W)
⇒ (∀f:ConsensusState ⟶ (consensus-state3(V) List)
(cs-ref-map-constraints(V;A;W;f)
⇒ (∀x,y:ts-reachable(consensus-ts4(V;A;W)).
((x ts-rel(consensus-ts4(V;A;W)) y)
⇒ (∀i:ℕ
((∀v:V. (in state x, inning i could commit v
⇒ in state y, inning i could commit v ))
⇒ ((f y[i] = f x[i] ∈ consensus-state3(V))
∨ (∃v:V
((f y[i] = COMMITED[v] ∈ consensus-state3(V))
∧ (f x[i] = CONSIDERING[v] ∈ consensus-state3(V)))))) supposing
(i < ||f y|| and
i < ||f x||)))))))))
Proof
Definitions occuring in Statement :
cs-ref-map-constraints: cs-ref-map-constraints(V;A;W;f)
,
two-intersection: two-intersection(A;W)
,
cs-inning-committable: in state s, inning i could commit v
,
consensus-ts4: consensus-ts4(V;A;W)
,
consensus-state4: ConsensusState
,
cs-commited: COMMITED[v]
,
cs-considering: CONSIDERING[v]
,
consensus-state3: consensus-state3(T)
,
Id: Id
,
l_member: (x ∈ l)
,
select: L[n]
,
length: ||as||
,
list: T List
,
nat: ℕ
,
less_than: a < b
,
decidable: Dec(P)
,
uimplies: b supposing a
,
uall: ∀[x:A]. B[x]
,
infix_ap: x f y
,
all: ∀x:A. B[x]
,
exists: ∃x:A. B[x]
,
implies: P
⇒ Q
,
or: P ∨ Q
,
and: P ∧ Q
,
set: {x:A| B[x]}
,
apply: f a
,
function: x:A ⟶ B[x]
,
universe: Type
,
equal: s = t ∈ T
,
ts-reachable: ts-reachable(ts)
,
ts-rel: ts-rel(ts)
Definitions unfolded in proof :
uall: ∀[x:A]. B[x]
,
implies: P
⇒ Q
,
all: ∀x:A. B[x]
,
ts-reachable: ts-reachable(ts)
,
consensus-ts4: consensus-ts4(V;A;W)
,
ts-type: ts-type(ts)
,
pi1: fst(t)
,
and: P ∧ Q
,
cand: A c∧ B
,
member: t ∈ T
,
uimplies: b supposing a
,
nat: ℕ
,
ge: i ≥ j
,
decidable: Dec(P)
,
or: P ∨ Q
,
satisfiable_int_formula: satisfiable_int_formula(fmla)
,
exists: ∃x:A. B[x]
,
false: False
,
not: ¬A
,
top: Top
,
prop: ℙ
,
cs-ref-map-constraints: cs-ref-map-constraints(V;A;W;f)
,
iff: P
⇐⇒ Q
,
rev_implies: P
⇐ Q
,
so_lambda: λ2x.t[x]
,
so_apply: x[s]
,
infix_ap: x f y
,
subtype_rel: A ⊆r B
,
guard: {T}
,
ts-stable: ts-stable(ts;x.P[x])
Latex:
\mforall{}[V:Type]
((\mforall{}v1,v2:V. Dec(v1 = v2))
{}\mRightarrow{} (\mforall{}A:Id List. \mforall{}W:\{a:Id| (a \mmember{} A)\} List List.
(two-intersection(A;W)
{}\mRightarrow{} (\mforall{}f:ConsensusState {}\mrightarrow{} (consensus-state3(V) List)
(cs-ref-map-constraints(V;A;W;f)
{}\mRightarrow{} (\mforall{}x,y:ts-reachable(consensus-ts4(V;A;W)).
((x ts-rel(consensus-ts4(V;A;W)) y)
{}\mRightarrow{} (\mforall{}i:\mBbbN{}
((\mforall{}v:V
(in state x, inning i could commit v
{}\mRightarrow{} in state y, inning i could commit v ))
{}\mRightarrow{} ((f y[i] = f x[i])
\mvee{} (\mexists{}v:V
((f y[i] = COMMITED[v])
\mwedge{} (f x[i] = CONSIDERING[v]))))) supposing
(i < ||f y|| and
i < ||f x||)))))))))
Date html generated:
2016_05_16-PM-00_08_33
Last ObjectModification:
2016_01_17-PM-03_55_06
Theory : event-ordering
Home
Index