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

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


Date html generated: 2011_08_16-PM-06_01_35
Last ObjectModification: 2011_06_20-AM-01_44_54

Home Index