let S1, S2, S3 be non empty ManySortedSign ; for f1, g1, f2, g2 being Function st S1,S2 are_equivalent_wrt f1,g1 & S2,S3 are_equivalent_wrt f2,g2 holds
S1,S3 are_equivalent_wrt f2 * f1,g2 * g1
let f1, g1, f2, g2 be Function; ( S1,S2 are_equivalent_wrt f1,g1 & S2,S3 are_equivalent_wrt f2,g2 implies S1,S3 are_equivalent_wrt f2 * f1,g2 * g1 )
assume that
A1:
f1 is one-to-one
and
A2:
g1 is one-to-one
and
A3:
f1,g1 form_morphism_between S1,S2
and
A4:
f1 " ,g1 " form_morphism_between S2,S1
and
A5:
f2 is one-to-one
and
A6:
g2 is one-to-one
and
A7:
f2,g2 form_morphism_between S2,S3
and
A8:
f2 " ,g2 " form_morphism_between S3,S2
; CIRCTRM1:def 9 S1,S3 are_equivalent_wrt f2 * f1,g2 * g1
thus
( f2 * f1 is one-to-one & g2 * g1 is one-to-one )
by A1, A2, A5, A6; CIRCTRM1:def 9 ( f2 * f1,g2 * g1 form_morphism_between S1,S3 & (f2 * f1) " ,(g2 * g1) " form_morphism_between S3,S1 )
A9:
(f2 * f1) " = (f1 ") * (f2 ")
by A1, A5, FUNCT_1:44;
(g2 * g1) " = (g1 ") * (g2 ")
by A2, A6, FUNCT_1:44;
hence
( f2 * f1,g2 * g1 form_morphism_between S1,S3 & (f2 * f1) " ,(g2 * g1) " form_morphism_between S3,S1 )
by A3, A4, A7, A8, A9, PUA2MSS1:29; verum