{ 
[A,B0,B1,C:Type]. 
[f:A 
 B0]. 
[g:B1 
 C].
    (Inj(A;C;g o f)) supposing 
       (Inj(B1;C;g) and 
       Inj(A;B0;f) and 
       strong-subtype(B0;B1)) }
{ Proof }
Definitions occuring in Statement : 
inject: Inj(A;B;f), 
compose: f o g, 
uimplies: b supposing a, 
uall:
[x:A]. B[x], 
function: x:A 
 B[x], 
universe: Type, 
strong-subtype: strong-subtype(A;B)
Definitions : 
uall:
[x:A]. B[x], 
uimplies: b supposing a, 
inject: Inj(A;B;f), 
member: t 
 T, 
all:
x:A. B[x], 
implies: P 
 Q, 
subtype: S 
 T, 
suptype: suptype(S; T), 
compose: f o g, 
prop:
, 
strong-subtype: strong-subtype(A;B), 
cand: A c
 B, 
guard: {T}
Lemmas : 
compose_wf, 
inject_wf, 
strong-subtype_wf
\mforall{}[A,B0,B1,C:Type].  \mforall{}[f:A  {}\mrightarrow{}  B0].  \mforall{}[g:B1  {}\mrightarrow{}  C].
    (Inj(A;C;g  o  f))  supposing  (Inj(B1;C;g)  and  Inj(A;B0;f)  and  strong-subtype(B0;B1))
Date html generated:
2011_08_16-AM-11_09_50
Last ObjectModification:
2011_06_18-AM-09_42_06
Home
Index