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 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: Y parallel-class: || 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 of inl(x) => s[x] inr(y) => t[y] universe: Type equal: t ∈ T
Definitions unfolded in proof :  uall: [x:A]. B[x] member: t ∈ T bind-class: X >x> Y[x] parallel-class: || Y eclass-disju: Y eclass: EClass(A[eo; e]) eclass-compose2: eclass-compose2(f;X;Y) eclass1: (f X) subtype_rel: A ⊆B prop: uimplies: supposing a so_lambda: λ2x.t[x] all: x:A. B[x] so_apply: x[s] implies:  Q guard: {T} iff: ⇐⇒ Q and: P ∧ Q rev_implies:  Q squash: T class-ap: X(e) so_lambda: λ2y.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