functor2.miz
begin
registration
let A be
transitive
with_units non
empty
AltCatStr, B be
with_units non
empty
AltCatStr;
cluster ->
feasible
id-preserving for
Functor of A, B;
coherence by
FUNCTOR0:def 25;
end
registration
let A be
transitive
with_units non
empty
AltCatStr, B be
with_units non
empty
AltCatStr;
cluster
covariant ->
Covariant
comp-preserving for
Functor of A, B;
coherence by
FUNCTOR0:def 26;
cluster
Covariant
comp-preserving ->
covariant for
Functor of A, B;
coherence by
FUNCTOR0:def 26;
cluster
contravariant ->
Contravariant
comp-reversing for
Functor of A, B;
coherence by
FUNCTOR0:def 27;
cluster
Contravariant
comp-reversing ->
contravariant for
Functor of A, B;
coherence by
FUNCTOR0:def 27;
end
theorem ::
FUNCTOR2:1
Th1: for A,B be
transitive
with_units non
empty
AltCatStr, F be
covariant
Functor of A, B holds for a be
Object of A holds (F
. (
idm a))
= (
idm (F
. a))
proof
let A,B be
transitive
with_units non
empty
AltCatStr, F be
covariant
Functor of A, B;
let a be
Object of A;
<^a, a^>
<>
{} &
<^(F
. a), (F
. a)^>
<>
{} by
ALTCAT_2:def 7;
hence (F
. (
idm a))
= ((
Morph-Map (F,a,a))
. (
idm a)) by
FUNCTOR0:def 15
.= (
idm (F
. a)) by
FUNCTOR0:def 20;
end;
begin
definition
let A,B be
transitive
with_units non
empty
AltCatStr, F1,F2 be
Functor of A, B;
::
FUNCTOR2:def1
pred F1
is_transformable_to F2 means for a be
Object of A holds
<^(F1
. a), (F2
. a)^>
<>
{} ;
reflexivity by
ALTCAT_2:def 7;
end
theorem ::
FUNCTOR2:2
Th2: for A,B be
transitive
with_units non
empty
AltCatStr, F,F1,F2 be
Functor of A, B holds F
is_transformable_to F1 & F1
is_transformable_to F2 implies F
is_transformable_to F2
proof
let A,B be
transitive
with_units non
empty
AltCatStr, F,F1,F2 be
Functor of A, B;
assume
A1: F
is_transformable_to F1 & F1
is_transformable_to F2;
let a be
Object of A;
<^(F
. a), (F1
. a)^>
<>
{} &
<^(F1
. a), (F2
. a)^>
<>
{} by
A1;
hence thesis by
ALTCAT_1:def 2;
end;
definition
let A,B be
transitive
with_units non
empty
AltCatStr, F1,F2 be
Functor of A, B;
assume
A1: F1
is_transformable_to F2;
::
FUNCTOR2:def2
mode
transformation of F1,F2 ->
ManySortedSet of the
carrier of A means
:
Def2: for a be
Object of A holds (it
. a) is
Morphism of (F1
. a), (F2
. a);
existence
proof
defpred
P[
Object of A,
object] means $2
in
<^(F1
. $1), (F2
. $1)^>;
A2: for a be
Element of A holds ex j be
object st
P[a, j]
proof
let a be
Element of A;
<^(F1
. a), (F2
. a)^>
<>
{} by
A1;
then ex j be
object st j
in
<^(F1
. a), (F2
. a)^> by
XBOOLE_0:def 1;
hence thesis;
end;
consider t be
ManySortedSet of the
carrier of A such that
A3: for a be
Element of A holds
P[a, (t
. a)] from
PBOOLE:sch 6(
A2);
take t;
thus thesis by
A3;
end;
end
definition
let A,B be
transitive
with_units non
empty
AltCatStr;
let F be
Functor of A, B;
::
FUNCTOR2:def3
func
idt F ->
transformation of F, F means
:
Def3: for a be
Object of A holds (it
. a)
= (
idm (F
. a));
existence
proof
defpred
P[
Object of A,
object] means $2
= (
idm (F
. $1));
A1: for a be
Element of A holds ex j be
object st
P[a, j];
consider t be
ManySortedSet of the
carrier of A such that
A2: for a be
Element of A holds
P[a, (t
. a)] from
PBOOLE:sch 6(
A1);
for a be
Object of A holds (t
. a) is
Morphism of (F
. a), (F
. a)
proof
let a be
Element of A;
P[a, (t
. a)] by
A2;
hence thesis;
end;
then t is
transformation of F, F by
Def2;
hence thesis by
A2;
end;
uniqueness
proof
let it1,it2 be
transformation of F, F such that
A3: for a be
Object of A holds (it1
. a)
= (
idm (F
. a)) and
A4: for a be
Object of A holds (it2
. a)
= (
idm (F
. a));
now
let a be
object;
assume a
in the
carrier of A;
then
reconsider o = a as
Object of A;
thus (it1
. a)
= (
idm (F
. o)) by
A3
.= (it2
. a) by
A4;
end;
hence it1
= it2 by
PBOOLE: 3;
end;
end
definition
let A,B be
transitive
with_units non
empty
AltCatStr, F1,F2 be
Functor of A, B;
assume
A1: F1
is_transformable_to F2;
let t be
transformation of F1, F2;
let a be
Object of A;
::
FUNCTOR2:def4
func t
! a ->
Morphism of (F1
. a), (F2
. a) means
:
Def4: it
= (t
. a);
existence
proof
(t
. a) is
Morphism of (F1
. a), (F2
. a) by
A1,
Def2;
hence thesis;
end;
correctness ;
end
definition
let A,B be
transitive
with_units non
empty
AltCatStr, F,F1,F2 be
Functor of A, B;
assume
A1: F
is_transformable_to F1 & F1
is_transformable_to F2;
let t1 be
transformation of F, F1;
let t2 be
transformation of F1, F2;
::
FUNCTOR2:def5
func t2
`*` t1 ->
transformation of F, F2 means
:
Def5: for a be
Object of A holds (it
! a)
= ((t2
! a)
* (t1
! a));
existence
proof
defpred
P[
Object of A,
object] means $2
= ((t2
! $1)
* (t1
! $1));
A2: for a be
Element of A holds ex j be
object st
P[a, j];
consider t be
ManySortedSet of the
carrier of A such that
A3: for a be
Element of A holds
P[a, (t
. a)] from
PBOOLE:sch 6(
A2);
A4: F
is_transformable_to F2 by
A1,
Th2;
for a be
Object of A holds (t
. a) is
Morphism of (F
. a), (F2
. a)
proof
let o be
Element of A;
P[o, (t
. o)] by
A3;
hence thesis;
end;
then
reconsider t9 = t as
transformation of F, F2 by
A4,
Def2;
take t9;
let a be
Element of A;
P[a, (t
. a)] by
A3;
hence thesis by
A4,
Def4;
end;
uniqueness
proof
let it1,it2 be
transformation of F, F2 such that
A5: for a be
Object of A holds (it1
! a)
= ((t2
! a)
* (t1
! a)) and
A6: for a be
Object of A holds (it2
! a)
= ((t2
! a)
* (t1
! a));
A7: F
is_transformable_to F2 by
A1,
Th2;
now
let a be
object;
assume a
in the
carrier of A;
then
reconsider o = a as
Object of A;
thus (it1 qua
ManySortedSet of the
carrier of A
. a)
= (it1
! o) by
A7,
Def4
.= ((t2
! o)
* (t1
! o)) by
A5
.= (it2
! o) by
A6
.= (it2 qua
ManySortedSet of the
carrier of A
. a) by
A7,
Def4;
end;
hence it1
= it2 by
PBOOLE: 3;
end;
end
theorem ::
FUNCTOR2:3
Th3: for A,B be
transitive
with_units non
empty
AltCatStr, F1,F2 be
Functor of A, B holds F1
is_transformable_to F2 implies for t1,t2 be
transformation of F1, F2 st for a be
Object of A holds (t1
! a)
= (t2
! a) holds t1
= t2
proof
let A,B be
transitive
with_units non
empty
AltCatStr, F1,F2 be
Functor of A, B;
assume
A1: F1
is_transformable_to F2;
let t1,t2 be
transformation of F1, F2;
assume
A2: for a be
Object of A holds (t1
! a)
= (t2
! a);
now
let a be
object;
assume a
in the
carrier of A;
then
reconsider o = a as
Object of A;
thus (t1 qua
ManySortedSet of the
carrier of A
. a)
= (t1
! o) by
A1,
Def4
.= (t2
! o) by
A2
.= (t2 qua
ManySortedSet of the
carrier of A
. a) by
A1,
Def4;
end;
hence thesis by
PBOOLE: 3;
end;
theorem ::
FUNCTOR2:4
Th4: for A,B be
transitive
with_units non
empty
AltCatStr, F be
Functor of A, B holds for a be
Object of A holds ((
idt F)
! a)
= (
idm (F
. a))
proof
let A,B be
transitive
with_units non
empty
AltCatStr, F be
Functor of A, B;
let a be
Object of A;
thus ((
idt F)
! a)
= ((
idt F) qua
ManySortedSet of the
carrier of A
. a) by
Def4
.= (
idm (F
. a)) by
Def3;
end;
theorem ::
FUNCTOR2:5
Th5: for A,B be
transitive
with_units non
empty
AltCatStr, F1,F2 be
Functor of A, B holds F1
is_transformable_to F2 implies for t be
transformation of F1, F2 holds ((
idt F2)
`*` t)
= t & (t
`*` (
idt F1))
= t
proof
let A,B be
transitive
with_units non
empty
AltCatStr, F1,F2 be
Functor of A, B;
assume
A1: F1
is_transformable_to F2;
let t be
transformation of F1, F2;
now
let a be
Object of A;
A2:
<^(F1
. a), (F2
. a)^>
<>
{} by
A1;
thus (((
idt F2)
`*` t)
! a)
= (((
idt F2)
! a)
* (t
! a)) by
A1,
Def5
.= ((
idm (F2
. a))
* (t
! a)) by
Th4
.= (t
! a) by
A2,
ALTCAT_1: 20;
end;
hence ((
idt F2)
`*` t)
= t by
A1,
Th3;
now
let a be
Object of A;
A3:
<^(F1
. a), (F2
. a)^>
<>
{} by
A1;
thus ((t
`*` (
idt F1))
! a)
= ((t
! a)
* ((
idt F1)
! a)) by
A1,
Def5
.= ((t
! a)
* (
idm (F1
. a))) by
Th4
.= (t
! a) by
A3,
ALTCAT_1:def 17;
end;
hence thesis by
A1,
Th3;
end;
theorem ::
FUNCTOR2:6
Th6: for A,B be
category, F,F1,F2,F3 be
Functor of A, B holds F
is_transformable_to F1 & F1
is_transformable_to F2 & F2
is_transformable_to F3 implies for t1 be
transformation of F, F1, t2 be
transformation of F1, F2, t3 be
transformation of F2, F3 holds ((t3
`*` t2)
`*` t1)
= (t3
`*` (t2
`*` t1))
proof
let A,B be
category, F,F1,F2,F3 be
Functor of A, B;
assume that
A1: F
is_transformable_to F1 and
A2: F1
is_transformable_to F2 and
A3: F2
is_transformable_to F3;
let t1 be
transformation of F, F1, t2 be
transformation of F1, F2, t3 be
transformation of F2, F3;
A4: F1
is_transformable_to F3 by
A2,
A3,
Th2;
A5: F
is_transformable_to F2 by
A1,
A2,
Th2;
now
let a be
Object of A;
A6:
<^(F2
. a), (F3
. a)^>
<>
{} by
A3;
A7:
<^(F
. a), (F1
. a)^>
<>
{} &
<^(F1
. a), (F2
. a)^>
<>
{} by
A1,
A2;
thus (((t3
`*` t2)
`*` t1)
! a)
= (((t3
`*` t2)
! a)
* (t1
! a)) by
A1,
A4,
Def5
.= (((t3
! a)
* (t2
! a))
* (t1
! a)) by
A2,
A3,
Def5
.= ((t3
! a)
* ((t2
! a)
* (t1
! a))) by
A7,
A6,
ALTCAT_1: 21
.= ((t3
! a)
* ((t2
`*` t1)
! a)) by
A1,
A2,
Def5
.= ((t3
`*` (t2
`*` t1))
! a) by
A3,
A5,
Def5;
end;
hence thesis by
A1,
A4,
Th2,
Th3;
end;
begin
Lm1: for A,B be
transitive
with_units non
empty
AltCatStr, F,G be
covariant
Functor of A, B holds for a,b be
Object of A st
<^a, b^>
<>
{} holds for f be
Morphism of a, b holds (((
idt F)
! b)
* (F
. f))
= ((F
. f)
* ((
idt F)
! a))
proof
let A,B be
transitive
with_units non
empty
AltCatStr, F,G be
covariant
Functor of A, B;
let a,b be
Object of A such that
A1:
<^a, b^>
<>
{} ;
let f be
Morphism of a, b;
A2:
<^a, a^>
<>
{} by
ALTCAT_2:def 7;
A3:
<^b, b^>
<>
{} by
ALTCAT_2:def 7;
thus (((
idt F)
! b)
* (F
. f))
= ((
idm (F
. b))
* (F
. f)) by
Th4
.= ((F
. (
idm b))
* (F
. f)) by
Th1
.= (F
. ((
idm b)
* f)) by
A1,
A3,
FUNCTOR0:def 23
.= (F
. f) by
A1,
ALTCAT_1: 20
.= (F
. (f
* (
idm a))) by
A1,
ALTCAT_1:def 17
.= ((F
. f)
* (F
. (
idm a))) by
A1,
A2,
FUNCTOR0:def 23
.= ((F
. f)
* (
idm (F
. a))) by
Th1
.= ((F
. f)
* ((
idt F)
! a)) by
Th4;
end;
definition
let A,B be
transitive
with_units non
empty
AltCatStr, F1,F2 be
covariant
Functor of A, B;
::
FUNCTOR2:def6
pred F1
is_naturally_transformable_to F2 means F1
is_transformable_to F2 & ex t be
transformation of F1, F2 st for a,b be
Object of A st
<^a, b^>
<>
{} holds for f be
Morphism of a, b holds ((t
! b)
* (F1
. f))
= ((F2
. f)
* (t
! a));
reflexivity
proof
let F be
covariant
Functor of A, B;
thus F
is_transformable_to F;
take (
idt F);
thus thesis by
Lm1;
end;
end
theorem ::
FUNCTOR2:7
for A,B be
transitive
with_units non
empty
AltCatStr, F be
covariant
Functor of A, B holds F
is_naturally_transformable_to F;
Lm2: for A,B be
category, F,F1,F2 be
covariant
Functor of A, B holds F
is_transformable_to F1 & F1
is_transformable_to F2 implies for t1 be
transformation of F, F1 st for a,b be
Object of A st
<^a, b^>
<>
{} holds for f be
Morphism of a, b holds ((t1
! b)
* (F
. f))
= ((F1
. f)
* (t1
! a)) holds for t2 be
transformation of F1, F2 st for a,b be
Object of A st
<^a, b^>
<>
{} holds for f be
Morphism of a, b holds ((t2
! b)
* (F1
. f))
= ((F2
. f)
* (t2
! a)) holds for a,b be
Object of A st
<^a, b^>
<>
{} holds for f be
Morphism of a, b holds (((t2
`*` t1)
! b)
* (F
. f))
= ((F2
. f)
* ((t2
`*` t1)
! a))
proof
let A,B be
category, F,F1,F2 be
covariant
Functor of A, B;
assume that
A1: F
is_transformable_to F1 and
A2: F1
is_transformable_to F2;
let t1 be
transformation of F, F1 such that
A3: for a,b be
Object of A st
<^a, b^>
<>
{} holds for f be
Morphism of a, b holds ((t1
! b)
* (F
. f))
= ((F1
. f)
* (t1
! a));
let t2 be
transformation of F1, F2 such that
A4: for a,b be
Object of A st
<^a, b^>
<>
{} holds for f be
Morphism of a, b holds ((t2
! b)
* (F1
. f))
= ((F2
. f)
* (t2
! a));
let a,b be
Object of A;
A5:
<^(F
. b), (F1
. b)^>
<>
{} by
A1;
A6:
<^(F
. a), (F1
. a)^>
<>
{} by
A1;
A7:
<^(F1
. b), (F2
. b)^>
<>
{} by
A2;
A8:
<^(F1
. a), (F2
. a)^>
<>
{} by
A2;
assume
A9:
<^a, b^>
<>
{} ;
then
A10:
<^(F
. a), (F
. b)^>
<>
{} by
FUNCTOR0:def 18;
let f be
Morphism of a, b;
A11:
<^(F2
. a), (F2
. b)^>
<>
{} by
A9,
FUNCTOR0:def 18;
A12:
<^(F1
. a), (F1
. b)^>
<>
{} by
A9,
FUNCTOR0:def 18;
thus (((t2
`*` t1)
! b)
* (F
. f))
= (((t2
! b)
* (t1
! b))
* (F
. f)) by
A1,
A2,
Def5
.= ((t2
! b)
* ((t1
! b)
* (F
. f))) by
A10,
A5,
A7,
ALTCAT_1: 21
.= ((t2
! b)
* ((F1
. f)
* (t1
! a))) by
A3,
A9
.= (((t2
! b)
* (F1
. f))
* (t1
! a)) by
A6,
A7,
A12,
ALTCAT_1: 21
.= (((F2
. f)
* (t2
! a))
* (t1
! a)) by
A4,
A9
.= ((F2
. f)
* ((t2
! a)
* (t1
! a))) by
A6,
A8,
A11,
ALTCAT_1: 21
.= ((F2
. f)
* ((t2
`*` t1)
! a)) by
A1,
A2,
Def5;
end;
theorem ::
FUNCTOR2:8
Th8: for A,B be
category, F,F1,F2 be
covariant
Functor of A, B holds F
is_naturally_transformable_to F1 & F1
is_naturally_transformable_to F2 implies F
is_naturally_transformable_to F2
proof
let A,B be
category, F,F1,F2 be
covariant
Functor of A, B;
assume
A1: F
is_transformable_to F1;
given t1 be
transformation of F, F1 such that
A2: for a,b be
Object of A st
<^a, b^>
<>
{} holds for f be
Morphism of a, b holds ((t1
! b)
* (F
. f))
= ((F1
. f)
* (t1
! a));
assume
A3: F1
is_transformable_to F2;
given t2 be
transformation of F1, F2 such that
A4: for a,b be
Object of A st
<^a, b^>
<>
{} holds for f be
Morphism of a, b holds ((t2
! b)
* (F1
. f))
= ((F2
. f)
* (t2
! a));
thus F
is_transformable_to F2 by
A1,
A3,
Th2;
take (t2
`*` t1);
thus thesis by
A1,
A2,
A3,
A4,
Lm2;
end;
definition
let A,B be
transitive
with_units non
empty
AltCatStr, F1,F2 be
covariant
Functor of A, B;
assume
A1: F1
is_naturally_transformable_to F2;
::
FUNCTOR2:def7
mode
natural_transformation of F1,F2 ->
transformation of F1, F2 means
:
Def7: for a,b be
Object of A st
<^a, b^>
<>
{} holds for f be
Morphism of a, b holds ((it
! b)
* (F1
. f))
= ((F2
. f)
* (it
! a));
existence by
A1;
end
definition
let A,B be
transitive
with_units non
empty
AltCatStr, F be
covariant
Functor of A, B;
:: original:
idt
redefine
func
idt F ->
natural_transformation of F, F ;
coherence
proof
F
is_naturally_transformable_to F & for a,b be
Object of A st
<^a, b^>
<>
{} holds for f be
Morphism of a, b holds (((
idt F)
! b)
* (F
. f))
= ((F
. f)
* ((
idt F)
! a)) by
Lm1;
hence thesis by
Def7;
end;
end
definition
let A,B be
category, F,F1,F2 be
covariant
Functor of A, B;
let t1 be
natural_transformation of F, F1;
let t2 be
natural_transformation of F1, F2;
::
FUNCTOR2:def8
func t2
`*` t1 ->
natural_transformation of F, F2 means
:
Def8: it
= (t2
`*` t1);
existence
proof
A2: F
is_naturally_transformable_to F2 by
A1,
Th8;
A3: (for a,b be
Object of A st
<^a, b^>
<>
{} holds for f be
Morphism of a, b holds ((t1
! b)
* (F
. f))
= ((F1
. f)
* (t1
! a))) & for a,b be
Object of A st
<^a, b^>
<>
{} holds for f be
Morphism of a, b holds ((t2
! b)
* (F1
. f))
= ((F2
. f)
* (t2
! a)) by
A1,
Def7;
F
is_transformable_to F1 & F1
is_transformable_to F2 by
A1;
then for a,b be
Object of A st
<^a, b^>
<>
{} holds for f be
Morphism of a, b holds (((t2
`*` t1)
! b)
* (F
. f))
= ((F2
. f)
* ((t2
`*` t1)
! a)) by
A3,
Lm2;
then (t2
`*` t1) is
natural_transformation of F, F2 by
A2,
Def7;
hence thesis;
end;
correctness ;
end
theorem ::
FUNCTOR2:9
for A,B be
transitive
with_units non
empty
AltCatStr, F1,F2 be
covariant
Functor of A, B holds F1
is_naturally_transformable_to F2 implies for t be
natural_transformation of F1, F2 holds ((
idt F2)
`*` t)
= t & (t
`*` (
idt F1))
= t by
Th5;
theorem ::
FUNCTOR2:10
for A,B be
transitive
with_units non
empty
AltCatStr, F,F1,F2 be
covariant
Functor of A, B holds F
is_naturally_transformable_to F1 & F1
is_naturally_transformable_to F2 implies for t1 be
natural_transformation of F, F1 holds for t2 be
natural_transformation of F1, F2 holds for a be
Object of A holds ((t2
`*` t1)
! a)
= ((t2
! a)
* (t1
! a)) by
Def5;
theorem ::
FUNCTOR2:11
for A,B be
category, F,F1,F2,F3 be
covariant
Functor of A, B holds for t be
natural_transformation of F, F1, t1 be
natural_transformation of F1, F2 holds F
is_naturally_transformable_to F1 & F1
is_naturally_transformable_to F2 & F2
is_naturally_transformable_to F3 implies for t3 be
natural_transformation of F2, F3 holds ((t3
`*` t1)
`*` t)
= (t3
`*` (t1
`*` t))
proof
let A,B be
category, F,F1,F2,F3 be
covariant
Functor of A, B;
let t be
natural_transformation of F, F1, t1 be
natural_transformation of F1, F2;
assume that
A1: F
is_naturally_transformable_to F1 and
A2: F1
is_naturally_transformable_to F2 and
A3: F2
is_naturally_transformable_to F3;
A4: F
is_naturally_transformable_to F2 by
A1,
A2,
Th8;
let t3 be
natural_transformation of F2, F3;
A5: F2
is_transformable_to F3 by
A3;
A6: F
is_transformable_to F1 & F1
is_transformable_to F2 by
A1,
A2;
F1
is_naturally_transformable_to F3 by
A2,
A3,
Th8;
hence ((t3
`*` t1)
`*` t)
= ((t3
`*` t1)
`*` t qua
transformation of F, F1) by
A1,
Def8
.= ((t3 qua
transformation of F2, F3
`*` t1)
`*` t) by
A2,
A3,
Def8
.= (t3
`*` (t1
`*` t qua
transformation of F, F1)) by
A6,
A5,
Th6
.= (t3 qua
transformation of F2, F3
`*` (t1
`*` t)) by
A1,
A2,
Def8
.= (t3
`*` (t1
`*` t)) by
A3,
A4,
Def8;
end;
begin
definition
let I be
set;
let A,B be
ManySortedSet of I;
::
FUNCTOR2:def9
func
Funcs (A,B) ->
set means
:
Def9: for x be
set holds x
in it iff x is
ManySortedFunction of A, B if for i be
set st i
in I holds (B
. i)
=
{} implies (A
. i)
=
{}
otherwise it
=
{} ;
existence
proof
thus (for i be
set st i
in I holds (B
. i)
=
{} implies (A
. i)
=
{} ) implies ex IT be
set st for x be
set holds x
in IT iff x is
ManySortedFunction of A, B
proof
deffunc
F(
object) = (
Funcs ((A
. $1),(B
. $1)));
assume
A1: for i be
set st i
in I holds (B
. i)
=
{} implies (A
. i)
=
{} ;
consider F be
ManySortedSet of I such that
A2: for i be
object st i
in I holds (F
. i)
=
F(i) from
PBOOLE:sch 4;
take (
product F);
let x be
set;
thus x
in (
product F) implies x is
ManySortedFunction of A, B
proof
assume x
in (
product F);
then
consider g be
Function such that
A3: x
= g and
A4: (
dom g)
= (
dom F) and
A5: for i be
object st i
in (
dom F) holds (g
. i)
in (F
. i) by
CARD_3:def 5;
A6: for i be
object st i
in I holds (g
. i) is
Function of (A
. i), (B
. i)
proof
let i be
object such that
A7: i
in I;
(
dom F)
= I & (F
. i)
= (
Funcs ((A
. i),(B
. i))) by
A2,
A7,
PARTFUN1:def 2;
hence thesis by
A5,
A7,
FUNCT_2: 66;
end;
(
dom F)
= I by
PARTFUN1:def 2;
then
reconsider g as
ManySortedSet of I by
A4,
PARTFUN1:def 2,
RELAT_1:def 18;
g is
ManySortedFunction of A, B by
A6,
PBOOLE:def 15;
hence thesis by
A3;
end;
assume
A8: x is
ManySortedFunction of A, B;
then
reconsider g = x as
ManySortedSet of I;
A9: for i be
set st i
in I holds (g
. i)
in (
Funcs ((A
. i),(B
. i)))
proof
let i be
set;
assume
A10: i
in I;
then
A11: (B
. i)
=
{} implies (A
. i)
=
{} by
A1;
(g
. i) is
Function of (A
. i), (B
. i) by
A8,
A10,
PBOOLE:def 15;
hence thesis by
A11,
FUNCT_2: 8;
end;
A12: for i be
set st i
in I holds (g
. i)
in (F
. i)
proof
let i be
set;
assume
A13: i
in I;
then (F
. i)
= (
Funcs ((A
. i),(B
. i))) by
A2;
hence thesis by
A9,
A13;
end;
A14: for i be
object st i
in (
dom F) holds (g
. i)
in (F
. i)
proof
A15: (
dom F)
= I by
PARTFUN1:def 2;
let i be
object;
assume i
in (
dom F);
hence thesis by
A12,
A15;
end;
(
dom g)
= I by
PARTFUN1:def 2;
then (
dom g)
= (
dom F) by
PARTFUN1:def 2;
hence thesis by
A14,
CARD_3:def 5;
end;
thus thesis;
end;
uniqueness
proof
let it1,it2 be
set;
hereby
assume for i be
set st i
in I holds (B
. i)
=
{} implies (A
. i)
=
{} ;
assume that
A16: for x be
set holds x
in it1 iff x is
ManySortedFunction of A, B and
A17: for x be
set holds x
in it2 iff x is
ManySortedFunction of A, B;
now
let x be
object;
x
in it1 iff x is
ManySortedFunction of A, B by
A16;
hence x
in it1 iff x
in it2 by
A17;
end;
hence it1
= it2 by
TARSKI: 2;
end;
thus thesis;
end;
consistency ;
end
definition
let A,B be
transitive
with_units non
empty
AltCatStr;
::
FUNCTOR2:def10
func
Funct (A,B) ->
set means
:
Def10: for x be
object holds x
in it iff x is
covariant
strict
Functor of A, B;
existence
proof
set A9 = (
Funcs (
[:the
carrier of A, the
carrier of A:],
[:the
carrier of B, the
carrier of B:]));
set sAA = the set of all (the
Arrows of B
* f) where f be
Element of A9;
set f = the
Element of A9;
(the
Arrows of B
* f)
in sAA;
then
reconsider sAA as non
empty
set;
defpred
R[
object,
object] means ex f be
Covariant
bifunction of the
carrier of A, the
carrier of B, m be
MSUnTrans of f, the
Arrows of A, the
Arrows of B st $1
=
[f, m] & $2
=
FunctorStr (# f, m #) & $2 is
covariant
Functor of A, B;
defpred
P[
object,
object] means ex AA be
ManySortedSet of
[:the
carrier of A, the
carrier of A:] st $1
= AA & $2
= (
Funcs (the
Arrows of A,AA));
A1: for x,y,z be
object st
P[x, y] &
P[x, z] holds y
= z;
consider XX be
set such that
A2: for x be
object holds x
in XX iff ex y be
object st y
in sAA &
P[y, x] from
TARSKI:sch 1(
A1);
A3: for x,y,z be
object st
R[x, y] &
R[x, z] holds y
= z
proof
let x,y,z be
object;
given f be
Covariant
bifunction of the
carrier of A, the
carrier of B, m be
MSUnTrans of f, the
Arrows of A, the
Arrows of B such that
A4: x
=
[f, m] and
A5: y
=
FunctorStr (# f, m #) and y is
covariant
Functor of A, B;
given f1 be
Covariant
bifunction of the
carrier of A, the
carrier of B, m1 be
MSUnTrans of f1, the
Arrows of A, the
Arrows of B such that
A6: x
=
[f1, m1] and
A7: z
=
FunctorStr (# f1, m1 #) and z is
covariant
Functor of A, B;
f
= f1 by
A4,
A6,
XTUPLE_0: 1;
hence thesis by
A4,
A5,
A6,
A7,
XTUPLE_0: 1;
end;
consider X be
set such that
A8: for x be
object holds x
in X iff ex y be
object st y
in
[:A9, (
union XX):] &
R[y, x] from
TARSKI:sch 1(
A3);
take X;
let x be
object;
thus x
in X implies x is
covariant
strict
Functor of A, B
proof
assume x
in X;
then ex y be
object st y
in
[:A9, (
union XX):] & ex f be
Covariant
bifunction of the
carrier of A, the
carrier of B, m be
MSUnTrans of f, the
Arrows of A, the
Arrows of B st y
=
[f, m] & x
=
FunctorStr (# f, m #) & x is
covariant
Functor of A, B by
A8;
hence thesis;
end;
assume x is
covariant
strict
Functor of A, B;
then
reconsider F = x as
covariant
strict
Functor of A, B;
reconsider f = the
ObjectMap of F as
Covariant
bifunction of the
carrier of A, the
carrier of B by
FUNCTOR0:def 12;
reconsider m = the
MorphMap of F as
MSUnTrans of f, the
Arrows of A, the
Arrows of B;
reconsider y =
[f, m] as
set by
TARSKI: 1;
A9: for o1,o2 be
Object of A st (the
Arrows of A
. (o1,o2))
<>
{} holds (the
Arrows of B
. (f
. (o1,o2)))
<>
{}
proof
let o1,o2 be
Object of A such that
A10: (the
Arrows of A
. (o1,o2))
<>
{} ;
(the
Arrows of A
. (o1,o2))
=
<^o1, o2^>;
hence thesis by
A10,
FUNCTOR0:def 11;
end;
A11: for o1,o2 be
Object of A st (the
Arrows of A
. (o1,o2))
<>
{} holds (the
Arrows of B
.
[(F
. o1), (F
. o2)])
<>
{}
proof
let o1,o2 be
Object of A such that
A12: (the
Arrows of A
. (o1,o2))
<>
{} ;
(f
. (o1,o2))
=
[(F
. o1), (F
. o2)] by
FUNCTOR0: 22;
hence thesis by
A9,
A12;
end;
y
in
[:A9, (
union XX):]
proof
set I =
[:the
carrier of A, the
carrier of A:];
reconsider AA = (the
Arrows of B
* f) as
ManySortedSet of
[:the
carrier of A, the
carrier of A:];
A13: for i be
set st i
in I & (the
Arrows of A
. i)
<>
{} holds (the
Arrows of B
. (f
. i))
<>
{}
proof
let i be
set such that
A14: i
in I and
A15: (the
Arrows of A
. i)
<>
{} ;
consider o1,o2 be
object such that
A16: o1
in the
carrier of A & o2
in the
carrier of A and
A17: i
=
[o1, o2] by
A14,
ZFMISC_1:def 2;
reconsider a1 = o1, a2 = o2 as
Object of A by
A16;
A18: (the
Arrows of B
. (f
. i))
= (the
Arrows of B
. (f
. (o1,o2))) by
A17
.= (the
Arrows of B
.
[(F
. a1), (F
. a2)]) by
FUNCTOR0: 22;
(the
Arrows of A
. (o1,o2))
<>
{} by
A15,
A17;
hence thesis by
A11,
A18;
end;
for i be
set st i
in I holds (the
Arrows of A
. i)
<>
{} implies (AA
. i)
<>
{}
proof
let i be
set such that
A19: i
in I;
assume
A20: (the
Arrows of A
. i)
<>
{} ;
(AA
. i)
= (the
Arrows of B
. (f
. i)) by
A19,
FUNCT_2: 15;
hence thesis by
A13,
A19,
A20;
end;
then m is
ManySortedFunction of the
Arrows of A, AA & for i be
set st i
in I holds (AA
. i)
=
{} implies (the
Arrows of A
. i)
=
{} by
FUNCTOR0:def 4;
then
A21: m
in (
Funcs (the
Arrows of A,AA)) by
Def9;
A22: f
in A9 by
FUNCT_2: 8;
then (the
Arrows of B
* f)
in sAA;
then (
Funcs (the
Arrows of A,AA))
in XX by
A2;
then m
in (
union XX) by
A21,
TARSKI:def 4;
hence thesis by
A22,
ZFMISC_1:def 2;
end;
hence thesis by
A8;
end;
uniqueness
proof
let it1,it2 be
set such that
A23: for x be
object holds x
in it1 iff x is
covariant
strict
Functor of A, B and
A24: for x be
object holds x
in it2 iff x is
covariant
strict
Functor of A, B;
now
let x be
object;
x
in it1 iff x is
covariant
strict
Functor of A, B by
A23;
hence x
in it1 iff x
in it2 by
A24;
end;
hence thesis by
TARSKI: 2;
end;
end
definition
let A,B be
category;
::
FUNCTOR2:def11
func
Functors (A,B) ->
strict non
empty
transitive
AltCatStr means the
carrier of it
= (
Funct (A,B)) & (for F,G be
strict
covariant
Functor of A, B, x be
set holds x
in (the
Arrows of it
. (F,G)) iff F
is_naturally_transformable_to G & x is
natural_transformation of F, G) & for F,G,H be
strict
covariant
Functor of A, B st F
is_naturally_transformable_to G & G
is_naturally_transformable_to H holds for t1 be
natural_transformation of F, G, t2 be
natural_transformation of G, H holds ex f be
Function st f
= (the
Comp of it
. (F,G,H)) & (f
. (t2,t1))
= (t2
`*` t1);
existence
proof
defpred
Q[
object,
object,
object] means for f,g,h be
strict
covariant
Functor of A, B st
[f, g, h]
= $3 holds for t1 be
natural_transformation of f, g holds for t2 be
natural_transformation of g, h st
[t2, t1]
= $2 & ex v be
Function st (v
. $2)
= $1 holds $1
= (t2
`*` t1);
defpred
P[
object,
object] means ex D2 be
set st D2
= $2 & for f,g be
strict
covariant
Functor of A, B st
[f, g]
= $1 holds for x be
set holds x
in D2 iff f
is_naturally_transformable_to g & x is
natural_transformation of f, g;
A1: for i be
object st i
in
[:(
Funct (A,B)), (
Funct (A,B)):] holds ex j be
object st
P[i, j]
proof
let i be
object;
assume i
in
[:(
Funct (A,B)), (
Funct (A,B)):];
then
consider f,g be
object such that
A2: f
in (
Funct (A,B)) & g
in (
Funct (A,B)) and
A3: i
=
[f, g] by
ZFMISC_1:def 2;
reconsider f, g as
strict
covariant
Functor of A, B by
A2,
Def10;
defpred
P[
Object of A,
object] means $2
=
<^(f
. $1), (g
. $1)^>;
defpred
P[
object] means f
is_naturally_transformable_to g & $1 is
natural_transformation of f, g;
A4: for a be
Element of A holds ex j be
object st
P[a, j];
consider N be
ManySortedSet of the
carrier of A such that
A5: for a be
Element of A holds
P[a, (N
. a)] from
PBOOLE:sch 6(
A4);
consider j be
set such that
A6: for x be
object holds x
in j iff x
in (
product N) &
P[x] from
XBOOLE_0:sch 1;
take j, j;
thus j
= j;
let f9,g9 be
strict
covariant
Functor of A, B such that
A7:
[f9, g9]
= i;
let x be
set;
thus x
in j implies f9
is_naturally_transformable_to g9 & x is
natural_transformation of f9, g9
proof
assume
A8: x
in j;
f9
= f & g9
= g by
A3,
A7,
XTUPLE_0: 1;
hence thesis by
A6,
A8;
end;
thus f9
is_naturally_transformable_to g9 & x is
natural_transformation of f9, g9 implies x
in j
proof
A9: f9
= f & g9
= g by
A3,
A7,
XTUPLE_0: 1;
set I = the
carrier of A;
assume that
A10: f9
is_naturally_transformable_to g9 and
A11: x is
natural_transformation of f9, g9;
reconsider h = x as
ManySortedSet of the
carrier of A by
A11;
A12: f9
is_transformable_to g9 by
A10;
A13: for i9 be
set st i9
in I holds (h
. i9)
in (N
. i9)
proof
let i9 be
set;
assume i9
in I;
then
reconsider i9 as
Element of A;
A14:
P[i9, (N
. i9)] by
A5;
<^(f
. i9), (g
. i9)^>
<>
{} & (h
. i9) is
Element of
<^(f
. i9), (g
. i9)^> by
A11,
A12,
A9,
Def2;
hence thesis by
A14;
end;
A15: for i9 be
object st i9
in (
dom N) holds (h
. i9)
in (N
. i9)
proof
A16: (
dom N)
= I by
PARTFUN1:def 2;
let i9 be
object;
assume i9
in (
dom N);
hence thesis by
A13,
A16;
end;
(
dom h)
= the
carrier of A by
PARTFUN1:def 2;
then (
dom h)
= (
dom N) by
PARTFUN1:def 2;
then x
in (
product N) by
A15,
CARD_3: 9;
hence thesis by
A6,
A10,
A11,
A9;
end;
end;
consider a be
ManySortedSet of
[:(
Funct (A,B)), (
Funct (A,B)):] such that
A17: for i be
object st i
in
[:(
Funct (A,B)), (
Funct (A,B)):] holds
P[i, (a
. i)] from
PBOOLE:sch 3(
A1);
A18: for o be
object st o
in
[:(
Funct (A,B)), (
Funct (A,B)), (
Funct (A,B)):] holds for x be
object st x
in (
{|a, a|}
. o) holds ex y be
object st y
in (
{|a|}
. o) &
Q[y, x, o]
proof
let o be
object;
assume o
in
[:(
Funct (A,B)), (
Funct (A,B)), (
Funct (A,B)):];
then o
in
[:
[:(
Funct (A,B)), (
Funct (A,B)):], (
Funct (A,B)):] by
ZFMISC_1:def 3;
then
consider ff,h be
object such that
A19: ff
in
[:(
Funct (A,B)), (
Funct (A,B)):] and
A20: h
in (
Funct (A,B)) and
A21: o
=
[ff, h] by
ZFMISC_1:def 2;
consider f,g be
object such that
A22: f
in (
Funct (A,B)) & g
in (
Funct (A,B)) and
A23: ff
=
[f, g] by
A19,
ZFMISC_1:def 2;
A24: o
=
[f, g, h] by
A21,
A23;
reconsider T = (
Funct (A,B)) as non
empty
set by
A20;
reconsider i = f, j = g, k = h as
Element of T by
A20,
A22;
A25: (
{|a|}
.
[i, j, k])
= (
{|a|}
. (i,j,k)) by
MULTOP_1:def 1
.= (a
. (i,k)) by
ALTCAT_1:def 3;
A26: (
{|a, a|}
.
[i, j, k])
= (
{|a, a|}
. (i,j,k)) by
MULTOP_1:def 1
.=
[:(a
. (j,k)), (a
. (i,j)):] by
ALTCAT_1:def 4;
for x be
object st x
in (
{|a, a|}
. o) holds ex y be
object st y
in (
{|a|}
. o) &
Q[y, x, o]
proof
reconsider i9 = i, j9 = j, k9 = k as
strict
covariant
Functor of A, B by
Def10;
let x be
object;
assume x
in (
{|a, a|}
. o);
then
consider x2,x1 be
object such that
A27: x2
in (a
. (j,k)) and
A28: x1
in (a
. (i,j)) and
A29: x
=
[x2, x1] by
A24,
A26,
ZFMISC_1:def 2;
A30: x2
in (a
.
[j, k]) by
A27;
A31:
P[
[j, k], (a
.
[j, k])] by
A17;
then
A32: j9
is_naturally_transformable_to k9 by
A30;
reconsider x2 as
natural_transformation of j9, k9 by
A30,
A31;
A33: x1
in (a
.
[i, j]) by
A28;
P[
[i, j], (a
.
[i, j])] by
A17;
then
reconsider x1 as
natural_transformation of i9, j9 by
A33;
reconsider vv = (x2
`*` x1) as
natural_transformation of i9, k9;
A34: for f,g,h be
strict
covariant
Functor of A, B st
[f, g, h]
= o holds for t1 be
natural_transformation of f, g holds for t2 be
natural_transformation of g, h st
[t2, t1]
= x & ex v be
Function st (v
. x)
= vv holds vv
= (t2
`*` t1)
proof
let f,g,h be
strict
covariant
Functor of A, B such that
A35:
[f, g, h]
= o;
A36: j9
= g by
A24,
A35,
XTUPLE_0: 3;
then
reconsider x2 as
natural_transformation of g, h by
A24,
A35,
XTUPLE_0: 3;
A37: i9
= f & k9
= h by
A24,
A35,
XTUPLE_0: 3;
let t1 be
natural_transformation of f, g, t2 be
natural_transformation of g, h such that
A38:
[t2, t1]
= x and ex v be
Function st (v
. x)
= vv;
x2
= t2 by
A29,
A38,
XTUPLE_0: 1;
hence thesis by
A29,
A38,
A36,
A37,
XTUPLE_0: 1;
end;
P[
[i, j], (a
.
[i, j])] by
A17;
then i9
is_naturally_transformable_to j9 by
A33;
then
A39: i9
is_naturally_transformable_to k9 by
A32,
Th8;
P[
[i, k], (a
.
[i, k])] by
A17;
then vv
in (a
.
[i9, k9]) by
A39;
hence thesis by
A24,
A25,
A34;
end;
hence thesis;
end;
consider c be
ManySortedFunction of
{|a, a|},
{|a|} such that
A40: for i be
object st i
in
[:(
Funct (A,B)), (
Funct (A,B)), (
Funct (A,B)):] holds ex v be
Function of (
{|a, a|}
. i), (
{|a|}
. i) st v
= (c
. i) & for x be
object st x
in (
{|a, a|}
. i) holds
Q[(v
. x), x, i] from
MSSUBFAM:sch 1(
A18);
set F =
AltCatStr (# (
Funct (A,B)), a, c #);
A41: (
Funct (A,B)) is non
empty
proof
set f = the
strict
covariant
Functor of A, B;
f
in (
Funct (A,B)) by
Def10;
hence thesis;
end;
F is
transitive
proof
let o1,o2,o3 be
Object of F;
reconsider a1 = o1, a2 = o2, a3 = o3 as
strict
covariant
Functor of A, B by
A41,
Def10;
assume that
A42:
<^o1, o2^>
<>
{} and
A43:
<^o2, o3^>
<>
{} ;
consider x be
object such that
A44: x
in (a
.
[o2, o3]) by
A43,
XBOOLE_0:def 1;
[o2, o3]
in
[:(
Funct (A,B)), (
Funct (A,B)):] by
A41,
ZFMISC_1:def 2;
then
A45:
P[
[o2, o3], (a
.
[o2, o3])] by
A17;
then
A46: a2
is_naturally_transformable_to a3 by
A44;
reconsider x as
natural_transformation of a2, a3 by
A44,
A45;
consider y be
object such that
A47: y
in (a
.
[o1, o2]) by
A42,
XBOOLE_0:def 1;
[o1, o2]
in
[:(
Funct (A,B)), (
Funct (A,B)):] by
A41,
ZFMISC_1:def 2;
then
A48:
P[
[o1, o2], (a
.
[o1, o2])] by
A17;
then
reconsider y as
natural_transformation of a1, a2 by
A47;
a1
is_naturally_transformable_to a2 by
A47,
A48;
then
A49: a1
is_naturally_transformable_to a3 by
A46,
Th8;
A50: (x
`*` y) is
natural_transformation of a1, a3 &
[o1, o3]
in
[:(
Funct (A,B)), (
Funct (A,B)):] by
A41,
ZFMISC_1:def 2;
then
P[
[o1, o3], (a
.
[o1, o3])] by
A17;
hence thesis by
A49,
A50;
end;
then
reconsider F as
strict non
empty
transitive
AltCatStr by
A41;
take F;
thus the
carrier of F
= (
Funct (A,B));
thus for f,g be
strict
covariant
Functor of A, B, x be
set holds x
in (the
Arrows of F
. (f,g)) iff f
is_naturally_transformable_to g & x is
natural_transformation of f, g
proof
let f,g be
strict
covariant
Functor of A, B;
let x be
set;
thus x
in (the
Arrows of F
. (f,g)) implies f
is_naturally_transformable_to g & x is
natural_transformation of f, g
proof
f
in (
Funct (A,B)) & g
in (
Funct (A,B)) by
Def10;
then
A51:
[f, g]
in
[:(
Funct (A,B)), (
Funct (A,B)):] by
ZFMISC_1:def 2;
assume
A52: x
in (the
Arrows of F
. (f,g));
P[
[f, g], (a
.
[f, g])] by
A17,
A51;
hence thesis by
A52;
end;
thus f
is_naturally_transformable_to g & x is
natural_transformation of f, g implies x
in (the
Arrows of F
. (f,g))
proof
f
in (
Funct (A,B)) & g
in (
Funct (A,B)) by
Def10;
then
A53:
[f, g]
in
[:(
Funct (A,B)), (
Funct (A,B)):] by
ZFMISC_1: 87;
assume
A54: f
is_naturally_transformable_to g & x is
natural_transformation of f, g;
P[
[f, g], (a
.
[f, g])] by
A17,
A53;
hence thesis by
A54;
end;
end;
let f,g,h be
strict
covariant
Functor of A, B such that
A55: f
is_naturally_transformable_to g and
A56: g
is_naturally_transformable_to h;
let t1 be
natural_transformation of f, g, t2 be
natural_transformation of g, h;
A57: f
in (
Funct (A,B)) by
Def10;
then
reconsider T = (
Funct (A,B)) as non
empty
set;
A58: g
in (
Funct (A,B)) by
Def10;
then
A59:
[f, g]
in
[:(
Funct (A,B)), (
Funct (A,B)):] by
A57,
ZFMISC_1: 87;
A60: h
in (
Funct (A,B)) by
Def10;
then
[g, h]
in
[:(
Funct (A,B)), (
Funct (A,B)):] by
A58,
ZFMISC_1: 87;
then
P[
[g, h], (a
.
[g, h])] by
A17;
then
A61: t2
in (a
.
[g, h]) by
A56;
reconsider i = f, j = g, k = h as
Element of T by
Def10;
A62: (
{|a, a|}
.
[i, j, k])
= (
{|a, a|}
. (i,j,k)) by
MULTOP_1:def 1
.=
[:(a
. (j,k)), (a
. (i,j)):] by
ALTCAT_1:def 4;
[:(
Funct (A,B)), (
Funct (A,B)), (
Funct (A,B)):]
=
[:
[:(
Funct (A,B)), (
Funct (A,B)):], (
Funct (A,B)):] &
[f, g, h]
=
[
[f, g], h] by
ZFMISC_1:def 3;
then
[f, g, h]
in
[:(
Funct (A,B)), (
Funct (A,B)), (
Funct (A,B)):] by
A60,
A59,
ZFMISC_1: 87;
then
consider v be
Function of (
{|a, a|}
.
[f, g, h]), (
{|a|}
.
[f, g, h]) such that
A63: v
= (c
.
[f, g, h]) and
A64: for x be
object st x
in (
{|a, a|}
.
[f, g, h]) holds
Q[(v
. x), x,
[f, g, h]] by
A40;
P[
[f, g], (a
.
[f, g])] by
A17,
A59;
then t1
in (a
.
[f, g]) by
A55;
then
[t2, t1]
in (
{|a, a|}
.
[f, g, h]) by
A62,
A61,
ZFMISC_1: 87;
then
A65: (v
. (t2,t1))
= (t2
`*` t1) by
A64;
v
= (c
. (f,g,h)) by
A63,
MULTOP_1:def 1;
hence thesis by
A65;
end;
uniqueness
proof
let C1,C2 be
strict non
empty
transitive
AltCatStr such that
A66: the
carrier of C1
= (
Funct (A,B)) and
A67: for F,G be
strict
covariant
Functor of A, B, x be
set holds x
in (the
Arrows of C1
. (F,G)) iff F
is_naturally_transformable_to G & x is
natural_transformation of F, G and
A68: for F,G,H be
strict
covariant
Functor of A, B st F
is_naturally_transformable_to G & G
is_naturally_transformable_to H holds for t1 be
natural_transformation of F, G, t2 be
natural_transformation of G, H holds ex f be
Function st f
= (the
Comp of C1
. (F,G,H)) & (f
. (t2,t1))
= (t2
`*` t1) and
A69: the
carrier of C2
= (
Funct (A,B)) and
A70: for F,G be
strict
covariant
Functor of A, B, x be
set holds x
in (the
Arrows of C2
. (F,G)) iff F
is_naturally_transformable_to G & x is
natural_transformation of F, G and
A71: for F,G,H be
strict
covariant
Functor of A, B st F
is_naturally_transformable_to G & G
is_naturally_transformable_to H holds for t1 be
natural_transformation of F, G, t2 be
natural_transformation of G, H holds ex f be
Function st f
= (the
Comp of C2
. (F,G,H)) & (f
. (t2,t1))
= (t2
`*` t1);
set R = the
carrier of C1, T = the
carrier of C2, N = the
Arrows of C1, M = the
Arrows of C2, O = the
Comp of C1, P = the
Comp of C2;
A72: for i,j be
object st i
in R & j
in T holds (N
. (i,j))
= (M
. (i,j))
proof
let i,j be
object such that
A73: i
in R and
A74: j
in T;
reconsider g = j as
strict
covariant
Functor of A, B by
A69,
A74,
Def10;
reconsider f = i as
strict
covariant
Functor of A, B by
A66,
A73,
Def10;
now
let x be
object;
x
in (N
. (i,j)) iff f
is_naturally_transformable_to g & x is
natural_transformation of f, g by
A67;
hence x
in (N
. (i,j)) iff x
in (M
. (i,j)) by
A70;
end;
hence thesis by
TARSKI: 2;
end;
then
A75: the
Arrows of C1
= the
Arrows of C2 by
A66,
A69,
ALTCAT_1: 6;
for i,j,k be
object st i
in R & j
in R & k
in R holds (O
. (i,j,k))
= (P
. (i,j,k))
proof
let i,j,k be
object;
assume that
A76: i
in R and
A77: j
in R and
A78: k
in R;
reconsider h = k as
strict
covariant
Functor of A, B by
A66,
A78,
Def10;
reconsider g = j as
strict
covariant
Functor of A, B by
A66,
A77,
Def10;
reconsider f = i as
strict
covariant
Functor of A, B by
A66,
A76,
Def10;
per cases ;
suppose
A79: (N
. (i,j))
=
{} or (N
. (j,k))
=
{} ;
thus (O
. (i,j,k))
= (P
. (i,j,k))
proof
per cases by
A79;
suppose
A80: (N
. (i,j))
=
{} ;
reconsider T as non
empty
set;
reconsider i9 = i, j9 = j, k9 = k as
Element of T by
A66,
A69,
A76,
A77,
A78;
(M
. (i,j))
=
{} by
A66,
A69,
A72,
A80,
ALTCAT_1: 6;
then
A81:
[:(M
. (j9,k9)), (M
. (i9,j9)):]
=
{} by
ZFMISC_1: 90;
A82: (
{|M, M|}
.
[i9, j9, k9])
= (
{|M, M|}
. (i9,j9,k9)) by
MULTOP_1:def 1
.=
[:(M
. (j9,k9)), (M
. (i9,j9)):] by
ALTCAT_1:def 4;
A83: (
{|M|}
.
[i9, j9, k9])
= (
{|M|}
. (i9,j9,k9)) by
MULTOP_1:def 1
.= (M
. (i9,k9)) by
ALTCAT_1:def 3;
(P
.
[i9, j9, k9])
= (P
. (i9,j9,k9)) by
MULTOP_1:def 1;
then
A84: (P
. (i9,j9,k9)) is
Function of
[:(M
. (j9,k9)), (M
. (i9,j9)):], (M
. (i9,k9)) by
A82,
A83,
PBOOLE:def 15;
A85: (
{|M, M|}
.
[i9, j9, k9])
= (
{|M, M|}
. (i9,j9,k9)) by
MULTOP_1:def 1
.=
[:(M
. (j9,k9)), (M
. (i9,j9)):] by
ALTCAT_1:def 4;
A86: (
{|M|}
.
[i9, j9, k9])
= (
{|M|}
. (i9,j9,k9)) by
MULTOP_1:def 1
.= (M
. (i9,k9)) by
ALTCAT_1:def 3;
(O
.
[i9, j9, k9])
= (O
. (i9,j9,k9)) by
MULTOP_1:def 1;
then (O
. (i9,j9,k9)) is
Function of
[:(M
. (j9,k9)), (M
. (i9,j9)):], (M
. (i9,k9)) by
A66,
A69,
A75,
A85,
A86,
PBOOLE:def 15;
hence thesis by
A81,
A84;
end;
suppose
A87: (N
. (j,k))
=
{} ;
reconsider T as non
empty
set;
reconsider i9 = i, j9 = j, k9 = k as
Element of T by
A66,
A69,
A76,
A77,
A78;
(M
. (j,k))
=
{} by
A66,
A69,
A72,
A87,
ALTCAT_1: 6;
then
A88:
[:(M
. (j9,k9)), (M
. (i9,j9)):]
=
{} by
ZFMISC_1: 90;
A89: (
{|M, M|}
.
[i9, j9, k9])
= (
{|M, M|}
. (i9,j9,k9)) by
MULTOP_1:def 1
.=
[:(M
. (j9,k9)), (M
. (i9,j9)):] by
ALTCAT_1:def 4;
A90: (
{|M|}
.
[i9, j9, k9])
= (
{|M|}
. (i9,j9,k9)) by
MULTOP_1:def 1
.= (M
. (i9,k9)) by
ALTCAT_1:def 3;
(P
.
[i9, j9, k9])
= (P
. (i9,j9,k9)) by
MULTOP_1:def 1;
then
A91: (P
. (i9,j9,k9)) is
Function of
[:(M
. (j9,k9)), (M
. (i9,j9)):], (M
. (i9,k9)) by
A89,
A90,
PBOOLE:def 15;
A92: (
{|M, M|}
.
[i9, j9, k9])
= (
{|M, M|}
. (i9,j9,k9)) by
MULTOP_1:def 1
.=
[:(M
. (j9,k9)), (M
. (i9,j9)):] by
ALTCAT_1:def 4;
A93: (
{|M|}
.
[i9, j9, k9])
= (
{|M|}
. (i9,j9,k9)) by
MULTOP_1:def 1
.= (M
. (i9,k9)) by
ALTCAT_1:def 3;
(O
.
[i9, j9, k9])
= (O
. (i9,j9,k9)) by
MULTOP_1:def 1;
then (O
. (i9,j9,k9)) is
Function of
[:(M
. (j9,k9)), (M
. (i9,j9)):], (M
. (i9,k9)) by
A66,
A69,
A75,
A92,
A93,
PBOOLE:def 15;
hence thesis by
A88,
A91;
end;
end;
end;
suppose that
A94: (N
. (i,j))
<>
{} and
A95: (N
. (j,k))
<>
{} ;
reconsider T as non
empty
set;
reconsider i9 = i, j9 = j, k9 = k as
Element of T by
A66,
A69,
A76,
A77,
A78;
A96: (
{|M, M|}
.
[i9, j9, k9])
= (
{|M, M|}
. (i9,j9,k9)) by
MULTOP_1:def 1
.=
[:(M
. (j9,k9)), (M
. (i9,j9)):] by
ALTCAT_1:def 4;
A97: (
{|M|}
.
[i9, j9, k9])
= (
{|M|}
. (i9,j9,k9)) by
MULTOP_1:def 1
.= (M
. (i9,k9)) by
ALTCAT_1:def 3;
(P
.
[i9, j9, k9])
= (P
. (i9,j9,k9)) by
MULTOP_1:def 1;
then
reconsider t2 = (P
. (i,j,k)) as
Function of
[:(M
. (j,k)), (M
. (i,j)):], (M
. (i,k)) by
A96,
A97,
PBOOLE:def 15;
A98: (
{|M, M|}
.
[i9, j9, k9])
= (
{|M, M|}
. (i9,j9,k9)) by
MULTOP_1:def 1
.=
[:(M
. (j9,k9)), (M
. (i9,j9)):] by
ALTCAT_1:def 4;
A99: (
{|M|}
.
[i9, j9, k9])
= (
{|M|}
. (i9,j9,k9)) by
MULTOP_1:def 1
.= (M
. (i9,k9)) by
ALTCAT_1:def 3;
(O
.
[i9, j9, k9])
= (O
. (i9,j9,k9)) by
MULTOP_1:def 1;
then
reconsider t1 = (O
. (i,j,k)) as
Function of
[:(M
. (j,k)), (M
. (i,j)):], (M
. (i,k)) by
A66,
A69,
A75,
A98,
A99,
PBOOLE:def 15;
A100: (M
. (j,k))
<>
{} by
A66,
A69,
A72,
A95,
ALTCAT_1: 6;
A101: (M
. (i,j))
<>
{} by
A66,
A69,
A72,
A94,
ALTCAT_1: 6;
for a be
Element of (M
. (j,k)) holds for b be
Element of (M
. (i,j)) holds (t1
. (a,b))
= (t2
. (a,b))
proof
let a be
Element of (M
. (j,k)), b be
Element of (M
. (i,j));
a
in (M
. (j,k)) by
A100;
then
A102: g
is_naturally_transformable_to h by
A70;
reconsider a as
natural_transformation of g, h by
A70,
A100;
b
in (M
. (i,j)) by
A101;
then
A103: f
is_naturally_transformable_to g by
A70;
reconsider b as
natural_transformation of f, g by
A70,
A101;
(ex t19 be
Function st t19
= (O
. (f,g,h)) & (t19
. (a,b))
= (a
`*` b)) & ex t29 be
Function st t29
= (P
. (f,g,h)) & (t29
. (a,b))
= (a
`*` b) by
A68,
A71,
A102,
A103;
hence thesis;
end;
hence thesis by
BINOP_1: 2;
end;
end;
hence thesis by
A66,
A69,
A75,
ALTCAT_1: 8;
end;
end