let I be non empty set ; :: thesis: for S being non empty non void ManySortedSign
for A being MSAlgebra-Family of I,S
for o being OperSymbol of S
for x being Element of Args o,(product A) st Args o,(product A) <> {} & the_arity_of o <> {} holds
for i being Element of I holds (proj A,i) # x = (commute x) . i
let S be non empty non void ManySortedSign ; :: thesis: for A being MSAlgebra-Family of I,S
for o being OperSymbol of S
for x being Element of Args o,(product A) st Args o,(product A) <> {} & the_arity_of o <> {} holds
for i being Element of I holds (proj A,i) # x = (commute x) . i
let A be MSAlgebra-Family of I,S; :: thesis: for o being OperSymbol of S
for x being Element of Args o,(product A) st Args o,(product A) <> {} & the_arity_of o <> {} holds
for i being Element of I holds (proj A,i) # x = (commute x) . i
let o be OperSymbol of S; :: thesis: for x being Element of Args o,(product A) st Args o,(product A) <> {} & the_arity_of o <> {} holds
for i being Element of I holds (proj A,i) # x = (commute x) . i
let x be Element of Args o,(product A); :: thesis: ( Args o,(product A) <> {} & the_arity_of o <> {} implies for i being Element of I holds (proj A,i) # x = (commute x) . i )
assume A1:
( Args o,(product A) <> {} & the_arity_of o <> {} )
; :: thesis: for i being Element of I holds (proj A,i) # x = (commute x) . i
let i be Element of I; :: thesis: (proj A,i) # x = (commute x) . i
set C = union { (the Sorts of (A . i') . s') where i' is Element of I, s' is Element of the carrier of S : verum } ;
dom (proj A,i) = the carrier of S
by PARTFUN1:def 4;
then A2:
rng (the_arity_of o) c= dom (proj A,i)
;
A3:
dom (the_arity_of o) <> {}
by A1;
A4:
x in Funcs (dom (the_arity_of o)),(Funcs I,(union { (the Sorts of (A . i') . s') where i' is Element of I, s' is Element of the carrier of S : verum } ))
by Th15;
then
commute x in Funcs I,(Funcs (dom (the_arity_of o)),(union { (the Sorts of (A . i') . s') where i' is Element of I, s' is Element of the carrier of S : verum } ))
by A3, FUNCT_6:85;
then A5:
( dom (commute x) = I & rng (commute x) c= Funcs (dom (the_arity_of o)),(union { (the Sorts of (A . i') . s') where i' is Element of I, s' is Element of the carrier of S : verum } ) )
by FUNCT_2:169;
then
(commute x) . i in rng (commute x)
by FUNCT_1:def 5;
then A6:
dom ((commute x) . i) = dom (the_arity_of o)
by A5, FUNCT_2:169;
A7:
x in product (doms ((proj A,i) * (the_arity_of o)))
by Th13;
A8: dom ((proj A,i) # x) =
dom ((Frege ((proj A,i) * (the_arity_of o))) . x)
by MSUALG_3:def 7
.=
dom (((proj A,i) * (the_arity_of o)) .. x)
by A7, PRALG_2:def 8
.=
dom ((proj A,i) * (the_arity_of o))
by PRALG_1:def 17
.=
dom (the_arity_of o)
by A2, RELAT_1:46
;
now let n be
set ;
:: thesis: ( n in dom (the_arity_of o) implies ((proj A,i) # x) . n = ((commute x) . i) . n )assume A9:
n in dom (the_arity_of o)
;
:: thesis: ((proj A,i) # x) . n = ((commute x) . i) . nA10:
(
dom x = dom (the_arity_of o) &
rng x c= Funcs I,
(union { (the Sorts of (A . i') . s') where i' is Element of I, s' is Element of the carrier of S : verum } ) )
by A4, FUNCT_2:169;
n in dom x
by A4, A9, FUNCT_2:169;
then
x . n in rng x
by FUNCT_1:def 5;
then consider g being
Function such that A11:
(
g = x . n &
dom g = I &
rng g c= union { (the Sorts of (A . i') . s') where i' is Element of I, s' is Element of the carrier of S : verum } )
by A10, FUNCT_2:def 2;
x . n in product (Carrier A,((the_arity_of o) /. n))
by A9, Th16;
then A12:
x . n in dom (proj (Carrier A,((the_arity_of o) /. n)),i)
by Def2;
thus ((proj A,i) # x) . n =
((proj A,i) . ((the_arity_of o) /. n)) . (x . n)
by A9, Th14
.=
(proj (Carrier A,((the_arity_of o) /. n)),i) . (x . n)
by Def3
.=
g . i
by A11, A12, Def2
.=
((commute x) . i) . n
by A4, A9, A11, FUNCT_6:86
;
:: thesis: verum end;
hence
(proj A,i) # x = (commute x) . i
by A6, A8, FUNCT_1:9; :: thesis: verum