defpred S1[ RingMorphism, RingMorphism] means dom $1 = cod $2;
let g, f be RingMorphism; :: thesis: ( dom g = cod f implies ex G1, G2, G3 being Ring st
( G1 <= G2 & G2 <= G3 & RingMorphismStr(# the Dom of g,the Cod of g,the Fun of g #) is Morphism of G2,G3 & RingMorphismStr(# the Dom of f,the Cod of f,the Fun of f #) is Morphism of G1,G2 ) )

assume A1: S1[g,f] ; :: thesis: ex G1, G2, G3 being Ring st
( G1 <= G2 & G2 <= G3 & RingMorphismStr(# the Dom of g,the Cod of g,the Fun of g #) is Morphism of G2,G3 & RingMorphismStr(# the Dom of f,the Cod of f,the Fun of f #) is Morphism of G1,G2 )

A2: ex G2, G3 being Ring st
( G2 <= G3 & dom g = G2 & cod g = G3 & RingMorphismStr(# the Dom of g,the Cod of g,the Fun of g #) is Morphism of G2,G3 ) by Lm6;
ex G1, G2' being Ring st
( G1 <= G2' & dom f = G1 & cod f = G2' & RingMorphismStr(# the Dom of f,the Cod of f,the Fun of f #) is Morphism of G1,G2' ) by Lm6;
hence ex G1, G2, G3 being Ring st
( G1 <= G2 & G2 <= G3 & RingMorphismStr(# the Dom of g,the Cod of g,the Fun of g #) is Morphism of G2,G3 & RingMorphismStr(# the Dom of f,the Cod of f,the Fun of f #) is Morphism of G1,G2 ) by A1, A2; :: thesis: verum