:: ALTCAT_2 semantic presentation
theorem :: ALTCAT_2:1
proof
let c
1, c
2 be
set ;
let c
3, c
4 be
set ;
E1:
(
dom (c1 --> c3) = c
1 &
dom (c2 --> c4) = c
2 )
by FUNCOP_1:19;
then E2:
dom ([:c1,c2:] --> [c3,c4]) = [:(dom (c1 --> c3)),(dom (c2 --> c4)):]
by FUNCOP_1:19;
now
let c
5, c
6 be
set ;
assume E3:
( c
5 in dom (c1 --> c3) & c
6 in dom (c2 --> c4) )
;
then E4:
(
(c1 --> c3) . c
5 = c
3 &
(c2 --> c4) . c
6 = c
4 )
by E1, FUNCOP_1:13;
[c5,c6] in dom ([:c1,c2:] --> [c3,c4])
by E2, E3, ZFMISC_1:106;
then
[c5,c6] in [:c1,c2:]
by FUNCOP_1:19;
hence
([:c1,c2:] --> [c3,c4]) . [c5,c6] = [((c1 --> c3) . c5),((c2 --> c4) . c6)]
by E4, FUNCOP_1:13;
end;
hence
[:(c1 --> c3),(c2 --> c4):] = [:c1,c2:] --> [c3,c4]
by E2, FUNCT_3:def 9;
end;
theorem :: ALTCAT_2:2
proof
let c
1, c
2 be
Function;
E1:
now
let c
3 be
set ;
hereby
assume E2:
c
3 in dom ((~ c1) * c2)
;
then
c
3 in dom (~ c1)
by FUNCT_1:21;
then consider c
4, c
5 being
set such that
E3:
c
3 = [c5,c4]
and
E4:
[c4,c5] in dom c
1
by FUNCT_4:def 2;
take c
6 = c
4;
take c
7 = c
5;
thus
c
3 = [c7,c6]
by E3;
(~ c1) . c
3 in dom c
2
by E2, FUNCT_1:21;
then
c
1 . [c6,c7] in dom c
2
by E3, E4, FUNCT_4:def 2;
hence
[c6,c7] in dom (c1 * c2)
by E4, FUNCT_1:21;
end;given c
4, c
5 being
set such that
E2:
c
3 = [c5,c4]
and
E3:
[c4,c5] in dom (c1 * c2)
;
E4:
[c4,c5] in dom c
1
by E3, FUNCT_1:21;
c
1 . [c4,c5] in dom c
2
by E3, FUNCT_1:21;
then E5:
(~ c1) . c
3 in dom c
2
by E2, E4, FUNCT_4:def 2;
c
3 in dom (~ c1)
by E2, E4, FUNCT_4:def 2;
hence
c
3 in dom ((~ c1) * c2)
by E5, FUNCT_1:21;
end;
now
let c
3, c
4 be
set ;
assume E2:
[c3,c4] in dom (c1 * c2)
;
then
[c3,c4] in dom c
1
by FUNCT_1:21;
then E3:
[c4,c3] in dom (~ c1)
by FUNCT_4:43;
hence ((~ c1) * c2) . [c4,c3] =
c
2 . ((~ c1) . [c4,c3])
by FUNCT_1:23
.=
c
2 . (c1 . [c3,c4])
by E3, FUNCT_4:44
.=
(c1 * c2) . [c3,c4]
by E2, FUNCT_1:22
;
end;
hence
~ (c1 * c2) = (~ c1) * c
2
by E1, FUNCT_4:def 2;
end;
theorem :: ALTCAT_2:3
proof
let c
1, c
2, c
3 be
Function;
E1:
now
let c
4 be
set ;
hereby
assume E2:
c
4 in dom ([:c3,c2:] * (~ c1))
;
then
c
4 in dom [:c3,c2:]
by FUNCT_1:21;
then
c
4 in [:(dom c3),(dom c2):]
by FUNCT_3:def 9;
then consider c
5, c
6 being
set such that
E3:
c
5 in dom c
3
and
E4:
c
6 in dom c
2
and
E5:
c
4 = [c5,c6]
by ZFMISC_1:103;
take c
7 = c
6;
take c
8 = c
5;
thus
c
4 = [c8,c7]
by E5;
dom [:c2,c3:] = [:(dom c2),(dom c3):]
by FUNCT_3:def 9;
then E6:
[c7,c8] in dom [:c2,c3:]
by E3, E4, ZFMISC_1:106;
E7:
[:c3,c2:] . c
4 = [(c3 . c8),(c2 . c7)]
by E3, E4, E5, FUNCT_3:def 9;
E8:
[:c2,c3:] . [c7,c8] = [(c2 . c7),(c3 . c8)]
by E3, E4, FUNCT_3:def 9;
[:c3,c2:] . c
4 in dom (~ c1)
by E2, FUNCT_1:21;
then
[:c2,c3:] . [c7,c8] in dom c
1
by E7, E8, FUNCT_4:43;
hence
[c7,c8] in dom ([:c2,c3:] * c1)
by E6, FUNCT_1:21;
end;given c
5, c
6 being
set such that
E2:
c
4 = [c6,c5]
and
E3:
[c5,c6] in dom ([:c2,c3:] * c1)
;
E4:
[c5,c6] in dom [:c2,c3:]
by E3, FUNCT_1:21;
dom [:c2,c3:] = [:(dom c2),(dom c3):]
by FUNCT_3:def 9;
then E5:
( c
5 in dom c
2 & c
6 in dom c
3 )
by E4, ZFMISC_1:106;
dom [:c3,c2:] = [:(dom c3),(dom c2):]
by FUNCT_3:def 9;
then E6:
c
4 in dom [:c3,c2:]
by E2, E5, ZFMISC_1:106;
E7:
[:c2,c3:] . [c5,c6] = [(c2 . c5),(c3 . c6)]
by E5, FUNCT_3:def 9;
E8:
[:c3,c2:] . c
4 = [(c3 . c6),(c2 . c5)]
by E2, E5, FUNCT_3:def 9;
[:c2,c3:] . [c5,c6] in dom c
1
by E3, FUNCT_1:21;
then
[:c3,c2:] . c
4 in dom (~ c1)
by E7, E8, FUNCT_4:43;
hence
c
4 in dom ([:c3,c2:] * (~ c1))
by E6, FUNCT_1:21;
end;
now
let c
4, c
5 be
set ;
assume E2:
[c4,c5] in dom ([:c2,c3:] * c1)
;
then
[c4,c5] in dom [:c2,c3:]
by FUNCT_1:21;
then
[c4,c5] in [:(dom c2),(dom c3):]
by FUNCT_3:def 9;
then E3:
( c
4 in dom c
2 & c
5 in dom c
3 )
by ZFMISC_1:106;
[:c2,c3:] . [c4,c5] in dom c
1
by E2, FUNCT_1:21;
then E4:
[(c2 . c4),(c3 . c5)] in dom c
1
by E3, FUNCT_3:def 9;
[c5,c4] in [:(dom c3),(dom c2):]
by E3, ZFMISC_1:106;
then
[c5,c4] in dom [:c3,c2:]
by FUNCT_3:def 9;
hence ([:c3,c2:] * (~ c1)) . [c5,c4] =
(~ c1) . ([:c3,c2:] . [c5,c4])
by FUNCT_1:23
.=
(~ c1) . [(c3 . c5),(c2 . c4)]
by E3, FUNCT_3:def 9
.=
c
1 . [(c2 . c4),(c3 . c5)]
by E4, FUNCT_4:def 2
.=
c
1 . ([:c2,c3:] . [c4,c5])
by E3, FUNCT_3:def 9
.=
([:c2,c3:] * c1) . [c4,c5]
by E2, FUNCT_1:22
;
end;
hence
~ ([:c2,c3:] * c1) = [:c3,c2:] * (~ c1)
by E1, FUNCT_4:def 2;
end;
theorem :: ALTCAT_2:4
theorem :: ALTCAT_2:5
definition
let c
1 be
set ;
let c
2, c
3 be
ManySortedSet of
[:c1,c1:];
let c
4 be
ManySortedFunction of c
2,c
3;
redefine func ~ as
~ a
4 -> ManySortedFunction of
~ a
2,
~ a
3;
coherence
~ c4 is ManySortedFunction of ~ c2, ~ c3
proof
reconsider c
5 =
~ c
4 as
ManySortedSet of
[:c1,c1:] ;
c
5 is
ManySortedFunction of
~ c
2,
~ c
3
proof
let c
6 be
set ;
:: uses PBOOLE:def 18
assume
c
6 in [:c1,c1:]
;
then consider c
7, c
8 being
set such that
E1:
( c
7 in c
1 & c
8 in c
1 )
and
E2:
c
6 = [c7,c8]
by ZFMISC_1:103;
E3:
[c8,c7] in [:c1,c1:]
by E1, ZFMISC_1:106;
dom c
4 = [:c1,c1:]
by PBOOLE:def 3;
then E4:
c
4 . [c8,c7] = c
5 . c
6
by E2, E3, FUNCT_4:def 2;
dom c
2 = [:c1,c1:]
by PBOOLE:def 3;
then E5:
c
2 . [c8,c7] = (~ c2) . c
6
by E2, E3, FUNCT_4:def 2;
dom c
3 = [:c1,c1:]
by PBOOLE:def 3;
then
c
3 . [c8,c7] = (~ c3) . c
6
by E2, E3, FUNCT_4:def 2;
hence
c
5 . c
6 is
Function of
(~ c2) . c
6,
(~ c3) . c
6
by E3, E4, E5, PBOOLE:def 18;
end;
hence
~ c
4 is
ManySortedFunction of
~ c
2,
~ c
3
;
end;
end;
theorem :: ALTCAT_2:6
proof
let c
1, c
2 be non
empty set ;
let c
3 be
ManySortedSet of
[:c1,c2:];
let c
4 be
Element of c
1;
let c
5 be
Element of c
2;
[c4,c5] in [:c1,c2:]
by ZFMISC_1:106;
then E1:
[c4,c5] in dom c
3
by PBOOLE:def 3;
thus (~ c3) . c
5,c
4 =
(~ c3) . [c5,c4]
by BINOP_1:def 1
.=
c
3 . [c4,c5]
by E1, FUNCT_4:def 2
.=
c
3 . c
4,c
5
by BINOP_1:def 1
;
end;
:: deftheorem E1 defines cc= ALTCAT_2:def 1 :
:: deftheorem E2 defines cc= ALTCAT_2:def 2 :
theorem :: ALTCAT_2:7
canceled;
theorem E3: :: ALTCAT_2:8
theorem E4: :: ALTCAT_2:9
theorem :: ALTCAT_2:10
scheme :: ALTCAT_2:sch 1
s1{ F
1()
-> non
empty set , F
2(
set )
-> set , P
1[
set ] } :
provided
proof
set c
1 =
{ [b1,F2(b1)] where B is Element of F1() : P1[b1] } ;
E5:
{ [b1,F2(b1)] where B is Element of F1() : P1[b1] } is
Relation-like
proof
let c
2 be
set ;
:: uses RELAT_1:def 1
assume
c
2 in { [b1,F2(b1)] where B is Element of F1() : P1[b1] }
;
then consider c
3 being
Element of F
1() such that
E6:
c
2 = [c3,F2(c3)]
and
P
1[c
3]
;
take
c
3
;
take
F
2(c
3)
;
thus
c
2 = [c3,F2(c3)]
by E6;
end;
{ [b1,F2(b1)] where B is Element of F1() : P1[b1] } is
Function-like
proof
let c
2, c
3, c
4 be
set ;
:: uses FUNCT_1:def 1
assume
[c2,c3] in { [b1,F2(b1)] where B is Element of F1() : P1[b1] }
;
then consider c
5 being
Element of F
1() such that
E6:
[c2,c3] = [c5,F2(c5)]
and
P
1[c
5]
;
assume
[c2,c4] in { [b1,F2(b1)] where B is Element of F1() : P1[b1] }
;
then consider c
6 being
Element of F
1() such that
E7:
[c2,c4] = [c6,F2(c6)]
and
P
1[c
6]
;
( c
5 = c
2 & c
6 = c
2 )
by E6, E7, ZFMISC_1:33;
hence
c
3 = c
4
by E6, E7, ZFMISC_1:33;
end;
hence
{ [b1,F2(b1)] where B is Element of F1() : P1[b1] } is
Function
by E5;
end;
scheme :: ALTCAT_2:sch 2
s2{ F
1()
-> non
empty set , F
2()
-> Function, F
3(
set )
-> set , P
1[
set ] } :
provided
E5:
F
2()
= { [b1,F3(b1)] where B is Element of F1() : P1[b1] }
proof
set c
1 =
{ b1 where B is Element of F1() : P1[b1] } ;
now
let c
2 be
set ;
hereby
assume
c
2 in { b1 where B is Element of F1() : P1[b1] }
;
then consider c
3 being
Element of F
1() such that
E6:
c
2 = c
3
and
E7:
P
1[c
3]
;
take c
4 = F
3(c
3);
thus
[c2,c4] in F
2()
by E5, E6, E7;
end;given c
3 being
set such that
E6:
[c2,c3] in F
2()
;
consider c
4 being
Element of F
1() such that
E7:
[c2,c3] = [c4,F3(c4)]
and
E8:
P
1[c
4]
by E5, E6;
c
2 = c
4
by E7, ZFMISC_1:33;
hence
c
2 in { b1 where B is Element of F1() : P1[b1] }
by E8;
end;
hence
dom F
2()
= { b1 where B is Element of F1() : P1[b1] }
by RELAT_1:def 4;
end;
theorem E5: :: ALTCAT_2:11
proof
let c
1 be
Category;
let c
2, c
3, c
4 be
Object of c
1;
let c
5 be
set ;
:: uses TARSKI:def 3
assume E6:
c
5 in [:(Hom c3,c4),(Hom c2,c3):]
;
then E7:
( c
5 `1 in Hom c
3,c
4 & c
5 `2 in Hom c
2,c
3 )
by MCART_1:10;
reconsider c
6 = c
5 `1 , c
7 = c
5 `2 as
Morphism of c
1 by E6, MCART_1:10;
E8:
c
5 = [c6,c7]
by E6, MCART_1:23;
dom c
6 =
c
3
by E7, CAT_1:18
.=
cod c
7
by E7, CAT_1:18
;
hence
c
5 in dom the
Comp of c
1
by E8, CAT_1:40;
end;
theorem E6: :: ALTCAT_2:12
proof
let c
1 be
Category;
let c
2, c
3, c
4 be
Object of c
1;
let c
5 be
set ;
:: uses TARSKI:def 3
assume
c
5 in the
Comp of c
1 .: [:(Hom c3,c4),(Hom c2,c3):]
;
then consider c
6 being
set such that
E7:
c
6 in dom the
Comp of c
1
and
E8:
c
6 in [:(Hom c3,c4),(Hom c2,c3):]
and
E9:
c
5 = the
Comp of c
1 . c
6
by FUNCT_1:def 12;
E10:
( c
6 `1 in Hom c
3,c
4 & c
6 `2 in Hom c
2,c
3 )
by E8, MCART_1:10;
reconsider c
7 = c
6 `1 , c
8 = c
6 `2 as
Morphism of c
1 by E8, MCART_1:10;
E11:
c
6 = [c7,c8]
by E8, MCART_1:23;
( c
7 is
Morphism of c
3,c
4 & c
8 is
Morphism of c
2,c
3 )
by E10, CAT_1:def 7;
then
c
7 * c
8 in Hom c
2,c
4
by E10, CAT_1:51;
hence
c
5 in Hom c
2,c
4
by E7, E9, E11, CAT_1:def 4;
end;
definition
let c
1 be
CatStr ;
func the_hom_sets_of a
1 -> ManySortedSet of
[:the Objects of a1,the Objects of a1:] means :
E7:
:: ALTCAT_2:def 3
for b
1, b
2 being
Object of a
1 holds a
2 . b
1,b
2 = Hom b
1,b
2;
existence
ex b1 being ManySortedSet of [:the Objects of c1,the Objects of c1:] st
for b2, b3 being Object of c1 holds b1 . b2,b3 = Hom b2,b3
uniqueness
for b1, b2 being ManySortedSet of [:the Objects of c1,the Objects of c1:] holds
( ( for b3, b4 being Object of c1 holds b1 . b3,b4 = Hom b3,b4 & for b3, b4 being Object of c1 holds b2 . b3,b4 = Hom b3,b4 ) implies ( b1 = b2 ) )
proof
let c
2, c
3 be
ManySortedSet of
[:the Objects of c1,the Objects of c1:];
assume that
E7:
for b
1, b
2 being
Object of c
1 holds c
2 . b
1,b
2 = Hom b
1,b
2
and
E8:
for b
1, b
2 being
Object of c
1 holds c
3 . b
1,b
2 = Hom b
1,b
2
;
now
let c
4, c
5 be
Object of c
1;
thus c
2 . c
4,c
5 =
Hom c
4,c
5
by E7
.=
c
3 . c
4,c
5
by E8
;
end;
hence
c
2 = c
3
by ALTCAT_1:9;
end;
end;
:: deftheorem E7 defines the_hom_sets_of ALTCAT_2:def 3 :
theorem E8: :: ALTCAT_2:13
definition
let c
1 be
Category;
func the_comps_of a
1 -> BinComp of
(the_hom_sets_of a1) means :
E9:
:: ALTCAT_2:def 4
for b
1, b
2, b
3 being
Object of a
1 holds a
2 . b
1,b
2,b
3 = the
Comp of a
1 | [:((the_hom_sets_of a1) . b2,b3),((the_hom_sets_of a1) . b1,b2):];
existence
ex b1 being BinComp of (the_hom_sets_of c1) st
for b2, b3, b4 being Object of c1 holds b1 . b2,b3,b4 = the Comp of c1 | [:((the_hom_sets_of c1) . b3,b4),((the_hom_sets_of c1) . b2,b3):]
proof
set c
2 =
[:the Objects of c1,the Objects of c1,the Objects of c1:];
set c
3 =
the_hom_sets_of c
1;
deffunc H
1(
set )
-> set = the
Comp of c
1 | [:((the_hom_sets_of c1) . ((a1 `1 ) `2 ),(a1 `2 )),((the_hom_sets_of c1) . ((a1 `1 ) `1 ),((a1 `1 ) `2 )):];
consider c
4 being
Function such that
E9:
dom c
4 = [:the Objects of c1,the Objects of c1,the Objects of c1:]
and
E10:
for b
1 being
set holds
( b
1 in [:the Objects of c1,the Objects of c1,the Objects of c1:] implies c
4 . b
1 = H
1(b
1) )
from FUNCT_1:sch 3();
reconsider c
5 = c
4 as
ManySortedSet of
[:the Objects of c1,the Objects of c1,the Objects of c1:] by E9, PBOOLE:def 3;
then reconsider c
6 = c
5 as
ManySortedFunction of
[:the Objects of c1,the Objects of c1,the Objects of c1:] by FUNCOP_1:def 6;
now
let c
7 be
set ;
assume E11:
c
7 in [:the Objects of c1,the Objects of c1,the Objects of c1:]
;
reconsider c
8 = c
6 . c
7 as
Function ;
consider c
9, c
10, c
11 being
Object of c
1 such that
E12:
c
7 = [c9,c10,c11]
by E11, DOMAIN_1:15;
reconsider c
12 = c
7 as
Element of
[:the Objects of c1,the Objects of c1,the Objects of c1:] by E11;
E13:
([c9,c10,c11] `1 ) `1 =
c
12 `1
by E12, MCART_1:50
.=
c
9
by E12, MCART_1:47
;
E14:
([c9,c10,c11] `1 ) `2 =
c
12 `2
by E12, MCART_1:50
.=
c
10
by E12, MCART_1:47
;
E15:
[c9,c10,c11] `2 =
c
12 `3
by E12, MCART_1:50
.=
c
11
by E12, MCART_1:47
;
E16:
(
(the_hom_sets_of c1) . c
9,c
10 = Hom c
9,c
10 &
(the_hom_sets_of c1) . c
10,c
11 = Hom c
10,c
11 )
by E7;
E17:
c
8 = the
Comp of c
1 | [:((the_hom_sets_of c1) . c10,c11),((the_hom_sets_of c1) . c9,c10):]
by E10, E11, E12, E13, E14, E15;
E18:
{|(the_hom_sets_of c1)|} . c
7 =
{|(the_hom_sets_of c1)|} . c
9,c
10,c
11
by E12, MULTOP_1:def 1
.=
(the_hom_sets_of c1) . c
9,c
11
by ALTCAT_1:def 5
.=
Hom c
9,c
11
by E7
;
E19:
{|(the_hom_sets_of c1),(the_hom_sets_of c1)|} . c
7 =
{|(the_hom_sets_of c1),(the_hom_sets_of c1)|} . c
9,c
10,c
11
by E12, MULTOP_1:def 1
.=
[:(Hom c10,c11),(Hom c9,c10):]
by E16, ALTCAT_1:def 6
;
[:(Hom c10,c11),(Hom c9,c10):] c= dom the
Comp of c
1
by E5;
then E21:
dom c
8 = {|(the_hom_sets_of c1),(the_hom_sets_of c1)|} . c
7
by E16, E17, E19, RELAT_1:91;
the
Comp of c
1 .: [:(Hom c10,c11),(Hom c9,c10):] c= Hom c
9,c
11
by E6;
then
rng c
8 c= {|(the_hom_sets_of c1)|} . c
7
by E16, E17, E18, RELAT_1:148;
hence
c
6 . c
7 is
Function of
{|(the_hom_sets_of c1),(the_hom_sets_of c1)|} . c
7,
{|(the_hom_sets_of c1)|} . c
7
by E20, E21, FUNCT_2:def 1, RELSET_1:11;
end;
then reconsider c
7 = c
6 as
BinComp of
(the_hom_sets_of c1) by PBOOLE:def 18;
take
c
7
;
let c
8, c
9, c
10 be
Object of c
1;
E11:
[c8,c9,c10] in [:the Objects of c1,the Objects of c1,the Objects of c1:]
by DOMAIN_1:15;
reconsider c
11 =
[c8,c9,c10] as
Element of
[:the Objects of c1,the Objects of c1,the Objects of c1:] by DOMAIN_1:15;
E12:
([c8,c9,c10] `1 ) `1 =
c
11 `1
by