{ [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