{ 
[Info:Type]
    
es:EO+(Info)
      
[Qa,Rb,Sc:E 
 E 
 
]. 
[A,B,C:Type].
        
Ia:EClass(A). 
Ib:EClass(B). 
Ic:EClass(C). 
f1:E(Ia) 
 B. 
f2:B 
 C.
        
g1:E(Ib) 
 E(Ia). 
g2:E(Ic) 
 E(Ib).
          ((g1 glues Ia:Qa 
f1
 Ib:Rb
          
 g2 glues Ib:Rb 

e.(f2 Ib(e))
 Ic:Sc)
          
 g1 o g2 glues Ia:Qa 
f2 o f1
 Ic:Sc) }
{ Proof }
Definitions occuring in Statement : 
Q-R-glues: g glues Ia:Qa 
f
 Ib:Rb, 
es-E-interface: E(X), 
eclass-val: X(e), 
eclass: EClass(A[eo; e]), 
event-ordering+: EO+(Info), 
es-E: E, 
compose: f o g, 
uall:
[x:A]. B[x], 
prop:
, 
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], 
prop:
, 
implies: P 
 Q, 
and: P 
 Q, 
Q-R-glues: g glues Ia:Qa 
f
 Ib:Rb, 
compose: f o g, 
cand: A c
 B, 
es-interface-predicate: {I}, 
assert:
b, 
member: t 
 T, 
subtype: S 
 T, 
suptype: suptype(S; T), 
so_lambda: 
x y.t[x; y], 
btrue: tt, 
ifthenelse: if b then t else f fi , 
true: True, 
es-E-interface: E(X), 
inject: Inj(A;B;f), 
so_apply: x[s1;s2], 
uimplies: b supposing a, 
sq_type: SQType(T), 
guard: {T}
Lemmas : 
es-E-interface_wf, 
Q-R-glues_wf, 
es-E-interface-subtype, 
eclass-val_wf, 
es-E_wf, 
event-ordering+_inc, 
event-ordering+_wf, 
subtype_base_sq, 
bool_wf, 
bool_subtype_base, 
eclass_wf, 
assert_elim, 
in-eclass_wf, 
weak-antecedent-surjections-compose, 
assert_wf, 
es-interface-top, 
Q-R-pre-preserving-compose, 
strong-subtype-self, 
inject-composes
\mforall{}[Info:Type]
    \mforall{}es:EO+(Info)
        \mforall{}[Qa,Rb,Sc:E  {}\mrightarrow{}  E  {}\mrightarrow{}  \mBbbP{}].  \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.  \mforall{}g1:E(Ib)  {}\mrightarrow{}  E(Ia).
            \mforall{}g2:E(Ic)  {}\mrightarrow{}  E(Ib).
                ((g1  glues  Ia:Qa  {}{}f1{}\mrightarrow{}  Ib:Rb  \mwedge{}  g2  glues  Ib:Rb  {}{}\mlambda{}e.(f2  Ib(e)){}\mrightarrow{}  Ic:Sc)
                {}\mRightarrow{}  g1  o  g2  glues  Ia:Qa  {}{}f2  o  f1{}\mrightarrow{}  Ic:Sc)
Date html generated:
2011_08_16-PM-05_57_54
Last ObjectModification:
2011_06_20-AM-01_40_43
Home
Index