Nuprl Lemma : state-class2-inv
∀[Info,B,A1,A2:Type].
∀init:Id ⟶ B. ∀tr1:Id ⟶ A1 ⟶ B ⟶ B. ∀tr2:Id ⟶ A2 ⟶ B ⟶ B. ∀X1:EClass(A1). ∀X2:EClass(A2). ∀es:EO+(Info). ∀e:E.
∀P:E ⟶ B ⟶ ℙ. ∀v:B.
(single-valued-classrel(es;X1;A1)
⇒ single-valued-classrel(es;X2;A2)
⇒ disjoint-classrel(es;A1;X1;A2;X2)
⇒ (∀s:B. ∀e':E.
(e' ≤loc e
⇒ if first(e')
then s = (init loc(e')) ∈ B
else s ∈ state-class2(init;tr1;X1;tr2;X2)(pred(e')) ∧ P[pred(e');s]
fi
⇒ if e' ∈b X1 then ∀a:A1. (a ∈ X1(e')
⇒ P[e';tr1 loc(e') a s])
if e' ∈b X2 then ∀a:A2. (a ∈ X2(e')
⇒ P[e';tr2 loc(e') a s])
else P[e';s]
fi ))
⇒ v ∈ state-class2(init;tr1;X1;tr2;X2)(e)
⇒ P[e;v])
Proof
Definitions occuring in Statement :
state-class2: state-class2(init;tr1;X1;tr2;X2)
,
single-valued-classrel: single-valued-classrel(es;X;T)
,
disjoint-classrel: disjoint-classrel(es;A;X;B;Y)
,
classrel: v ∈ X(e)
,
member-eclass: e ∈b X
,
eclass: EClass(A[eo; e])
,
event-ordering+: EO+(Info)
,
es-le: e ≤loc e'
,
es-first: first(e)
,
es-pred: pred(e)
,
es-loc: loc(e)
,
es-E: E
,
Id: Id
,
ifthenelse: if b then t else f fi
,
uall: ∀[x:A]. B[x]
,
prop: ℙ
,
so_apply: x[s1;s2]
,
all: ∀x:A. B[x]
,
implies: P
⇒ Q
,
and: P ∧ Q
,
apply: f a
,
function: x:A ⟶ B[x]
,
universe: Type
,
equal: s = t ∈ T
Definitions unfolded in proof :
uall: ∀[x:A]. B[x]
,
all: ∀x:A. B[x]
,
implies: P
⇒ Q
,
member: t ∈ T
,
prop: ℙ
,
so_lambda: λ2x.t[x]
,
subtype_rel: A ⊆r B
,
bool: 𝔹
,
unit: Unit
,
it: ⋅
,
btrue: tt
,
ifthenelse: if b then t else f fi
,
uiff: uiff(P;Q)
,
and: P ∧ Q
,
uimplies: b supposing a
,
bfalse: ff
,
exists: ∃x:A. B[x]
,
or: P ∨ Q
,
sq_type: SQType(T)
,
guard: {T}
,
bnot: ¬bb
,
assert: ↑b
,
false: False
,
so_apply: x[s1;s2]
,
so_apply: x[s]
,
so_lambda: λ2x y.t[x; y]
,
strongwellfounded: SWellFounded(R[x; y])
,
int_seg: {i..j-}
,
lelt: i ≤ j < k
,
satisfiable_int_formula: satisfiable_int_formula(fmla)
,
not: ¬A
,
top: Top
,
decidable: Dec(P)
,
le: A ≤ B
,
less_than': less_than'(a;b)
,
nat: ℕ
,
ge: i ≥ j
,
less_than: a < b
,
squash: ↓T
,
state-class2: state-class2(init;tr1;X1;tr2;X2)
,
iff: P
⇐⇒ Q
,
rev_implies: P
⇐ Q
,
cand: A c∧ B
Latex:
\mforall{}[Info,B,A1,A2:Type].
\mforall{}init:Id {}\mrightarrow{} B. \mforall{}tr1:Id {}\mrightarrow{} A1 {}\mrightarrow{} B {}\mrightarrow{} B. \mforall{}tr2:Id {}\mrightarrow{} A2 {}\mrightarrow{} B {}\mrightarrow{} B. \mforall{}X1:EClass(A1). \mforall{}X2:EClass(A2).
\mforall{}es:EO+(Info). \mforall{}e:E. \mforall{}P:E {}\mrightarrow{} B {}\mrightarrow{} \mBbbP{}. \mforall{}v:B.
(single-valued-classrel(es;X1;A1)
{}\mRightarrow{} single-valued-classrel(es;X2;A2)
{}\mRightarrow{} disjoint-classrel(es;A1;X1;A2;X2)
{}\mRightarrow{} (\mforall{}s:B. \mforall{}e':E.
(e' \mleq{}loc e
{}\mRightarrow{} if first(e')
then s = (init loc(e'))
else s \mmember{} state-class2(init;tr1;X1;tr2;X2)(pred(e')) \mwedge{} P[pred(e');s]
fi
{}\mRightarrow{} if e' \mmember{}\msubb{} X1 then \mforall{}a:A1. (a \mmember{} X1(e') {}\mRightarrow{} P[e';tr1 loc(e') a s])
if e' \mmember{}\msubb{} X2 then \mforall{}a:A2. (a \mmember{} X2(e') {}\mRightarrow{} P[e';tr2 loc(e') a s])
else P[e';s]
fi ))
{}\mRightarrow{} v \mmember{} state-class2(init;tr1;X1;tr2;X2)(e)
{}\mRightarrow{} P[e;v])
Date html generated:
2016_05_17-AM-11_18_41
Last ObjectModification:
2016_01_18-AM-00_22_38
Theory : process-model
Home
Index