Nuprl Lemma : memory-classrel2-sv
∀[Info,A1,A2,S:Type].
  ∀init:Id ⟶ S. ∀tr1:Id ⟶ A1 ⟶ S ⟶ S. ∀X1:EClass(A1). ∀tr2:Id ⟶ A2 ⟶ S ⟶ S. ∀X2:EClass(A2). ∀es:EO+(Info). ∀e:E.
  ∀v:S.
    (disjoint-classrel(es;A2;X2;A1;X1)
    
⇒ single-valued-classrel(es;X2;A2)
    
⇒ single-valued-classrel(es;X1;A1)
    
⇒ (v ∈ memory-class2(init;tr1;X1;tr2;X2)(e)
       
⇐⇒ prior-iterated-classrel(es;A1 + A2;S;v;X1 (+) X2;tr1 + tr2 loc(e);λloc.{init loc};e)))
Proof
Definitions occuring in Statement : 
disjoint-union-tr: tr1 + tr2
, 
disjoint-union-comb: X (+) Y
, 
memory-class2: memory-class2(init;tr1;X1;tr2;X2)
, 
prior-iterated-classrel: prior-iterated-classrel(es;A;S;s;X;f;init;e)
, 
single-valued-classrel: single-valued-classrel(es;X;T)
, 
disjoint-classrel: disjoint-classrel(es;A;X;B;Y)
, 
classrel: v ∈ X(e)
, 
eclass: EClass(A[eo; e])
, 
event-ordering+: EO+(Info)
, 
es-loc: loc(e)
, 
es-E: E
, 
Id: Id
, 
uall: ∀[x:A]. B[x]
, 
all: ∀x:A. B[x]
, 
iff: P 
⇐⇒ Q
, 
implies: P 
⇒ Q
, 
apply: f a
, 
lambda: λx.A[x]
, 
function: x:A ⟶ B[x]
, 
union: left + right
, 
universe: Type
, 
single-bag: {x}
Definitions unfolded in proof : 
uall: ∀[x:A]. B[x]
, 
all: ∀x:A. B[x]
, 
implies: P 
⇒ Q
, 
member: t ∈ T
, 
prop: ℙ
, 
subtype_rel: A ⊆r B
, 
so_lambda: λ2x y.t[x; y]
, 
so_apply: x[s1;s2]
, 
true: True
, 
Memory2: Memory2(init;tr1;X1;tr2;X2)
, 
iff: P 
⇐⇒ Q
, 
and: P ∧ Q
, 
rev_implies: P 
⇐ Q
, 
uimplies: b supposing a
, 
uiff: uiff(P;Q)
, 
squash: ↓T
, 
guard: {T}
Latex:
\mforall{}[Info,A1,A2,S:Type].
    \mforall{}init:Id  {}\mrightarrow{}  S.  \mforall{}tr1:Id  {}\mrightarrow{}  A1  {}\mrightarrow{}  S  {}\mrightarrow{}  S.  \mforall{}X1:EClass(A1).  \mforall{}tr2:Id  {}\mrightarrow{}  A2  {}\mrightarrow{}  S  {}\mrightarrow{}  S.  \mforall{}X2:EClass(A2).
    \mforall{}es:EO+(Info).  \mforall{}e:E.  \mforall{}v:S.
        (disjoint-classrel(es;A2;X2;A1;X1)
        {}\mRightarrow{}  single-valued-classrel(es;X2;A2)
        {}\mRightarrow{}  single-valued-classrel(es;X1;A1)
        {}\mRightarrow{}  (v  \mmember{}  memory-class2(init;tr1;X1;tr2;X2)(e)
              \mLeftarrow{}{}\mRightarrow{}  prior-iterated-classrel(es;A1  +  A2;S;v;X1  (+)  X2;tr1  +  tr2  loc(e);\mlambda{}loc.\{init  loc\};e)))
Date html generated:
2016_05_17-AM-10_06_36
Last ObjectModification:
2016_01_17-PM-11_04_49
Theory : classrel!lemmas
Home
Index