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
Lemmas :  es-le-before_wf2,  list-subtype-bag,  es-le_wf,  bag_wf,  bag-combine-append-right,  bag-combine_wf,  eo-forward_wf,  member-eo-forward-E,  equal_wf,  Id_wf,  es-loc_wf,  iff_weakening_equal,  bag-combine-append-left,  bag-combine-map,  bag-append_wf,  eclass_wf,  es-E_wf,  event-ordering+_subtype,  event-ordering+_wf,  bag-map_wf

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: 2015_07_21-PM-02_37_48
Last ObjectModification: 2015_02_04-PM-06_20_44

Home Index