Nuprl Lemma : eclass-disju-bind-left
∀[Info,A1,A2,B:Type]. ∀[X1:EClass(A1)]. ∀[X2:EClass(A2)]. ∀[Y1:A1 ⟶ EClass(B)]. ∀[Y2:A2 ⟶ EClass(B)].
  (X1 + X2 >x> case x of inl(a1) => Y1[a1] | inr(a2) => Y2[a2] = X1 >x> Y1[x] || X2 >x> Y2[x] ∈ EClass(B))
Proof
Definitions occuring in Statement : 
eclass-disju: X + Y
, 
parallel-class: X || Y
, 
bind-class: X >x> Y[x]
, 
eclass: EClass(A[eo; e])
, 
uall: ∀[x:A]. B[x]
, 
so_apply: x[s]
, 
function: x:A ⟶ B[x]
, 
decide: case b of inl(x) => s[x] | inr(y) => t[y]
, 
universe: Type
, 
equal: s = t ∈ T
Definitions unfolded in proof : 
uall: ∀[x:A]. B[x]
, 
member: t ∈ T
, 
bind-class: X >x> Y[x]
, 
parallel-class: X || Y
, 
eclass-disju: X + Y
, 
eclass: EClass(A[eo; e])
, 
eclass-compose2: eclass-compose2(f;X;Y)
, 
eclass1: (f o X)
, 
subtype_rel: A ⊆r B
, 
prop: ℙ
, 
uimplies: b supposing a
, 
so_lambda: λ2x.t[x]
, 
all: ∀x:A. B[x]
, 
so_apply: x[s]
, 
implies: P 
⇒ Q
, 
guard: {T}
, 
iff: P 
⇐⇒ Q
, 
and: P ∧ Q
, 
rev_implies: P 
⇐ Q
, 
squash: ↓T
, 
class-ap: X(e)
, 
so_lambda: λ2x y.t[x; y]
, 
so_apply: x[s1;s2]
, 
true: True
Latex:
\mforall{}[Info,A1,A2,B:Type].  \mforall{}[X1:EClass(A1)].  \mforall{}[X2:EClass(A2)].  \mforall{}[Y1:A1  {}\mrightarrow{}  EClass(B)].
\mforall{}[Y2:A2  {}\mrightarrow{}  EClass(B)].
    (X1  +  X2  >x>  case  x  of  inl(a1)  =>  Y1[a1]  |  inr(a2)  =>  Y2[a2]  =  X1  >x>  Y1[x]  ||  X2  >x>  Y2[x])
Date html generated:
2016_05_16-PM-11_42_30
Last ObjectModification:
2016_01_17-PM-07_02_02
Theory : event-ordering
Home
Index