let f, g be ManySortedFunction of ((SORTS A) # ) * the Arity of S,(SORTS A) * the ResultSort of S; :: thesis: ( ( I <> {} & ( for o being OperSymbol of S holds f . o = IFEQ (the_arity_of o),{} ,(commute (A ?. o)),(Commute (Frege (A ?. o))) ) & ( for o being OperSymbol of S holds g . o = IFEQ (the_arity_of o),{} ,(commute (A ?. o)),(Commute (Frege (A ?. o))) ) implies f = g ) & ( not I <> {} implies f = g ) )
hereby :: thesis: ( not I <> {} implies f = g )
assume I <> {} ; :: thesis: ( ( for o being OperSymbol of S holds f . o = IFEQ (the_arity_of o),{} ,(commute (A ?. o)),(Commute (Frege (A ?. o))) ) & ( for o being OperSymbol of S holds g . o = IFEQ (the_arity_of o),{} ,(commute (A ?. o)),(Commute (Frege (A ?. o))) ) implies f = g )
assume that
A82: for o being OperSymbol of S holds f . o = IFEQ (the_arity_of o),{} ,(commute (A ?. o)),(Commute (Frege (A ?. o))) and
A83: for o being OperSymbol of S holds g . o = IFEQ (the_arity_of o),{} ,(commute (A ?. o)),(Commute (Frege (A ?. o))) ; :: thesis: f = g
for i being set st i in the carrier' of S holds
f . i = g . i
proof
let i be set ; :: thesis: ( i in the carrier' of S implies f . i = g . i )
assume i in the carrier' of S ; :: thesis: f . i = g . i
then reconsider o = i as Element of the carrier' of S ;
( f . o = IFEQ (the_arity_of o),{} ,(commute (A ?. o)),(Commute (Frege (A ?. o))) & g . o = IFEQ (the_arity_of o),{} ,(commute (A ?. o)),(Commute (Frege (A ?. o))) ) by A82, A83;
hence f . i = g . i ; :: thesis: verum
end;
hence f = g by PBOOLE:3; :: thesis: verum
end;
assume A84: I = {} ; :: thesis: f = g
A85: dom f = the carrier' of S by PARTFUN1:def 4;
A86: dom g = the carrier' of S by PARTFUN1:def 4;
now
let o be set ; :: thesis: ( o in the carrier' of S implies f . o = g . o )
assume A87: o in the carrier' of S ; :: thesis: f . o = g . o
then reconsider s = the ResultSort of S . o as SortSymbol of S by FUNCT_2:7;
o in dom the ResultSort of S by A87, FUNCT_2:def 1;
then A88: ((SORTS A) * the ResultSort of S) . o = (SORTS A) . s by FUNCT_1:23
.= product (Carrier A,s) by Def17
.= {{} } by A84, Def16, CARD_3:19 ;
A89: f . o is Function of ((((SORTS A) # ) * the Arity of S) . o),(((SORTS A) * the ResultSort of S) . o) by A87, PBOOLE:def 18;
g . o is Function of ((((SORTS A) # ) * the Arity of S) . o),(((SORTS A) * the ResultSort of S) . o) by A87, PBOOLE:def 18;
hence f . o = g . o by A88, A89, FUNCT_2:66; :: thesis: verum
end;
hence f = g by A85, A86, FUNCT_1:9; :: thesis: verum