{ [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([Ia1?Ia2])) }

{ 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],  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 :  uall: [x:A]. B[x],  member: t  T,  conditional: [P? f : g],  prop: ,  so_lambda: x.t[x],  so_lambda: x y.t[x; y],  es-interface-predicate: {I},  es-E-interface: E(X),  assert: b,  or: P  Q,  all: x:A. B[x],  implies: P  Q,  guard: {T},  btrue: tt,  ifthenelse: if b then t else f fi ,  true: True,  so_apply: x[s],  so_apply: x[s1;s2],  not: A,  iff: P  Q,  and: P  Q,  false: False,  rev_implies: P  Q,  sq_type: SQType(T),  uimplies: b supposing a,  subtype: S  T
Lemmas :  branch_wf2,  es-interface-predicate_wf,  es-E-interface_wf,  cond-class_wf,  top_wf,  not_wf,  es-interface-top,  eclass_wf,  es-E_wf,  event-ordering+_inc,  event-ordering+_wf,  bool-decider_wf,  in-eclass_wf,  assert_wf,  es-E-interface-conditional-subtype1,  is-cond-class,  es-E-interface-subtype_rel,  subtype_base_sq,  bool_wf,  bool_subtype_base,  assert_elim

\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([Ia1?Ia2]))


Date html generated: 2011_08_16-PM-05_56_54
Last ObjectModification: 2011_06_20-AM-01_39_42

Home Index