{ [Info:Type]
    es:EO+(Info)
      [A,B:Type].
        Ia:EClass(A). Ib,Ic:EClass(B). f1:E(Ia)  B.
          ((glued(es;B;f1;Ia;Ib)  glued(es;B;e.Ib(e);Ib;Ic))
           glued(es;B;f1;Ia;Ic)) }

{ Proof }



Definitions occuring in Statement :  glued: glued(es;B;f;Ia;Ib),  es-E-interface: E(X),  eclass-val: X(e),  eclass: EClass(A[eo; e]),  event-ordering+: EO+(Info),  uall: [x:A]. B[x],  all: x:A. B[x],  implies: P  Q,  and: P  Q,  lambda: x.A[x],  function: x:A  B[x],  universe: Type
Definitions :  uall: [x:A]. B[x],  all: x:A. B[x],  member: t  T,  so_lambda: x y.t[x; y],  implies: P  Q,  and: P  Q,  cand: A c B,  prop: ,  assert: b,  btrue: tt,  ifthenelse: if b then t else f fi ,  true: True,  compose: f o g,  so_apply: x[s1;s2],  es-E-interface: E(X),  uimplies: b supposing a,  sq_type: SQType(T),  guard: {T},  subtype: S  T
Lemmas :  glued-composes,  eclass_wf,  es-E_wf,  event-ordering+_inc,  event-ordering+_wf,  glued_wf,  eclass-val_wf,  subtype_base_sq,  bool_wf,  bool_subtype_base,  es-E-interface_wf,  es-interface-top,  assert_elim,  in-eclass_wf,  compose_wf

\mforall{}[Info:Type]
    \mforall{}es:EO+(Info)
        \mforall{}[A,B:Type].
            \mforall{}Ia:EClass(A).  \mforall{}Ib,Ic:EClass(B).  \mforall{}f1:E(Ia)  {}\mrightarrow{}  B.
                ((glued(es;B;f1;Ia;Ib)  \mwedge{}  glued(es;B;\mlambda{}e.Ib(e);Ib;Ic))  {}\mRightarrow{}  glued(es;B;f1;Ia;Ic))


Date html generated: 2011_08_16-PM-06_01_43
Last ObjectModification: 2011_06_20-AM-01_45_04

Home Index