{ [Info:Type]. [es:EO+(Info)]. [A,B:Type]. [Ia1,Ia2:EClass(A)].
  [Ib1,Ib2:EClass(B)]. [g1:E(Ib1)  E(Ia1)]. [g2:E(Ib2)  E(Ia2)].
    ([{Ib1}? g1 : g2]  E([Ib1?Ib2])  E) }

{ Proof }



Definitions occuring in Statement :  es-E-interface: E(X),  es-interface-predicate: {I},  cond-class: [X?Y],  in-eclass: e  X,  eclass: EClass(A[eo; e]),  event-ordering+: EO+(Info),  conditional: [P? f : g],  es-E: E,  uall: [x:A]. B[x],  member: t  T,  lambda: x.A[x],  function: x:A  B[x],  universe: Type,  bool-decider: bool-decider(b)
Definitions :  es-E-interface: E(X),  member: t  T,  prop: ,  so_lambda: x y.t[x; y],  uall: [x:A]. B[x],  uimplies: b supposing a,  all: x:A. B[x],  so_apply: x[s1;s2],  subtype: S  T
Lemmas :  conditional_wf-interface,  subtype_rel_function,  es-E-interface_wf,  cond-class_wf,  es-interface-top,  es-E_wf,  event-ordering+_inc,  subtype_rel_self,  assert_wf,  in-eclass_wf,  top_wf,  eclass_wf,  event-ordering+_wf

\mforall{}[Info:Type].  \mforall{}[es:EO+(Info)].  \mforall{}[A,B:Type].  \mforall{}[Ia1,Ia2:EClass(A)].  \mforall{}[Ib1,Ib2:EClass(B)].
\mforall{}[g1:E(Ib1)  {}\mrightarrow{}  E(Ia1)].  \mforall{}[g2:E(Ib2)  {}\mrightarrow{}  E(Ia2)].
    ([\{Ib1\}?  g1  :  g2]  \mmember{}  E([Ib1?Ib2])  {}\mrightarrow{}  E)


Date html generated: 2011_08_16-PM-05_57_01
Last ObjectModification: 2011_06_20-AM-01_39_50

Home Index