let C be Category; :: thesis: for A being MSAlgebra of CatSign the carrier of C st ( for a, b being Object of C holds the Sorts of A . (homsym a,b) = Hom a,b ) holds
for a, b, c being Object of C holds
( Args (compsym a,b,c),A = product <*(Hom b,c),(Hom a,b)*> & Result (compsym a,b,c),A = Hom a,c )

let A be MSAlgebra of CatSign the carrier of C; :: thesis: ( ( for a, b being Object of C holds the Sorts of A . (homsym a,b) = Hom a,b ) implies for a, b, c being Object of C holds
( Args (compsym a,b,c),A = product <*(Hom b,c),(Hom a,b)*> & Result (compsym a,b,c),A = Hom a,c ) )

assume A1: for a, b being Object of C holds the Sorts of A . (homsym a,b) = Hom a,b ; :: thesis: for a, b, c being Object of C holds
( Args (compsym a,b,c),A = product <*(Hom b,c),(Hom a,b)*> & Result (compsym a,b,c),A = Hom a,c )

A2: the carrier of (CatSign the carrier of C) = dom the Sorts of A by PARTFUN1:def 4;
let a, b, c be Object of C; :: thesis: ( Args (compsym a,b,c),A = product <*(Hom b,c),(Hom a,b)*> & Result (compsym a,b,c),A = Hom a,c )
thus Args (compsym a,b,c),A = product (the Sorts of A * (the_arity_of (compsym a,b,c))) by PRALG_2:10
.= product (the Sorts of A * <*(homsym b,c),(homsym a,b)*>) by Def5
.= product <*(the Sorts of A . (homsym b,c)),(the Sorts of A . (homsym a,b))*> by A2, FINSEQ_2:145
.= product <*(Hom b,c),(the Sorts of A . (homsym a,b))*> by A1
.= product <*(Hom b,c),(Hom a,b)*> by A1 ; :: thesis: Result (compsym a,b,c),A = Hom a,c
thus Result (compsym a,b,c),A = the Sorts of A . (the_result_sort_of (compsym a,b,c)) by PRALG_2:10
.= the Sorts of A . (homsym a,c) by Def5
.= Hom a,c by A1 ; :: thesis: verum