let U1, U2, U3 be Universal_Algebra; :: thesis: for h being Function of U1,U2
for h1 being Function of U2,U3 st h is_isomorphism U1,U2 & h1 is_isomorphism U2,U3 holds
h1 * h is_isomorphism U1,U3
let h be Function of U1,U2; :: thesis: for h1 being Function of U2,U3 st h is_isomorphism U1,U2 & h1 is_isomorphism U2,U3 holds
h1 * h is_isomorphism U1,U3
let h1 be Function of U2,U3; :: thesis: ( h is_isomorphism U1,U2 & h1 is_isomorphism U2,U3 implies h1 * h is_isomorphism U1,U3 )
assume A1:
( h is_isomorphism U1,U2 & h1 is_isomorphism U2,U3 )
; :: thesis: h1 * h is_isomorphism U1,U3
then A2:
( h is one-to-one & h1 is one-to-one )
by Th8;
A3:
rng (h1 * h) = the carrier of U3
A5:
h1 * h is one-to-one
by A2;
( h is_homomorphism U1,U2 & h1 is_homomorphism U2,U3 )
by A1, Th8;
then
h1 * h is_homomorphism U1,U3
by Th7;
hence
h1 * h is_isomorphism U1,U3
by A3, A5, Th8; :: thesis: verum