let S be non empty non void ManySortedSign ; :: thesis: for U0 being MSAlgebra of S
for o being OperSymbol of S holds
( Args o,U0 = product (the Sorts of U0 * (the_arity_of o)) & dom (the Sorts of U0 * (the_arity_of o)) = dom (the_arity_of o) & Result o,U0 = the Sorts of U0 . (the_result_sort_of o) )
let U0 be MSAlgebra of S; :: thesis: for o being OperSymbol of S holds
( Args o,U0 = product (the Sorts of U0 * (the_arity_of o)) & dom (the Sorts of U0 * (the_arity_of o)) = dom (the_arity_of o) & Result o,U0 = the Sorts of U0 . (the_result_sort_of o) )
let o be OperSymbol of S; :: thesis: ( Args o,U0 = product (the Sorts of U0 * (the_arity_of o)) & dom (the Sorts of U0 * (the_arity_of o)) = dom (the_arity_of o) & Result o,U0 = the Sorts of U0 . (the_result_sort_of o) )
set So = the Sorts of U0;
set Ar = the Arity of S;
set Rs = the ResultSort of S;
set ar = the_arity_of o;
set AS = (the Sorts of U0 # ) * the Arity of S;
set RS = the Sorts of U0 * the ResultSort of S;
set X = the carrier' of S;
set Cr = the carrier of S;
A2:
( dom the Arity of S = the carrier' of S & rng the Arity of S c= the carrier of S * )
by FUNCT_2:def 1, RELSET_1:12;
then A3:
dom ((the Sorts of U0 # ) * the Arity of S) = dom the Arity of S
by PBOOLE:def 3;
thus Args o,U0 =
((the Sorts of U0 # ) * the Arity of S) . o
by MSUALG_1:def 9
.=
(the Sorts of U0 # ) . (the Arity of S . o)
by A2, A3, FUNCT_1:22
.=
(the Sorts of U0 # ) . (the_arity_of o)
by MSUALG_1:def 6
.=
product (the Sorts of U0 * (the_arity_of o))
by PBOOLE:def 19
; :: thesis: ( dom (the Sorts of U0 * (the_arity_of o)) = dom (the_arity_of o) & Result o,U0 = the Sorts of U0 . (the_result_sort_of o) )
( rng (the_arity_of o) c= the carrier of S & dom the Sorts of U0 = the carrier of S )
by FINSEQ_1:def 4, PBOOLE:def 3;
hence
dom (the Sorts of U0 * (the_arity_of o)) = dom (the_arity_of o)
by RELAT_1:46; :: thesis: Result o,U0 = the Sorts of U0 . (the_result_sort_of o)
A4:
( dom the ResultSort of S = the carrier' of S & rng the ResultSort of S c= the carrier of S )
by FUNCT_2:def 1, RELSET_1:12;
then A5:
dom (the Sorts of U0 * the ResultSort of S) = dom the ResultSort of S
by PBOOLE:def 3;
thus Result o,U0 =
(the Sorts of U0 * the ResultSort of S) . o
by MSUALG_1:def 10
.=
the Sorts of U0 . (the ResultSort of S . o)
by A4, A5, FUNCT_1:22
.=
the Sorts of U0 . (the_result_sort_of o)
by MSUALG_1:def 7
; :: thesis: verum