defpred S1[ object , object ] means ( ( $1 `1 = 1 & ex a being Element of F1() st
( $1 = idsym a & ex F being Function of {{}},F3(a,a) st
( F = $2 & F . {} = F5(a) ) ) ) or ( $1 `1 = 2 & ex a, b, c being Element of F1() st
( $1 = compsym (a,b,c) & ex F being Function of (product <*F3(b,c),F3(a,b)*>),F3(a,c) st
( F = $2 & ( for f, g being set st f in F3(a,b) & g in F3(b,c) holds
F . <*g,f*> = F4(a,b,c,g,f) ) ) ) ) );
set CS = CatSign F1();
A4:
for o being object st o in the carrier' of (CatSign F1()) holds
ex u being object st S1[o,u]
proof
let o be
object ;
( o in the carrier' of (CatSign F1()) implies ex u being object st S1[o,u] )
assume A5:
o in the
carrier' of
(CatSign F1())
;
ex u being object st S1[o,u]
A6:
now ( o `1 = 1 implies ex u being set ex a being Element of F1() st
( o = idsym a & ex F being Function of {{}},F3(a,a) st
( F = u & F . {} = F5(a) ) ) )assume
o `1 = 1
;
ex u being set ex a being Element of F1() st
( o = idsym a & ex F being Function of {{}},F3(a,a) st
( F = u & F . {} = F5(a) ) )then consider a being
Element of
F1()
such that A7:
o = idsym a
by A5, Th17;
set F =
{} :-> F5(
a);
reconsider u =
{} :-> F5(
a) as
set ;
take u =
u;
ex a being Element of F1() st
( o = idsym a & ex F being Function of {{}},F3(a,a) st
( F = u & F . {} = F5(a) ) )take a =
a;
( o = idsym a & ex F being Function of {{}},F3(a,a) st
( F = u & F . {} = F5(a) ) )thus
o = idsym a
by A7;
ex F being Function of {{}},F3(a,a) st
( F = u & F . {} = F5(a) )
F5(
a)
in F3(
a,
a)
by A2;
then
{F5(a)} c= F3(
a,
a)
by ZFMISC_1:31;
then
(
dom ({} :-> F5(a)) = {{}} &
rng ({} :-> F5(a)) c= F3(
a,
a) )
;
then reconsider F =
{} :-> F5(
a) as
Function of
{{}},
F3(
a,
a)
by FUNCT_2:2;
take F =
F;
( F = u & F . {} = F5(a) )
{} in {{}}
by TARSKI:def 1;
hence
(
F = u &
F . {} = F5(
a) )
by FUNCOP_1:7;
verum end;
A8:
now ( o `1 = 2 implies ex u being set ex a, b, c being Element of F1() st
( o = compsym (a,b,c) & ex F being Function of (product <*F3(b,c),F3(a,b)*>),F3(a,c) st
( F = u & ( for f, g being set st f in F3(a,b) & g in F3(b,c) holds
F . <*g,f*> = F4(a,b,c,g,f) ) ) ) )assume
o `1 = 2
;
ex u being set ex a, b, c being Element of F1() st
( o = compsym (a,b,c) & ex F being Function of (product <*F3(b,c),F3(a,b)*>),F3(a,c) st
( F = u & ( for f, g being set st f in F3(a,b) & g in F3(b,c) holds
F . <*g,f*> = F4(a,b,c,g,f) ) ) )then consider a,
b,
c being
Element of
F1()
such that A9:
o = compsym (
a,
b,
c)
by A5, Th18;
defpred S2[
object ,
object ]
means ex
f,
g being
set st
(
f in F3(
a,
b) &
g in F3(
b,
c) & $1
= <*g,f*> & $2
= F4(
a,
b,
c,
g,
f) );
A10:
now for x being object st x in product <*F3(b,c),F3(a,b)*> holds
ex u being object st
( u in F3(a,c) & S2[x,u] )let x be
object ;
( x in product <*F3(b,c),F3(a,b)*> implies ex u being object st
( u in F3(a,c) & S2[x,u] ) )assume
x in product <*F3(b,c),F3(a,b)*>
;
ex u being object st
( u in F3(a,c) & S2[x,u] )then consider g,
f being
object such that A11:
(
g in F3(
b,
c) &
f in F3(
a,
b) )
and A12:
x = <*g,f*>
by FINSEQ_3:124;
reconsider u =
F4(
a,
b,
c,
g,
f) as
object ;
take u =
u;
( u in F3(a,c) & S2[x,u] )
(
F3(
a,
b)
c= F2() &
F3(
b,
c)
c= F2() )
by A1;
hence
u in F3(
a,
c)
by A3, A11;
S2[x,u]thus
S2[
x,
u]
by A11, A12;
verum end; consider F being
Function such that A13:
(
dom F = product <*F3(b,c),F3(a,b)*> &
rng F c= F3(
a,
c) )
and A14:
for
x being
object st
x in product <*F3(b,c),F3(a,b)*> holds
S2[
x,
F . x]
from FUNCT_1:sch 6(A10);
reconsider u =
F as
set ;
take u =
u;
ex a, b, c being Element of F1() st
( o = compsym (a,b,c) & ex F being Function of (product <*F3(b,c),F3(a,b)*>),F3(a,c) st
( F = u & ( for f, g being set st f in F3(a,b) & g in F3(b,c) holds
F . <*g,f*> = F4(a,b,c,g,f) ) ) )take a =
a;
ex b, c being Element of F1() st
( o = compsym (a,b,c) & ex F being Function of (product <*F3(b,c),F3(a,b)*>),F3(a,c) st
( F = u & ( for f, g being set st f in F3(a,b) & g in F3(b,c) holds
F . <*g,f*> = F4(a,b,c,g,f) ) ) )take b =
b;
ex c being Element of F1() st
( o = compsym (a,b,c) & ex F being Function of (product <*F3(b,c),F3(a,b)*>),F3(a,c) st
( F = u & ( for f, g being set st f in F3(a,b) & g in F3(b,c) holds
F . <*g,f*> = F4(a,b,c,g,f) ) ) )take c =
c;
( o = compsym (a,b,c) & ex F being Function of (product <*F3(b,c),F3(a,b)*>),F3(a,c) st
( F = u & ( for f, g being set st f in F3(a,b) & g in F3(b,c) holds
F . <*g,f*> = F4(a,b,c,g,f) ) ) )thus
o = compsym (
a,
b,
c)
by A9;
ex F being Function of (product <*F3(b,c),F3(a,b)*>),F3(a,c) st
( F = u & ( for f, g being set st f in F3(a,b) & g in F3(b,c) holds
F . <*g,f*> = F4(a,b,c,g,f) ) )reconsider F =
F as
Function of
(product <*F3(b,c),F3(a,b)*>),
F3(
a,
c)
by A13, FUNCT_2:2;
take F =
F;
( F = u & ( for f, g being set st f in F3(a,b) & g in F3(b,c) holds
F . <*g,f*> = F4(a,b,c,g,f) ) )thus
F = u
;
for f, g being set st f in F3(a,b) & g in F3(b,c) holds
F . <*g,f*> = F4(a,b,c,g,f)let f,
g be
set ;
( f in F3(a,b) & g in F3(b,c) implies F . <*g,f*> = F4(a,b,c,g,f) )assume
(
f in F3(
a,
b) &
g in F3(
b,
c) )
;
F . <*g,f*> = F4(a,b,c,g,f)then
<*g,f*> in product <*F3(b,c),F3(a,b)*>
by FINSEQ_3:124;
then consider f9,
g9 being
set such that
f9 in F3(
a,
b)
and
g9 in F3(
b,
c)
and A15:
<*g,f*> = <*g9,f9*>
and A16:
F . <*g,f*> = F4(
a,
b,
c,
g9,
f9)
by A14;
A17:
(
<*g,f*> . 1
= g &
<*g,f*> . 2
= f )
;
<*g,f*> . 1
= g9
by A15, FINSEQ_1:44;
hence
F . <*g,f*> = F4(
a,
b,
c,
g,
f)
by A15, A16, A17, FINSEQ_1:44;
verum end;
(
o `1 = 1 or
o `1 = 2 )
by A5, Th16;
hence
ex
u being
object st
S1[
o,
u]
by A6, A8;
verum
end;
consider O being Function such that
A18:
dom O = the carrier' of (CatSign F1())
and
A19:
for o being object st o in the carrier' of (CatSign F1()) holds
S1[o,O . o]
from CLASSES1:sch 1(A4);
reconsider O = O as ManySortedSet of the carrier' of (CatSign F1()) by A18, PARTFUN1:def 2, RELAT_1:def 18;
defpred S2[ object , object ] means ex a, b being Element of F1() st
( $1 = homsym (a,b) & $2 = F3(a,b) );
consider S being Function such that
A22:
dom S = the carrier of (CatSign F1())
and
A23:
for s being object st s in the carrier of (CatSign F1()) holds
S2[s,S . s]
from CLASSES1:sch 1(A20);
reconsider S = S as ManySortedSet of the carrier of (CatSign F1()) by A22, PARTFUN1:def 2, RELAT_1:def 18;
O is ManySortedFunction of (S #) * the Arity of (CatSign F1()),S * the ResultSort of (CatSign F1())
proof
let o be
object ;
PBOOLE:def 15 ( not o in the carrier' of (CatSign F1()) or O . o is Element of bool [:(((S #) * the Arity of (CatSign F1())) . o),((S * the ResultSort of (CatSign F1())) . o):] )
assume
o in the
carrier' of
(CatSign F1())
;
O . o is Element of bool [:(((S #) * the Arity of (CatSign F1())) . o),((S * the ResultSort of (CatSign F1())) . o):]
then reconsider o =
o as
OperSymbol of
(CatSign F1()) ;
A24:
((S #) * the Arity of (CatSign F1())) . o =
(S #) . (the_arity_of o)
by FUNCT_2:15
.=
product (S * (the_arity_of o))
by FINSEQ_2:def 5
;
A25:
(S * the ResultSort of (CatSign F1())) . o = S . (the_result_sort_of o)
by FUNCT_2:15;
per cases
( ( o `1 = 1 & 1 <> 2 ) or ( o `1 = 2 & 1 <> 2 ) )
by Th16;
suppose
(
o `1 = 1 & 1
<> 2 )
;
O . o is Element of bool [:(((S #) * the Arity of (CatSign F1())) . o),((S * the ResultSort of (CatSign F1())) . o):]then consider a being
Element of
F1()
such that A26:
(
o = idsym a & ex
F being
Function of
{{}},
F3(
a,
a) st
(
F = O . o &
F . {} = F5(
a) ) )
by A19;
A27:
(
the_arity_of (idsym a) = {} &
{} = S * {} )
by Def3;
A28:
the_result_sort_of (idsym a) = homsym (
a,
a)
by Def3;
consider c,
b being
Element of
F1()
such that A29:
homsym (
a,
a)
= homsym (
c,
b)
and A30:
S . (homsym (a,a)) = F3(
c,
b)
by A23;
(
a = b &
a = c )
by A29, Th13;
hence
O . o is
Element of
bool [:(((S #) * the Arity of (CatSign F1())) . o),((S * the ResultSort of (CatSign F1())) . o):]
by A24, A25, A26, A30, A27, A28, CARD_3:10;
verum end; suppose
(
o `1 = 2 & 1
<> 2 )
;
O . o is Element of bool [:(((S #) * the Arity of (CatSign F1())) . o),((S * the ResultSort of (CatSign F1())) . o):]then consider a,
b,
c being
Element of
F1()
such that A31:
o = compsym (
a,
b,
c)
and A32:
ex
F being
Function of
(product <*F3(b,c),F3(a,b)*>),
F3(
a,
c) st
(
F = O . o & ( for
f,
g being
set st
f in F3(
a,
b) &
g in F3(
b,
c) holds
F . <*g,f*> = F4(
a,
b,
c,
g,
f) ) )
by A19;
A33:
the_result_sort_of (compsym (a,b,c)) = homsym (
a,
c)
by Def3;
consider ax,
cx being
Element of
F1()
such that A34:
homsym (
a,
c)
= homsym (
ax,
cx)
and A35:
S . (homsym (a,c)) = F3(
ax,
cx)
by A23;
(
ax = a &
cx = c )
by A34, Th13;
then A36:
(S * the ResultSort of (CatSign F1())) . o = F3(
a,
c)
by A31, A35, A33, FUNCT_2:15;
A37:
the_arity_of (compsym (a,b,c)) = <*(homsym (b,c)),(homsym (a,b))*>
by Def3;
consider a9,
b9 being
Element of
F1()
such that A38:
homsym (
a,
b)
= homsym (
a9,
b9)
and A39:
S . (homsym (a,b)) = F3(
a9,
b9)
by A23;
consider b99,
c9 being
Element of
F1()
such that A40:
homsym (
b,
c)
= homsym (
b99,
c9)
and A41:
S . (homsym (b,c)) = F3(
b99,
c9)
by A23;
A42:
(
b99 = b &
c9 = c )
by A40, Th13;
(
a9 = a &
b9 = b )
by A38, Th13;
then
((S #) * the Arity of (CatSign F1())) . o = product <*F3(b,c),F3(a,b)*>
by A22, A24, A31, A39, A41, A42, A37, FINSEQ_2:125;
hence
O . o is
Element of
bool [:(((S #) * the Arity of (CatSign F1())) . o),((S * the ResultSort of (CatSign F1())) . o):]
by A32, A36;
verum end; end;
end;
then reconsider O = O as ManySortedFunction of (S #) * the Arity of (CatSign F1()),S * the ResultSort of (CatSign F1()) ;
take A = MSAlgebra(# S,O #); ( ( for a, b being Element of F1() holds the Sorts of A . (homsym (a,b)) = F3(a,b) ) & ( for a being Element of F1() holds (Den ((idsym a),A)) . {} = F5(a) ) & ( for a, b, c being Element of F1()
for f, g being Element of F2() st f in F3(a,b) & g in F3(b,c) holds
(Den ((compsym (a,b,c)),A)) . <*g,f*> = F4(a,b,c,g,f) ) )
hereby ( ( for a being Element of F1() holds (Den ((idsym a),A)) . {} = F5(a) ) & ( for a, b, c being Element of F1()
for f, g being Element of F2() st f in F3(a,b) & g in F3(b,c) holds
(Den ((compsym (a,b,c)),A)) . <*g,f*> = F4(a,b,c,g,f) ) )
let a,
b be
Element of
F1();
the Sorts of A . (homsym (a,b)) = F3(a,b)consider a9,
b9 being
Element of
F1()
such that A43:
homsym (
a,
b)
= homsym (
a9,
b9)
and A44:
S . (homsym (a,b)) = F3(
a9,
b9)
by A23;
a = a9
by A43, Th13;
hence
the
Sorts of
A . (homsym (a,b)) = F3(
a,
b)
by A43, A44, Th13;
verum
end;
hereby for a, b, c being Element of F1()
for f, g being Element of F2() st f in F3(a,b) & g in F3(b,c) holds
(Den ((compsym (a,b,c)),A)) . <*g,f*> = F4(a,b,c,g,f)
end;
let a, b, c be Element of F1(); for f, g being Element of F2() st f in F3(a,b) & g in F3(b,c) holds
(Den ((compsym (a,b,c)),A)) . <*g,f*> = F4(a,b,c,g,f)
set o = compsym (a,b,c);
(compsym (a,b,c)) `1 = 2
;
then consider a9, b9, c9 being Element of F1() such that
A45:
compsym (a,b,c) = compsym (a9,b9,c9)
and
A46:
ex F being Function of (product <*F3(b9,c9),F3(a9,b9)*>),F3(a9,c9) st
( F = O . (compsym (a,b,c)) & ( for f, g being set st f in F3(a9,b9) & g in F3(b9,c9) holds
F . <*g,f*> = F4(a9,b9,c9,g,f) ) )
by A19;
A47:
c = c9
by A45, Th14;
let f, g be Element of F2(); ( f in F3(a,b) & g in F3(b,c) implies (Den ((compsym (a,b,c)),A)) . <*g,f*> = F4(a,b,c,g,f) )
assume A48:
( f in F3(a,b) & g in F3(b,c) )
; (Den ((compsym (a,b,c)),A)) . <*g,f*> = F4(a,b,c,g,f)
( a = a9 & b = b9 )
by A45, Th14;
hence
(Den ((compsym (a,b,c)),A)) . <*g,f*> = F4(a,b,c,g,f)
by A46, A47, A48; verum