:: CAT_3 semantic presentation
begin
scheme :: CAT_3:sch 1
LambdaIdx{ F1() -> set , F2() -> non empty set , F3( set ) -> Element of F2() } :
ex F being Function of F1(),F2() st
for x being set st x in F1() holds
F /. x = F3(x)
proof
A1: for x being set st x in F1() holds
F3(x) in F2() ;
consider IT being Function of F1(),F2() such that
A2: for x being set st x in F1() holds
IT . x = F3(x) from FUNCT_2:sch_2(A1);
take IT ; ::_thesis: for x being set st x in F1() holds
IT /. x = F3(x)
let x be set ; ::_thesis: ( x in F1() implies IT /. x = F3(x) )
assume A3: x in F1() ; ::_thesis: IT /. x = F3(x)
hence F3(x) = IT . x by A2
.= IT /. x by A3, FUNCT_2:def_13 ;
::_thesis: verum
end;
theorem Th1: :: CAT_3:1
for I being set
for A being non empty set
for F1, F2 being Function of I,A st ( for x being set st x in I holds
F1 /. x = F2 /. x ) holds
F1 = F2
proof
let I be set ; ::_thesis: for A being non empty set
for F1, F2 being Function of I,A st ( for x being set st x in I holds
F1 /. x = F2 /. x ) holds
F1 = F2
let A be non empty set ; ::_thesis: for F1, F2 being Function of I,A st ( for x being set st x in I holds
F1 /. x = F2 /. x ) holds
F1 = F2
let F1, F2 be Function of I,A; ::_thesis: ( ( for x being set st x in I holds
F1 /. x = F2 /. x ) implies F1 = F2 )
assume A1: for x being set st x in I holds
F1 /. x = F2 /. x ; ::_thesis: F1 = F2
now__::_thesis:_for_x_being_set_st_x_in_I_holds_
F1_._x_=_F2_._x
let x be set ; ::_thesis: ( x in I implies F1 . x = F2 . x )
assume A2: x in I ; ::_thesis: F1 . x = F2 . x
hence F1 . x = F1 /. x by FUNCT_2:def_13
.= F2 /. x by A1, A2
.= F2 . x by A2, FUNCT_2:def_13 ;
::_thesis: verum
end;
hence F1 = F2 by FUNCT_2:12; ::_thesis: verum
end;
scheme :: CAT_3:sch 2
FuncIdxcorrectness{ F1() -> set , F2() -> non empty set , F3( set ) -> Element of F2() } :
( ex F being Function of F1(),F2() st
for x being set st x in F1() holds
F /. x = F3(x) & ( for F1, F2 being Function of F1(),F2() st ( for x being set st x in F1() holds
F1 /. x = F3(x) ) & ( for x being set st x in F1() holds
F2 /. x = F3(x) ) holds
F1 = F2 ) )
proof
thus ex F being Function of F1(),F2() st
for x being set st x in F1() holds
F /. x = F3(x) from CAT_3:sch_1(); ::_thesis: for F1, F2 being Function of F1(),F2() st ( for x being set st x in F1() holds
F1 /. x = F3(x) ) & ( for x being set st x in F1() holds
F2 /. x = F3(x) ) holds
F1 = F2
let F1, F2 be Function of F1(),F2(); ::_thesis: ( ( for x being set st x in F1() holds
F1 /. x = F3(x) ) & ( for x being set st x in F1() holds
F2 /. x = F3(x) ) implies F1 = F2 )
assume that
A1: for x being set st x in F1() holds
F1 /. x = F3(x) and
A2: for x being set st x in F1() holds
F2 /. x = F3(x) ; ::_thesis: F1 = F2
now__::_thesis:_for_x_being_set_st_x_in_F1()_holds_
F1_/._x_=_F2_/._x
let x be set ; ::_thesis: ( x in F1() implies F1 /. x = F2 /. x )
assume A3: x in F1() ; ::_thesis: F1 /. x = F2 /. x
hence F1 /. x = F3(x) by A1
.= F2 /. x by A2, A3 ;
::_thesis: verum
end;
hence F1 = F2 by Th1; ::_thesis: verum
end;
definition
let A be non empty set ;
let x be set ;
let a be Element of A;
:: original: .-->
redefine funcx .--> a -> Function of {x},A;
coherence
x .--> a is Function of {x},A by FUNCOP_1:46;
end;
theorem Th2: :: CAT_3:2
for I, x being set
for A being non empty set
for a being Element of A st x in I holds
(I --> a) /. x = a
proof
let I, x be set ; ::_thesis: for A being non empty set
for a being Element of A st x in I holds
(I --> a) /. x = a
let A be non empty set ; ::_thesis: for a being Element of A st x in I holds
(I --> a) /. x = a
let a be Element of A; ::_thesis: ( x in I implies (I --> a) /. x = a )
assume A1: x in I ; ::_thesis: (I --> a) /. x = a
hence a = (I --> a) . x by FUNCOP_1:7
.= (I --> a) /. x by A1, FUNCT_2:def_13 ;
::_thesis: verum
end;
theorem Th3: :: CAT_3:3
for x1, x2 being set
for A being non empty set st x1 <> x2 holds
for y1, y2 being Element of A holds
( ((x1,x2) --> (y1,y2)) /. x1 = y1 & ((x1,x2) --> (y1,y2)) /. x2 = y2 )
proof
let x1, x2 be set ; ::_thesis: for A being non empty set st x1 <> x2 holds
for y1, y2 being Element of A holds
( ((x1,x2) --> (y1,y2)) /. x1 = y1 & ((x1,x2) --> (y1,y2)) /. x2 = y2 )
let A be non empty set ; ::_thesis: ( x1 <> x2 implies for y1, y2 being Element of A holds
( ((x1,x2) --> (y1,y2)) /. x1 = y1 & ((x1,x2) --> (y1,y2)) /. x2 = y2 ) )
assume A1: x1 <> x2 ; ::_thesis: for y1, y2 being Element of A holds
( ((x1,x2) --> (y1,y2)) /. x1 = y1 & ((x1,x2) --> (y1,y2)) /. x2 = y2 )
let y1, y2 be Element of A; ::_thesis: ( ((x1,x2) --> (y1,y2)) /. x1 = y1 & ((x1,x2) --> (y1,y2)) /. x2 = y2 )
set h = (x1,x2) --> (y1,y2);
A2: ( ((x1,x2) --> (y1,y2)) . x2 = y2 & x1 in {x1,x2} ) by FUNCT_4:63, TARSKI:def_2;
A3: x2 in {x1,x2} by TARSKI:def_2;
((x1,x2) --> (y1,y2)) . x1 = y1 by A1, FUNCT_4:63;
hence ( ((x1,x2) --> (y1,y2)) /. x1 = y1 & ((x1,x2) --> (y1,y2)) /. x2 = y2 ) by A2, A3, FUNCT_2:def_13; ::_thesis: verum
end;
begin
definition
let C be Category;
let I be set ;
let F be Function of I, the carrier' of C;
func doms F -> Function of I, the carrier of C means :Def1: :: CAT_3:def 1
for x being set st x in I holds
it /. x = dom (F /. x);
correctness
existence
ex b1 being Function of I, the carrier of C st
for x being set st x in I holds
b1 /. x = dom (F /. x);
uniqueness
for b1, b2 being Function of I, the carrier of C st ( for x being set st x in I holds
b1 /. x = dom (F /. x) ) & ( for x being set st x in I holds
b2 /. x = dom (F /. x) ) holds
b1 = b2;
proof
deffunc H1( set ) -> Element of the carrier of C = dom (F /. $1);
set A = the carrier of C;
thus ( ex F being Function of I, the carrier of C st
for x being set st x in I holds
F /. x = H1(x) & ( for F1, F2 being Function of I, the carrier of C st ( for x being set st x in I holds
F1 /. x = H1(x) ) & ( for x being set st x in I holds
F2 /. x = H1(x) ) holds
F1 = F2 ) ) from CAT_3:sch_2(); ::_thesis: verum
end;
func cods F -> Function of I, the carrier of C means :Def2: :: CAT_3:def 2
for x being set st x in I holds
it /. x = cod (F /. x);
correctness
existence
ex b1 being Function of I, the carrier of C st
for x being set st x in I holds
b1 /. x = cod (F /. x);
uniqueness
for b1, b2 being Function of I, the carrier of C st ( for x being set st x in I holds
b1 /. x = cod (F /. x) ) & ( for x being set st x in I holds
b2 /. x = cod (F /. x) ) holds
b1 = b2;
proof
deffunc H1( set ) -> Element of the carrier of C = cod (F /. $1);
set A = the carrier of C;
thus ( ex F being Function of I, the carrier of C st
for x being set st x in I holds
F /. x = H1(x) & ( for F1, F2 being Function of I, the carrier of C st ( for x being set st x in I holds
F1 /. x = H1(x) ) & ( for x being set st x in I holds
F2 /. x = H1(x) ) holds
F1 = F2 ) ) from CAT_3:sch_2(); ::_thesis: verum
end;
end;
:: deftheorem Def1 defines doms CAT_3:def_1_:_
for C being Category
for I being set
for F being Function of I, the carrier' of C
for b4 being Function of I, the carrier of C holds
( b4 = doms F iff for x being set st x in I holds
b4 /. x = dom (F /. x) );
:: deftheorem Def2 defines cods CAT_3:def_2_:_
for C being Category
for I being set
for F being Function of I, the carrier' of C
for b4 being Function of I, the carrier of C holds
( b4 = cods F iff for x being set st x in I holds
b4 /. x = cod (F /. x) );
theorem Th4: :: CAT_3:4
for I being set
for C being Category
for f being Morphism of C holds doms (I --> f) = I --> (dom f)
proof
let I be set ; ::_thesis: for C being Category
for f being Morphism of C holds doms (I --> f) = I --> (dom f)
let C be Category; ::_thesis: for f being Morphism of C holds doms (I --> f) = I --> (dom f)
let f be Morphism of C; ::_thesis: doms (I --> f) = I --> (dom f)
set F = I --> f;
set F9 = I --> (dom f);
now__::_thesis:_for_x_being_set_st_x_in_I_holds_
(doms_(I_-->_f))_/._x_=_(I_-->_(dom_f))_/._x
let x be set ; ::_thesis: ( x in I implies (doms (I --> f)) /. x = (I --> (dom f)) /. x )
assume A1: x in I ; ::_thesis: (doms (I --> f)) /. x = (I --> (dom f)) /. x
then ( (I --> f) /. x = f & (I --> (dom f)) /. x = dom f ) by Th2;
hence (doms (I --> f)) /. x = (I --> (dom f)) /. x by A1, Def1; ::_thesis: verum
end;
hence doms (I --> f) = I --> (dom f) by Th1; ::_thesis: verum
end;
theorem Th5: :: CAT_3:5
for I being set
for C being Category
for f being Morphism of C holds cods (I --> f) = I --> (cod f)
proof
let I be set ; ::_thesis: for C being Category
for f being Morphism of C holds cods (I --> f) = I --> (cod f)
let C be Category; ::_thesis: for f being Morphism of C holds cods (I --> f) = I --> (cod f)
let f be Morphism of C; ::_thesis: cods (I --> f) = I --> (cod f)
set F = I --> f;
set F9 = I --> (cod f);
now__::_thesis:_for_x_being_set_st_x_in_I_holds_
(cods_(I_-->_f))_/._x_=_(I_-->_(cod_f))_/._x
let x be set ; ::_thesis: ( x in I implies (cods (I --> f)) /. x = (I --> (cod f)) /. x )
assume A1: x in I ; ::_thesis: (cods (I --> f)) /. x = (I --> (cod f)) /. x
then ( (I --> f) /. x = f & (I --> (cod f)) /. x = cod f ) by Th2;
hence (cods (I --> f)) /. x = (I --> (cod f)) /. x by A1, Def2; ::_thesis: verum
end;
hence cods (I --> f) = I --> (cod f) by Th1; ::_thesis: verum
end;
theorem Th6: :: CAT_3:6
for x1, x2 being set
for C being Category
for p1, p2 being Morphism of C holds doms ((x1,x2) --> (p1,p2)) = (x1,x2) --> ((dom p1),(dom p2))
proof
let x1, x2 be set ; ::_thesis: for C being Category
for p1, p2 being Morphism of C holds doms ((x1,x2) --> (p1,p2)) = (x1,x2) --> ((dom p1),(dom p2))
let C be Category; ::_thesis: for p1, p2 being Morphism of C holds doms ((x1,x2) --> (p1,p2)) = (x1,x2) --> ((dom p1),(dom p2))
let p1, p2 be Morphism of C; ::_thesis: doms ((x1,x2) --> (p1,p2)) = (x1,x2) --> ((dom p1),(dom p2))
set F = (x1,x2) --> (p1,p2);
set f = x1 .--> p1;
set g = x2 .--> p2;
set F9 = (x1,x2) --> ((dom p1),(dom p2));
set f9 = x1 .--> (dom p1);
set g9 = x2 .--> (dom p2);
A1: dom (x2 .--> p2) = {x2} by FUNCOP_1:13;
A2: ( dom (x2 .--> (dom p2)) = {x2} & (x1,x2) --> ((dom p1),(dom p2)) = (x1 .--> (dom p1)) +* (x2 .--> (dom p2)) ) by FUNCOP_1:13, FUNCT_4:def_4;
A3: (x1,x2) --> (p1,p2) = (x1 .--> p1) +* (x2 .--> p2) by FUNCT_4:def_4;
A4: dom (x1 .--> p1) = {x1} by FUNCOP_1:13;
now__::_thesis:_for_x_being_set_st_x_in_{x1,x2}_holds_
(doms_((x1,x2)_-->_(p1,p2)))_/._x_=_((x1,x2)_-->_((dom_p1),(dom_p2)))_/._x
let x be set ; ::_thesis: ( x in {x1,x2} implies (doms ((x1,x2) --> (p1,p2))) /. x = ((x1,x2) --> ((dom p1),(dom p2))) /. x )
assume A5: x in {x1,x2} ; ::_thesis: (doms ((x1,x2) --> (p1,p2))) /. x = ((x1,x2) --> ((dom p1),(dom p2))) /. x
then A6: x in dom ((x1,x2) --> (p1,p2)) by FUNCT_4:62;
now__::_thesis:_(_(_x_in_dom_(x1_.-->_p1)_&_not_x_in_dom_(x2_.-->_p2)_&_((x1,x2)_-->_(p1,p2))_/._x_=_p1_&_((x1,x2)_-->_((dom_p1),(dom_p2)))_/._x_=_dom_p1_)_or_(_x_in_dom_(x2_.-->_p2)_&_((x1,x2)_-->_(p1,p2))_/._x_=_p2_&_((x1,x2)_-->_((dom_p1),(dom_p2)))_/._x_=_dom_p2_)_)
percases ( ( x in dom (x1 .--> p1) & not x in dom (x2 .--> p2) ) or x in dom (x2 .--> p2) ) by A3, A6, FUNCT_4:12;
caseA7: ( x in dom (x1 .--> p1) & not x in dom (x2 .--> p2) ) ; ::_thesis: ( ((x1,x2) --> (p1,p2)) /. x = p1 & ((x1,x2) --> ((dom p1),(dom p2))) /. x = dom p1 )
then ((x1,x2) --> (p1,p2)) . x = (x1 .--> p1) . x by A3, FUNCT_4:11;
then A8: ((x1,x2) --> (p1,p2)) . x = p1 by A4, A7, FUNCOP_1:7;
((x1,x2) --> ((dom p1),(dom p2))) . x = (x1 .--> (dom p1)) . x by A1, A2, A7, FUNCT_4:11;
then ((x1,x2) --> ((dom p1),(dom p2))) . x = dom p1 by A4, A7, FUNCOP_1:7;
hence ( ((x1,x2) --> (p1,p2)) /. x = p1 & ((x1,x2) --> ((dom p1),(dom p2))) /. x = dom p1 ) by A5, A8, FUNCT_2:def_13; ::_thesis: verum
end;
caseA9: x in dom (x2 .--> p2) ; ::_thesis: ( ((x1,x2) --> (p1,p2)) /. x = p2 & ((x1,x2) --> ((dom p1),(dom p2))) /. x = dom p2 )
then ((x1,x2) --> (p1,p2)) . x = (x2 .--> p2) . x by A3, FUNCT_4:13;
then A10: ((x1,x2) --> (p1,p2)) . x = p2 by A1, A9, FUNCOP_1:7;
((x1,x2) --> ((dom p1),(dom p2))) . x = (x2 .--> (dom p2)) . x by A1, A2, A9, FUNCT_4:13;
then ((x1,x2) --> ((dom p1),(dom p2))) . x = dom p2 by A1, A9, FUNCOP_1:7;
hence ( ((x1,x2) --> (p1,p2)) /. x = p2 & ((x1,x2) --> ((dom p1),(dom p2))) /. x = dom p2 ) by A5, A10, FUNCT_2:def_13; ::_thesis: verum
end;
end;
end;
hence (doms ((x1,x2) --> (p1,p2))) /. x = ((x1,x2) --> ((dom p1),(dom p2))) /. x by A5, Def1; ::_thesis: verum
end;
hence doms ((x1,x2) --> (p1,p2)) = (x1,x2) --> ((dom p1),(dom p2)) by Th1; ::_thesis: verum
end;
theorem Th7: :: CAT_3:7
for x1, x2 being set
for C being Category
for p1, p2 being Morphism of C holds cods ((x1,x2) --> (p1,p2)) = (x1,x2) --> ((cod p1),(cod p2))
proof
let x1, x2 be set ; ::_thesis: for C being Category
for p1, p2 being Morphism of C holds cods ((x1,x2) --> (p1,p2)) = (x1,x2) --> ((cod p1),(cod p2))
let C be Category; ::_thesis: for p1, p2 being Morphism of C holds cods ((x1,x2) --> (p1,p2)) = (x1,x2) --> ((cod p1),(cod p2))
let p1, p2 be Morphism of C; ::_thesis: cods ((x1,x2) --> (p1,p2)) = (x1,x2) --> ((cod p1),(cod p2))
set F = (x1,x2) --> (p1,p2);
set f = x1 .--> p1;
set g = x2 .--> p2;
set F9 = (x1,x2) --> ((cod p1),(cod p2));
set f9 = x1 .--> (cod p1);
set g9 = x2 .--> (cod p2);
A1: dom (x2 .--> p2) = {x2} by FUNCOP_1:13;
A2: ( dom (x2 .--> (cod p2)) = {x2} & (x1,x2) --> ((cod p1),(cod p2)) = (x1 .--> (cod p1)) +* (x2 .--> (cod p2)) ) by FUNCOP_1:13, FUNCT_4:def_4;
A3: (x1,x2) --> (p1,p2) = (x1 .--> p1) +* (x2 .--> p2) by FUNCT_4:def_4;
A4: dom (x1 .--> p1) = {x1} by FUNCOP_1:13;
now__::_thesis:_for_x_being_set_st_x_in_{x1,x2}_holds_
(cods_((x1,x2)_-->_(p1,p2)))_/._x_=_((x1,x2)_-->_((cod_p1),(cod_p2)))_/._x
let x be set ; ::_thesis: ( x in {x1,x2} implies (cods ((x1,x2) --> (p1,p2))) /. x = ((x1,x2) --> ((cod p1),(cod p2))) /. x )
assume A5: x in {x1,x2} ; ::_thesis: (cods ((x1,x2) --> (p1,p2))) /. x = ((x1,x2) --> ((cod p1),(cod p2))) /. x
then A6: x in dom ((x1,x2) --> (p1,p2)) by FUNCT_4:62;
now__::_thesis:_(_(_x_in_dom_(x1_.-->_p1)_&_not_x_in_dom_(x2_.-->_p2)_&_((x1,x2)_-->_(p1,p2))_/._x_=_p1_&_((x1,x2)_-->_((cod_p1),(cod_p2)))_/._x_=_cod_p1_)_or_(_x_in_dom_(x2_.-->_p2)_&_((x1,x2)_-->_(p1,p2))_/._x_=_p2_&_((x1,x2)_-->_((cod_p1),(cod_p2)))_/._x_=_cod_p2_)_)
percases ( ( x in dom (x1 .--> p1) & not x in dom (x2 .--> p2) ) or x in dom (x2 .--> p2) ) by A3, A6, FUNCT_4:12;
caseA7: ( x in dom (x1 .--> p1) & not x in dom (x2 .--> p2) ) ; ::_thesis: ( ((x1,x2) --> (p1,p2)) /. x = p1 & ((x1,x2) --> ((cod p1),(cod p2))) /. x = cod p1 )
then ((x1,x2) --> (p1,p2)) . x = (x1 .--> p1) . x by A3, FUNCT_4:11;
then A8: ((x1,x2) --> (p1,p2)) . x = p1 by A4, A7, FUNCOP_1:7;
((x1,x2) --> ((cod p1),(cod p2))) . x = (x1 .--> (cod p1)) . x by A1, A2, A7, FUNCT_4:11;
then ((x1,x2) --> ((cod p1),(cod p2))) . x = cod p1 by A4, A7, FUNCOP_1:7;
hence ( ((x1,x2) --> (p1,p2)) /. x = p1 & ((x1,x2) --> ((cod p1),(cod p2))) /. x = cod p1 ) by A5, A8, FUNCT_2:def_13; ::_thesis: verum
end;
caseA9: x in dom (x2 .--> p2) ; ::_thesis: ( ((x1,x2) --> (p1,p2)) /. x = p2 & ((x1,x2) --> ((cod p1),(cod p2))) /. x = cod p2 )
then ((x1,x2) --> (p1,p2)) . x = (x2 .--> p2) . x by A3, FUNCT_4:13;
then A10: ((x1,x2) --> (p1,p2)) . x = p2 by A1, A9, FUNCOP_1:7;
((x1,x2) --> ((cod p1),(cod p2))) . x = (x2 .--> (cod p2)) . x by A1, A2, A9, FUNCT_4:13;
then ((x1,x2) --> ((cod p1),(cod p2))) . x = cod p2 by A1, A9, FUNCOP_1:7;
hence ( ((x1,x2) --> (p1,p2)) /. x = p2 & ((x1,x2) --> ((cod p1),(cod p2))) /. x = cod p2 ) by A5, A10, FUNCT_2:def_13; ::_thesis: verum
end;
end;
end;
hence (cods ((x1,x2) --> (p1,p2))) /. x = ((x1,x2) --> ((cod p1),(cod p2))) /. x by A5, Def2; ::_thesis: verum
end;
hence cods ((x1,x2) --> (p1,p2)) = (x1,x2) --> ((cod p1),(cod p2)) by Th1; ::_thesis: verum
end;
definition
let C be Category;
let I be set ;
let F be Function of I, the carrier' of C;
funcF opp -> Function of I, the carrier' of (C opp) means :Def3: :: CAT_3:def 3
for x being set st x in I holds
it /. x = (F /. x) opp ;
correctness
existence
ex b1 being Function of I, the carrier' of (C opp) st
for x being set st x in I holds
b1 /. x = (F /. x) opp ;
uniqueness
for b1, b2 being Function of I, the carrier' of (C opp) st ( for x being set st x in I holds
b1 /. x = (F /. x) opp ) & ( for x being set st x in I holds
b2 /. x = (F /. x) opp ) holds
b1 = b2;
proof
deffunc H1( set ) -> Element of the carrier' of (C opp) = (F /. $1) opp ;
set A = the carrier' of (C opp);
thus ( ex F being Function of I, the carrier' of (C opp) st
for x being set st x in I holds
F /. x = H1(x) & ( for F1, F2 being Function of I, the carrier' of (C opp) st ( for x being set st x in I holds
F1 /. x = H1(x) ) & ( for x being set st x in I holds
F2 /. x = H1(x) ) holds
F1 = F2 ) ) from CAT_3:sch_2(); ::_thesis: verum
end;
end;
:: deftheorem Def3 defines opp CAT_3:def_3_:_
for C being Category
for I being set
for F being Function of I, the carrier' of C
for b4 being Function of I, the carrier' of (C opp) holds
( b4 = F opp iff for x being set st x in I holds
b4 /. x = (F /. x) opp );
theorem :: CAT_3:8
for I being set
for C being Category
for f being Morphism of C holds (I --> f) opp = I --> (f opp)
proof
let I be set ; ::_thesis: for C being Category
for f being Morphism of C holds (I --> f) opp = I --> (f opp)
let C be Category; ::_thesis: for f being Morphism of C holds (I --> f) opp = I --> (f opp)
let f be Morphism of C; ::_thesis: (I --> f) opp = I --> (f opp)
set F = I --> f;
set F9 = I --> (f opp);
now__::_thesis:_for_x_being_set_st_x_in_I_holds_
((I_-->_f)_opp)_/._x_=_(I_-->_(f_opp))_/._x
let x be set ; ::_thesis: ( x in I implies ((I --> f) opp) /. x = (I --> (f opp)) /. x )
assume A1: x in I ; ::_thesis: ((I --> f) opp) /. x = (I --> (f opp)) /. x
then ( (I --> f) /. x = f & (I --> (f opp)) /. x = f opp ) by Th2;
hence ((I --> f) opp) /. x = (I --> (f opp)) /. x by A1, Def3; ::_thesis: verum
end;
hence (I --> f) opp = I --> (f opp) by Th1; ::_thesis: verum
end;
theorem :: CAT_3:9
for x1, x2 being set
for C being Category
for p1, p2 being Morphism of C st x1 <> x2 holds
((x1,x2) --> (p1,p2)) opp = (x1,x2) --> ((p1 opp),(p2 opp))
proof
let x1, x2 be set ; ::_thesis: for C being Category
for p1, p2 being Morphism of C st x1 <> x2 holds
((x1,x2) --> (p1,p2)) opp = (x1,x2) --> ((p1 opp),(p2 opp))
let C be Category; ::_thesis: for p1, p2 being Morphism of C st x1 <> x2 holds
((x1,x2) --> (p1,p2)) opp = (x1,x2) --> ((p1 opp),(p2 opp))
let p1, p2 be Morphism of C; ::_thesis: ( x1 <> x2 implies ((x1,x2) --> (p1,p2)) opp = (x1,x2) --> ((p1 opp),(p2 opp)) )
set F = (x1,x2) --> (p1,p2);
set F9 = (x1,x2) --> ((p1 opp),(p2 opp));
assume A1: x1 <> x2 ; ::_thesis: ((x1,x2) --> (p1,p2)) opp = (x1,x2) --> ((p1 opp),(p2 opp))
now__::_thesis:_for_x_being_set_st_x_in_{x1,x2}_holds_
(((x1,x2)_-->_(p1,p2))_opp)_/._x_=_((x1,x2)_-->_((p1_opp),(p2_opp)))_/._x
let x be set ; ::_thesis: ( x in {x1,x2} implies (((x1,x2) --> (p1,p2)) opp) /. x = ((x1,x2) --> ((p1 opp),(p2 opp))) /. x )
assume A2: x in {x1,x2} ; ::_thesis: (((x1,x2) --> (p1,p2)) opp) /. x = ((x1,x2) --> ((p1 opp),(p2 opp))) /. x
then ( x = x1 or x = x2 ) by TARSKI:def_2;
then ( ( ((x1,x2) --> (p1,p2)) /. x = p1 & ((x1,x2) --> ((p1 opp),(p2 opp))) /. x = p1 opp ) or ( ((x1,x2) --> (p1,p2)) /. x = p2 & ((x1,x2) --> ((p1 opp),(p2 opp))) /. x = p2 opp ) ) by A1, Th3;
hence (((x1,x2) --> (p1,p2)) opp) /. x = ((x1,x2) --> ((p1 opp),(p2 opp))) /. x by A2, Def3; ::_thesis: verum
end;
hence ((x1,x2) --> (p1,p2)) opp = (x1,x2) --> ((p1 opp),(p2 opp)) by Th1; ::_thesis: verum
end;
theorem :: CAT_3:10
for I being set
for C being Category
for F being Function of I, the carrier' of C holds (F opp) opp = F
proof
let I be set ; ::_thesis: for C being Category
for F being Function of I, the carrier' of C holds (F opp) opp = F
let C be Category; ::_thesis: for F being Function of I, the carrier' of C holds (F opp) opp = F
let F be Function of I, the carrier' of C; ::_thesis: (F opp) opp = F
now__::_thesis:_(_the_carrier'_of_C_=_the_carrier'_of_((C_opp)_opp)_&_(_for_x_being_set_st_x_in_I_holds_
((F_opp)_opp)_/._x_=_F_/._x_)_)
thus the carrier' of C = the carrier' of ((C opp) opp) ; ::_thesis: for x being set st x in I holds
((F opp) opp) /. x = F /. x
let x be set ; ::_thesis: ( x in I implies ((F opp) opp) /. x = F /. x )
assume A1: x in I ; ::_thesis: ((F opp) opp) /. x = F /. x
hence ((F opp) opp) /. x = ((F opp) /. x) opp by Def3
.= ((F /. x) opp) opp by A1, Def3
.= F /. x ;
::_thesis: verum
end;
hence (F opp) opp = F by Th1; ::_thesis: verum
end;
definition
let C be Category;
let I be set ;
let F be Function of I, the carrier' of (C opp);
func opp F -> Function of I, the carrier' of C means :Def4: :: CAT_3:def 4
for x being set st x in I holds
it /. x = opp (F /. x);
correctness
existence
ex b1 being Function of I, the carrier' of C st
for x being set st x in I holds
b1 /. x = opp (F /. x);
uniqueness
for b1, b2 being Function of I, the carrier' of C st ( for x being set st x in I holds
b1 /. x = opp (F /. x) ) & ( for x being set st x in I holds
b2 /. x = opp (F /. x) ) holds
b1 = b2;
proof
deffunc H1( set ) -> Element of the carrier' of C = opp (F /. $1);
set A = the carrier' of C;
thus ( ex F being Function of I, the carrier' of C st
for x being set st x in I holds
F /. x = H1(x) & ( for F1, F2 being Function of I, the carrier' of C st ( for x being set st x in I holds
F1 /. x = H1(x) ) & ( for x being set st x in I holds
F2 /. x = H1(x) ) holds
F1 = F2 ) ) from CAT_3:sch_2(); ::_thesis: verum
end;
end;
:: deftheorem Def4 defines opp CAT_3:def_4_:_
for C being Category
for I being set
for F being Function of I, the carrier' of (C opp)
for b4 being Function of I, the carrier' of C holds
( b4 = opp F iff for x being set st x in I holds
b4 /. x = opp (F /. x) );
theorem :: CAT_3:11
for I being set
for C being Category
for f being Morphism of (C opp) holds opp (I --> f) = I --> (opp f)
proof
let I be set ; ::_thesis: for C being Category
for f being Morphism of (C opp) holds opp (I --> f) = I --> (opp f)
let C be Category; ::_thesis: for f being Morphism of (C opp) holds opp (I --> f) = I --> (opp f)
let f be Morphism of (C opp); ::_thesis: opp (I --> f) = I --> (opp f)
set F = I --> f;
set F9 = I --> (opp f);
now__::_thesis:_for_x_being_set_st_x_in_I_holds_
(opp_(I_-->_f))_/._x_=_(I_-->_(opp_f))_/._x
let x be set ; ::_thesis: ( x in I implies (opp (I --> f)) /. x = (I --> (opp f)) /. x )
assume A1: x in I ; ::_thesis: (opp (I --> f)) /. x = (I --> (opp f)) /. x
then ( (I --> f) /. x = f & (I --> (opp f)) /. x = opp f ) by Th2;
hence (opp (I --> f)) /. x = (I --> (opp f)) /. x by A1, Def4; ::_thesis: verum
end;
hence opp (I --> f) = I --> (opp f) by Th1; ::_thesis: verum
end;
theorem :: CAT_3:12
for x1, x2 being set
for C being Category st x1 <> x2 holds
for p1, p2 being Morphism of (C opp) holds opp ((x1,x2) --> (p1,p2)) = (x1,x2) --> ((opp p1),(opp p2))
proof
let x1, x2 be set ; ::_thesis: for C being Category st x1 <> x2 holds
for p1, p2 being Morphism of (C opp) holds opp ((x1,x2) --> (p1,p2)) = (x1,x2) --> ((opp p1),(opp p2))
let C be Category; ::_thesis: ( x1 <> x2 implies for p1, p2 being Morphism of (C opp) holds opp ((x1,x2) --> (p1,p2)) = (x1,x2) --> ((opp p1),(opp p2)) )
assume A1: x1 <> x2 ; ::_thesis: for p1, p2 being Morphism of (C opp) holds opp ((x1,x2) --> (p1,p2)) = (x1,x2) --> ((opp p1),(opp p2))
let p1, p2 be Morphism of (C opp); ::_thesis: opp ((x1,x2) --> (p1,p2)) = (x1,x2) --> ((opp p1),(opp p2))
set F = (x1,x2) --> (p1,p2);
set F9 = (x1,x2) --> ((opp p1),(opp p2));
now__::_thesis:_for_x_being_set_st_x_in_{x1,x2}_holds_
(opp_((x1,x2)_-->_(p1,p2)))_/._x_=_((x1,x2)_-->_((opp_p1),(opp_p2)))_/._x
let x be set ; ::_thesis: ( x in {x1,x2} implies (opp ((x1,x2) --> (p1,p2))) /. x = ((x1,x2) --> ((opp p1),(opp p2))) /. x )
assume A2: x in {x1,x2} ; ::_thesis: (opp ((x1,x2) --> (p1,p2))) /. x = ((x1,x2) --> ((opp p1),(opp p2))) /. x
then ( x = x1 or x = x2 ) by TARSKI:def_2;
then ( ( ((x1,x2) --> (p1,p2)) /. x = p1 & ((x1,x2) --> ((opp p1),(opp p2))) /. x = opp p1 ) or ( ((x1,x2) --> (p1,p2)) /. x = p2 & ((x1,x2) --> ((opp p1),(opp p2))) /. x = opp p2 ) ) by A1, Th3;
hence (opp ((x1,x2) --> (p1,p2))) /. x = ((x1,x2) --> ((opp p1),(opp p2))) /. x by A2, Def4; ::_thesis: verum
end;
hence opp ((x1,x2) --> (p1,p2)) = (x1,x2) --> ((opp p1),(opp p2)) by Th1; ::_thesis: verum
end;
theorem :: CAT_3:13
for I being set
for C being Category
for F being Function of I, the carrier' of C holds opp (F opp) = F
proof
let I be set ; ::_thesis: for C being Category
for F being Function of I, the carrier' of C holds opp (F opp) = F
let C be Category; ::_thesis: for F being Function of I, the carrier' of C holds opp (F opp) = F
let F be Function of I, the carrier' of C; ::_thesis: opp (F opp) = F
now__::_thesis:_for_x_being_set_st_x_in_I_holds_
(opp_(F_opp))_/._x_=_F_/._x
let x be set ; ::_thesis: ( x in I implies (opp (F opp)) /. x = F /. x )
assume A1: x in I ; ::_thesis: (opp (F opp)) /. x = F /. x
hence (opp (F opp)) /. x = opp ((F opp) /. x) by Def4
.= opp ((F /. x) opp) by A1, Def3
.= F /. x ;
::_thesis: verum
end;
hence opp (F opp) = F by Th1; ::_thesis: verum
end;
definition
let C be Category;
let I be set ;
let F be Function of I, the carrier' of C;
let f be Morphism of C;
funcF * f -> Function of I, the carrier' of C means :Def5: :: CAT_3:def 5
for x being set st x in I holds
it /. x = (F /. x) (*) f;
correctness
existence
ex b1 being Function of I, the carrier' of C st
for x being set st x in I holds
b1 /. x = (F /. x) (*) f;
uniqueness
for b1, b2 being Function of I, the carrier' of C st ( for x being set st x in I holds
b1 /. x = (F /. x) (*) f ) & ( for x being set st x in I holds
b2 /. x = (F /. x) (*) f ) holds
b1 = b2;
proof
deffunc H1( set ) -> Element of the carrier' of C = (F /. $1) (*) f;
set A = the carrier' of C;
thus ( ex F being Function of I, the carrier' of C st
for x being set st x in I holds
F /. x = H1(x) & ( for F1, F2 being Function of I, the carrier' of C st ( for x being set st x in I holds
F1 /. x = H1(x) ) & ( for x being set st x in I holds
F2 /. x = H1(x) ) holds
F1 = F2 ) ) from CAT_3:sch_2(); ::_thesis: verum
end;
funcf * F -> Function of I, the carrier' of C means :Def6: :: CAT_3:def 6
for x being set st x in I holds
it /. x = f (*) (F /. x);
correctness
existence
ex b1 being Function of I, the carrier' of C st
for x being set st x in I holds
b1 /. x = f (*) (F /. x);
uniqueness
for b1, b2 being Function of I, the carrier' of C st ( for x being set st x in I holds
b1 /. x = f (*) (F /. x) ) & ( for x being set st x in I holds
b2 /. x = f (*) (F /. x) ) holds
b1 = b2;
proof
deffunc H1( set ) -> Element of the carrier' of C = f (*) (F /. $1);
set A = the carrier' of C;
thus ( ex F being Function of I, the carrier' of C st
for x being set st x in I holds
F /. x = H1(x) & ( for F1, F2 being Function of I, the carrier' of C st ( for x being set st x in I holds
F1 /. x = H1(x) ) & ( for x being set st x in I holds
F2 /. x = H1(x) ) holds
F1 = F2 ) ) from CAT_3:sch_2(); ::_thesis: verum
end;
end;
:: deftheorem Def5 defines * CAT_3:def_5_:_
for C being Category
for I being set
for F being Function of I, the carrier' of C
for f being Morphism of C
for b5 being Function of I, the carrier' of C holds
( b5 = F * f iff for x being set st x in I holds
b5 /. x = (F /. x) (*) f );
:: deftheorem Def6 defines * CAT_3:def_6_:_
for C being Category
for I being set
for F being Function of I, the carrier' of C
for f being Morphism of C
for b5 being Function of I, the carrier' of C holds
( b5 = f * F iff for x being set st x in I holds
b5 /. x = f (*) (F /. x) );
theorem Th14: :: CAT_3:14
for x1, x2 being set
for C being Category
for p1, p2, f being Morphism of C st x1 <> x2 holds
((x1,x2) --> (p1,p2)) * f = (x1,x2) --> ((p1 (*) f),(p2 (*) f))
proof
let x1, x2 be set ; ::_thesis: for C being Category
for p1, p2, f being Morphism of C st x1 <> x2 holds
((x1,x2) --> (p1,p2)) * f = (x1,x2) --> ((p1 (*) f),(p2 (*) f))
let C be Category; ::_thesis: for p1, p2, f being Morphism of C st x1 <> x2 holds
((x1,x2) --> (p1,p2)) * f = (x1,x2) --> ((p1 (*) f),(p2 (*) f))
let p1, p2, f be Morphism of C; ::_thesis: ( x1 <> x2 implies ((x1,x2) --> (p1,p2)) * f = (x1,x2) --> ((p1 (*) f),(p2 (*) f)) )
set F = (x1,x2) --> (p1,p2);
set F9 = (x1,x2) --> ((p1 (*) f),(p2 (*) f));
assume A1: x1 <> x2 ; ::_thesis: ((x1,x2) --> (p1,p2)) * f = (x1,x2) --> ((p1 (*) f),(p2 (*) f))
now__::_thesis:_for_x_being_set_st_x_in_{x1,x2}_holds_
(((x1,x2)_-->_(p1,p2))_*_f)_/._x_=_((x1,x2)_-->_((p1_(*)_f),(p2_(*)_f)))_/._x
let x be set ; ::_thesis: ( x in {x1,x2} implies (((x1,x2) --> (p1,p2)) * f) /. x = ((x1,x2) --> ((p1 (*) f),(p2 (*) f))) /. x )
assume A2: x in {x1,x2} ; ::_thesis: (((x1,x2) --> (p1,p2)) * f) /. x = ((x1,x2) --> ((p1 (*) f),(p2 (*) f))) /. x
then ( x = x1 or x = x2 ) by TARSKI:def_2;
then ( ( ((x1,x2) --> (p1,p2)) /. x = p1 & ((x1,x2) --> ((p1 (*) f),(p2 (*) f))) /. x = p1 (*) f ) or ( ((x1,x2) --> (p1,p2)) /. x = p2 & ((x1,x2) --> ((p1 (*) f),(p2 (*) f))) /. x = p2 (*) f ) ) by A1, Th3;
hence (((x1,x2) --> (p1,p2)) * f) /. x = ((x1,x2) --> ((p1 (*) f),(p2 (*) f))) /. x by A2, Def5; ::_thesis: verum
end;
hence ((x1,x2) --> (p1,p2)) * f = (x1,x2) --> ((p1 (*) f),(p2 (*) f)) by Th1; ::_thesis: verum
end;
theorem Th15: :: CAT_3:15
for x1, x2 being set
for C being Category
for f, p1, p2 being Morphism of C st x1 <> x2 holds
f * ((x1,x2) --> (p1,p2)) = (x1,x2) --> ((f (*) p1),(f (*) p2))
proof
let x1, x2 be set ; ::_thesis: for C being Category
for f, p1, p2 being Morphism of C st x1 <> x2 holds
f * ((x1,x2) --> (p1,p2)) = (x1,x2) --> ((f (*) p1),(f (*) p2))
let C be Category; ::_thesis: for f, p1, p2 being Morphism of C st x1 <> x2 holds
f * ((x1,x2) --> (p1,p2)) = (x1,x2) --> ((f (*) p1),(f (*) p2))
let f, p1, p2 be Morphism of C; ::_thesis: ( x1 <> x2 implies f * ((x1,x2) --> (p1,p2)) = (x1,x2) --> ((f (*) p1),(f (*) p2)) )
set F = (x1,x2) --> (p1,p2);
set F9 = (x1,x2) --> ((f (*) p1),(f (*) p2));
assume A1: x1 <> x2 ; ::_thesis: f * ((x1,x2) --> (p1,p2)) = (x1,x2) --> ((f (*) p1),(f (*) p2))
now__::_thesis:_for_x_being_set_st_x_in_{x1,x2}_holds_
(f_*_((x1,x2)_-->_(p1,p2)))_/._x_=_((x1,x2)_-->_((f_(*)_p1),(f_(*)_p2)))_/._x
let x be set ; ::_thesis: ( x in {x1,x2} implies (f * ((x1,x2) --> (p1,p2))) /. x = ((x1,x2) --> ((f (*) p1),(f (*) p2))) /. x )
assume A2: x in {x1,x2} ; ::_thesis: (f * ((x1,x2) --> (p1,p2))) /. x = ((x1,x2) --> ((f (*) p1),(f (*) p2))) /. x
then ( x = x1 or x = x2 ) by TARSKI:def_2;
then ( ( ((x1,x2) --> (p1,p2)) /. x = p1 & ((x1,x2) --> ((f (*) p1),(f (*) p2))) /. x = f (*) p1 ) or ( ((x1,x2) --> (p1,p2)) /. x = p2 & ((x1,x2) --> ((f (*) p1),(f (*) p2))) /. x = f (*) p2 ) ) by A1, Th3;
hence (f * ((x1,x2) --> (p1,p2))) /. x = ((x1,x2) --> ((f (*) p1),(f (*) p2))) /. x by A2, Def6; ::_thesis: verum
end;
hence f * ((x1,x2) --> (p1,p2)) = (x1,x2) --> ((f (*) p1),(f (*) p2)) by Th1; ::_thesis: verum
end;
theorem Th16: :: CAT_3:16
for I being set
for C being Category
for f being Morphism of C
for F being Function of I, the carrier' of C st doms F = I --> (cod f) holds
( doms (F * f) = I --> (dom f) & cods (F * f) = cods F )
proof
let I be set ; ::_thesis: for C being Category
for f being Morphism of C
for F being Function of I, the carrier' of C st doms F = I --> (cod f) holds
( doms (F * f) = I --> (dom f) & cods (F * f) = cods F )
let C be Category; ::_thesis: for f being Morphism of C
for F being Function of I, the carrier' of C st doms F = I --> (cod f) holds
( doms (F * f) = I --> (dom f) & cods (F * f) = cods F )
let f be Morphism of C; ::_thesis: for F being Function of I, the carrier' of C st doms F = I --> (cod f) holds
( doms (F * f) = I --> (dom f) & cods (F * f) = cods F )
let F be Function of I, the carrier' of C; ::_thesis: ( doms F = I --> (cod f) implies ( doms (F * f) = I --> (dom f) & cods (F * f) = cods F ) )
assume A1: doms F = I --> (cod f) ; ::_thesis: ( doms (F * f) = I --> (dom f) & cods (F * f) = cods F )
now__::_thesis:_for_x_being_set_st_x_in_I_holds_
(doms_(F_*_f))_/._x_=_(I_-->_(dom_f))_/._x
let x be set ; ::_thesis: ( x in I implies (doms (F * f)) /. x = (I --> (dom f)) /. x )
assume A2: x in I ; ::_thesis: (doms (F * f)) /. x = (I --> (dom f)) /. x
then A3: dom (F /. x) = (I --> (cod f)) /. x by A1, Def1
.= cod f by A2, Th2 ;
thus (doms (F * f)) /. x = dom ((F * f) /. x) by A2, Def1
.= dom ((F /. x) (*) f) by A2, Def5
.= dom f by A3, CAT_1:17
.= (I --> (dom f)) /. x by A2, Th2 ; ::_thesis: verum
end;
hence doms (F * f) = I --> (dom f) by Th1; ::_thesis: cods (F * f) = cods F
now__::_thesis:_for_x_being_set_st_x_in_I_holds_
(cods_F)_/._x_=_(cods_(F_*_f))_/._x
let x be set ; ::_thesis: ( x in I implies (cods F) /. x = (cods (F * f)) /. x )
assume A4: x in I ; ::_thesis: (cods F) /. x = (cods (F * f)) /. x
then A5: dom (F /. x) = (I --> (cod f)) /. x by A1, Def1
.= cod f by A4, Th2 ;
thus (cods F) /. x = cod (F /. x) by A4, Def2
.= cod ((F /. x) (*) f) by A5, CAT_1:17
.= cod ((F * f) /. x) by A4, Def5
.= (cods (F * f)) /. x by A4, Def2 ; ::_thesis: verum
end;
hence cods (F * f) = cods F by Th1; ::_thesis: verum
end;
theorem Th17: :: CAT_3:17
for I being set
for C being Category
for f being Morphism of C
for F being Function of I, the carrier' of C st cods F = I --> (dom f) holds
( doms (f * F) = doms F & cods (f * F) = I --> (cod f) )
proof
let I be set ; ::_thesis: for C being Category
for f being Morphism of C
for F being Function of I, the carrier' of C st cods F = I --> (dom f) holds
( doms (f * F) = doms F & cods (f * F) = I --> (cod f) )
let C be Category; ::_thesis: for f being Morphism of C
for F being Function of I, the carrier' of C st cods F = I --> (dom f) holds
( doms (f * F) = doms F & cods (f * F) = I --> (cod f) )
let f be Morphism of C; ::_thesis: for F being Function of I, the carrier' of C st cods F = I --> (dom f) holds
( doms (f * F) = doms F & cods (f * F) = I --> (cod f) )
let F be Function of I, the carrier' of C; ::_thesis: ( cods F = I --> (dom f) implies ( doms (f * F) = doms F & cods (f * F) = I --> (cod f) ) )
assume A1: cods F = I --> (dom f) ; ::_thesis: ( doms (f * F) = doms F & cods (f * F) = I --> (cod f) )
now__::_thesis:_for_x_being_set_st_x_in_I_holds_
(doms_F)_/._x_=_(doms_(f_*_F))_/._x
let x be set ; ::_thesis: ( x in I implies (doms F) /. x = (doms (f * F)) /. x )
assume A2: x in I ; ::_thesis: (doms F) /. x = (doms (f * F)) /. x
then A3: cod (F /. x) = (I --> (dom f)) /. x by A1, Def2
.= dom f by A2, Th2 ;
thus (doms F) /. x = dom (F /. x) by A2, Def1
.= dom (f (*) (F /. x)) by A3, CAT_1:17
.= dom ((f * F) /. x) by A2, Def6
.= (doms (f * F)) /. x by A2, Def1 ; ::_thesis: verum
end;
hence doms (f * F) = doms F by Th1; ::_thesis: cods (f * F) = I --> (cod f)
now__::_thesis:_for_x_being_set_st_x_in_I_holds_
(cods_(f_*_F))_/._x_=_(I_-->_(cod_f))_/._x
let x be set ; ::_thesis: ( x in I implies (cods (f * F)) /. x = (I --> (cod f)) /. x )
assume A4: x in I ; ::_thesis: (cods (f * F)) /. x = (I --> (cod f)) /. x
then A5: cod (F /. x) = (I --> (dom f)) /. x by A1, Def2
.= dom f by A4, Th2 ;
thus (cods (f * F)) /. x = cod ((f * F) /. x) by A4, Def2
.= cod (f (*) (F /. x)) by A4, Def6
.= cod f by A5, CAT_1:17
.= (I --> (cod f)) /. x by A4, Th2 ; ::_thesis: verum
end;
hence cods (f * F) = I --> (cod f) by Th1; ::_thesis: verum
end;
definition
let C be Category;
let I be set ;
let F, G be Function of I, the carrier' of C;
funcF "*" G -> Function of I, the carrier' of C means :Def7: :: CAT_3:def 7
for x being set st x in I holds
it /. x = (F /. x) (*) (G /. x);
correctness
existence
ex b1 being Function of I, the carrier' of C st
for x being set st x in I holds
b1 /. x = (F /. x) (*) (G /. x);
uniqueness
for b1, b2 being Function of I, the carrier' of C st ( for x being set st x in I holds
b1 /. x = (F /. x) (*) (G /. x) ) & ( for x being set st x in I holds
b2 /. x = (F /. x) (*) (G /. x) ) holds
b1 = b2;
proof
deffunc H1( set ) -> Element of the carrier' of C = (F /. $1) (*) (G /. $1);
set A = the carrier' of C;
thus ( ex F being Function of I, the carrier' of C st
for x being set st x in I holds
F /. x = H1(x) & ( for F1, F2 being Function of I, the carrier' of C st ( for x being set st x in I holds
F1 /. x = H1(x) ) & ( for x being set st x in I holds
F2 /. x = H1(x) ) holds
F1 = F2 ) ) from CAT_3:sch_2(); ::_thesis: verum
end;
end;
:: deftheorem Def7 defines "*" CAT_3:def_7_:_
for C being Category
for I being set
for F, G, b5 being Function of I, the carrier' of C holds
( b5 = F "*" G iff for x being set st x in I holds
b5 /. x = (F /. x) (*) (G /. x) );
theorem Th18: :: CAT_3:18
for I being set
for C being Category
for F, G being Function of I, the carrier' of C st doms F = cods G holds
( doms (F "*" G) = doms G & cods (F "*" G) = cods F )
proof
let I be set ; ::_thesis: for C being Category
for F, G being Function of I, the carrier' of C st doms F = cods G holds
( doms (F "*" G) = doms G & cods (F "*" G) = cods F )
let C be Category; ::_thesis: for F, G being Function of I, the carrier' of C st doms F = cods G holds
( doms (F "*" G) = doms G & cods (F "*" G) = cods F )
let F, G be Function of I, the carrier' of C; ::_thesis: ( doms F = cods G implies ( doms (F "*" G) = doms G & cods (F "*" G) = cods F ) )
assume A1: doms F = cods G ; ::_thesis: ( doms (F "*" G) = doms G & cods (F "*" G) = cods F )
now__::_thesis:_for_x_being_set_st_x_in_I_holds_
(doms_(F_"*"_G))_/._x_=_(doms_G)_/._x
let x be set ; ::_thesis: ( x in I implies (doms (F "*" G)) /. x = (doms G) /. x )
assume A2: x in I ; ::_thesis: (doms (F "*" G)) /. x = (doms G) /. x
then A3: cod (G /. x) = (doms F) /. x by A1, Def2
.= dom (F /. x) by A2, Def1 ;
thus (doms (F "*" G)) /. x = dom ((F "*" G) /. x) by A2, Def1
.= dom ((F /. x) (*) (G /. x)) by A2, Def7
.= dom (G /. x) by A3, CAT_1:17
.= (doms G) /. x by A2, Def1 ; ::_thesis: verum
end;
hence doms (F "*" G) = doms G by Th1; ::_thesis: cods (F "*" G) = cods F
now__::_thesis:_for_x_being_set_st_x_in_I_holds_
(cods_(F_"*"_G))_/._x_=_(cods_F)_/._x
let x be set ; ::_thesis: ( x in I implies (cods (F "*" G)) /. x = (cods F) /. x )
assume A4: x in I ; ::_thesis: (cods (F "*" G)) /. x = (cods F) /. x
then A5: cod (G /. x) = (doms F) /. x by A1, Def2
.= dom (F /. x) by A4, Def1 ;
thus (cods (F "*" G)) /. x = cod ((F "*" G) /. x) by A4, Def2
.= cod ((F /. x) (*) (G /. x)) by A4, Def7
.= cod (F /. x) by A5, CAT_1:17
.= (cods F) /. x by A4, Def2 ; ::_thesis: verum
end;
hence cods (F "*" G) = cods F by Th1; ::_thesis: verum
end;
theorem :: CAT_3:19
for x1, x2 being set
for C being Category
for p1, p2, q1, q2 being Morphism of C st x1 <> x2 holds
((x1,x2) --> (p1,p2)) "*" ((x1,x2) --> (q1,q2)) = (x1,x2) --> ((p1 (*) q1),(p2 (*) q2))
proof
let x1, x2 be set ; ::_thesis: for C being Category
for p1, p2, q1, q2 being Morphism of C st x1 <> x2 holds
((x1,x2) --> (p1,p2)) "*" ((x1,x2) --> (q1,q2)) = (x1,x2) --> ((p1 (*) q1),(p2 (*) q2))
let C be Category; ::_thesis: for p1, p2, q1, q2 being Morphism of C st x1 <> x2 holds
((x1,x2) --> (p1,p2)) "*" ((x1,x2) --> (q1,q2)) = (x1,x2) --> ((p1 (*) q1),(p2 (*) q2))
let p1, p2, q1, q2 be Morphism of C; ::_thesis: ( x1 <> x2 implies ((x1,x2) --> (p1,p2)) "*" ((x1,x2) --> (q1,q2)) = (x1,x2) --> ((p1 (*) q1),(p2 (*) q2)) )
set F1 = (x1,x2) --> (p1,p2);
set F2 = (x1,x2) --> (q1,q2);
set G = (x1,x2) --> ((p1 (*) q1),(p2 (*) q2));
assume A1: x1 <> x2 ; ::_thesis: ((x1,x2) --> (p1,p2)) "*" ((x1,x2) --> (q1,q2)) = (x1,x2) --> ((p1 (*) q1),(p2 (*) q2))
now__::_thesis:_for_x_being_set_st_x_in_{x1,x2}_holds_
(((x1,x2)_-->_(p1,p2))_"*"_((x1,x2)_-->_(q1,q2)))_/._x_=_((x1,x2)_-->_((p1_(*)_q1),(p2_(*)_q2)))_/._x
let x be set ; ::_thesis: ( x in {x1,x2} implies (((x1,x2) --> (p1,p2)) "*" ((x1,x2) --> (q1,q2))) /. x = ((x1,x2) --> ((p1 (*) q1),(p2 (*) q2))) /. x )
assume A2: x in {x1,x2} ; ::_thesis: (((x1,x2) --> (p1,p2)) "*" ((x1,x2) --> (q1,q2))) /. x = ((x1,x2) --> ((p1 (*) q1),(p2 (*) q2))) /. x
then ( x = x1 or x = x2 ) by TARSKI:def_2;
then ( ( ((x1,x2) --> (p1,p2)) /. x = p1 & ((x1,x2) --> (q1,q2)) /. x = q1 & ((x1,x2) --> ((p1 (*) q1),(p2 (*) q2))) /. x = p1 (*) q1 ) or ( ((x1,x2) --> (p1,p2)) /. x = p2 & ((x1,x2) --> (q1,q2)) /. x = q2 & ((x1,x2) --> ((p1 (*) q1),(p2 (*) q2))) /. x = p2 (*) q2 ) ) by A1, Th3;
hence (((x1,x2) --> (p1,p2)) "*" ((x1,x2) --> (q1,q2))) /. x = ((x1,x2) --> ((p1 (*) q1),(p2 (*) q2))) /. x by A2, Def7; ::_thesis: verum
end;
hence ((x1,x2) --> (p1,p2)) "*" ((x1,x2) --> (q1,q2)) = (x1,x2) --> ((p1 (*) q1),(p2 (*) q2)) by Th1; ::_thesis: verum
end;
theorem :: CAT_3:20
for I being set
for C being Category
for f being Morphism of C
for F being Function of I, the carrier' of C holds F * f = F "*" (I --> f)
proof
let I be set ; ::_thesis: for C being Category
for f being Morphism of C
for F being Function of I, the carrier' of C holds F * f = F "*" (I --> f)
let C be Category; ::_thesis: for f being Morphism of C
for F being Function of I, the carrier' of C holds F * f = F "*" (I --> f)
let f be Morphism of C; ::_thesis: for F being Function of I, the carrier' of C holds F * f = F "*" (I --> f)
let F be Function of I, the carrier' of C; ::_thesis: F * f = F "*" (I --> f)
now__::_thesis:_for_x_being_set_st_x_in_I_holds_
(F_*_f)_/._x_=_(F_"*"_(I_-->_f))_/._x
let x be set ; ::_thesis: ( x in I implies (F * f) /. x = (F "*" (I --> f)) /. x )
assume A1: x in I ; ::_thesis: (F * f) /. x = (F "*" (I --> f)) /. x
hence (F * f) /. x = (F /. x) (*) f by Def5
.= (F /. x) (*) ((I --> f) /. x) by A1, Th2
.= (F "*" (I --> f)) /. x by A1, Def7 ;
::_thesis: verum
end;
hence F * f = F "*" (I --> f) by Th1; ::_thesis: verum
end;
theorem :: CAT_3:21
for I being set
for C being Category
for f being Morphism of C
for F being Function of I, the carrier' of C holds f * F = (I --> f) "*" F
proof
let I be set ; ::_thesis: for C being Category
for f being Morphism of C
for F being Function of I, the carrier' of C holds f * F = (I --> f) "*" F
let C be Category; ::_thesis: for f being Morphism of C
for F being Function of I, the carrier' of C holds f * F = (I --> f) "*" F
let f be Morphism of C; ::_thesis: for F being Function of I, the carrier' of C holds f * F = (I --> f) "*" F
let F be Function of I, the carrier' of C; ::_thesis: f * F = (I --> f) "*" F
now__::_thesis:_for_x_being_set_st_x_in_I_holds_
(f_*_F)_/._x_=_((I_-->_f)_"*"_F)_/._x
let x be set ; ::_thesis: ( x in I implies (f * F) /. x = ((I --> f) "*" F) /. x )
assume A1: x in I ; ::_thesis: (f * F) /. x = ((I --> f) "*" F) /. x
hence (f * F) /. x = f (*) (F /. x) by Def6
.= ((I --> f) /. x) (*) (F /. x) by A1, Th2
.= ((I --> f) "*" F) /. x by A1, Def7 ;
::_thesis: verum
end;
hence f * F = (I --> f) "*" F by Th1; ::_thesis: verum
end;
begin
definition
let C be Category;
let a, b be Object of C;
let IT be Morphism of a,b;
attrIT is retraction means :Def8: :: CAT_3:def 8
( Hom (a,b) <> {} & Hom (b,a) <> {} & ex g being Morphism of b,a st IT * g = id b );
attrIT is coretraction means :Def9: :: CAT_3:def 9
( Hom (a,b) <> {} & Hom (b,a) <> {} & ex g being Morphism of b,a st g * IT = id a );
end;
:: deftheorem Def8 defines retraction CAT_3:def_8_:_
for C being Category
for a, b being Object of C
for IT being Morphism of a,b holds
( IT is retraction iff ( Hom (a,b) <> {} & Hom (b,a) <> {} & ex g being Morphism of b,a st IT * g = id b ) );
:: deftheorem Def9 defines coretraction CAT_3:def_9_:_
for C being Category
for a, b being Object of C
for IT being Morphism of a,b holds
( IT is coretraction iff ( Hom (a,b) <> {} & Hom (b,a) <> {} & ex g being Morphism of b,a st g * IT = id a ) );
theorem Th22: :: CAT_3:22
for C being Category
for a, b being Object of C
for f being Morphism of a,b st f is retraction holds
f is epi
proof
let C be Category; ::_thesis: for a, b being Object of C
for f being Morphism of a,b st f is retraction holds
f is epi
let a, b be Object of C; ::_thesis: for f being Morphism of a,b st f is retraction holds
f is epi
let f be Morphism of a,b; ::_thesis: ( f is retraction implies f is epi )
assume A1: ( Hom (a,b) <> {} & Hom (b,a) <> {} ) ; :: according to CAT_3:def_8 ::_thesis: ( for g being Morphism of b,a holds not f * g = id b or f is epi )
given g being Morphism of b,a such that A2: f * g = id b ; ::_thesis: f is epi
thus Hom (a,b) <> {} by A1; :: according to CAT_1:def_15 ::_thesis: for b1 being Element of the carrier of C holds
( Hom (b,b1) = {} or for b2, b3 being Morphism of b,b1 holds
( not b2 * f = b3 * f or b2 = b3 ) )
let c be Object of C; ::_thesis: ( Hom (b,c) = {} or for b1, b2 being Morphism of b,c holds
( not b1 * f = b2 * f or b1 = b2 ) )
assume A3: Hom (b,c) <> {} ; ::_thesis: for b1, b2 being Morphism of b,c holds
( not b1 * f = b2 * f or b1 = b2 )
let p1, p2 be Morphism of b,c; ::_thesis: ( not p1 * f = p2 * f or p1 = p2 )
assume A4: p1 * f = p2 * f ; ::_thesis: p1 = p2
thus p1 = p1 * (f * g) by A3, A2, CAT_1:29
.= (p2 * f) * g by A3, A1, A4, CAT_1:25
.= p2 * (f * g) by A3, A1, CAT_1:25
.= p2 by A3, A2, CAT_1:29 ; ::_thesis: verum
end;
theorem :: CAT_3:23
for C being Category
for a, b being Object of C
for f being Morphism of a,b st f is coretraction holds
f is monic
proof
let C be Category; ::_thesis: for a, b being Object of C
for f being Morphism of a,b st f is coretraction holds
f is monic
let a, b be Object of C; ::_thesis: for f being Morphism of a,b st f is coretraction holds
f is monic
let f be Morphism of a,b; ::_thesis: ( f is coretraction implies f is monic )
assume A1: ( Hom (a,b) <> {} & Hom (b,a) <> {} ) ; :: according to CAT_3:def_9 ::_thesis: ( for g being Morphism of b,a holds not g * f = id a or f is monic )
given g being Morphism of b,a such that A2: g * f = id a ; ::_thesis: f is monic
thus Hom (a,b) <> {} by A1; :: according to CAT_1:def_14 ::_thesis: for b1 being Element of the carrier of C holds
( Hom (b1,a) = {} or for b2, b3 being Morphism of b1,a holds
( not f * b2 = f * b3 or b2 = b3 ) )
let c be Object of C; ::_thesis: ( Hom (c,a) = {} or for b1, b2 being Morphism of c,a holds
( not f * b1 = f * b2 or b1 = b2 ) )
assume A3: Hom (c,a) <> {} ; ::_thesis: for b1, b2 being Morphism of c,a holds
( not f * b1 = f * b2 or b1 = b2 )
let p1, p2 be Morphism of c,a; ::_thesis: ( not f * p1 = f * p2 or p1 = p2 )
assume A4: f * p1 = f * p2 ; ::_thesis: p1 = p2
thus p1 = (g * f) * p1 by A3, A2, CAT_1:28
.= g * (f * p2) by A3, A1, A4, CAT_1:25
.= (g * f) * p2 by A3, A1, CAT_1:25
.= p2 by A3, A2, CAT_1:28 ; ::_thesis: verum
end;
theorem :: CAT_3:24
for C being Category
for a, b, c being Object of C
for f being Morphism of a,b
for g being Morphism of b,c st f is retraction & g is retraction holds
g * f is retraction
proof
let C be Category; ::_thesis: for a, b, c being Object of C
for f being Morphism of a,b
for g being Morphism of b,c st f is retraction & g is retraction holds
g * f is retraction
let a, b, c be Object of C; ::_thesis: for f being Morphism of a,b
for g being Morphism of b,c st f is retraction & g is retraction holds
g * f is retraction
let f be Morphism of a,b; ::_thesis: for g being Morphism of b,c st f is retraction & g is retraction holds
g * f is retraction
let g be Morphism of b,c; ::_thesis: ( f is retraction & g is retraction implies g * f is retraction )
assume A1: ( Hom (a,b) <> {} & Hom (b,a) <> {} ) ; :: according to CAT_3:def_8 ::_thesis: ( for g being Morphism of b,a holds not f * g = id b or not g is retraction or g * f is retraction )
given i being Morphism of b,a such that A2: f * i = id b ; ::_thesis: ( not g is retraction or g * f is retraction )
assume A3: ( Hom (b,c) <> {} & Hom (c,b) <> {} ) ; :: according to CAT_3:def_8 ::_thesis: ( for g being Morphism of c,b holds not g * g = id c or g * f is retraction )
given j being Morphism of c,b such that A4: g * j = id c ; ::_thesis: g * f is retraction
thus A5: ( Hom (a,c) <> {} & Hom (c,a) <> {} ) by A1, A3, CAT_1:24; :: according to CAT_3:def_8 ::_thesis: ex g being Morphism of c,a st (g * f) * g = id c
take i * j ; ::_thesis: (g * f) * (i * j) = id c
thus (g * f) * (i * j) = g * (f * (i * j)) by A1, A3, A5, CAT_1:25
.= g * ((f * i) * j) by A1, A3, CAT_1:25
.= id c by A2, A3, A4, CAT_1:28 ; ::_thesis: verum
end;
theorem :: CAT_3:25
for C being Category
for a, b, c being Object of C
for f being Morphism of a,b
for g being Morphism of b,c st f is coretraction & g is coretraction holds
g * f is coretraction
proof
let C be Category; ::_thesis: for a, b, c being Object of C
for f being Morphism of a,b
for g being Morphism of b,c st f is coretraction & g is coretraction holds
g * f is coretraction
let a, b, c be Object of C; ::_thesis: for f being Morphism of a,b
for g being Morphism of b,c st f is coretraction & g is coretraction holds
g * f is coretraction
let f be Morphism of a,b; ::_thesis: for g being Morphism of b,c st f is coretraction & g is coretraction holds
g * f is coretraction
let g be Morphism of b,c; ::_thesis: ( f is coretraction & g is coretraction implies g * f is coretraction )
assume A1: ( Hom (a,b) <> {} & Hom (b,a) <> {} ) ; :: according to CAT_3:def_9 ::_thesis: ( for g being Morphism of b,a holds not g * f = id a or not g is coretraction or g * f is coretraction )
given i being Morphism of b,a such that A2: i * f = id a ; ::_thesis: ( not g is coretraction or g * f is coretraction )
assume A3: ( Hom (b,c) <> {} & Hom (c,b) <> {} ) ; :: according to CAT_3:def_9 ::_thesis: ( for g being Morphism of c,b holds not g * g = id b or g * f is coretraction )
given j being Morphism of c,b such that A4: j * g = id b ; ::_thesis: g * f is coretraction
thus A5: ( Hom (a,c) <> {} & Hom (c,a) <> {} ) by A1, A3, CAT_1:24; :: according to CAT_3:def_9 ::_thesis: ex g being Morphism of c,a st g * (g * f) = id a
take i * j ; ::_thesis: (i * j) * (g * f) = id a
thus (i * j) * (g * f) = i * (j * (g * f)) by A1, A3, A5, CAT_1:25
.= i * ((j * g) * f) by A1, A3, CAT_1:25
.= id a by A1, A2, A4, CAT_1:28 ; ::_thesis: verum
end;
theorem :: CAT_3:26
for C being Category
for c, a, b being Object of C
for f being Morphism of a,b
for g being Morphism of b,c st Hom (a,b) <> {} & Hom (b,a) <> {} & g * f is retraction holds
g is retraction
proof
let C be Category; ::_thesis: for c, a, b being Object of C
for f being Morphism of a,b
for g being Morphism of b,c st Hom (a,b) <> {} & Hom (b,a) <> {} & g * f is retraction holds
g is retraction
let c, a, b be Object of C; ::_thesis: for f being Morphism of a,b
for g being Morphism of b,c st Hom (a,b) <> {} & Hom (b,a) <> {} & g * f is retraction holds
g is retraction
let f be Morphism of a,b; ::_thesis: for g being Morphism of b,c st Hom (a,b) <> {} & Hom (b,a) <> {} & g * f is retraction holds
g is retraction
let g be Morphism of b,c; ::_thesis: ( Hom (a,b) <> {} & Hom (b,a) <> {} & g * f is retraction implies g is retraction )
assume A1: ( Hom (a,b) <> {} & Hom (b,a) <> {} ) ; ::_thesis: ( not g * f is retraction or g is retraction )
assume A2: ( Hom (a,c) <> {} & Hom (c,a) <> {} ) ; :: according to CAT_3:def_8 ::_thesis: ( for g being Morphism of c,a holds not (g * f) * g = id c or g is retraction )
given i being Morphism of c,a such that A3: (g * f) * i = id c ; ::_thesis: g is retraction
thus A4: ( Hom (b,c) <> {} & Hom (c,b) <> {} ) by A2, A1, CAT_1:24; :: according to CAT_3:def_8 ::_thesis: ex g being Morphism of c,b st g * g = id c
take f * i ; ::_thesis: g * (f * i) = id c
thus g * (f * i) = id c by A2, A3, A4, A1, CAT_1:25; ::_thesis: verum
end;
theorem :: CAT_3:27
for C being Category
for a, b, c being Object of C
for f being Morphism of a,b
for g being Morphism of b,c st Hom (b,c) <> {} & Hom (c,b) <> {} & g * f is coretraction holds
f is coretraction
proof
let C be Category; ::_thesis: for a, b, c being Object of C
for f being Morphism of a,b
for g being Morphism of b,c st Hom (b,c) <> {} & Hom (c,b) <> {} & g * f is coretraction holds
f is coretraction
let a, b, c be Object of C; ::_thesis: for f being Morphism of a,b
for g being Morphism of b,c st Hom (b,c) <> {} & Hom (c,b) <> {} & g * f is coretraction holds
f is coretraction
let f be Morphism of a,b; ::_thesis: for g being Morphism of b,c st Hom (b,c) <> {} & Hom (c,b) <> {} & g * f is coretraction holds
f is coretraction
let g be Morphism of b,c; ::_thesis: ( Hom (b,c) <> {} & Hom (c,b) <> {} & g * f is coretraction implies f is coretraction )
assume A1: ( Hom (b,c) <> {} & Hom (c,b) <> {} ) ; ::_thesis: ( not g * f is coretraction or f is coretraction )
assume A2: ( Hom (a,c) <> {} & Hom (c,a) <> {} ) ; :: according to CAT_3:def_9 ::_thesis: ( for g being Morphism of c,a holds not g * (g * f) = id a or f is coretraction )
given i being Morphism of c,a such that A3: i * (g * f) = id a ; ::_thesis: f is coretraction
thus A4: ( Hom (a,b) <> {} & Hom (b,a) <> {} ) by A1, A2, CAT_1:24; :: according to CAT_3:def_9 ::_thesis: ex g being Morphism of b,a st g * f = id a
take i * g ; ::_thesis: (i * g) * f = id a
thus (i * g) * f = id a by A4, A1, A2, A3, CAT_1:25; ::_thesis: verum
end;
theorem :: CAT_3:28
for C being Category
for a, b being Object of C
for f being Morphism of a,b st f is retraction & f is monic holds
f is invertible
proof
let C be Category; ::_thesis: for a, b being Object of C
for f being Morphism of a,b st f is retraction & f is monic holds
f is invertible
let a, b be Object of C; ::_thesis: for f being Morphism of a,b st f is retraction & f is monic holds
f is invertible
let f be Morphism of a,b; ::_thesis: ( f is retraction & f is monic implies f is invertible )
assume A1: ( Hom (a,b) <> {} & Hom (b,a) <> {} ) ; :: according to CAT_3:def_8 ::_thesis: ( for g being Morphism of b,a holds not f * g = id b or not f is monic or f is invertible )
given i being Morphism of b,a such that A2: f * i = id b ; ::_thesis: ( not f is monic or f is invertible )
assume A3: f is monic ; ::_thesis: f is invertible
thus ( Hom (a,b) <> {} & Hom (b,a) <> {} ) by A1; :: according to CAT_1:def_16 ::_thesis: ex b1 being Morphism of b,a st
( f * b1 = id b & b1 * f = id a )
take i ; ::_thesis: ( f * i = id b & i * f = id a )
thus f * i = id b by A2; ::_thesis: i * f = id a
A4: f * (i * f) = (id b) * f by A1, A2, CAT_1:25
.= f by A1, CAT_1:28
.= f * (id a) by A1, CAT_1:29 ;
Hom (a,a) <> {} ;
hence i * f = id a by A3, A4, CAT_1:def_14; ::_thesis: verum
end;
theorem Th29: :: CAT_3:29
for C being Category
for a, b being Object of C
for f being Morphism of a,b st f is coretraction & f is epi holds
f is invertible
proof
let C be Category; ::_thesis: for a, b being Object of C
for f being Morphism of a,b st f is coretraction & f is epi holds
f is invertible
let a, b be Object of C; ::_thesis: for f being Morphism of a,b st f is coretraction & f is epi holds
f is invertible
let f be Morphism of a,b; ::_thesis: ( f is coretraction & f is epi implies f is invertible )
assume A1: ( Hom (a,b) <> {} & Hom (b,a) <> {} ) ; :: according to CAT_3:def_9 ::_thesis: ( for g being Morphism of b,a holds not g * f = id a or not f is epi or f is invertible )
given i being Morphism of b,a such that A2: i * f = id a ; ::_thesis: ( not f is epi or f is invertible )
assume A3: f is epi ; ::_thesis: f is invertible
thus ( Hom (a,b) <> {} & Hom (b,a) <> {} ) by A1; :: according to CAT_1:def_16 ::_thesis: ex b1 being Morphism of b,a st
( f * b1 = id b & b1 * f = id a )
take i ; ::_thesis: ( f * i = id b & i * f = id a )
A4: (f * i) * f = f * (id a) by A1, A2, CAT_1:25
.= f by A1, CAT_1:29
.= (id b) * f by A1, CAT_1:28 ;
Hom (b,b) <> {} ;
hence f * i = id b by A3, A4, CAT_1:def_15; ::_thesis: i * f = id a
thus i * f = id a by A2; ::_thesis: verum
end;
theorem :: CAT_3:30
for C being Category
for a, b being Object of C
for f being Morphism of a,b holds
( f is invertible iff ( f is retraction & f is coretraction ) )
proof
let C be Category; ::_thesis: for a, b being Object of C
for f being Morphism of a,b holds
( f is invertible iff ( f is retraction & f is coretraction ) )
let a, b be Object of C; ::_thesis: for f being Morphism of a,b holds
( f is invertible iff ( f is retraction & f is coretraction ) )
let f be Morphism of a,b; ::_thesis: ( f is invertible iff ( f is retraction & f is coretraction ) )
thus ( f is invertible implies ( f is retraction & f is coretraction ) ) ::_thesis: ( f is retraction & f is coretraction implies f is invertible )
proof
assume A1: ( Hom (a,b) <> {} & Hom (b,a) <> {} ) ; :: according to CAT_1:def_16 ::_thesis: ( for b1 being Morphism of b,a holds
( not f * b1 = id b or not b1 * f = id a ) or ( f is retraction & f is coretraction ) )
assume ex g being Morphism of b,a st
( f * g = id b & g * f = id a ) ; ::_thesis: ( f is retraction & f is coretraction )
hence ( f is retraction & f is coretraction ) by A1, Def8, Def9; ::_thesis: verum
end;
assume f is retraction ; ::_thesis: ( not f is coretraction or f is invertible )
hence ( not f is coretraction or f is invertible ) by Th22, Th29; ::_thesis: verum
end;
definition
let C be Category;
let a, b be Object of C;
assume Z: Hom (a,b) <> {} ;
let D be Category;
let T be Functor of C,D;
let f be Morphism of a,b;
funcT /. f -> Morphism of T . a,T . b equals :Def10: :: CAT_3:def 10
T . f;
coherence
T . f is Morphism of T . a,T . b
proof
f in Hom (a,b) by Z, CAT_1:def_5;
then T . f in Hom ((T . a),(T . b)) by CAT_1:81;
hence T . f is Morphism of T . a,T . b by CAT_1:def_5; ::_thesis: verum
end;
end;
:: deftheorem Def10 defines /. CAT_3:def_10_:_
for C being Category
for a, b being Object of C st Hom (a,b) <> {} holds
for D being Category
for T being Functor of C,D
for f being Morphism of a,b holds T /. f = T . f;
Lm1: for C, D being Category
for T being Functor of C,D
for a, b, c being Object of C st Hom (a,b) <> {} & Hom (b,c) <> {} holds
for f being Morphism of a,b
for g being Morphism of b,c holds T /. (g * f) = (T /. g) * (T /. f)
proof
let C, D be Category; ::_thesis: for T being Functor of C,D
for a, b, c being Object of C st Hom (a,b) <> {} & Hom (b,c) <> {} holds
for f being Morphism of a,b
for g being Morphism of b,c holds T /. (g * f) = (T /. g) * (T /. f)
let T be Functor of C,D; ::_thesis: for a, b, c being Object of C st Hom (a,b) <> {} & Hom (b,c) <> {} holds
for f being Morphism of a,b
for g being Morphism of b,c holds T /. (g * f) = (T /. g) * (T /. f)
let a, b, c be Object of C; ::_thesis: ( Hom (a,b) <> {} & Hom (b,c) <> {} implies for f being Morphism of a,b
for g being Morphism of b,c holds T /. (g * f) = (T /. g) * (T /. f) )
assume A1: ( Hom (a,b) <> {} & Hom (b,c) <> {} ) ; ::_thesis: for f being Morphism of a,b
for g being Morphism of b,c holds T /. (g * f) = (T /. g) * (T /. f)
let f be Morphism of a,b; ::_thesis: for g being Morphism of b,c holds T /. (g * f) = (T /. g) * (T /. f)
let g be Morphism of b,c; ::_thesis: T /. (g * f) = (T /. g) * (T /. f)
A2: cod f = b by A1, CAT_1:5
.= dom g by A1, CAT_1:5 ;
reconsider gg = g, ff = f as Morphism of C ;
A3: Hom (a,c) <> {} by A1, CAT_1:24;
A4: T /. g = T . gg by Def10, A1;
A5: T /. f = T . ff by Def10, A1;
A6: ( Hom ((T . a),(T . b)) <> {} & Hom ((T . b),(T . c)) <> {} ) by A1, CAT_1:84;
g * f = gg (*) ff by A1, CAT_1:def_13;
hence T /. (g * f) = T . (gg (*) ff) by Def10, A3
.= (T . gg) (*) (T . ff) by A2, CAT_1:64
.= (T /. g) * (T /. f) by A6, A4, A5, CAT_1:def_13 ;
::_thesis: verum
end;
Lm2: for C, D being Category
for T being Functor of C,D
for c being Object of C holds T /. (id c) = id (T . c)
proof
let C, D be Category; ::_thesis: for T being Functor of C,D
for c being Object of C holds T /. (id c) = id (T . c)
let T be Functor of C,D; ::_thesis: for c being Object of C holds T /. (id c) = id (T . c)
let c be Object of C; ::_thesis: T /. (id c) = id (T . c)
Hom (c,c) <> {} ;
hence T /. (id c) = T . (id c) by Def10
.= id (T . c) by CAT_1:71 ;
::_thesis: verum
end;
theorem :: CAT_3:31
for C, D being Category
for a, b being Object of C
for f being Morphism of a,b
for T being Functor of C,D st f is retraction holds
T /. f is retraction
proof
let C, D be Category; ::_thesis: for a, b being Object of C
for f being Morphism of a,b
for T being Functor of C,D st f is retraction holds
T /. f is retraction
let a, b be Object of C; ::_thesis: for f being Morphism of a,b
for T being Functor of C,D st f is retraction holds
T /. f is retraction
let f be Morphism of a,b; ::_thesis: for T being Functor of C,D st f is retraction holds
T /. f is retraction
let T be Functor of C,D; ::_thesis: ( f is retraction implies T /. f is retraction )
assume A1: ( Hom (a,b) <> {} & Hom (b,a) <> {} ) ; :: according to CAT_3:def_8 ::_thesis: ( for g being Morphism of b,a holds not f * g = id b or T /. f is retraction )
given i being Morphism of b,a such that A2: f * i = id b ; ::_thesis: T /. f is retraction
thus ( Hom ((T . a),(T . b)) <> {} & Hom ((T . b),(T . a)) <> {} ) by A1, CAT_1:84; :: according to CAT_3:def_8 ::_thesis: ex g being Morphism of T . b,T . a st (T /. f) * g = id (T . b)
take T /. i ; ::_thesis: (T /. f) * (T /. i) = id (T . b)
thus (T /. f) * (T /. i) = T /. (id b) by A1, A2, Lm1
.= id (T . b) by Lm2 ; ::_thesis: verum
end;
theorem :: CAT_3:32
for C, D being Category
for a, b being Object of C
for f being Morphism of a,b
for T being Functor of C,D st f is coretraction holds
T /. f is coretraction
proof
let C, D be Category; ::_thesis: for a, b being Object of C
for f being Morphism of a,b
for T being Functor of C,D st f is coretraction holds
T /. f is coretraction
let a, b be Object of C; ::_thesis: for f being Morphism of a,b
for T being Functor of C,D st f is coretraction holds
T /. f is coretraction
let f be Morphism of a,b; ::_thesis: for T being Functor of C,D st f is coretraction holds
T /. f is coretraction
let T be Functor of C,D; ::_thesis: ( f is coretraction implies T /. f is coretraction )
assume A1: ( Hom (a,b) <> {} & Hom (b,a) <> {} ) ; :: according to CAT_3:def_9 ::_thesis: ( for g being Morphism of b,a holds not g * f = id a or T /. f is coretraction )
given i being Morphism of b,a such that A2: i * f = id a ; ::_thesis: T /. f is coretraction
thus ( Hom ((T . a),(T . b)) <> {} & Hom ((T . b),(T . a)) <> {} ) by A1, CAT_1:84; :: according to CAT_3:def_9 ::_thesis: ex g being Morphism of T . b,T . a st g * (T /. f) = id (T . a)
take T /. i ; ::_thesis: (T /. i) * (T /. f) = id (T . a)
thus (T /. i) * (T /. f) = T /. (id a) by A1, A2, Lm1
.= id (T . a) by Lm2 ; ::_thesis: verum
end;
theorem :: CAT_3:33
for C being Category
for a, b being Object of C
for f being Morphism of a,b holds
( f is retraction iff f opp is coretraction )
proof
let C be Category; ::_thesis: for a, b being Object of C
for f being Morphism of a,b holds
( f is retraction iff f opp is coretraction )
let a, b be Object of C; ::_thesis: for f being Morphism of a,b holds
( f is retraction iff f opp is coretraction )
let f be Morphism of a,b; ::_thesis: ( f is retraction iff f opp is coretraction )
thus ( f is retraction implies f opp is coretraction ) ::_thesis: ( f opp is coretraction implies f is retraction )
proof
assume A1: ( Hom (a,b) <> {} & Hom (b,a) <> {} ) ; :: according to CAT_3:def_8 ::_thesis: ( for g being Morphism of b,a holds not f * g = id b or f opp is coretraction )
given i being Morphism of b,a such that A2: f * i = id b ; ::_thesis: f opp is coretraction
thus ( Hom ((b opp),(a opp)) <> {} & Hom ((a opp),(b opp)) <> {} ) by A1, OPPCAT_1:5; :: according to CAT_3:def_9 ::_thesis: ex g being Morphism of a opp ,b opp st g * (f opp) = id (b opp)
take i opp ; ::_thesis: (i opp) * (f opp) = id (b opp)
thus (i opp) * (f opp) = id b by A1, A2, OPPCAT_1:70
.= id (b opp) by OPPCAT_1:71 ; ::_thesis: verum
end;
assume A3: ( Hom ((b opp),(a opp)) <> {} & Hom ((a opp),(b opp)) <> {} ) ; :: according to CAT_3:def_9 ::_thesis: ( for g being Morphism of a opp ,b opp holds not g * (f opp) = id (b opp) or f is retraction )
given i being Morphism of a opp ,b opp such that A4: i * (f opp) = id (b opp) ; ::_thesis: f is retraction
thus A5: ( Hom (a,b) <> {} & Hom (b,a) <> {} ) by A3, OPPCAT_1:5; :: according to CAT_3:def_8 ::_thesis: ex g being Morphism of b,a st f * g = id b
take opp i ; ::_thesis: f * (opp i) = id b
A6: (opp i) opp = opp i by A5, OPPCAT_1:def_6
.= i by A3, OPPCAT_1:def_7 ;
thus f * (opp i) = id (b opp) by A4, A6, A5, OPPCAT_1:70
.= id b by OPPCAT_1:71 ; ::_thesis: verum
end;
theorem :: CAT_3:34
for C being Category
for a, b being Object of C
for f being Morphism of a,b holds
( f is coretraction iff f opp is retraction )
proof
let C be Category; ::_thesis: for a, b being Object of C
for f being Morphism of a,b holds
( f is coretraction iff f opp is retraction )
let a, b be Object of C; ::_thesis: for f being Morphism of a,b holds
( f is coretraction iff f opp is retraction )
let f be Morphism of a,b; ::_thesis: ( f is coretraction iff f opp is retraction )
thus ( f is coretraction implies f opp is retraction ) ::_thesis: ( f opp is retraction implies f is coretraction )
proof
assume A1: ( Hom (a,b) <> {} & Hom (b,a) <> {} ) ; :: according to CAT_3:def_9 ::_thesis: ( for g being Morphism of b,a holds not g * f = id a or f opp is retraction )
given i being Morphism of b,a such that A2: i * f = id a ; ::_thesis: f opp is retraction
thus ( Hom ((b opp),(a opp)) <> {} & Hom ((a opp),(b opp)) <> {} ) by A1, OPPCAT_1:5; :: according to CAT_3:def_8 ::_thesis: ex g being Morphism of a opp ,b opp st (f opp) * g = id (a opp)
take i opp ; ::_thesis: (f opp) * (i opp) = id (a opp)
thus (f opp) * (i opp) = id a by A1, A2, OPPCAT_1:70
.= id (a opp) by OPPCAT_1:71 ; ::_thesis: verum
end;
assume A3: ( Hom ((b opp),(a opp)) <> {} & Hom ((a opp),(b opp)) <> {} ) ; :: according to CAT_3:def_8 ::_thesis: ( for g being Morphism of a opp ,b opp holds not (f opp) * g = id (a opp) or f is coretraction )
given i being Morphism of a opp ,b opp such that A4: (f opp) * i = id (a opp) ; ::_thesis: f is coretraction
thus A5: ( Hom (a,b) <> {} & Hom (b,a) <> {} ) by A3, OPPCAT_1:5; :: according to CAT_3:def_9 ::_thesis: ex g being Morphism of b,a st g * f = id a
take opp i ; ::_thesis: (opp i) * f = id a
(opp i) opp = opp i by A5, OPPCAT_1:def_6
.= i by A3, OPPCAT_1:def_7 ;
hence (opp i) * f = (f opp) * i by A5, OPPCAT_1:70
.= id (a opp) by A4
.= id a by OPPCAT_1:71 ;
::_thesis: verum
end;
begin
definition
let C be Category;
let a, b be Object of C;
assume A1: b is terminal ;
func term (a,b) -> Morphism of a,b means :: CAT_3:def 11
verum;
existence
ex b1 being Morphism of a,b st verum ;
uniqueness
for b1, b2 being Morphism of a,b holds b1 = b2
proof
let f1, f2 be Morphism of a,b; ::_thesis: f1 = f2
consider f being Morphism of a,b such that
A2: for g being Morphism of a,b holds f = g by A1, CAT_1:def_18;
thus f1 = f by A2
.= f2 by A2 ; ::_thesis: verum
end;
end;
:: deftheorem defines term CAT_3:def_11_:_
for C being Category
for a, b being Object of C st b is terminal holds
for b4 being Morphism of a,b holds
( b4 = term (a,b) iff verum );
theorem Th35: :: CAT_3:35
for C being Category
for b, a being Object of C st b is terminal holds
( dom (term (a,b)) = a & cod (term (a,b)) = b )
proof
let C be Category; ::_thesis: for b, a being Object of C st b is terminal holds
( dom (term (a,b)) = a & cod (term (a,b)) = b )
let b, a be Object of C; ::_thesis: ( b is terminal implies ( dom (term (a,b)) = a & cod (term (a,b)) = b ) )
assume b is terminal ; ::_thesis: ( dom (term (a,b)) = a & cod (term (a,b)) = b )
then Hom (a,b) <> {} by CAT_1:def_18;
hence ( dom (term (a,b)) = a & cod (term (a,b)) = b ) by CAT_1:5; ::_thesis: verum
end;
theorem Th36: :: CAT_3:36
for C being Category
for b, a being Object of C
for f being Morphism of C st b is terminal & dom f = a & cod f = b holds
term (a,b) = f
proof
let C be Category; ::_thesis: for b, a being Object of C
for f being Morphism of C st b is terminal & dom f = a & cod f = b holds
term (a,b) = f
let b, a be Object of C; ::_thesis: for f being Morphism of C st b is terminal & dom f = a & cod f = b holds
term (a,b) = f
let f be Morphism of C; ::_thesis: ( b is terminal & dom f = a & cod f = b implies term (a,b) = f )
assume that
A1: b is terminal and
A2: ( dom f = a & cod f = b ) ; ::_thesis: term (a,b) = f
consider h being Morphism of a,b such that
A3: for g being Morphism of a,b holds h = g by A1, CAT_1:def_18;
f is Morphism of a,b by A2, CAT_1:4;
hence f = h by A3
.= term (a,b) by A3 ;
::_thesis: verum
end;
theorem :: CAT_3:37
for C being Category
for a, b being Object of C
for f being Morphism of a,b st b is terminal holds
term (a,b) = f
proof
let C be Category; ::_thesis: for a, b being Object of C
for f being Morphism of a,b st b is terminal holds
term (a,b) = f
let a, b be Object of C; ::_thesis: for f being Morphism of a,b st b is terminal holds
term (a,b) = f
let f be Morphism of a,b; ::_thesis: ( b is terminal implies term (a,b) = f )
assume A1: b is terminal ; ::_thesis: term (a,b) = f
then Hom (a,b) <> {} by CAT_1:def_18;
then ( dom f = a & cod f = b ) by CAT_1:5;
hence term (a,b) = f by A1, Th36; ::_thesis: verum
end;
begin
definition
let C be Category;
let a, b be Object of C;
assume A1: a is initial ;
func init (a,b) -> Morphism of a,b means :: CAT_3:def 12
verum;
existence
ex b1 being Morphism of a,b st verum ;
uniqueness
for b1, b2 being Morphism of a,b holds b1 = b2
proof
let f1, f2 be Morphism of a,b; ::_thesis: f1 = f2
consider f being Morphism of a,b such that
A2: for g being Morphism of a,b holds f = g by A1, CAT_1:def_19;
thus f1 = f by A2
.= f2 by A2 ; ::_thesis: verum
end;
end;
:: deftheorem defines init CAT_3:def_12_:_
for C being Category
for a, b being Object of C st a is initial holds
for b4 being Morphism of a,b holds
( b4 = init (a,b) iff verum );
theorem Th38: :: CAT_3:38
for C being Category
for a, b being Object of C st a is initial holds
( dom (init (a,b)) = a & cod (init (a,b)) = b )
proof
let C be Category; ::_thesis: for a, b being Object of C st a is initial holds
( dom (init (a,b)) = a & cod (init (a,b)) = b )
let a, b be Object of C; ::_thesis: ( a is initial implies ( dom (init (a,b)) = a & cod (init (a,b)) = b ) )
assume a is initial ; ::_thesis: ( dom (init (a,b)) = a & cod (init (a,b)) = b )
then Hom (a,b) <> {} by CAT_1:def_19;
hence ( dom (init (a,b)) = a & cod (init (a,b)) = b ) by CAT_1:5; ::_thesis: verum
end;
theorem Th39: :: CAT_3:39
for C being Category
for a, b being Object of C
for f being Morphism of C st a is initial & dom f = a & cod f = b holds
init (a,b) = f
proof
let C be Category; ::_thesis: for a, b being Object of C
for f being Morphism of C st a is initial & dom f = a & cod f = b holds
init (a,b) = f
let a, b be Object of C; ::_thesis: for f being Morphism of C st a is initial & dom f = a & cod f = b holds
init (a,b) = f
let f be Morphism of C; ::_thesis: ( a is initial & dom f = a & cod f = b implies init (a,b) = f )
assume that
A1: a is initial and
A2: ( dom f = a & cod f = b ) ; ::_thesis: init (a,b) = f
consider h being Morphism of a,b such that
A3: for g being Morphism of a,b holds h = g by A1, CAT_1:def_19;
f is Morphism of a,b by A2, CAT_1:4;
hence f = h by A3
.= init (a,b) by A3 ;
::_thesis: verum
end;
theorem :: CAT_3:40
for C being Category
for a, b being Object of C
for f being Morphism of a,b st a is initial holds
init (a,b) = f
proof
let C be Category; ::_thesis: for a, b being Object of C
for f being Morphism of a,b st a is initial holds
init (a,b) = f
let a, b be Object of C; ::_thesis: for f being Morphism of a,b st a is initial holds
init (a,b) = f
let f be Morphism of a,b; ::_thesis: ( a is initial implies init (a,b) = f )
assume A1: a is initial ; ::_thesis: init (a,b) = f
then Hom (a,b) <> {} by CAT_1:def_19;
then ( dom f = a & cod f = b ) by CAT_1:5;
hence init (a,b) = f by A1, Th39; ::_thesis: verum
end;
begin
definition
let C be Category;
let a be Object of C;
let I be set ;
mode Projections_family of a,I -> Function of I, the carrier' of C means :Def13: :: CAT_3:def 13
doms it = I --> a;
existence
ex b1 being Function of I, the carrier' of C st doms b1 = I --> a
proof
take F = I --> (id a); ::_thesis: doms F = I --> a
doms F = I --> (dom (id a)) by Th4;
hence doms F = I --> a ; ::_thesis: verum
end;
end;
:: deftheorem Def13 defines Projections_family CAT_3:def_13_:_
for C being Category
for a being Object of C
for I being set
for b4 being Function of I, the carrier' of C holds
( b4 is Projections_family of a,I iff doms b4 = I --> a );
theorem Th41: :: CAT_3:41
for I, x being set
for C being Category
for a being Object of C
for F being Projections_family of a,I st x in I holds
dom (F /. x) = a
proof
let I, x be set ; ::_thesis: for C being Category
for a being Object of C
for F being Projections_family of a,I st x in I holds
dom (F /. x) = a
let C be Category; ::_thesis: for a being Object of C
for F being Projections_family of a,I st x in I holds
dom (F /. x) = a
let a be Object of C; ::_thesis: for F being Projections_family of a,I st x in I holds
dom (F /. x) = a
let F be Projections_family of a,I; ::_thesis: ( x in I implies dom (F /. x) = a )
assume A1: x in I ; ::_thesis: dom (F /. x) = a
(doms F) /. x = (I --> a) /. x by Def13;
hence dom (F /. x) = (I --> a) /. x by A1, Def1
.= a by A1, Th2 ;
::_thesis: verum
end;
theorem Th42: :: CAT_3:42
for C being Category
for a being Object of C
for F being Function of {}, the carrier' of C holds F is Projections_family of a, {}
proof
let C be Category; ::_thesis: for a being Object of C
for F being Function of {}, the carrier' of C holds F is Projections_family of a, {}
let a be Object of C; ::_thesis: for F being Function of {}, the carrier' of C holds F is Projections_family of a, {}
let F be Function of {}, the carrier' of C; ::_thesis: F is Projections_family of a, {}
thus {} --> a = doms F ; :: according to CAT_3:def_13 ::_thesis: verum
end;
theorem Th43: :: CAT_3:43
for y being set
for C being Category
for a being Object of C
for f being Morphism of C st dom f = a holds
y .--> f is Projections_family of a,{y}
proof
let y be set ; ::_thesis: for C being Category
for a being Object of C
for f being Morphism of C st dom f = a holds
y .--> f is Projections_family of a,{y}
let C be Category; ::_thesis: for a being Object of C
for f being Morphism of C st dom f = a holds
y .--> f is Projections_family of a,{y}
let a be Object of C; ::_thesis: for f being Morphism of C st dom f = a holds
y .--> f is Projections_family of a,{y}
let f be Morphism of C; ::_thesis: ( dom f = a implies y .--> f is Projections_family of a,{y} )
set F = y .--> f;
assume A1: dom f = a ; ::_thesis: y .--> f is Projections_family of a,{y}
now__::_thesis:_for_x_being_set_st_x_in_{y}_holds_
(doms_(y_.-->_f))_/._x_=_(y_.-->_a)_/._x
let x be set ; ::_thesis: ( x in {y} implies (doms (y .--> f)) /. x = (y .--> a) /. x )
assume A2: x in {y} ; ::_thesis: (doms (y .--> f)) /. x = (y .--> a) /. x
hence (doms (y .--> f)) /. x = dom ((y .--> f) /. x) by Def1
.= a by A1, A2, Th2
.= (y .--> a) /. x by A2, Th2 ;
::_thesis: verum
end;
hence doms (y .--> f) = {y} --> a by Th1; :: according to CAT_3:def_13 ::_thesis: verum
end;
theorem Th44: :: CAT_3:44
for x1, x2 being set
for C being Category
for a being Object of C
for p1, p2 being Morphism of C st dom p1 = a & dom p2 = a holds
(x1,x2) --> (p1,p2) is Projections_family of a,{x1,x2}
proof
let x1, x2 be set ; ::_thesis: for C being Category
for a being Object of C
for p1, p2 being Morphism of C st dom p1 = a & dom p2 = a holds
(x1,x2) --> (p1,p2) is Projections_family of a,{x1,x2}
let C be Category; ::_thesis: for a being Object of C
for p1, p2 being Morphism of C st dom p1 = a & dom p2 = a holds
(x1,x2) --> (p1,p2) is Projections_family of a,{x1,x2}
let a be Object of C; ::_thesis: for p1, p2 being Morphism of C st dom p1 = a & dom p2 = a holds
(x1,x2) --> (p1,p2) is Projections_family of a,{x1,x2}
let p1, p2 be Morphism of C; ::_thesis: ( dom p1 = a & dom p2 = a implies (x1,x2) --> (p1,p2) is Projections_family of a,{x1,x2} )
assume A1: ( dom p1 = a & dom p2 = a ) ; ::_thesis: (x1,x2) --> (p1,p2) is Projections_family of a,{x1,x2}
doms ((x1,x2) --> (p1,p2)) = (x1,x2) --> ((dom p1),(dom p2)) by Th6
.= {x1,x2} --> a by A1, FUNCT_4:65 ;
hence (x1,x2) --> (p1,p2) is Projections_family of a,{x1,x2} by Def13; ::_thesis: verum
end;
theorem Th45: :: CAT_3:45
for I being set
for C being Category
for a being Object of C
for f being Morphism of C
for F being Projections_family of a,I st cod f = a holds
F * f is Projections_family of dom f,I
proof
let I be set ; ::_thesis: for C being Category
for a being Object of C
for f being Morphism of C
for F being Projections_family of a,I st cod f = a holds
F * f is Projections_family of dom f,I
let C be Category; ::_thesis: for a being Object of C
for f being Morphism of C
for F being Projections_family of a,I st cod f = a holds
F * f is Projections_family of dom f,I
let a be Object of C; ::_thesis: for f being Morphism of C
for F being Projections_family of a,I st cod f = a holds
F * f is Projections_family of dom f,I
let f be Morphism of C; ::_thesis: for F being Projections_family of a,I st cod f = a holds
F * f is Projections_family of dom f,I
let F be Projections_family of a,I; ::_thesis: ( cod f = a implies F * f is Projections_family of dom f,I )
assume cod f = a ; ::_thesis: F * f is Projections_family of dom f,I
then doms F = I --> (cod f) by Def13;
hence doms (F * f) = I --> (dom f) by Th16; :: according to CAT_3:def_13 ::_thesis: verum
end;
theorem :: CAT_3:46
for I being set
for C being Category
for a being Object of C
for F being Function of I, the carrier' of C
for G being Projections_family of a,I st doms F = cods G holds
F "*" G is Projections_family of a,I
proof
let I be set ; ::_thesis: for C being Category
for a being Object of C
for F being Function of I, the carrier' of C
for G being Projections_family of a,I st doms F = cods G holds
F "*" G is Projections_family of a,I
let C be Category; ::_thesis: for a being Object of C
for F being Function of I, the carrier' of C
for G being Projections_family of a,I st doms F = cods G holds
F "*" G is Projections_family of a,I
let a be Object of C; ::_thesis: for F being Function of I, the carrier' of C
for G being Projections_family of a,I st doms F = cods G holds
F "*" G is Projections_family of a,I
let F be Function of I, the carrier' of C; ::_thesis: for G being Projections_family of a,I st doms F = cods G holds
F "*" G is Projections_family of a,I
let G be Projections_family of a,I; ::_thesis: ( doms F = cods G implies F "*" G is Projections_family of a,I )
assume doms F = cods G ; ::_thesis: F "*" G is Projections_family of a,I
then doms (F "*" G) = doms G by Th18;
hence doms (F "*" G) = I --> a by Def13; :: according to CAT_3:def_13 ::_thesis: verum
end;
theorem :: CAT_3:47
for I being set
for C being Category
for f being Morphism of C
for F being Projections_family of cod f,I holds (f opp) * (F opp) = (F * f) opp
proof
let I be set ; ::_thesis: for C being Category
for f being Morphism of C
for F being Projections_family of cod f,I holds (f opp) * (F opp) = (F * f) opp
let C be Category; ::_thesis: for f being Morphism of C
for F being Projections_family of cod f,I holds (f opp) * (F opp) = (F * f) opp
let f be Morphism of C; ::_thesis: for F being Projections_family of cod f,I holds (f opp) * (F opp) = (F * f) opp
let F be Projections_family of cod f,I; ::_thesis: (f opp) * (F opp) = (F * f) opp
now__::_thesis:_for_x_being_set_st_x_in_I_holds_
((f_opp)_*_(F_opp))_/._x_=_((F_*_f)_opp)_/._x
let x be set ; ::_thesis: ( x in I implies ((f opp) * (F opp)) /. x = ((F * f) opp) /. x )
assume A1: x in I ; ::_thesis: ((f opp) * (F opp)) /. x = ((F * f) opp) /. x
then A2: dom (F /. x) = (doms F) /. x by Def1
.= (I --> (cod f)) /. x by Def13
.= cod f by A1, Th2 ;
reconsider ff = f as Morphism of dom f, cod f by CAT_1:4;
reconsider gg = F /. x as Morphism of cod f, cod (F /. x) by CAT_1:4, A2;
A3: ( Hom ((dom f),(cod f)) <> {} & Hom ((dom (F /. x)),(cod (F /. x))) <> {} ) by CAT_1:2;
then A4: ff opp = f opp by OPPCAT_1:def_6;
A5: gg opp = (F /. x) opp by OPPCAT_1:def_6, A3, A2;
thus ((f opp) * (F opp)) /. x = (f opp) (*) ((F opp) /. x) by A1, Def6
.= (f opp) (*) ((F /. x) opp) by A1, Def3
.= (gg (*) ff) opp by A2, OPPCAT_1:16, A4, A5, A3
.= ((F * f) /. x) opp by A1, Def5
.= ((F * f) opp) /. x by A1, Def3 ; ::_thesis: verum
end;
hence (f opp) * (F opp) = (F * f) opp by Th1; ::_thesis: verum
end;
definition
let C be Category;
let a be Object of C;
let I be set ;
let F be Function of I, the carrier' of C;
preda is_a_product_wrt F means :Def14: :: CAT_3:def 14
( F is Projections_family of a,I & ( for b being Object of C
for F9 being Projections_family of b,I st cods F = cods F9 holds
ex h being Morphism of C st
( h in Hom (b,a) & ( for k being Morphism of C st k in Hom (b,a) holds
( ( for x being set st x in I holds
(F /. x) (*) k = F9 /. x ) iff h = k ) ) ) ) );
end;
:: deftheorem Def14 defines is_a_product_wrt CAT_3:def_14_:_
for C being Category
for a being Object of C
for I being set
for F being Function of I, the carrier' of C holds
( a is_a_product_wrt F iff ( F is Projections_family of a,I & ( for b being Object of C
for F9 being Projections_family of b,I st cods F = cods F9 holds
ex h being Morphism of C st
( h in Hom (b,a) & ( for k being Morphism of C st k in Hom (b,a) holds
( ( for x being set st x in I holds
(F /. x) (*) k = F9 /. x ) iff h = k ) ) ) ) ) );
theorem Th48: :: CAT_3:48
for I being set
for C being Category
for c, d being Object of C
for F being Projections_family of c,I
for F9 being Projections_family of d,I st c is_a_product_wrt F & d is_a_product_wrt F9 & cods F = cods F9 holds
c,d are_isomorphic
proof
let I be set ; ::_thesis: for C being Category
for c, d being Object of C
for F being Projections_family of c,I
for F9 being Projections_family of d,I st c is_a_product_wrt F & d is_a_product_wrt F9 & cods F = cods F9 holds
c,d are_isomorphic
let C be Category; ::_thesis: for c, d being Object of C
for F being Projections_family of c,I
for F9 being Projections_family of d,I st c is_a_product_wrt F & d is_a_product_wrt F9 & cods F = cods F9 holds
c,d are_isomorphic
let c, d be Object of C; ::_thesis: for F being Projections_family of c,I
for F9 being Projections_family of d,I st c is_a_product_wrt F & d is_a_product_wrt F9 & cods F = cods F9 holds
c,d are_isomorphic
let F be Projections_family of c,I; ::_thesis: for F9 being Projections_family of d,I st c is_a_product_wrt F & d is_a_product_wrt F9 & cods F = cods F9 holds
c,d are_isomorphic
let F9 be Projections_family of d,I; ::_thesis: ( c is_a_product_wrt F & d is_a_product_wrt F9 & cods F = cods F9 implies c,d are_isomorphic )
assume that
A1: c is_a_product_wrt F and
A2: d is_a_product_wrt F9 and
A3: cods F = cods F9 ; ::_thesis: c,d are_isomorphic
cods F9 = cods F9 ;
then consider gf being Morphism of C such that
gf in Hom (d,d) and
A4: for k being Morphism of C st k in Hom (d,d) holds
( ( for x being set st x in I holds
(F9 /. x) (*) k = F9 /. x ) iff gf = k ) by A2, Def14;
consider f being Morphism of C such that
A5: f in Hom (d,c) and
A6: for k being Morphism of C st k in Hom (d,c) holds
( ( for x being set st x in I holds
(F /. x) (*) k = F9 /. x ) iff f = k ) by A1, A3, Def14;
reconsider f = f as Morphism of d,c by A5, CAT_1:def_5;
cods F = cods F ;
then consider fg being Morphism of C such that
fg in Hom (c,c) and
A7: for k being Morphism of C st k in Hom (c,c) holds
( ( for x being set st x in I holds
(F /. x) (*) k = F /. x ) iff fg = k ) by A1, Def14;
consider g being Morphism of C such that
A8: g in Hom (c,d) and
A9: for k being Morphism of C st k in Hom (c,d) holds
( ( for x being set st x in I holds
(F9 /. x) (*) k = F /. x ) iff g = k ) by A2, A3, Def14;
reconsider g = g as Morphism of c,d by A8, CAT_1:def_5;
A10: cod g = d by A8, CAT_1:1;
A11: now__::_thesis:_(_id_c_in_Hom_(c,c)_&_(_for_x_being_set_st_x_in_I_holds_
(F_/._x)_(*)_(id_c)_=_F_/._x_)_)
set k = id c;
thus id c in Hom (c,c) by CAT_1:27; ::_thesis: for x being set st x in I holds
(F /. x) (*) (id c) = F /. x
let x be set ; ::_thesis: ( x in I implies (F /. x) (*) (id c) = F /. x )
assume x in I ; ::_thesis: (F /. x) (*) (id c) = F /. x
then dom (F /. x) = c by Th41;
hence (F /. x) (*) (id c) = F /. x by CAT_1:22; ::_thesis: verum
end;
A12: now__::_thesis:_(_id_d_in_Hom_(d,d)_&_(_for_x_being_set_st_x_in_I_holds_
(F9_/._x)_(*)_(id_d)_=_F9_/._x_)_)
set k = id d;
thus id d in Hom (d,d) by CAT_1:27; ::_thesis: for x being set st x in I holds
(F9 /. x) (*) (id d) = F9 /. x
let x be set ; ::_thesis: ( x in I implies (F9 /. x) (*) (id d) = F9 /. x )
assume x in I ; ::_thesis: (F9 /. x) (*) (id d) = F9 /. x
then dom (F9 /. x) = d by Th41;
hence (F9 /. x) (*) (id d) = F9 /. x by CAT_1:22; ::_thesis: verum
end;
take g ; :: according to CAT_1:def_20 ::_thesis: g is invertible
thus ( Hom (c,d) <> {} & Hom (d,c) <> {} ) by A5, A8; :: according to CAT_1:def_16 ::_thesis: ex b1 being Morphism of d,c st
( g * b1 = id d & b1 * g = id c )
take f ; ::_thesis: ( g * f = id d & f * g = id c )
A13: dom g = c by A8, CAT_1:1;
A14: cod f = c by A5, CAT_1:1;
A15: dom f = d by A5, CAT_1:1;
A16: now__::_thesis:_(_g_(*)_f_in_Hom_(d,d)_&_(_for_x_being_set_st_x_in_I_holds_
(F9_/._x)_(*)_(g_(*)_f)_=_F9_/._x_)_)
( dom (g (*) f) = d & cod (g (*) f) = d ) by A15, A10, A14, A13, CAT_1:17;
hence g (*) f in Hom (d,d) ; ::_thesis: for x being set st x in I holds
(F9 /. x) (*) (g (*) f) = F9 /. x
let x be set ; ::_thesis: ( x in I implies (F9 /. x) (*) (g (*) f) = F9 /. x )
assume A17: x in I ; ::_thesis: (F9 /. x) (*) (g (*) f) = F9 /. x
then dom (F9 /. x) = d by Th41;
hence (F9 /. x) (*) (g (*) f) = ((F9 /. x) (*) g) (*) f by A10, A14, A13, CAT_1:18
.= (F /. x) (*) f by A8, A9, A17
.= F9 /. x by A5, A6, A17 ;
::_thesis: verum
end;
thus g * f = g (*) f by A5, A8, CAT_1:def_13
.= gf by A4, A16
.= id d by A4, A12 ; ::_thesis: f * g = id c
A18: now__::_thesis:_(_f_(*)_g_in_Hom_(c,c)_&_(_for_x_being_set_st_x_in_I_holds_
(F_/._x)_(*)_(f_(*)_g)_=_F_/._x_)_)
( dom (f (*) g) = c & cod (f (*) g) = c ) by A15, A10, A14, A13, CAT_1:17;
hence f (*) g in Hom (c,c) ; ::_thesis: for x being set st x in I holds
(F /. x) (*) (f (*) g) = F /. x
let x be set ; ::_thesis: ( x in I implies (F /. x) (*) (f (*) g) = F /. x )
assume A19: x in I ; ::_thesis: (F /. x) (*) (f (*) g) = F /. x
then dom (F /. x) = c by Th41;
hence (F /. x) (*) (f (*) g) = ((F /. x) (*) f) (*) g by A15, A10, A14, CAT_1:18
.= (F9 /. x) (*) g by A5, A6, A19
.= F /. x by A8, A9, A19 ;
::_thesis: verum
end;
thus f * g = f (*) g by A5, A8, CAT_1:def_13
.= fg by A7, A18
.= id c by A11, A7 ; ::_thesis: verum
end;
theorem Th49: :: CAT_3:49
for I being set
for C being Category
for c being Object of C
for F being Projections_family of c,I st c is_a_product_wrt F & ( for x1, x2 being set st x1 in I & x2 in I holds
Hom ((cod (F /. x1)),(cod (F /. x2))) <> {} ) holds
for x being set st x in I holds
for d being Object of C st d = cod (F /. x) & Hom (c,d) <> {} holds
for f being Morphism of c,d st f = F /. x holds
f is retraction
proof
let I be set ; ::_thesis: for C being Category
for c being Object of C
for F being Projections_family of c,I st c is_a_product_wrt F & ( for x1, x2 being set st x1 in I & x2 in I holds
Hom ((cod (F /. x1)),(cod (F /. x2))) <> {} ) holds
for x being set st x in I holds
for d being Object of C st d = cod (F /. x) & Hom (c,d) <> {} holds
for f being Morphism of c,d st f = F /. x holds
f is retraction
let C be Category; ::_thesis: for c being Object of C
for F being Projections_family of c,I st c is_a_product_wrt F & ( for x1, x2 being set st x1 in I & x2 in I holds
Hom ((cod (F /. x1)),(cod (F /. x2))) <> {} ) holds
for x being set st x in I holds
for d being Object of C st d = cod (F /. x) & Hom (c,d) <> {} holds
for f being Morphism of c,d st f = F /. x holds
f is retraction
let c be Object of C; ::_thesis: for F being Projections_family of c,I st c is_a_product_wrt F & ( for x1, x2 being set st x1 in I & x2 in I holds
Hom ((cod (F /. x1)),(cod (F /. x2))) <> {} ) holds
for x being set st x in I holds
for d being Object of C st d = cod (F /. x) & Hom (c,d) <> {} holds
for f being Morphism of c,d st f = F /. x holds
f is retraction
let F be Projections_family of c,I; ::_thesis: ( c is_a_product_wrt F & ( for x1, x2 being set st x1 in I & x2 in I holds
Hom ((cod (F /. x1)),(cod (F /. x2))) <> {} ) implies for x being set st x in I holds
for d being Object of C st d = cod (F /. x) & Hom (c,d) <> {} holds
for f being Morphism of c,d st f = F /. x holds
f is retraction )
assume that
A1: c is_a_product_wrt F and
A2: for x1, x2 being set st x1 in I & x2 in I holds
Hom ((cod (F /. x1)),(cod (F /. x2))) <> {} ; ::_thesis: for x being set st x in I holds
for d being Object of C st d = cod (F /. x) & Hom (c,d) <> {} holds
for f being Morphism of c,d st f = F /. x holds
f is retraction
let x be set ; ::_thesis: ( x in I implies for d being Object of C st d = cod (F /. x) & Hom (c,d) <> {} holds
for f being Morphism of c,d st f = F /. x holds
f is retraction )
assume A3: x in I ; ::_thesis: for d being Object of C st d = cod (F /. x) & Hom (c,d) <> {} holds
for f being Morphism of c,d st f = F /. x holds
f is retraction
let d be Object of C; ::_thesis: ( d = cod (F /. x) & Hom (c,d) <> {} implies for f being Morphism of c,d st f = F /. x holds
f is retraction )
assume that
A4: d = cod (F /. x) and
A5: Hom (c,d) <> {} ; ::_thesis: for f being Morphism of c,d st f = F /. x holds
f is retraction
let f be Morphism of c,d; ::_thesis: ( f = F /. x implies f is retraction )
assume A6: f = F /. x ; ::_thesis: f is retraction
defpred S1[ set , set ] means ( ( $1 = x implies $2 = id d ) & ( $1 <> x implies $2 in Hom (d,(cod (F /. $1))) ) );
A7: for y being set st y in I holds
ex z being set st
( z in the carrier' of C & S1[y,z] )
proof
let y be set ; ::_thesis: ( y in I implies ex z being set st
( z in the carrier' of C & S1[y,z] ) )
set z = the Element of Hom (d,(cod (F /. y)));
assume y in I ; ::_thesis: ex z being set st
( z in the carrier' of C & S1[y,z] )
then A8: Hom (d,(cod (F /. y))) <> {} by A2, A3, A4;
then A9: the Element of Hom (d,(cod (F /. y))) in Hom (d,(cod (F /. y))) ;
percases ( y = x or y <> x ) ;
supposeA10: y = x ; ::_thesis: ex z being set st
( z in the carrier' of C & S1[y,z] )
take z = id d; ::_thesis: ( z in the carrier' of C & S1[y,z] )
thus z in the carrier' of C ; ::_thesis: S1[y,z]
thus S1[y,z] by A10; ::_thesis: verum
end;
supposeA11: y <> x ; ::_thesis: ex z being set st
( z in the carrier' of C & S1[y,z] )
take the Element of Hom (d,(cod (F /. y))) ; ::_thesis: ( the Element of Hom (d,(cod (F /. y))) in the carrier' of C & S1[y, the Element of Hom (d,(cod (F /. y)))] )
thus the Element of Hom (d,(cod (F /. y))) in the carrier' of C by A9; ::_thesis: S1[y, the Element of Hom (d,(cod (F /. y)))]
thus S1[y, the Element of Hom (d,(cod (F /. y)))] by A8, A11; ::_thesis: verum
end;
end;
end;
consider F9 being Function such that
A12: ( dom F9 = I & rng F9 c= the carrier' of C ) and
A13: for y being set st y in I holds
S1[y,F9 . y] from FUNCT_1:sch_5(A7);
reconsider F9 = F9 as Function of I, the carrier' of C by A12, FUNCT_2:def_1, RELSET_1:4;
now__::_thesis:_for_y_being_set_st_y_in_I_holds_
(doms_F9)_/._y_=_(I_-->_d)_/._y
let y be set ; ::_thesis: ( y in I implies (doms F9) /. y = (I --> d) /. y )
assume A14: y in I ; ::_thesis: (doms F9) /. y = (I --> d) /. y
then A15: F9 . y = F9 /. y by FUNCT_2:def_13;
then A16: ( y <> x implies F9 /. y in Hom (d,(cod (F /. y))) ) by A13, A14;
( y = x implies F9 /. y = id d ) by A13, A14, A15;
then dom (F9 /. y) = d by A16, CAT_1:1, CAT_1:58;
hence (doms F9) /. y = d by A14, Def1
.= (I --> d) /. y by A14, Th2 ;
::_thesis: verum
end;
then A17: F9 is Projections_family of d,I by Def13, Th1;
now__::_thesis:_for_y_being_set_st_y_in_I_holds_
(cods_F9)_/._y_=_(cods_F)_/._y
let y be set ; ::_thesis: ( y in I implies (cods F9) /. y = (cods F) /. y )
assume A18: y in I ; ::_thesis: (cods F9) /. y = (cods F) /. y
then A19: F9 . y = F9 /. y by FUNCT_2:def_13;
then A20: ( y <> x implies F9 /. y in Hom (d,(cod (F /. y))) ) by A13, A18;
( y = x implies F9 /. y = id d ) by A13, A18, A19;
then cod (F9 /. y) = cod (F /. y) by A20, A4, CAT_1:1, CAT_1:58;
hence (cods F9) /. y = cod (F /. y) by A18, Def2
.= (cods F) /. y by A18, Def2 ;
::_thesis: verum
end;
then consider i being Morphism of C such that
A21: i in Hom (d,c) and
A22: for k being Morphism of C st k in Hom (d,c) holds
( ( for y being set st y in I holds
(F /. y) (*) k = F9 /. y ) iff i = k ) by A1, A17, Def14, Th1;
reconsider i = i as Morphism of d,c by A21, CAT_1:def_5;
thus ( Hom (c,d) <> {} & Hom (d,c) <> {} ) by A21, A5; :: according to CAT_3:def_8 ::_thesis: ex g being Morphism of d,c st f * g = id d
take i ; ::_thesis: f * i = id d
thus f * i = f (*) i by A21, A5, CAT_1:def_13
.= F9 /. x by A3, A21, A22, A6
.= F9 . x by A3, FUNCT_2:def_13
.= id d by A3, A13 ; ::_thesis: verum
end;
theorem Th50: :: CAT_3:50
for C being Category
for a being Object of C
for F being Function of {}, the carrier' of C holds
( a is_a_product_wrt F iff a is terminal )
proof
let C be Category; ::_thesis: for a being Object of C
for F being Function of {}, the carrier' of C holds
( a is_a_product_wrt F iff a is terminal )
let a be Object of C; ::_thesis: for F being Function of {}, the carrier' of C holds
( a is_a_product_wrt F iff a is terminal )
let F be Function of {}, the carrier' of C; ::_thesis: ( a is_a_product_wrt F iff a is terminal )
thus ( a is_a_product_wrt F implies a is terminal ) ::_thesis: ( a is terminal implies a is_a_product_wrt F )
proof
assume A1: a is_a_product_wrt F ; ::_thesis: a is terminal
let b be Object of C; :: according to CAT_1:def_18 ::_thesis: ( not Hom (b,a) = {} & ex b1 being Morphism of b,a st
for b2 being Morphism of b,a holds b1 = b2 )
set F9 = the Projections_family of b, {} ;
cods F = {} ;
then consider h being Morphism of C such that
A2: h in Hom (b,a) and
A3: for k being Morphism of C st k in Hom (b,a) holds
( ( for x being set st x in {} holds
(F /. x) (*) k = the Projections_family of b, {} /. x ) iff h = k ) by A1, Def14;
thus Hom (b,a) <> {} by A2; ::_thesis: ex b1 being Morphism of b,a st
for b2 being Morphism of b,a holds b1 = b2
reconsider f = h as Morphism of b,a by A2, CAT_1:def_5;
take f ; ::_thesis: for b1 being Morphism of b,a holds f = b1
let g be Morphism of b,a; ::_thesis: f = g
A4: for x being set st x in {} holds
(F /. x) (*) g = the Projections_family of b, {} /. x ;
g in Hom (b,a) by A2, CAT_1:def_5;
hence f = g by A3, A4; ::_thesis: verum
end;
assume A5: a is terminal ; ::_thesis: a is_a_product_wrt F
thus F is Projections_family of a, {} by Th42; :: according to CAT_3:def_14 ::_thesis: for b being Object of C
for F9 being Projections_family of b, {} st cods F = cods F9 holds
ex h being Morphism of C st
( h in Hom (b,a) & ( for k being Morphism of C st k in Hom (b,a) holds
( ( for x being set st x in {} holds
(F /. x) (*) k = F9 /. x ) iff h = k ) ) )
let b be Object of C; ::_thesis: for F9 being Projections_family of b, {} st cods F = cods F9 holds
ex h being Morphism of C st
( h in Hom (b,a) & ( for k being Morphism of C st k in Hom (b,a) holds
( ( for x being set st x in {} holds
(F /. x) (*) k = F9 /. x ) iff h = k ) ) )
consider h being Morphism of b,a such that
A6: for g being Morphism of b,a holds h = g by A5, CAT_1:def_18;
let F9 be Projections_family of b, {} ; ::_thesis: ( cods F = cods F9 implies ex h being Morphism of C st
( h in Hom (b,a) & ( for k being Morphism of C st k in Hom (b,a) holds
( ( for x being set st x in {} holds
(F /. x) (*) k = F9 /. x ) iff h = k ) ) ) )
assume cods F = cods F9 ; ::_thesis: ex h being Morphism of C st
( h in Hom (b,a) & ( for k being Morphism of C st k in Hom (b,a) holds
( ( for x being set st x in {} holds
(F /. x) (*) k = F9 /. x ) iff h = k ) ) )
take h ; ::_thesis: ( h in Hom (b,a) & ( for k being Morphism of C st k in Hom (b,a) holds
( ( for x being set st x in {} holds
(F /. x) (*) k = F9 /. x ) iff h = k ) ) )
Hom (b,a) <> {} by A5, CAT_1:def_18;
hence h in Hom (b,a) by CAT_1:def_5; ::_thesis: for k being Morphism of C st k in Hom (b,a) holds
( ( for x being set st x in {} holds
(F /. x) (*) k = F9 /. x ) iff h = k )
let k be Morphism of C; ::_thesis: ( k in Hom (b,a) implies ( ( for x being set st x in {} holds
(F /. x) (*) k = F9 /. x ) iff h = k ) )
assume k in Hom (b,a) ; ::_thesis: ( ( for x being set st x in {} holds
(F /. x) (*) k = F9 /. x ) iff h = k )
then k is Morphism of b,a by CAT_1:def_5;
hence ( ( for x being set st x in {} holds
(F /. x) (*) k = F9 /. x ) iff h = k ) by A6; ::_thesis: verum
end;
theorem Th51: :: CAT_3:51
for I being set
for C being Category
for a, b being Object of C
for F being Projections_family of a,I st a is_a_product_wrt F holds
for f being Morphism of b,a st dom f = b & cod f = a & f is invertible holds
b is_a_product_wrt F * f
proof
let I be set ; ::_thesis: for C being Category
for a, b being Object of C
for F being Projections_family of a,I st a is_a_product_wrt F holds
for f being Morphism of b,a st dom f = b & cod f = a & f is invertible holds
b is_a_product_wrt F * f
let C be Category; ::_thesis: for a, b being Object of C
for F being Projections_family of a,I st a is_a_product_wrt F holds
for f being Morphism of b,a st dom f = b & cod f = a & f is invertible holds
b is_a_product_wrt F * f
let a, b be Object of C; ::_thesis: for F being Projections_family of a,I st a is_a_product_wrt F holds
for f being Morphism of b,a st dom f = b & cod f = a & f is invertible holds
b is_a_product_wrt F * f
let F be Projections_family of a,I; ::_thesis: ( a is_a_product_wrt F implies for f being Morphism of b,a st dom f = b & cod f = a & f is invertible holds
b is_a_product_wrt F * f )
assume A1: a is_a_product_wrt F ; ::_thesis: for f being Morphism of b,a st dom f = b & cod f = a & f is invertible holds
b is_a_product_wrt F * f
let f be Morphism of b,a; ::_thesis: ( dom f = b & cod f = a & f is invertible implies b is_a_product_wrt F * f )
assume that
A2: dom f = b and
A3: cod f = a and
A4: f is invertible ; ::_thesis: b is_a_product_wrt F * f
thus F * f is Projections_family of b,I by A2, A3, Th45; :: according to CAT_3:def_14 ::_thesis: for b being Object of C
for F9 being Projections_family of b,I st cods (F * f) = cods F9 holds
ex h being Morphism of C st
( h in Hom (b,b) & ( for k being Morphism of C st k in Hom (b,b) holds
( ( for x being set st x in I holds
((F * f) /. x) (*) k = F9 /. x ) iff h = k ) ) )
let c be Object of C; ::_thesis: for F9 being Projections_family of c,I st cods (F * f) = cods F9 holds
ex h being Morphism of C st
( h in Hom (c,b) & ( for k being Morphism of C st k in Hom (c,b) holds
( ( for x being set st x in I holds
((F * f) /. x) (*) k = F9 /. x ) iff h = k ) ) )
A5: doms F = I --> (cod f) by A3, Def13;
let F9 be Projections_family of c,I; ::_thesis: ( cods (F * f) = cods F9 implies ex h being Morphism of C st
( h in Hom (c,b) & ( for k being Morphism of C st k in Hom (c,b) holds
( ( for x being set st x in I holds
((F * f) /. x) (*) k = F9 /. x ) iff h = k ) ) ) )
assume cods (F * f) = cods F9 ; ::_thesis: ex h being Morphism of C st
( h in Hom (c,b) & ( for k being Morphism of C st k in Hom (c,b) holds
( ( for x being set st x in I holds
((F * f) /. x) (*) k = F9 /. x ) iff h = k ) ) )
then cods F = cods F9 by A5, Th16;
then consider h being Morphism of C such that
A6: h in Hom (c,a) and
A7: for k being Morphism of C st k in Hom (c,a) holds
( ( for x being set st x in I holds
(F /. x) (*) k = F9 /. x ) iff h = k ) by A1, Def14;
A8: cod h = a by A6, CAT_1:1;
consider g being Morphism of a,b such that
A9: f * g = id a and
A10: g * f = id b by A4, CAT_1:def_16;
A11: ( Hom (a,b) <> {} & Hom (b,a) <> {} ) by A4, CAT_1:def_16;
then A12: dom g = cod f by A3, CAT_1:5;
A13: cod g = dom f by A2, A11, CAT_1:5;
A14: f (*) g = id (cod f) by A9, A3, A11, CAT_1:def_13;
A15: g (*) f = id (dom f) by A10, A2, A11, CAT_1:def_13;
dom h = c by A6, CAT_1:1;
then A16: dom (g (*) h) = c by A3, A12, A8, CAT_1:17;
take gh = g (*) h; ::_thesis: ( gh in Hom (c,b) & ( for k being Morphism of C st k in Hom (c,b) holds
( ( for x being set st x in I holds
((F * f) /. x) (*) k = F9 /. x ) iff gh = k ) ) )
cod (g (*) h) = b by A2, A3, A12, A13, A8, CAT_1:17;
hence gh in Hom (c,b) by A16; ::_thesis: for k being Morphism of C st k in Hom (c,b) holds
( ( for x being set st x in I holds
((F * f) /. x) (*) k = F9 /. x ) iff gh = k )
let k be Morphism of C; ::_thesis: ( k in Hom (c,b) implies ( ( for x being set st x in I holds
((F * f) /. x) (*) k = F9 /. x ) iff gh = k ) )
assume A17: k in Hom (c,b) ; ::_thesis: ( ( for x being set st x in I holds
((F * f) /. x) (*) k = F9 /. x ) iff gh = k )
then A18: cod k = b by CAT_1:1;
A19: dom k = c by A17, CAT_1:1;
thus ( ( for x being set st x in I holds
((F * f) /. x) (*) k = F9 /. x ) implies gh = k ) ::_thesis: ( gh = k implies for x being set st x in I holds
((F * f) /. x) (*) k = F9 /. x )
proof
assume A20: for x being set st x in I holds
((F * f) /. x) (*) k = F9 /. x ; ::_thesis: gh = k
now__::_thesis:_(_f_(*)_k_in_Hom_(c,a)_&_(_for_x_being_set_st_x_in_I_holds_
(F_/._x)_(*)_(f_(*)_k)_=_F9_/._x_)_)
( dom (f (*) k) = c & cod (f (*) k) = a ) by A2, A3, A19, A18, CAT_1:17;
hence f (*) k in Hom (c,a) ; ::_thesis: for x being set st x in I holds
(F /. x) (*) (f (*) k) = F9 /. x
let x be set ; ::_thesis: ( x in I implies (F /. x) (*) (f (*) k) = F9 /. x )
assume A21: x in I ; ::_thesis: (F /. x) (*) (f (*) k) = F9 /. x
then dom (F /. x) = a by Th41;
hence (F /. x) (*) (f (*) k) = ((F /. x) (*) f) (*) k by A2, A3, A18, CAT_1:18
.= ((F * f) /. x) (*) k by A21, Def5
.= F9 /. x by A20, A21 ;
::_thesis: verum
end;
then g (*) (f (*) k) = g (*) h by A7;
hence gh = (id b) (*) k by A2, A12, A15, A18, CAT_1:18
.= k by A18, CAT_1:21 ;
::_thesis: verum
end;
assume A22: gh = k ; ::_thesis: for x being set st x in I holds
((F * f) /. x) (*) k = F9 /. x
let x be set ; ::_thesis: ( x in I implies ((F * f) /. x) (*) k = F9 /. x )
assume A23: x in I ; ::_thesis: ((F * f) /. x) (*) k = F9 /. x
then A24: dom (F /. x) = a by Th41;
thus ((F * f) /. x) (*) k = ((F /. x) (*) f) (*) k by A23, Def5
.= (F /. x) (*) (f (*) (g (*) h)) by A2, A3, A18, A22, A24, CAT_1:18
.= (F /. x) (*) ((id (cod f)) (*) h) by A3, A12, A13, A14, A8, CAT_1:18
.= (F /. x) (*) h by A3, A8, CAT_1:21
.= F9 /. x by A6, A7, A23 ; ::_thesis: verum
end;
theorem :: CAT_3:52
for y being set
for C being Category
for a being Object of C holds a is_a_product_wrt y .--> (id a)
proof
let y be set ; ::_thesis: for C being Category
for a being Object of C holds a is_a_product_wrt y .--> (id a)
let C be Category; ::_thesis: for a being Object of C holds a is_a_product_wrt y .--> (id a)
let a be Object of C; ::_thesis: a is_a_product_wrt y .--> (id a)
set F = y .--> (id a);
dom (id a) = a ;
hence y .--> (id a) is Projections_family of a,{y} by Th43; :: according to CAT_3:def_14 ::_thesis: for b being Object of C
for F9 being Projections_family of b,{y} st cods (y .--> (id a)) = cods F9 holds
ex h being Morphism of C st
( h in Hom (b,a) & ( for k being Morphism of C st k in Hom (b,a) holds
( ( for x being set st x in {y} holds
((y .--> (id a)) /. x) (*) k = F9 /. x ) iff h = k ) ) )
let b be Object of C; ::_thesis: for F9 being Projections_family of b,{y} st cods (y .--> (id a)) = cods F9 holds
ex h being Morphism of C st
( h in Hom (b,a) & ( for k being Morphism of C st k in Hom (b,a) holds
( ( for x being set st x in {y} holds
((y .--> (id a)) /. x) (*) k = F9 /. x ) iff h = k ) ) )
let F9 be Projections_family of b,{y}; ::_thesis: ( cods (y .--> (id a)) = cods F9 implies ex h being Morphism of C st
( h in Hom (b,a) & ( for k being Morphism of C st k in Hom (b,a) holds
( ( for x being set st x in {y} holds
((y .--> (id a)) /. x) (*) k = F9 /. x ) iff h = k ) ) ) )
assume A1: cods (y .--> (id a)) = cods F9 ; ::_thesis: ex h being Morphism of C st
( h in Hom (b,a) & ( for k being Morphism of C st k in Hom (b,a) holds
( ( for x being set st x in {y} holds
((y .--> (id a)) /. x) (*) k = F9 /. x ) iff h = k ) ) )
take h = F9 /. y; ::_thesis: ( h in Hom (b,a) & ( for k being Morphism of C st k in Hom (b,a) holds
( ( for x being set st x in {y} holds
((y .--> (id a)) /. x) (*) k = F9 /. x ) iff h = k ) ) )
A2: y in {y} by TARSKI:def_1;
then A3: dom h = b by Th41;
cod h = (cods (y .--> (id a))) /. y by A1, A2, Def2
.= cod ((y .--> (id a)) /. y) by A2, Def2
.= cod (id a) by A2, Th2
.= a ;
hence h in Hom (b,a) by A3; ::_thesis: for k being Morphism of C st k in Hom (b,a) holds
( ( for x being set st x in {y} holds
((y .--> (id a)) /. x) (*) k = F9 /. x ) iff h = k )
let k be Morphism of C; ::_thesis: ( k in Hom (b,a) implies ( ( for x being set st x in {y} holds
((y .--> (id a)) /. x) (*) k = F9 /. x ) iff h = k ) )
assume k in Hom (b,a) ; ::_thesis: ( ( for x being set st x in {y} holds
((y .--> (id a)) /. x) (*) k = F9 /. x ) iff h = k )
then A4: cod k = a by CAT_1:1;
thus ( ( for x being set st x in {y} holds
((y .--> (id a)) /. x) (*) k = F9 /. x ) implies h = k ) ::_thesis: ( h = k implies for x being set st x in {y} holds
((y .--> (id a)) /. x) (*) k = F9 /. x )
proof
assume A5: for x being set st x in {y} holds
((y .--> (id a)) /. x) (*) k = F9 /. x ; ::_thesis: h = k
thus k = (id a) (*) k by A4, CAT_1:21
.= ((y .--> (id a)) /. y) (*) k by A2, Th2
.= h by A2, A5 ; ::_thesis: verum
end;
assume A6: h = k ; ::_thesis: for x being set st x in {y} holds
((y .--> (id a)) /. x) (*) k = F9 /. x
let x be set ; ::_thesis: ( x in {y} implies ((y .--> (id a)) /. x) (*) k = F9 /. x )
assume A7: x in {y} ; ::_thesis: ((y .--> (id a)) /. x) (*) k = F9 /. x
hence F9 /. x = k by A6, TARSKI:def_1
.= (id a) (*) k by A4, CAT_1:21
.= ((y .--> (id a)) /. x) (*) k by A7, Th2 ;
::_thesis: verum
end;
theorem :: CAT_3:53
for I being set
for C being Category
for a being Object of C
for F being Projections_family of a,I st a is_a_product_wrt F & ( for x being set st x in I holds
cod (F /. x) is terminal ) holds
a is terminal
proof
let I be set ; ::_thesis: for C being Category
for a being Object of C
for F being Projections_family of a,I st a is_a_product_wrt F & ( for x being set st x in I holds
cod (F /. x) is terminal ) holds
a is terminal
let C be Category; ::_thesis: for a being Object of C
for F being Projections_family of a,I st a is_a_product_wrt F & ( for x being set st x in I holds
cod (F /. x) is terminal ) holds
a is terminal
let a be Object of C; ::_thesis: for F being Projections_family of a,I st a is_a_product_wrt F & ( for x being set st x in I holds
cod (F /. x) is terminal ) holds
a is terminal
let F be Projections_family of a,I; ::_thesis: ( a is_a_product_wrt F & ( for x being set st x in I holds
cod (F /. x) is terminal ) implies a is terminal )
assume that
A1: a is_a_product_wrt F and
A2: for x being set st x in I holds
cod (F /. x) is terminal ; ::_thesis: a is terminal
now__::_thesis:_(_(_I_=_{}_implies_a_is_terminal_)_&_(_for_b_being_Object_of_C_holds_
(_Hom_(b,a)_<>_{}_&_ex_h_being_Morphism_of_b,a_st_
for_g_being_Morphism_of_b,a_holds_h_=_g_)_)_)
thus ( I = {} implies a is terminal ) by A1, Th50; ::_thesis: for b being Object of C holds
( Hom (b,a) <> {} & ex h being Morphism of b,a st
for g being Morphism of b,a holds h = g )
let b be Object of C; ::_thesis: ( Hom (b,a) <> {} & ex h being Morphism of b,a st
for g being Morphism of b,a holds h = g )
deffunc H1( set ) -> Morphism of b, cod (F /. $1) = term (b,(cod (F /. $1)));
consider F9 being Function of I, the carrier' of C such that
A3: for x being set st x in I holds
F9 /. x = H1(x) from CAT_3:sch_1();
now__::_thesis:_for_x_being_set_st_x_in_I_holds_
(doms_F9)_/._x_=_(I_-->_b)_/._x
let x be set ; ::_thesis: ( x in I implies (doms F9) /. x = (I --> b) /. x )
assume A4: x in I ; ::_thesis: (doms F9) /. x = (I --> b) /. x
then A5: cod (F /. x) is terminal by A2;
thus (doms F9) /. x = dom (F9 /. x) by A4, Def1
.= dom (term (b,(cod (F /. x)))) by A3, A4
.= b by A5, Th35
.= (I --> b) /. x by A4, Th2 ; ::_thesis: verum
end;
then reconsider F9 = F9 as Projections_family of b,I by Def13, Th1;
now__::_thesis:_for_x_being_set_st_x_in_I_holds_
(cods_F)_/._x_=_(cods_F9)_/._x
let x be set ; ::_thesis: ( x in I implies (cods F) /. x = (cods F9) /. x )
assume A6: x in I ; ::_thesis: (cods F) /. x = (cods F9) /. x
then A7: cod (F /. x) is terminal by A2;
thus (cods F) /. x = cod (F /. x) by A6, Def2
.= cod (term (b,(cod (F /. x)))) by A7, Th35
.= cod (F9 /. x) by A3, A6
.= (cods F9) /. x by A6, Def2 ; ::_thesis: verum
end;
then consider h being Morphism of C such that
A8: h in Hom (b,a) and
A9: for k being Morphism of C st k in Hom (b,a) holds
( ( for x being set st x in I holds
(F /. x) (*) k = F9 /. x ) iff h = k ) by A1, Def14, Th1;
thus Hom (b,a) <> {} by A8; ::_thesis: ex h being Morphism of b,a st
for g being Morphism of b,a holds h = g
reconsider h = h as Morphism of b,a by A8, CAT_1:def_5;
take h = h; ::_thesis: for g being Morphism of b,a holds h = g
let g be Morphism of b,a; ::_thesis: h = g
now__::_thesis:_(_g_in_Hom_(b,a)_&_(_for_x_being_set_st_x_in_I_holds_
F9_/._x_=_(F_/._x)_(*)_g_)_)
thus g in Hom (b,a) by A8, CAT_1:def_5; ::_thesis: for x being set st x in I holds
F9 /. x = (F /. x) (*) g
let x be set ; ::_thesis: ( x in I implies F9 /. x = (F /. x) (*) g )
set c = cod (F /. x);
A10: cod g = a by A8, CAT_1:5;
assume A11: x in I ; ::_thesis: F9 /. x = (F /. x) (*) g
then cod (F /. x) is terminal by A2;
then consider f being Morphism of b, cod (F /. x) such that
A12: for f9 being Morphism of b, cod (F /. x) holds f = f9 by CAT_1:def_18;
A13: dom (F /. x) = a by A11, Th41;
then A14: cod ((F /. x) (*) g) = cod (F /. x) by A10, CAT_1:17;
dom g = b by A8, CAT_1:5;
then dom ((F /. x) (*) g) = b by A10, A13, CAT_1:17;
then (F /. x) (*) g in Hom (b,(cod (F /. x))) by A14;
then A15: (F /. x) (*) g is Morphism of b, cod (F /. x) by CAT_1:def_5;
F9 /. x = term (b,(cod (F /. x))) by A3, A11;
hence F9 /. x = f by A12
.= (F /. x) (*) g by A12, A15 ;
::_thesis: verum
end;
hence h = g by A9; ::_thesis: verum
end;
hence a is terminal by CAT_1:def_18; ::_thesis: verum
end;
definition
let C be Category;
let c be Object of C;
let p1, p2 be Morphism of C;
predc is_a_product_wrt p1,p2 means :Def15: :: CAT_3:def 15
( dom p1 = c & dom p2 = c & ( for d being Object of C
for f, g being Morphism of C st f in Hom (d,(cod p1)) & g in Hom (d,(cod p2)) holds
ex h being Morphism of C st
( h in Hom (d,c) & ( for k being Morphism of C st k in Hom (d,c) holds
( ( p1 (*) k = f & p2 (*) k = g ) iff h = k ) ) ) ) );
end;
:: deftheorem Def15 defines is_a_product_wrt CAT_3:def_15_:_
for C being Category
for c being Object of C
for p1, p2 being Morphism of C holds
( c is_a_product_wrt p1,p2 iff ( dom p1 = c & dom p2 = c & ( for d being Object of C
for f, g being Morphism of C st f in Hom (d,(cod p1)) & g in Hom (d,(cod p2)) holds
ex h being Morphism of C st
( h in Hom (d,c) & ( for k being Morphism of C st k in Hom (d,c) holds
( ( p1 (*) k = f & p2 (*) k = g ) iff h = k ) ) ) ) ) );
theorem Th54: :: CAT_3:54
for x1, x2 being set
for C being Category
for c being Object of C
for p1, p2 being Morphism of C st x1 <> x2 holds
( c is_a_product_wrt p1,p2 iff c is_a_product_wrt (x1,x2) --> (p1,p2) )
proof
let x1, x2 be set ; ::_thesis: for C being Category
for c being Object of C
for p1, p2 being Morphism of C st x1 <> x2 holds
( c is_a_product_wrt p1,p2 iff c is_a_product_wrt (x1,x2) --> (p1,p2) )
let C be Category; ::_thesis: for c being Object of C
for p1, p2 being Morphism of C st x1 <> x2 holds
( c is_a_product_wrt p1,p2 iff c is_a_product_wrt (x1,x2) --> (p1,p2) )
let c be Object of C; ::_thesis: for p1, p2 being Morphism of C st x1 <> x2 holds
( c is_a_product_wrt p1,p2 iff c is_a_product_wrt (x1,x2) --> (p1,p2) )
let p1, p2 be Morphism of C; ::_thesis: ( x1 <> x2 implies ( c is_a_product_wrt p1,p2 iff c is_a_product_wrt (x1,x2) --> (p1,p2) ) )
set F = (x1,x2) --> (p1,p2);
set I = {x1,x2};
assume A1: x1 <> x2 ; ::_thesis: ( c is_a_product_wrt p1,p2 iff c is_a_product_wrt (x1,x2) --> (p1,p2) )
thus ( c is_a_product_wrt p1,p2 implies c is_a_product_wrt (x1,x2) --> (p1,p2) ) ::_thesis: ( c is_a_product_wrt (x1,x2) --> (p1,p2) implies c is_a_product_wrt p1,p2 )
proof
assume A2: c is_a_product_wrt p1,p2 ; ::_thesis: c is_a_product_wrt (x1,x2) --> (p1,p2)
then ( dom p1 = c & dom p2 = c ) by Def15;
hence (x1,x2) --> (p1,p2) is Projections_family of c,{x1,x2} by Th44; :: according to CAT_3:def_14 ::_thesis: for b being Object of C
for F9 being Projections_family of b,{x1,x2} st cods ((x1,x2) --> (p1,p2)) = cods F9 holds
ex h being Morphism of C st
( h in Hom (b,c) & ( for k being Morphism of C st k in Hom (b,c) holds
( ( for x being set st x in {x1,x2} holds
(((x1,x2) --> (p1,p2)) /. x) (*) k = F9 /. x ) iff h = k ) ) )
let b be Object of C; ::_thesis: for F9 being Projections_family of b,{x1,x2} st cods ((x1,x2) --> (p1,p2)) = cods F9 holds
ex h being Morphism of C st
( h in Hom (b,c) & ( for k being Morphism of C st k in Hom (b,c) holds
( ( for x being set st x in {x1,x2} holds
(((x1,x2) --> (p1,p2)) /. x) (*) k = F9 /. x ) iff h = k ) ) )
let F9 be Projections_family of b,{x1,x2}; ::_thesis: ( cods ((x1,x2) --> (p1,p2)) = cods F9 implies ex h being Morphism of C st
( h in Hom (b,c) & ( for k being Morphism of C st k in Hom (b,c) holds
( ( for x being set st x in {x1,x2} holds
(((x1,x2) --> (p1,p2)) /. x) (*) k = F9 /. x ) iff h = k ) ) ) )
assume A3: cods ((x1,x2) --> (p1,p2)) = cods F9 ; ::_thesis: ex h being Morphism of C st
( h in Hom (b,c) & ( for k being Morphism of C st k in Hom (b,c) holds
( ( for x being set st x in {x1,x2} holds
(((x1,x2) --> (p1,p2)) /. x) (*) k = F9 /. x ) iff h = k ) ) )
set f = F9 /. x1;
set g = F9 /. x2;
A4: x1 in {x1,x2} by TARSKI:def_2;
then (cods ((x1,x2) --> (p1,p2))) /. x1 = cod (((x1,x2) --> (p1,p2)) /. x1) by Def2;
then cod (F9 /. x1) = cod (((x1,x2) --> (p1,p2)) /. x1) by A3, A4, Def2;
then A5: cod (F9 /. x1) = cod p1 by A1, Th3;
A6: x2 in {x1,x2} by TARSKI:def_2;
then (cods ((x1,x2) --> (p1,p2))) /. x2 = cod (((x1,x2) --> (p1,p2)) /. x2) by Def2;
then cod (F9 /. x2) = cod (((x1,x2) --> (p1,p2)) /. x2) by A3, A6, Def2;
then A7: cod (F9 /. x2) = cod p2 by A1, Th3;
dom (F9 /. x2) = b by A6, Th41;
then A8: F9 /. x2 in Hom (b,(cod p2)) by A7;
dom (F9 /. x1) = b by A4, Th41;
then F9 /. x1 in Hom (b,(cod p1)) by A5;
then consider h being Morphism of C such that
A9: h in Hom (b,c) and
A10: for k being Morphism of C st k in Hom (b,c) holds
( ( p1 (*) k = F9 /. x1 & p2 (*) k = F9 /. x2 ) iff h = k ) by A2, A8, Def15;
take h ; ::_thesis: ( h in Hom (b,c) & ( for k being Morphism of C st k in Hom (b,c) holds
( ( for x being set st x in {x1,x2} holds
(((x1,x2) --> (p1,p2)) /. x) (*) k = F9 /. x ) iff h = k ) ) )
thus h in Hom (b,c) by A9; ::_thesis: for k being Morphism of C st k in Hom (b,c) holds
( ( for x being set st x in {x1,x2} holds
(((x1,x2) --> (p1,p2)) /. x) (*) k = F9 /. x ) iff h = k )
let k be Morphism of C; ::_thesis: ( k in Hom (b,c) implies ( ( for x being set st x in {x1,x2} holds
(((x1,x2) --> (p1,p2)) /. x) (*) k = F9 /. x ) iff h = k ) )
assume A11: k in Hom (b,c) ; ::_thesis: ( ( for x being set st x in {x1,x2} holds
(((x1,x2) --> (p1,p2)) /. x) (*) k = F9 /. x ) iff h = k )
thus ( ( for x being set st x in {x1,x2} holds
(((x1,x2) --> (p1,p2)) /. x) (*) k = F9 /. x ) implies h = k ) ::_thesis: ( h = k implies for x being set st x in {x1,x2} holds
(((x1,x2) --> (p1,p2)) /. x) (*) k = F9 /. x )
proof
assume A12: for x being set st x in {x1,x2} holds
(((x1,x2) --> (p1,p2)) /. x) (*) k = F9 /. x ; ::_thesis: h = k
then (((x1,x2) --> (p1,p2)) /. x2) (*) k = F9 /. x2 by A6;
then A13: p2 (*) k = F9 /. x2 by A1, Th3;
(((x1,x2) --> (p1,p2)) /. x1) (*) k = F9 /. x1 by A4, A12;
then p1 (*) k = F9 /. x1 by A1, Th3;
hence h = k by A10, A11, A13; ::_thesis: verum
end;
assume h = k ; ::_thesis: for x being set st x in {x1,x2} holds
(((x1,x2) --> (p1,p2)) /. x) (*) k = F9 /. x
then A14: ( p1 (*) k = F9 /. x1 & p2 (*) k = F9 /. x2 ) by A10, A11;
let x be set ; ::_thesis: ( x in {x1,x2} implies (((x1,x2) --> (p1,p2)) /. x) (*) k = F9 /. x )
assume x in {x1,x2} ; ::_thesis: (((x1,x2) --> (p1,p2)) /. x) (*) k = F9 /. x
then ( x = x1 or x = x2 ) by TARSKI:def_2;
hence (((x1,x2) --> (p1,p2)) /. x) (*) k = F9 /. x by A1, A14, Th3; ::_thesis: verum
end;
assume A15: c is_a_product_wrt (x1,x2) --> (p1,p2) ; ::_thesis: c is_a_product_wrt p1,p2
then A16: (x1,x2) --> (p1,p2) is Projections_family of c,{x1,x2} by Def14;
x2 in {x1,x2} by TARSKI:def_2;
then A17: dom (((x1,x2) --> (p1,p2)) /. x2) = c by A16, Th41;
x1 in {x1,x2} by TARSKI:def_2;
then dom (((x1,x2) --> (p1,p2)) /. x1) = c by A16, Th41;
hence ( dom p1 = c & dom p2 = c ) by A1, A17, Th3; :: according to CAT_3:def_15 ::_thesis: for d being Object of C
for f, g being Morphism of C st f in Hom (d,(cod p1)) & g in Hom (d,(cod p2)) holds
ex h being Morphism of C st
( h in Hom (d,c) & ( for k being Morphism of C st k in Hom (d,c) holds
( ( p1 (*) k = f & p2 (*) k = g ) iff h = k ) ) )
let d be Object of C; ::_thesis: for f, g being Morphism of C st f in Hom (d,(cod p1)) & g in Hom (d,(cod p2)) holds
ex h being Morphism of C st
( h in Hom (d,c) & ( for k being Morphism of C st k in Hom (d,c) holds
( ( p1 (*) k = f & p2 (*) k = g ) iff h = k ) ) )
let f, g be Morphism of C; ::_thesis: ( f in Hom (d,(cod p1)) & g in Hom (d,(cod p2)) implies ex h being Morphism of C st
( h in Hom (d,c) & ( for k being Morphism of C st k in Hom (d,c) holds
( ( p1 (*) k = f & p2 (*) k = g ) iff h = k ) ) ) )
assume that
A18: f in Hom (d,(cod p1)) and
A19: g in Hom (d,(cod p2)) ; ::_thesis: ex h being Morphism of C st
( h in Hom (d,c) & ( for k being Morphism of C st k in Hom (d,c) holds
( ( p1 (*) k = f & p2 (*) k = g ) iff h = k ) ) )
( dom f = d & dom g = d ) by A18, A19, CAT_1:1;
then reconsider F9 = (x1,x2) --> (f,g) as Projections_family of d,{x1,x2} by Th44;
cods ((x1,x2) --> (p1,p2)) = (x1,x2) --> ((cod p1),(cod p2)) by Th7
.= (x1,x2) --> ((cod f),(cod p2)) by A18, CAT_1:1
.= (x1,x2) --> ((cod f),(cod g)) by A19, CAT_1:1
.= cods F9 by Th7 ;
then consider h being Morphism of C such that
A20: h in Hom (d,c) and
A21: for k being Morphism of C st k in Hom (d,c) holds
( ( for x being set st x in {x1,x2} holds
(((x1,x2) --> (p1,p2)) /. x) (*) k = F9 /. x ) iff h = k ) by A15, Def14;
take h ; ::_thesis: ( h in Hom (d,c) & ( for k being Morphism of C st k in Hom (d,c) holds
( ( p1 (*) k = f & p2 (*) k = g ) iff h = k ) ) )
thus h in Hom (d,c) by A20; ::_thesis: for k being Morphism of C st k in Hom (d,c) holds
( ( p1 (*) k = f & p2 (*) k = g ) iff h = k )
let k be Morphism of C; ::_thesis: ( k in Hom (d,c) implies ( ( p1 (*) k = f & p2 (*) k = g ) iff h = k ) )
assume A22: k in Hom (d,c) ; ::_thesis: ( ( p1 (*) k = f & p2 (*) k = g ) iff h = k )
thus ( p1 (*) k = f & p2 (*) k = g implies h = k ) ::_thesis: ( h = k implies ( p1 (*) k = f & p2 (*) k = g ) )
proof
assume A23: ( p1 (*) k = f & p2 (*) k = g ) ; ::_thesis: h = k
now__::_thesis:_for_x_being_set_st_x_in_{x1,x2}_holds_
(((x1,x2)_-->_(p1,p2))_/._x)_(*)_k_=_F9_/._x
let x be set ; ::_thesis: ( x in {x1,x2} implies (((x1,x2) --> (p1,p2)) /. x) (*) k = F9 /. x )
assume x in {x1,x2} ; ::_thesis: (((x1,x2) --> (p1,p2)) /. x) (*) k = F9 /. x
then ( x = x1 or x = x2 ) by TARSKI:def_2;
then ( ( ((x1,x2) --> (p1,p2)) /. x = p1 & F9 /. x = f ) or ( ((x1,x2) --> (p1,p2)) /. x = p2 & F9 /. x = g ) ) by A1, Th3;
hence (((x1,x2) --> (p1,p2)) /. x) (*) k = F9 /. x by A23; ::_thesis: verum
end;
hence h = k by A21, A22; ::_thesis: verum
end;
assume A24: h = k ; ::_thesis: ( p1 (*) k = f & p2 (*) k = g )
x2 in {x1,x2} by TARSKI:def_2;
then (((x1,x2) --> (p1,p2)) /. x2) (*) k = F9 /. x2 by A21, A22, A24;
then A25: (((x1,x2) --> (p1,p2)) /. x2) (*) k = g by A1, Th3;
x1 in {x1,x2} by TARSKI:def_2;
then (((x1,x2) --> (p1,p2)) /. x1) (*) k = F9 /. x1 by A21, A22, A24;
then (((x1,x2) --> (p1,p2)) /. x1) (*) k = f by A1, Th3;
hence ( p1 (*) k = f & p2 (*) k = g ) by A1, A25, Th3; ::_thesis: verum
end;
theorem :: CAT_3:55
for C being Category
for c, a, b being Object of C st Hom (c,a) <> {} & Hom (c,b) <> {} holds
for p1 being Morphism of c,a
for p2 being Morphism of c,b holds
( c is_a_product_wrt p1,p2 iff for d being Object of C st Hom (d,a) <> {} & Hom (d,b) <> {} holds
( Hom (d,c) <> {} & ( for f being Morphism of d,a
for g being Morphism of d,b ex h being Morphism of d,c st
for k being Morphism of d,c holds
( ( p1 * k = f & p2 * k = g ) iff h = k ) ) ) )
proof
let C be Category; ::_thesis: for c, a, b being Object of C st Hom (c,a) <> {} & Hom (c,b) <> {} holds
for p1 being Morphism of c,a
for p2 being Morphism of c,b holds
( c is_a_product_wrt p1,p2 iff for d being Object of C st Hom (d,a) <> {} & Hom (d,b) <> {} holds
( Hom (d,c) <> {} & ( for f being Morphism of d,a
for g being Morphism of d,b ex h being Morphism of d,c st
for k being Morphism of d,c holds
( ( p1 * k = f & p2 * k = g ) iff h = k ) ) ) )
let c, a, b be Object of C; ::_thesis: ( Hom (c,a) <> {} & Hom (c,b) <> {} implies for p1 being Morphism of c,a
for p2 being Morphism of c,b holds
( c is_a_product_wrt p1,p2 iff for d being Object of C st Hom (d,a) <> {} & Hom (d,b) <> {} holds
( Hom (d,c) <> {} & ( for f being Morphism of d,a
for g being Morphism of d,b ex h being Morphism of d,c st
for k being Morphism of d,c holds
( ( p1 * k = f & p2 * k = g ) iff h = k ) ) ) ) )
assume that
A1: Hom (c,a) <> {} and
A2: Hom (c,b) <> {} ; ::_thesis: for p1 being Morphism of c,a
for p2 being Morphism of c,b holds
( c is_a_product_wrt p1,p2 iff for d being Object of C st Hom (d,a) <> {} & Hom (d,b) <> {} holds
( Hom (d,c) <> {} & ( for f being Morphism of d,a
for g being Morphism of d,b ex h being Morphism of d,c st
for k being Morphism of d,c holds
( ( p1 * k = f & p2 * k = g ) iff h = k ) ) ) )
let p1 be Morphism of c,a; ::_thesis: for p2 being Morphism of c,b holds
( c is_a_product_wrt p1,p2 iff for d being Object of C st Hom (d,a) <> {} & Hom (d,b) <> {} holds
( Hom (d,c) <> {} & ( for f being Morphism of d,a
for g being Morphism of d,b ex h being Morphism of d,c st
for k being Morphism of d,c holds
( ( p1 * k = f & p2 * k = g ) iff h = k ) ) ) )
let p2 be Morphism of c,b; ::_thesis: ( c is_a_product_wrt p1,p2 iff for d being Object of C st Hom (d,a) <> {} & Hom (d,b) <> {} holds
( Hom (d,c) <> {} & ( for f being Morphism of d,a
for g being Morphism of d,b ex h being Morphism of d,c st
for k being Morphism of d,c holds
( ( p1 * k = f & p2 * k = g ) iff h = k ) ) ) )
thus ( c is_a_product_wrt p1,p2 implies for d being Object of C st Hom (d,a) <> {} & Hom (d,b) <> {} holds
( Hom (d,c) <> {} & ( for f being Morphism of d,a
for g being Morphism of d,b ex h being Morphism of d,c st
for k being Morphism of d,c holds
( ( p1 * k = f & p2 * k = g ) iff h = k ) ) ) ) ::_thesis: ( ( for d being Object of C st Hom (d,a) <> {} & Hom (d,b) <> {} holds
( Hom (d,c) <> {} & ( for f being Morphism of d,a
for g being Morphism of d,b ex h being Morphism of d,c st
for k being Morphism of d,c holds
( ( p1 * k = f & p2 * k = g ) iff h = k ) ) ) ) implies c is_a_product_wrt p1,p2 )
proof
assume that
dom p1 = c and
dom p2 = c and
A3: for d being Object of C
for f, g being Morphism of C st f in Hom (d,(cod p1)) & g in Hom (d,(cod p2)) holds
ex h being Morphism of C st
( h in Hom (d,c) & ( for k being Morphism of C st k in Hom (d,c) holds
( ( p1 (*) k = f & p2 (*) k = g ) iff h = k ) ) ) ; :: according to CAT_3:def_15 ::_thesis: for d being Object of C st Hom (d,a) <> {} & Hom (d,b) <> {} holds
( Hom (d,c) <> {} & ( for f being Morphism of d,a
for g being Morphism of d,b ex h being Morphism of d,c st
for k being Morphism of d,c holds
( ( p1 * k = f & p2 * k = g ) iff h = k ) ) )
let d be Object of C; ::_thesis: ( Hom (d,a) <> {} & Hom (d,b) <> {} implies ( Hom (d,c) <> {} & ( for f being Morphism of d,a
for g being Morphism of d,b ex h being Morphism of d,c st
for k being Morphism of d,c holds
( ( p1 * k = f & p2 * k = g ) iff h = k ) ) ) )
assume that
A4: Hom (d,a) <> {} and
A5: Hom (d,b) <> {} ; ::_thesis: ( Hom (d,c) <> {} & ( for f being Morphism of d,a
for g being Morphism of d,b ex h being Morphism of d,c st
for k being Morphism of d,c holds
( ( p1 * k = f & p2 * k = g ) iff h = k ) ) )
set f = the Morphism of d,a;
set g = the Morphism of d,b;
A6: cod p2 = b by A2, CAT_1:5;
then A7: the Morphism of d,b in Hom (d,(cod p2)) by A5, CAT_1:def_5;
A8: cod p1 = a by A1, CAT_1:5;
then the Morphism of d,a in Hom (d,(cod p1)) by A4, CAT_1:def_5;
then A9: ex h being Morphism of C st
( h in Hom (d,c) & ( for k being Morphism of C st k in Hom (d,c) holds
( ( p1 (*) k = the Morphism of d,a & p2 (*) k = the Morphism of d,b ) iff h = k ) ) ) by A3, A7;
hence Hom (d,c) <> {} ; ::_thesis: for f being Morphism of d,a
for g being Morphism of d,b ex h being Morphism of d,c st
for k being Morphism of d,c holds
( ( p1 * k = f & p2 * k = g ) iff h = k )
let f be Morphism of d,a; ::_thesis: for g being Morphism of d,b ex h being Morphism of d,c st
for k being Morphism of d,c holds
( ( p1 * k = f & p2 * k = g ) iff h = k )
let g be Morphism of d,b; ::_thesis: ex h being Morphism of d,c st
for k being Morphism of d,c holds
( ( p1 * k = f & p2 * k = g ) iff h = k )
A10: g in Hom (d,(cod p2)) by A5, A6, CAT_1:def_5;
f in Hom (d,(cod p1)) by A4, A8, CAT_1:def_5;
then consider h being Morphism of C such that
A11: h in Hom (d,c) and
A12: for k being Morphism of C st k in Hom (d,c) holds
( ( p1 (*) k = f & p2 (*) k = g ) iff h = k ) by A3, A10;
reconsider h = h as Morphism of d,c by A11, CAT_1:def_5;
take h ; ::_thesis: for k being Morphism of d,c holds
( ( p1 * k = f & p2 * k = g ) iff h = k )
let k be Morphism of d,c; ::_thesis: ( ( p1 * k = f & p2 * k = g ) iff h = k )
A13: k in Hom (d,c) by A9, CAT_1:def_5;
( p1 * k = p1 (*) k & p2 * k = p2 (*) k ) by A1, A2, A9, CAT_1:def_13;
hence ( ( p1 * k = f & p2 * k = g ) iff h = k ) by A12, A13; ::_thesis: verum
end;
assume A14: for d being Object of C st Hom (d,a) <> {} & Hom (d,b) <> {} holds
( Hom (d,c) <> {} & ( for f being Morphism of d,a
for g being Morphism of d,b ex h being Morphism of d,c st
for k being Morphism of d,c holds
( ( p1 * k = f & p2 * k = g ) iff h = k ) ) ) ; ::_thesis: c is_a_product_wrt p1,p2
thus ( dom p1 = c & dom p2 = c ) by A1, A2, CAT_1:5; :: according to CAT_3:def_15 ::_thesis: for d being Object of C
for f, g being Morphism of C st f in Hom (d,(cod p1)) & g in Hom (d,(cod p2)) holds
ex h being Morphism of C st
( h in Hom (d,c) & ( for k being Morphism of C st k in Hom (d,c) holds
( ( p1 (*) k = f & p2 (*) k = g ) iff h = k ) ) )
let d be Object of C; ::_thesis: for f, g being Morphism of C st f in Hom (d,(cod p1)) & g in Hom (d,(cod p2)) holds
ex h being Morphism of C st
( h in Hom (d,c) & ( for k being Morphism of C st k in Hom (d,c) holds
( ( p1 (*) k = f & p2 (*) k = g ) iff h = k ) ) )
let f, g be Morphism of C; ::_thesis: ( f in Hom (d,(cod p1)) & g in Hom (d,(cod p2)) implies ex h being Morphism of C st
( h in Hom (d,c) & ( for k being Morphism of C st k in Hom (d,c) holds
( ( p1 (*) k = f & p2 (*) k = g ) iff h = k ) ) ) )
assume that
A15: f in Hom (d,(cod p1)) and
A16: g in Hom (d,(cod p2)) ; ::_thesis: ex h being Morphism of C st
( h in Hom (d,c) & ( for k being Morphism of C st k in Hom (d,c) holds
( ( p1 (*) k = f & p2 (*) k = g ) iff h = k ) ) )
A17: Hom (d,a) <> {} by A1, A15, CAT_1:5;
A18: cod p1 = a by A1, CAT_1:5;
then A19: f is Morphism of d,a by A15, CAT_1:def_5;
A20: cod p2 = b by A2, CAT_1:5;
then g is Morphism of d,b by A16, CAT_1:def_5;
then consider h being Morphism of d,c such that
A21: for k being Morphism of d,c holds
( ( p1 * k = f & p2 * k = g ) iff h = k ) by A14, A16, A20, A19, A17;
reconsider h9 = h as Morphism of C ;
take h9 ; ::_thesis: ( h9 in Hom (d,c) & ( for k being Morphism of C st k in Hom (d,c) holds
( ( p1 (*) k = f & p2 (*) k = g ) iff h9 = k ) ) )
A22: Hom (d,c) <> {} by A14, A15, A16, A18, A20;
hence h9 in Hom (d,c) by CAT_1:def_5; ::_thesis: for k being Morphism of C st k in Hom (d,c) holds
( ( p1 (*) k = f & p2 (*) k = g ) iff h9 = k )
let k be Morphism of C; ::_thesis: ( k in Hom (d,c) implies ( ( p1 (*) k = f & p2 (*) k = g ) iff h9 = k ) )
assume k in Hom (d,c) ; ::_thesis: ( ( p1 (*) k = f & p2 (*) k = g ) iff h9 = k )
then reconsider k9 = k as Morphism of d,c by CAT_1:def_5;
( p1 (*) k = p1 * k9 & p2 (*) k = p2 * k9 ) by A1, A2, A22, CAT_1:def_13;
hence ( ( p1 (*) k = f & p2 (*) k = g ) iff h9 = k ) by A21; ::_thesis: verum
end;
theorem :: CAT_3:56
for C being Category
for c, d being Object of C
for p1, p2, q1, q2 being Morphism of C st c is_a_product_wrt p1,p2 & d is_a_product_wrt q1,q2 & cod p1 = cod q1 & cod p2 = cod q2 holds
c,d are_isomorphic
proof
let C be Category; ::_thesis: for c, d being Object of C
for p1, p2, q1, q2 being Morphism of C st c is_a_product_wrt p1,p2 & d is_a_product_wrt q1,q2 & cod p1 = cod q1 & cod p2 = cod q2 holds
c,d are_isomorphic
let c, d be Object of C; ::_thesis: for p1, p2, q1, q2 being Morphism of C st c is_a_product_wrt p1,p2 & d is_a_product_wrt q1,q2 & cod p1 = cod q1 & cod p2 = cod q2 holds
c,d are_isomorphic
let p1, p2, q1, q2 be Morphism of C; ::_thesis: ( c is_a_product_wrt p1,p2 & d is_a_product_wrt q1,q2 & cod p1 = cod q1 & cod p2 = cod q2 implies c,d are_isomorphic )
assume that
A1: c is_a_product_wrt p1,p2 and
A2: d is_a_product_wrt q1,q2 and
A3: ( cod p1 = cod q1 & cod p2 = cod q2 ) ; ::_thesis: c,d are_isomorphic
set I = {0,1};
set F = (0,1) --> (p1,p2);
set F9 = (0,1) --> (q1,q2);
A4: ( c is_a_product_wrt (0,1) --> (p1,p2) & d is_a_product_wrt (0,1) --> (q1,q2) ) by A1, A2, Th54;
( dom q1 = d & dom q2 = d ) by A2, Def15;
then A5: (0,1) --> (q1,q2) is Projections_family of d,{0,1} by Th44;
( dom p1 = c & dom p2 = c ) by A1, Def15;
then A6: (0,1) --> (p1,p2) is Projections_family of c,{0,1} by Th44;
cods ((0,1) --> (p1,p2)) = (0,1) --> ((cod q1),(cod q2)) by A3, Th7
.= cods ((0,1) --> (q1,q2)) by Th7 ;
hence c,d are_isomorphic by A6, A5, A4, Th48; ::_thesis: verum
end;
theorem :: CAT_3:57
for C being Category
for c, a, b being Object of C
for p1 being Morphism of c,a
for p2 being Morphism of c,b st Hom (c,a) <> {} & Hom (c,b) <> {} & c is_a_product_wrt p1,p2 & Hom (a,b) <> {} & Hom (b,a) <> {} holds
( p1 is retraction & p2 is retraction )
proof
let C be Category; ::_thesis: for c, a, b being Object of C
for p1 being Morphism of c,a
for p2 being Morphism of c,b st Hom (c,a) <> {} & Hom (c,b) <> {} & c is_a_product_wrt p1,p2 & Hom (a,b) <> {} & Hom (b,a) <> {} holds
( p1 is retraction & p2 is retraction )
let c, a, b be Object of C; ::_thesis: for p1 being Morphism of c,a
for p2 being Morphism of c,b st Hom (c,a) <> {} & Hom (c,b) <> {} & c is_a_product_wrt p1,p2 & Hom (a,b) <> {} & Hom (b,a) <> {} holds
( p1 is retraction & p2 is retraction )
let p1 be Morphism of c,a; ::_thesis: for p2 being Morphism of c,b st Hom (c,a) <> {} & Hom (c,b) <> {} & c is_a_product_wrt p1,p2 & Hom (a,b) <> {} & Hom (b,a) <> {} holds
( p1 is retraction & p2 is retraction )
let p2 be Morphism of c,b; ::_thesis: ( Hom (c,a) <> {} & Hom (c,b) <> {} & c is_a_product_wrt p1,p2 & Hom (a,b) <> {} & Hom (b,a) <> {} implies ( p1 is retraction & p2 is retraction ) )
assume that
A1: ( Hom (c,a) <> {} & Hom (c,b) <> {} ) and
A2: c is_a_product_wrt p1,p2 and
A3: ( Hom (a,b) <> {} & Hom (b,a) <> {} ) ; ::_thesis: ( p1 is retraction & p2 is retraction )
set I = {0,1};
( dom p1 = c & dom p2 = c ) by A2, Def15;
then reconsider F = (0,1) --> (p1,p2) as Projections_family of c,{0,1} by Th44;
A4: F /. 0 = p1 by Th3;
A5: F /. 1 = p2 by Th3;
A6: now__::_thesis:_(_F_is_Projections_family_of_c,{0,1}_&_c_is_a_product_wrt_F_&_(_for_x1,_x2_being_set_st_x1_in_{0,1}_&_x2_in_{0,1}_holds_
Hom_((cod_(F_/._x1)),(cod_(F_/._x2)))_<>_{}_)_)
thus F is Projections_family of c,{0,1} ; ::_thesis: ( c is_a_product_wrt F & ( for x1, x2 being set st x1 in {0,1} & x2 in {0,1} holds
Hom ((cod (F /. x1)),(cod (F /. x2))) <> {} ) )
thus c is_a_product_wrt F by A2, Th54; ::_thesis: for x1, x2 being set st x1 in {0,1} & x2 in {0,1} holds
Hom ((cod (F /. x1)),(cod (F /. x2))) <> {}
let x1, x2 be set ; ::_thesis: ( x1 in {0,1} & x2 in {0,1} implies Hom ((cod (F /. x1)),(cod (F /. x2))) <> {} )
assume that
A7: x1 in {0,1} and
A8: x2 in {0,1} ; ::_thesis: Hom ((cod (F /. x1)),(cod (F /. x2))) <> {}
A9: ( x2 = 0 or x2 = 1 ) by A8, TARSKI:def_2;
( x1 = 0 or x1 = 1 ) by A7, TARSKI:def_2;
then A10: ( cod (F /. x1) = a or cod (F /. x1) = b ) by A4, A5, A1, CAT_1:5;
( cod (F /. x2) = a or cod (F /. x2) = b ) by A9, A4, A5, A1, CAT_1:5;
hence Hom ((cod (F /. x1)),(cod (F /. x2))) <> {} by A3, A10; ::_thesis: verum
end;
A11: 1 in {0,1} by TARSKI:def_2;
A12: 0 in {0,1} by TARSKI:def_2;
( cod (F /. 0) = a & cod (F /. 1) = b ) by A4, A5, A1, CAT_1:5;
hence ( p1 is retraction & p2 is retraction ) by A4, A6, A11, Th49, A5, A1, A12; ::_thesis: verum
end;
theorem Th58: :: CAT_3:58
for C being Category
for c being Object of C
for p1, p2, h being Morphism of C st c is_a_product_wrt p1,p2 & h in Hom (c,c) & p1 (*) h = p1 & p2 (*) h = p2 holds
h = id c
proof
let C be Category; ::_thesis: for c being Object of C
for p1, p2, h being Morphism of C st c is_a_product_wrt p1,p2 & h in Hom (c,c) & p1 (*) h = p1 & p2 (*) h = p2 holds
h = id c
let c be Object of C; ::_thesis: for p1, p2, h being Morphism of C st c is_a_product_wrt p1,p2 & h in Hom (c,c) & p1 (*) h = p1 & p2 (*) h = p2 holds
h = id c
let p1, p2, h be Morphism of C; ::_thesis: ( c is_a_product_wrt p1,p2 & h in Hom (c,c) & p1 (*) h = p1 & p2 (*) h = p2 implies h = id c )
assume that
A1: ( dom p1 = c & dom p2 = c ) and
A2: for d being Object of C
for f, g being Morphism of C st f in Hom (d,(cod p1)) & g in Hom (d,(cod p2)) holds
ex h being Morphism of C st
( h in Hom (d,c) & ( for k being Morphism of C st k in Hom (d,c) holds
( ( p1 (*) k = f & p2 (*) k = g ) iff h = k ) ) ) and
A3: ( h in Hom (c,c) & p1 (*) h = p1 & p2 (*) h = p2 ) ; :: according to CAT_3:def_15 ::_thesis: h = id c
( p1 in Hom (c,(cod p1)) & p2 in Hom (c,(cod p2)) ) by A1;
then consider i being Morphism of C such that
i in Hom (c,c) and
A4: for k being Morphism of C st k in Hom (c,c) holds
( ( p1 (*) k = p1 & p2 (*) k = p2 ) iff i = k ) by A2;
A5: id c in Hom (c,c) by CAT_1:27;
( p1 (*) (id c) = p1 & p2 (*) (id c) = p2 ) by A1, CAT_1:22;
hence id c = i by A4, A5
.= h by A3, A4 ;
::_thesis: verum
end;
theorem :: CAT_3:59
for C being Category
for d, c being Object of C
for p1, p2 being Morphism of C
for f being Morphism of d,c st c is_a_product_wrt p1,p2 & dom f = d & cod f = c & f is invertible holds
d is_a_product_wrt p1 (*) f,p2 (*) f
proof
let C be Category; ::_thesis: for d, c being Object of C
for p1, p2 being Morphism of C
for f being Morphism of d,c st c is_a_product_wrt p1,p2 & dom f = d & cod f = c & f is invertible holds
d is_a_product_wrt p1 (*) f,p2 (*) f
let d, c be Object of C; ::_thesis: for p1, p2 being Morphism of C
for f being Morphism of d,c st c is_a_product_wrt p1,p2 & dom f = d & cod f = c & f is invertible holds
d is_a_product_wrt p1 (*) f,p2 (*) f
let p1, p2 be Morphism of C; ::_thesis: for f being Morphism of d,c st c is_a_product_wrt p1,p2 & dom f = d & cod f = c & f is invertible holds
d is_a_product_wrt p1 (*) f,p2 (*) f
let f be Morphism of d,c; ::_thesis: ( c is_a_product_wrt p1,p2 & dom f = d & cod f = c & f is invertible implies d is_a_product_wrt p1 (*) f,p2 (*) f )
assume that
A1: c is_a_product_wrt p1,p2 and
A2: ( dom f = d & cod f = c & f is invertible ) ; ::_thesis: d is_a_product_wrt p1 (*) f,p2 (*) f
( dom p1 = c & dom p2 = c ) by A1, Def15;
then A3: (0,1) --> (p1,p2) is Projections_family of c,{0,1} by Th44;
c is_a_product_wrt (0,1) --> (p1,p2) by A1, Th54;
then d is_a_product_wrt ((0,1) --> (p1,p2)) * f by A2, A3, Th51;
then d is_a_product_wrt (0,1) --> ((p1 (*) f),(p2 (*) f)) by Th14;
hence d is_a_product_wrt p1 (*) f,p2 (*) f by Th54; ::_thesis: verum
end;
theorem :: CAT_3:60
for C being Category
for c being Object of C
for p1, p2 being Morphism of C st c is_a_product_wrt p1,p2 & cod p2 is terminal holds
c, cod p1 are_isomorphic
proof
let C be Category; ::_thesis: for c being Object of C
for p1, p2 being Morphism of C st c is_a_product_wrt p1,p2 & cod p2 is terminal holds
c, cod p1 are_isomorphic
let c be Object of C; ::_thesis: for p1, p2 being Morphism of C st c is_a_product_wrt p1,p2 & cod p2 is terminal holds
c, cod p1 are_isomorphic
let p1, p2 be Morphism of C; ::_thesis: ( c is_a_product_wrt p1,p2 & cod p2 is terminal implies c, cod p1 are_isomorphic )
set a = cod p1;
set b = cod p2;
assume that
A1: c is_a_product_wrt p1,p2 and
A2: cod p2 is terminal ; ::_thesis: c, cod p1 are_isomorphic
set f = id (cod p1);
set g = term ((cod p1),(cod p2));
( dom (term ((cod p1),(cod p2))) = cod p1 & cod (term ((cod p1),(cod p2))) = cod p2 ) by A2, Th35;
then ( id (cod p1) in Hom ((cod p1),(cod p1)) & term ((cod p1),(cod p2)) in Hom ((cod p1),(cod p2)) ) by CAT_1:27;
then consider h being Morphism of C such that
A3: h in Hom ((cod p1),c) and
A4: for k being Morphism of C st k in Hom ((cod p1),c) holds
( ( p1 (*) k = id (cod p1) & p2 (*) k = term ((cod p1),(cod p2)) ) iff h = k ) by A1, Def15;
A5: dom h = cod p1 by A3, CAT_1:1;
reconsider h = h as Morphism of cod p1,c by A3, CAT_1:def_5;
A6: dom p1 = c by A1, Def15;
then reconsider p = p1 as Morphism of c, cod p1 by CAT_1:4;
A7: cod h = c by A3, CAT_1:1;
then A8: cod (h (*) p) = c by A5, CAT_1:17;
A9: dom p2 = c by A1, Def15;
then A10: cod (p2 (*) (h (*) p)) = cod p2 by A8, CAT_1:17;
A11: dom (h (*) p) = c by A6, A5, CAT_1:17;
then A12: h (*) p in Hom (c,c) by A8;
dom (p2 (*) (h (*) p)) = c by A9, A11, A8, CAT_1:17;
then A13: p2 (*) (h (*) p) = term (c,(cod p2)) by A2, A10, Th36
.= p2 by A2, A9, Th36 ;
A14: Hom (c,(cod p1)) <> {} by A6, CAT_1:2;
take p ; :: according to CAT_1:def_20 ::_thesis: p is invertible
thus ( Hom (c,(cod p1)) <> {} & Hom ((cod p1),c) <> {} ) by A3, A6, CAT_1:2; :: according to CAT_1:def_16 ::_thesis: ex b1 being Morphism of cod p1,c st
( p * b1 = id (cod p1) & b1 * p = id c )
take h ; ::_thesis: ( p * h = id (cod p1) & h * p = id c )
thus p * h = p (*) h by A3, A14, CAT_1:def_13
.= id (cod p1) by A3, A4 ; ::_thesis: h * p = id c
p1 (*) (h (*) p) = (p1 (*) h) (*) p by A6, A5, A7, CAT_1:18
.= (id (cod p)) (*) p by A3, A4
.= p by CAT_1:21 ;
hence id c = h (*) p by A1, A13, A12, Th58
.= h * p by A3, A14, CAT_1:def_13 ;
::_thesis: verum
end;
theorem :: CAT_3:61
for C being Category
for c being Object of C
for p1, p2 being Morphism of C st c is_a_product_wrt p1,p2 & cod p1 is terminal holds
c, cod p2 are_isomorphic
proof
let C be Category; ::_thesis: for c being Object of C
for p1, p2 being Morphism of C st c is_a_product_wrt p1,p2 & cod p1 is terminal holds
c, cod p2 are_isomorphic
let c be Object of C; ::_thesis: for p1, p2 being Morphism of C st c is_a_product_wrt p1,p2 & cod p1 is terminal holds
c, cod p2 are_isomorphic
let p1, p2 be Morphism of C; ::_thesis: ( c is_a_product_wrt p1,p2 & cod p1 is terminal implies c, cod p2 are_isomorphic )
set a = cod p1;
set b = cod p2;
assume that
A1: c is_a_product_wrt p1,p2 and
A2: cod p1 is terminal ; ::_thesis: c, cod p2 are_isomorphic
set f = id (cod p2);
set g = term ((cod p2),(cod p1));
( dom (term ((cod p2),(cod p1))) = cod p2 & cod (term ((cod p2),(cod p1))) = cod p1 ) by A2, Th35;
then ( id (cod p2) in Hom ((cod p2),(cod p2)) & term ((cod p2),(cod p1)) in Hom ((cod p2),(cod p1)) ) by CAT_1:27;
then consider h being Morphism of C such that
A3: h in Hom ((cod p2),c) and
A4: for k being Morphism of C st k in Hom ((cod p2),c) holds
( ( p1 (*) k = term ((cod p2),(cod p1)) & p2 (*) k = id (cod p2) ) iff h = k ) by A1, Def15;
A5: dom h = cod p2 by A3, CAT_1:1;
A6: dom p2 = c by A1, Def15;
then reconsider p = p2 as Morphism of c, cod p2 by CAT_1:4;
A7: cod h = c by A3, CAT_1:1;
then A8: cod (h (*) p) = c by A5, CAT_1:17;
A9: dom p1 = c by A1, Def15;
then A10: cod (p1 (*) (h (*) p)) = cod p1 by A8, CAT_1:17;
A11: dom (h (*) p) = c by A6, A5, CAT_1:17;
then A12: h (*) p in Hom (c,c) by A8;
dom (p1 (*) (h (*) p)) = c by A9, A11, A8, CAT_1:17;
then A13: p1 (*) (h (*) p) = term (c,(cod p1)) by A2, A10, Th36
.= p1 by A2, A9, Th36 ;
A14: Hom (c,(cod p2)) <> {} by A6, CAT_1:2;
take p ; :: according to CAT_1:def_20 ::_thesis: p is invertible
thus ( Hom (c,(cod p2)) <> {} & Hom ((cod p2),c) <> {} ) by A6, A3, CAT_1:2; :: according to CAT_1:def_16 ::_thesis: ex b1 being Morphism of cod p2,c st
( p * b1 = id (cod p2) & b1 * p = id c )
reconsider h = h as Morphism of cod p2,c by A3, CAT_1:def_5;
take h ; ::_thesis: ( p * h = id (cod p2) & h * p = id c )
thus p * h = p (*) h by A14, A3, CAT_1:def_13
.= id (cod p2) by A3, A4 ; ::_thesis: h * p = id c
p (*) h = id (cod p) by A3, A4;
then A15: p2 (*) (h (*) p) = (id (cod p)) (*) p by A6, A5, A7, CAT_1:18
.= p by CAT_1:21 ;
thus id c = h (*) p by A1, A13, A12, Th58, A15
.= h * p by A14, A3, CAT_1:def_13 ; ::_thesis: verum
end;
begin
definition
let C be Category;
let c be Object of C;
let I be set ;
mode Injections_family of c,I -> Function of I, the carrier' of C means :Def16: :: CAT_3:def 16
cods it = I --> c;
existence
ex b1 being Function of I, the carrier' of C st cods b1 = I --> c
proof
take F = I --> (id c); ::_thesis: cods F = I --> c
cods F = I --> (cod (id c)) by Th5;
hence cods F = I --> c ; ::_thesis: verum
end;
end;
:: deftheorem Def16 defines Injections_family CAT_3:def_16_:_
for C being Category
for c being Object of C
for I being set
for b4 being Function of I, the carrier' of C holds
( b4 is Injections_family of c,I iff cods b4 = I --> c );
theorem Th62: :: CAT_3:62
for I, x being set
for C being Category
for c being Object of C
for F being Injections_family of c,I st x in I holds
cod (F /. x) = c
proof
let I, x be set ; ::_thesis: for C being Category
for c being Object of C
for F being Injections_family of c,I st x in I holds
cod (F /. x) = c
let C be Category; ::_thesis: for c being Object of C
for F being Injections_family of c,I st x in I holds
cod (F /. x) = c
let c be Object of C; ::_thesis: for F being Injections_family of c,I st x in I holds
cod (F /. x) = c
let F be Injections_family of c,I; ::_thesis: ( x in I implies cod (F /. x) = c )
assume A1: x in I ; ::_thesis: cod (F /. x) = c
(cods F) /. x = (I --> c) /. x by Def16;
hence cod (F /. x) = (I --> c) /. x by A1, Def2
.= c by A1, Th2 ;
::_thesis: verum
end;
theorem :: CAT_3:63
for C being Category
for a being Object of C
for F being Function of {}, the carrier' of C holds F is Injections_family of a, {}
proof
let C be Category; ::_thesis: for a being Object of C
for F being Function of {}, the carrier' of C holds F is Injections_family of a, {}
let a be Object of C; ::_thesis: for F being Function of {}, the carrier' of C holds F is Injections_family of a, {}
let F be Function of {}, the carrier' of C; ::_thesis: F is Injections_family of a, {}
thus {} --> a = cods F ; :: according to CAT_3:def_16 ::_thesis: verum
end;
theorem Th64: :: CAT_3:64
for y being set
for C being Category
for a being Object of C
for f being Morphism of C st cod f = a holds
y .--> f is Injections_family of a,{y}
proof
let y be set ; ::_thesis: for C being Category
for a being Object of C
for f being Morphism of C st cod f = a holds
y .--> f is Injections_family of a,{y}
let C be Category; ::_thesis: for a being Object of C
for f being Morphism of C st cod f = a holds
y .--> f is Injections_family of a,{y}
let a be Object of C; ::_thesis: for f being Morphism of C st cod f = a holds
y .--> f is Injections_family of a,{y}
let f be Morphism of C; ::_thesis: ( cod f = a implies y .--> f is Injections_family of a,{y} )
set F = y .--> f;
assume A1: cod f = a ; ::_thesis: y .--> f is Injections_family of a,{y}
now__::_thesis:_for_x_being_set_st_x_in_{y}_holds_
(cods_(y_.-->_f))_/._x_=_(y_.-->_a)_/._x
let x be set ; ::_thesis: ( x in {y} implies (cods (y .--> f)) /. x = (y .--> a) /. x )
assume A2: x in {y} ; ::_thesis: (cods (y .--> f)) /. x = (y .--> a) /. x
hence (cods (y .--> f)) /. x = cod ((y .--> f) /. x) by Def2
.= a by A1, A2, Th2
.= (y .--> a) /. x by A2, Th2 ;
::_thesis: verum
end;
hence cods (y .--> f) = {y} --> a by Th1; :: according to CAT_3:def_16 ::_thesis: verum
end;
theorem Th65: :: CAT_3:65
for x1, x2 being set
for C being Category
for c being Object of C
for p1, p2 being Morphism of C st cod p1 = c & cod p2 = c holds
(x1,x2) --> (p1,p2) is Injections_family of c,{x1,x2}
proof
let x1, x2 be set ; ::_thesis: for C being Category
for c being Object of C
for p1, p2 being Morphism of C st cod p1 = c & cod p2 = c holds
(x1,x2) --> (p1,p2) is Injections_family of c,{x1,x2}
let C be Category; ::_thesis: for c being Object of C
for p1, p2 being Morphism of C st cod p1 = c & cod p2 = c holds
(x1,x2) --> (p1,p2) is Injections_family of c,{x1,x2}
let c be Object of C; ::_thesis: for p1, p2 being Morphism of C st cod p1 = c & cod p2 = c holds
(x1,x2) --> (p1,p2) is Injections_family of c,{x1,x2}
let p1, p2 be Morphism of C; ::_thesis: ( cod p1 = c & cod p2 = c implies (x1,x2) --> (p1,p2) is Injections_family of c,{x1,x2} )
assume A1: ( cod p1 = c & cod p2 = c ) ; ::_thesis: (x1,x2) --> (p1,p2) is Injections_family of c,{x1,x2}
cods ((x1,x2) --> (p1,p2)) = (x1,x2) --> ((cod p1),(cod p2)) by Th7
.= {x1,x2} --> c by A1, FUNCT_4:65 ;
hence (x1,x2) --> (p1,p2) is Injections_family of c,{x1,x2} by Def16; ::_thesis: verum
end;
theorem Th66: :: CAT_3:66
for I being set
for C being Category
for b being Object of C
for f being Morphism of C
for F being Injections_family of b,I st dom f = b holds
f * F is Injections_family of cod f,I
proof
let I be set ; ::_thesis: for C being Category
for b being Object of C
for f being Morphism of C
for F being Injections_family of b,I st dom f = b holds
f * F is Injections_family of cod f,I
let C be Category; ::_thesis: for b being Object of C
for f being Morphism of C
for F being Injections_family of b,I st dom f = b holds
f * F is Injections_family of cod f,I
let b be Object of C; ::_thesis: for f being Morphism of C
for F being Injections_family of b,I st dom f = b holds
f * F is Injections_family of cod f,I
let f be Morphism of C; ::_thesis: for F being Injections_family of b,I st dom f = b holds
f * F is Injections_family of cod f,I
let F be Injections_family of b,I; ::_thesis: ( dom f = b implies f * F is Injections_family of cod f,I )
assume dom f = b ; ::_thesis: f * F is Injections_family of cod f,I
then cods F = I --> (dom f) by Def16;
hence cods (f * F) = I --> (cod f) by Th17; :: according to CAT_3:def_16 ::_thesis: verum
end;
theorem :: CAT_3:67
for I being set
for C being Category
for b being Object of C
for F being Injections_family of b,I
for G being Function of I, the carrier' of C st doms F = cods G holds
F "*" G is Injections_family of b,I
proof
let I be set ; ::_thesis: for C being Category
for b being Object of C
for F being Injections_family of b,I
for G being Function of I, the carrier' of C st doms F = cods G holds
F "*" G is Injections_family of b,I
let C be Category; ::_thesis: for b being Object of C
for F being Injections_family of b,I
for G being Function of I, the carrier' of C st doms F = cods G holds
F "*" G is Injections_family of b,I
let b be Object of C; ::_thesis: for F being Injections_family of b,I
for G being Function of I, the carrier' of C st doms F = cods G holds
F "*" G is Injections_family of b,I
let F be Injections_family of b,I; ::_thesis: for G being Function of I, the carrier' of C st doms F = cods G holds
F "*" G is Injections_family of b,I
let G be Function of I, the carrier' of C; ::_thesis: ( doms F = cods G implies F "*" G is Injections_family of b,I )
assume doms F = cods G ; ::_thesis: F "*" G is Injections_family of b,I
then cods (F "*" G) = cods F by Th18;
hence cods (F "*" G) = I --> b by Def16; :: according to CAT_3:def_16 ::_thesis: verum
end;
theorem Th68: :: CAT_3:68
for I being set
for C being Category
for c being Object of C
for F being Function of I, the carrier' of C holds
( F is Projections_family of c,I iff F opp is Injections_family of c opp ,I )
proof
let I be set ; ::_thesis: for C being Category
for c being Object of C
for F being Function of I, the carrier' of C holds
( F is Projections_family of c,I iff F opp is Injections_family of c opp ,I )
let C be Category; ::_thesis: for c being Object of C
for F being Function of I, the carrier' of C holds
( F is Projections_family of c,I iff F opp is Injections_family of c opp ,I )
let c be Object of C; ::_thesis: for F being Function of I, the carrier' of C holds
( F is Projections_family of c,I iff F opp is Injections_family of c opp ,I )
let F be Function of I, the carrier' of C; ::_thesis: ( F is Projections_family of c,I iff F opp is Injections_family of c opp ,I )
thus ( F is Projections_family of c,I implies F opp is Injections_family of c opp ,I ) ::_thesis: ( F opp is Injections_family of c opp ,I implies F is Projections_family of c,I )
proof
assume A1: doms F = I --> c ; :: according to CAT_3:def_13 ::_thesis: F opp is Injections_family of c opp ,I
now__::_thesis:_for_x_being_set_st_x_in_I_holds_
(cods_(F_opp))_/._x_=_(I_-->_(c_opp))_/._x
let x be set ; ::_thesis: ( x in I implies (cods (F opp)) /. x = (I --> (c opp)) /. x )
reconsider gg = F /. x as Morphism of dom (F /. x), cod (F /. x) by CAT_1:4;
A2: Hom ((dom gg),(cod gg)) <> {} by CAT_1:2;
then A3: gg opp = (F /. x) opp by OPPCAT_1:def_6;
assume A4: x in I ; ::_thesis: (cods (F opp)) /. x = (I --> (c opp)) /. x
hence (cods (F opp)) /. x = cod ((F opp) /. x) by Def2
.= cod ((F /. x) opp) by A4, Def3
.= (dom (F /. x)) opp by OPPCAT_1:12, A2, A3
.= (I --> (c opp)) /. x by A1, A4, Def1 ;
::_thesis: verum
end;
hence cods (F opp) = I --> (c opp) by Th1; :: according to CAT_3:def_16 ::_thesis: verum
end;
assume A5: cods (F opp) = I --> (c opp) ; :: according to CAT_3:def_16 ::_thesis: F is Projections_family of c,I
now__::_thesis:_for_x_being_set_st_x_in_I_holds_
(doms_F)_/._x_=_(I_-->_c)_/._x
let x be set ; ::_thesis: ( x in I implies (doms F) /. x = (I --> c) /. x )
reconsider gg = F /. x as Morphism of dom (F /. x), cod (F /. x) by CAT_1:4;
A6: Hom ((dom gg),(cod gg)) <> {} by CAT_1:2;
then A7: gg opp = (F /. x) opp by OPPCAT_1:def_6;
assume A8: x in I ; ::_thesis: (doms F) /. x = (I --> c) /. x
hence (doms F) /. x = dom (F /. x) by Def1
.= cod (gg opp) by OPPCAT_1:10, A6
.= cod ((F opp) /. x) by A8, Def3, A7
.= (I --> c) /. x by A8, A5, Def2 ;
::_thesis: verum
end;
hence doms F = I --> c by Th1; :: according to CAT_3:def_13 ::_thesis: verum
end;
theorem Th69: :: CAT_3:69
for I being set
for C being Category
for F being Function of I, the carrier' of (C opp)
for c being Object of (C opp) holds
( F is Injections_family of c,I iff opp F is Projections_family of opp c,I )
proof
let I be set ; ::_thesis: for C being Category
for F being Function of I, the carrier' of (C opp)
for c being Object of (C opp) holds
( F is Injections_family of c,I iff opp F is Projections_family of opp c,I )
let C be Category; ::_thesis: for F being Function of I, the carrier' of (C opp)
for c being Object of (C opp) holds
( F is Injections_family of c,I iff opp F is Projections_family of opp c,I )
let F be Function of I, the carrier' of (C opp); ::_thesis: for c being Object of (C opp) holds
( F is Injections_family of c,I iff opp F is Projections_family of opp c,I )
let c be Object of (C opp); ::_thesis: ( F is Injections_family of c,I iff opp F is Projections_family of opp c,I )
thus ( F is Injections_family of c,I implies opp F is Projections_family of opp c,I ) ::_thesis: ( opp F is Projections_family of opp c,I implies F is Injections_family of c,I )
proof
assume A1: cods F = I --> c ; :: according to CAT_3:def_16 ::_thesis: opp F is Projections_family of opp c,I
now__::_thesis:_for_x_being_set_st_x_in_I_holds_
(doms_(opp_F))_/._x_=_(I_-->_(opp_c))_/._x
let x be set ; ::_thesis: ( x in I implies (doms (opp F)) /. x = (I --> (opp c)) /. x )
reconsider gg = F /. x as Morphism of dom (F /. x), cod (F /. x) by CAT_1:4;
A2: Hom ((dom gg),(cod gg)) <> {} by CAT_1:2;
assume A3: x in I ; ::_thesis: (doms (opp F)) /. x = (I --> (opp c)) /. x
hence (doms (opp F)) /. x = dom ((opp F) /. x) by Def1
.= dom (opp (F /. x)) by A3, Def4
.= opp (cod (F /. x)) by OPPCAT_1:13, A2
.= (I --> (opp c)) /. x by A1, A3, Def2 ;
::_thesis: verum
end;
hence doms (opp F) = I --> (opp c) by Th1; :: according to CAT_3:def_13 ::_thesis: verum
end;
assume A4: doms (opp F) = I --> (opp c) ; :: according to CAT_3:def_13 ::_thesis: F is Injections_family of c,I
now__::_thesis:_for_x_being_set_st_x_in_I_holds_
(cods_F)_/._x_=_(I_-->_c)_/._x
let x be set ; ::_thesis: ( x in I implies (cods F) /. x = (I --> c) /. x )
reconsider gg = F /. x as Morphism of dom (F /. x), cod (F /. x) by CAT_1:4;
Hom ((dom gg),(cod gg)) <> {} by CAT_1:2;
then A5: gg opp = (F /. x) opp by OPPCAT_1:def_6;
assume A6: x in I ; ::_thesis: (cods F) /. x = (I --> c) /. x
hence (cods F) /. x = cod (F /. x) by Def2
.= dom (opp (F /. x)) by OPPCAT_1:11, A5
.= dom ((opp F) /. x) by A6, Def4
.= (I --> c) /. x by A4, A6, Def1 ;
::_thesis: verum
end;
hence cods F = I --> c by Th1; :: according to CAT_3:def_16 ::_thesis: verum
end;
theorem :: CAT_3:70
for I being set
for C being Category
for f being Morphism of C
for F being Injections_family of dom f,I holds (F opp) * (f opp) = (f * F) opp
proof
let I be set ; ::_thesis: for C being Category
for f being Morphism of C
for F being Injections_family of dom f,I holds (F opp) * (f opp) = (f * F) opp
let C be Category; ::_thesis: for f being Morphism of C
for F being Injections_family of dom f,I holds (F opp) * (f opp) = (f * F) opp
let f be Morphism of C; ::_thesis: for F being Injections_family of dom f,I holds (F opp) * (f opp) = (f * F) opp
let F be Injections_family of dom f,I; ::_thesis: (F opp) * (f opp) = (f * F) opp
now__::_thesis:_for_x_being_set_st_x_in_I_holds_
((F_opp)_*_(f_opp))_/._x_=_((f_*_F)_opp)_/._x
let x be set ; ::_thesis: ( x in I implies ((F opp) * (f opp)) /. x = ((f * F) opp) /. x )
assume A1: x in I ; ::_thesis: ((F opp) * (f opp)) /. x = ((f * F) opp) /. x
then A2: cod (F /. x) = (cods F) /. x by Def2
.= (I --> (dom f)) /. x by Def16
.= dom f by A1, Th2 ;
reconsider ff = f as Morphism of dom f, cod f by CAT_1:4;
reconsider gg = F /. x as Morphism of dom (F /. x), dom f by CAT_1:4, A2;
A3: ( Hom ((dom f),(cod f)) <> {} & Hom ((dom (F /. x)),(cod (F /. x))) <> {} ) by CAT_1:2;
then A4: ff opp = f opp by OPPCAT_1:def_6;
A5: gg opp = (F /. x) opp by OPPCAT_1:def_6, A3, A2;
thus ((F opp) * (f opp)) /. x = ((F opp) /. x) (*) (f opp) by A1, Def5
.= ((F /. x) opp) (*) (f opp) by A1, Def3
.= (f (*) (F /. x)) opp by A2, OPPCAT_1:16, A4, A5, A3
.= ((f * F) /. x) opp by A1, Def6
.= ((f * F) opp) /. x by A1, Def3 ; ::_thesis: verum
end;
hence (F opp) * (f opp) = (f * F) opp by Th1; ::_thesis: verum
end;
definition
let C be Category;
let c be Object of C;
let I be set ;
let F be Function of I, the carrier' of C;
predc is_a_coproduct_wrt F means :Def17: :: CAT_3:def 17
( F is Injections_family of c,I & ( for d being Object of C
for F9 being Injections_family of d,I st doms F = doms F9 holds
ex h being Morphism of C st
( h in Hom (c,d) & ( for k being Morphism of C st k in Hom (c,d) holds
( ( for x being set st x in I holds
k (*) (F /. x) = F9 /. x ) iff h = k ) ) ) ) );
end;
:: deftheorem Def17 defines is_a_coproduct_wrt CAT_3:def_17_:_
for C being Category
for c being Object of C
for I being set
for F being Function of I, the carrier' of C holds
( c is_a_coproduct_wrt F iff ( F is Injections_family of c,I & ( for d being Object of C
for F9 being Injections_family of d,I st doms F = doms F9 holds
ex h being Morphism of C st
( h in Hom (c,d) & ( for k being Morphism of C st k in Hom (c,d) holds
( ( for x being set st x in I holds
k (*) (F /. x) = F9 /. x ) iff h = k ) ) ) ) ) );
theorem :: CAT_3:71
for I being set
for C being Category
for c being Object of C
for F being Function of I, the carrier' of C holds
( c is_a_product_wrt F iff c opp is_a_coproduct_wrt F opp )
proof
let I be set ; ::_thesis: for C being Category
for c being Object of C
for F being Function of I, the carrier' of C holds
( c is_a_product_wrt F iff c opp is_a_coproduct_wrt F opp )
let C be Category; ::_thesis: for c being Object of C
for F being Function of I, the carrier' of C holds
( c is_a_product_wrt F iff c opp is_a_coproduct_wrt F opp )
let c be Object of C; ::_thesis: for F being Function of I, the carrier' of C holds
( c is_a_product_wrt F iff c opp is_a_coproduct_wrt F opp )
let F be Function of I, the carrier' of C; ::_thesis: ( c is_a_product_wrt F iff c opp is_a_coproduct_wrt F opp )
thus ( c is_a_product_wrt F implies c opp is_a_coproduct_wrt F opp ) ::_thesis: ( c opp is_a_coproduct_wrt F opp implies c is_a_product_wrt F )
proof
assume A1: c is_a_product_wrt F ; ::_thesis: c opp is_a_coproduct_wrt F opp
then F is Projections_family of c,I by Def14;
hence F opp is Injections_family of c opp ,I by Th68; :: according to CAT_3:def_17 ::_thesis: for d being Object of (C opp)
for F9 being Injections_family of d,I st doms (F opp) = doms F9 holds
ex h being Morphism of (C opp) st
( h in Hom ((c opp),d) & ( for k being Morphism of (C opp) st k in Hom ((c opp),d) holds
( ( for x being set st x in I holds
k (*) ((F opp) /. x) = F9 /. x ) iff h = k ) ) )
let d be Object of (C opp); ::_thesis: for F9 being Injections_family of d,I st doms (F opp) = doms F9 holds
ex h being Morphism of (C opp) st
( h in Hom ((c opp),d) & ( for k being Morphism of (C opp) st k in Hom ((c opp),d) holds
( ( for x being set st x in I holds
k (*) ((F opp) /. x) = F9 /. x ) iff h = k ) ) )
let F9 be Injections_family of d,I; ::_thesis: ( doms (F opp) = doms F9 implies ex h being Morphism of (C opp) st
( h in Hom ((c opp),d) & ( for k being Morphism of (C opp) st k in Hom ((c opp),d) holds
( ( for x being set st x in I holds
k (*) ((F opp) /. x) = F9 /. x ) iff h = k ) ) ) )
assume A2: doms (F opp) = doms F9 ; ::_thesis: ex h being Morphism of (C opp) st
( h in Hom ((c opp),d) & ( for k being Morphism of (C opp) st k in Hom ((c opp),d) holds
( ( for x being set st x in I holds
k (*) ((F opp) /. x) = F9 /. x ) iff h = k ) ) )
reconsider oppF9 = opp F9 as Projections_family of opp d,I by Th69;
now__::_thesis:_for_x_being_set_st_x_in_I_holds_
(cods_F)_/._x_=_(cods_oppF9)_/._x
let x be set ; ::_thesis: ( x in I implies (cods F) /. x = (cods oppF9) /. x )
reconsider gg = F /. x as Morphism of dom (F /. x), cod (F /. x) by CAT_1:4;
A3: Hom ((dom gg),(cod gg)) <> {} by CAT_1:2;
then A4: gg opp = (F /. x) opp by OPPCAT_1:def_6;
reconsider g9 = F9 /. x as Morphism of dom (F9 /. x), cod (F9 /. x) by CAT_1:4;
Hom ((dom g9),(cod g9)) <> {} by CAT_1:2;
then A5: g9 opp = (F9 /. x) opp by OPPCAT_1:def_6;
assume A6: x in I ; ::_thesis: (cods F) /. x = (cods oppF9) /. x
hence (cods F) /. x = cod (F /. x) by Def2
.= dom (gg opp) by OPPCAT_1:10, A3
.= dom ((F opp) /. x) by A6, Def3, A4
.= (doms F9) /. x by A2, A6, Def1
.= dom (F9 /. x) by A6, Def1
.= cod (opp (F9 /. x)) by OPPCAT_1:11, A5
.= cod (oppF9 /. x) by A6, Def4
.= (cods oppF9) /. x by A6, Def2 ;
::_thesis: verum
end;
then consider h being Morphism of C such that
A7: h in Hom ((opp d),c) and
A8: for k being Morphism of C st k in Hom ((opp d),c) holds
( ( for x being set st x in I holds
(F /. x) (*) k = oppF9 /. x ) iff h = k ) by A1, Def14, Th1;
take h opp ; ::_thesis: ( h opp in Hom ((c opp),d) & ( for k being Morphism of (C opp) st k in Hom ((c opp),d) holds
( ( for x being set st x in I holds
k (*) ((F opp) /. x) = F9 /. x ) iff h opp = k ) ) )
h in Hom ((c opp),((opp d) opp)) by A7, OPPCAT_1:5;
hence h opp in Hom ((c opp),d) ; ::_thesis: for k being Morphism of (C opp) st k in Hom ((c opp),d) holds
( ( for x being set st x in I holds
k (*) ((F opp) /. x) = F9 /. x ) iff h opp = k )
let k be Morphism of (C opp); ::_thesis: ( k in Hom ((c opp),d) implies ( ( for x being set st x in I holds
k (*) ((F opp) /. x) = F9 /. x ) iff h opp = k ) )
assume A9: k in Hom ((c opp),d) ; ::_thesis: ( ( for x being set st x in I holds
k (*) ((F opp) /. x) = F9 /. x ) iff h opp = k )
then A10: opp k in Hom ((opp d),(opp (c opp))) by OPPCAT_1:6;
thus ( ( for x being set st x in I holds
k (*) ((F opp) /. x) = F9 /. x ) implies h opp = k ) ::_thesis: ( h opp = k implies for x being set st x in I holds
k (*) ((F opp) /. x) = F9 /. x )
proof
assume A11: for x being set st x in I holds
k (*) ((F opp) /. x) = F9 /. x ; ::_thesis: h opp = k
now__::_thesis:_for_x_being_set_st_x_in_I_holds_
oppF9_/._x_=_(F_/._x)_(*)_(opp_k)
let x be set ; ::_thesis: ( x in I implies oppF9 /. x = (F /. x) (*) (opp k) )
assume A12: x in I ; ::_thesis: oppF9 /. x = (F /. x) (*) (opp k)
reconsider gg = F /. x as Morphism of dom (F /. x), cod (F /. x) by CAT_1:4;
A13: Hom ((dom gg),(cod gg)) <> {} by CAT_1:2;
then A14: gg opp = (F /. x) opp by OPPCAT_1:def_6;
F is Projections_family of c,I by A1, Def14;
then dom (F /. x) = c by A12, Th41;
then cod ((F /. x) opp) = c opp by OPPCAT_1:12, A13, A14;
then cod ((F opp) /. x) = c opp by A12, Def3;
then A15: dom k = cod ((F opp) /. x) by A9, CAT_1:1;
opp (k (*) ((F opp) /. x)) = opp (F9 /. x) by A11, A12;
hence oppF9 /. x = opp (k (*) ((F opp) /. x)) by A12, Def4
.= (opp ((F opp) /. x)) (*) (opp k) by A15, OPPCAT_1:18
.= (opp ((F /. x) opp)) (*) (opp k) by A12, Def3
.= (F /. x) (*) (opp k) ;
::_thesis: verum
end;
hence h opp = k by A8, A10; ::_thesis: verum
end;
assume A16: h opp = k ; ::_thesis: for x being set st x in I holds
k (*) ((F opp) /. x) = F9 /. x
let x be set ; ::_thesis: ( x in I implies k (*) ((F opp) /. x) = F9 /. x )
assume A17: x in I ; ::_thesis: k (*) ((F opp) /. x) = F9 /. x
F is Projections_family of c,I by A1, Def14;
then dom (F /. x) = c by A17, Th41;
then A18: cod (opp k) = dom (F /. x) by A10, CAT_1:1;
reconsider ff = opp k as Morphism of dom (opp k), cod (opp k) by CAT_1:4;
reconsider gg = F /. x as Morphism of cod (opp k), cod (F /. x) by CAT_1:4, A18;
A19: ( Hom ((dom (opp k)),(cod (opp k))) <> {} & Hom ((dom (F /. x)),(cod (F /. x))) <> {} ) by CAT_1:2;
then A20: ff opp = (opp k) opp by OPPCAT_1:def_6;
A21: gg opp = (F /. x) opp by OPPCAT_1:def_6, A19, A18;
(F /. x) (*) (opp k) = oppF9 /. x by A8, A10, A17, A16;
then ((opp k) opp) (*) ((F /. x) opp) = (oppF9 /. x) opp by A18, OPPCAT_1:16, A20, A21, A19;
hence k (*) ((F opp) /. x) = (oppF9 /. x) opp by A17, Def3
.= (opp (F9 /. x)) opp by A17, Def4
.= F9 /. x ;
::_thesis: verum
end;
assume A22: c opp is_a_coproduct_wrt F opp ; ::_thesis: c is_a_product_wrt F
then F opp is Injections_family of c opp ,I by Def17;
hence F is Projections_family of c,I by Th68; :: according to CAT_3:def_14 ::_thesis: for b being Object of C
for F9 being Projections_family of b,I st cods F = cods F9 holds
ex h being Morphism of C st
( h in Hom (b,c) & ( for k being Morphism of C st k in Hom (b,c) holds
( ( for x being set st x in I holds
(F /. x) (*) k = F9 /. x ) iff h = k ) ) )
let d be Object of C; ::_thesis: for F9 being Projections_family of d,I st cods F = cods F9 holds
ex h being Morphism of C st
( h in Hom (d,c) & ( for k being Morphism of C st k in Hom (d,c) holds
( ( for x being set st x in I holds
(F /. x) (*) k = F9 /. x ) iff h = k ) ) )
let F9 be Projections_family of d,I; ::_thesis: ( cods F = cods F9 implies ex h being Morphism of C st
( h in Hom (d,c) & ( for k being Morphism of C st k in Hom (d,c) holds
( ( for x being set st x in I holds
(F /. x) (*) k = F9 /. x ) iff h = k ) ) ) )
assume A23: cods F = cods F9 ; ::_thesis: ex h being Morphism of C st
( h in Hom (d,c) & ( for k being Morphism of C st k in Hom (d,c) holds
( ( for x being set st x in I holds
(F /. x) (*) k = F9 /. x ) iff h = k ) ) )
A24: now__::_thesis:_for_x_being_set_st_x_in_I_holds_
(doms_(F_opp))_/._x_=_(doms_(F9_opp))_/._x
let x be set ; ::_thesis: ( x in I implies (doms (F opp)) /. x = (doms (F9 opp)) /. x )
reconsider gg = F /. x as Morphism of dom (F /. x), cod (F /. x) by CAT_1:4;
A25: Hom ((dom gg),(cod gg)) <> {} by CAT_1:2;
then A26: gg opp = (F /. x) opp by OPPCAT_1:def_6;
reconsider g9 = F9 /. x as Morphism of dom (F9 /. x), cod (F9 /. x) by CAT_1:4;
A27: Hom ((dom g9),(cod g9)) <> {} by CAT_1:2;
then A28: g9 opp = (F9 /. x) opp by OPPCAT_1:def_6;
assume A29: x in I ; ::_thesis: (doms (F opp)) /. x = (doms (F9 opp)) /. x
hence (doms (F opp)) /. x = dom ((F opp) /. x) by Def1
.= dom (gg opp) by A29, Def3, A26
.= cod (F /. x) by OPPCAT_1:10, A25
.= (cods F9) /. x by A23, A29, Def2
.= cod (F9 /. x) by A29, Def2
.= dom (g9 opp) by OPPCAT_1:10, A27
.= dom ((F9 opp) /. x) by A29, Def3, A28
.= (doms (F9 opp)) /. x by A29, Def1 ;
::_thesis: verum
end;
reconsider F9opp = F9 opp as Injections_family of d opp ,I by Th68;
consider h being Morphism of (C opp) such that
A30: h in Hom ((c opp),(d opp)) and
A31: for k being Morphism of (C opp) st k in Hom ((c opp),(d opp)) holds
( ( for x being set st x in I holds
k (*) ((F opp) /. x) = F9opp /. x ) iff h = k ) by A22, Def17, A24, Th1;
take opp h ; ::_thesis: ( opp h in Hom (d,c) & ( for k being Morphism of C st k in Hom (d,c) holds
( ( for x being set st x in I holds
(F /. x) (*) k = F9 /. x ) iff opp h = k ) ) )
opp h in Hom ((opp (d opp)),(opp (c opp))) by A30, OPPCAT_1:6;
hence opp h in Hom (d,c) ; ::_thesis: for k being Morphism of C st k in Hom (d,c) holds
( ( for x being set st x in I holds
(F /. x) (*) k = F9 /. x ) iff opp h = k )
let k be Morphism of C; ::_thesis: ( k in Hom (d,c) implies ( ( for x being set st x in I holds
(F /. x) (*) k = F9 /. x ) iff opp h = k ) )
assume A32: k in Hom (d,c) ; ::_thesis: ( ( for x being set st x in I holds
(F /. x) (*) k = F9 /. x ) iff opp h = k )
then A33: k opp in Hom ((c opp),(d opp)) by OPPCAT_1:5;
thus ( ( for x being set st x in I holds
(F /. x) (*) k = F9 /. x ) implies opp h = k ) ::_thesis: ( opp h = k implies for x being set st x in I holds
(F /. x) (*) k = F9 /. x )
proof
assume A34: for x being set st x in I holds
(F /. x) (*) k = F9 /. x ; ::_thesis: opp h = k
now__::_thesis:_for_x_being_set_st_x_in_I_holds_
F9opp_/._x_=_(k_opp)_(*)_((F_opp)_/._x)
let x be set ; ::_thesis: ( x in I implies F9opp /. x = (k opp) (*) ((F opp) /. x) )
assume A35: x in I ; ::_thesis: F9opp /. x = (k opp) (*) ((F opp) /. x)
reconsider gg = F /. x as Morphism of dom (F /. x), cod (F /. x) by CAT_1:4;
A36: Hom ((dom gg),(cod gg)) <> {} by CAT_1:2;
then A37: gg opp = (F /. x) opp by OPPCAT_1:def_6;
F opp is Injections_family of c opp ,I by A22, Def17;
then cod ((F opp) /. x) = c opp by A35, Th62;
then cod (gg opp) = c opp by A35, Def3, A37;
then dom (F /. x) = c by OPPCAT_1:10, A36;
then A38: cod k = dom (F /. x) by A32, CAT_1:1;
reconsider ff = k as Morphism of dom k, cod k by CAT_1:4;
reconsider gg = F /. x as Morphism of cod k, cod (F /. x) by CAT_1:4, A38;
A39: ( Hom ((dom k),(cod k)) <> {} & Hom ((dom (F /. x)),(cod (F /. x))) <> {} ) by CAT_1:2;
then A40: ff opp = k opp by OPPCAT_1:def_6;
A41: gg opp = (F /. x) opp by OPPCAT_1:def_6, A39, A38;
(F /. x) (*) k = F9 /. x by A34, A35;
then (k opp) (*) ((F /. x) opp) = (F9 /. x) opp by A38, OPPCAT_1:16, A40, A41, A39;
hence F9opp /. x = (k opp) (*) ((F /. x) opp) by A35, Def3
.= (k opp) (*) ((F opp) /. x) by A35, Def3 ;
::_thesis: verum
end;
hence opp h = k by A31, A33; ::_thesis: verum
end;
assume A42: opp h = k ; ::_thesis: for x being set st x in I holds
(F /. x) (*) k = F9 /. x
let x be set ; ::_thesis: ( x in I implies (F /. x) (*) k = F9 /. x )
assume A43: x in I ; ::_thesis: (F /. x) (*) k = F9 /. x
reconsider gg = F /. x as Morphism of dom (F /. x), cod (F /. x) by CAT_1:4;
A44: Hom ((dom gg),(cod gg)) <> {} by CAT_1:2;
then A45: gg opp = (F /. x) opp by OPPCAT_1:def_6;
F opp is Injections_family of c opp ,I by A22, Def17;
then cod ((F opp) /. x) = c opp by A43, Th62;
then cod (gg opp) = c opp by A43, Def3, A45;
then dom (F /. x) = c by OPPCAT_1:10, A44;
then A46: cod k = dom (F /. x) by A32, CAT_1:1;
reconsider ff = k as Morphism of dom k, cod k by CAT_1:4;
reconsider gg = F /. x as Morphism of cod k, cod (F /. x) by CAT_1:4, A46;
A47: ( Hom ((dom k),(cod k)) <> {} & Hom ((dom (F /. x)),(cod (F /. x))) <> {} ) by CAT_1:2;
then A48: ff opp = k opp by OPPCAT_1:def_6;
A49: gg opp = (F /. x) opp by OPPCAT_1:def_6, A47, A46;
(k opp) (*) ((F opp) /. x) = F9opp /. x by A31, A33, A43, A42;
then (k opp) (*) ((F opp) /. x) = (F9 /. x) opp by A43, Def3;
hence F9 /. x = (k opp) (*) ((F /. x) opp) by A43, Def3
.= ((F /. x) (*) k) opp by A46, OPPCAT_1:16, A48, A49, A47
.= (F /. x) (*) k ;
::_thesis: verum
end;
theorem Th72: :: CAT_3:72
for I being set
for C being Category
for c, d being Object of C
for F being Injections_family of c,I
for F9 being Injections_family of d,I st c is_a_coproduct_wrt F & d is_a_coproduct_wrt F9 & doms F = doms F9 holds
c,d are_isomorphic
proof
let I be set ; ::_thesis: for C being Category
for c, d being Object of C
for F being Injections_family of c,I
for F9 being Injections_family of d,I st c is_a_coproduct_wrt F & d is_a_coproduct_wrt F9 & doms F = doms F9 holds
c,d are_isomorphic
let C be Category; ::_thesis: for c, d being Object of C
for F being Injections_family of c,I
for F9 being Injections_family of d,I st c is_a_coproduct_wrt F & d is_a_coproduct_wrt F9 & doms F = doms F9 holds
c,d are_isomorphic
let c, d be Object of C; ::_thesis: for F being Injections_family of c,I
for F9 being Injections_family of d,I st c is_a_coproduct_wrt F & d is_a_coproduct_wrt F9 & doms F = doms F9 holds
c,d are_isomorphic
let F be Injections_family of c,I; ::_thesis: for F9 being Injections_family of d,I st c is_a_coproduct_wrt F & d is_a_coproduct_wrt F9 & doms F = doms F9 holds
c,d are_isomorphic
let F9 be Injections_family of d,I; ::_thesis: ( c is_a_coproduct_wrt F & d is_a_coproduct_wrt F9 & doms F = doms F9 implies c,d are_isomorphic )
assume that
A1: c is_a_coproduct_wrt F and
A2: d is_a_coproduct_wrt F9 and
A3: doms F = doms F9 ; ::_thesis: c,d are_isomorphic
doms F9 = doms F9 ;
then consider fg being Morphism of C such that
fg in Hom (d,d) and
A4: for k being Morphism of C st k in Hom (d,d) holds
( ( for x being set st x in I holds
k (*) (F9 /. x) = F9 /. x ) iff fg = k ) by A2, Def17;
consider f being Morphism of C such that
A5: f in Hom (c,d) and
A6: for k being Morphism of C st k in Hom (c,d) holds
( ( for x being set st x in I holds
k (*) (F /. x) = F9 /. x ) iff f = k ) by A1, A3, Def17;
reconsider f = f as Morphism of c,d by A5, CAT_1:def_5;
A7: dom f = c by A5, CAT_1:1;
A8: now__::_thesis:_(_id_c_in_Hom_(c,c)_&_(_for_x_being_set_st_x_in_I_holds_
(id_c)_(*)_(F_/._x)_=_F_/._x_)_)
set k = id c;
thus id c in Hom (c,c) by CAT_1:27; ::_thesis: for x being set st x in I holds
(id c) (*) (F /. x) = F /. x
let x be set ; ::_thesis: ( x in I implies (id c) (*) (F /. x) = F /. x )
assume x in I ; ::_thesis: (id c) (*) (F /. x) = F /. x
then cod (F /. x) = c by Th62;
hence (id c) (*) (F /. x) = F /. x by CAT_1:21; ::_thesis: verum
end;
A9: now__::_thesis:_(_id_d_in_Hom_(d,d)_&_(_for_x_being_set_st_x_in_I_holds_
(id_d)_(*)_(F9_/._x)_=_F9_/._x_)_)
set k = id d;
thus id d in Hom (d,d) by CAT_1:27; ::_thesis: for x being set st x in I holds
(id d) (*) (F9 /. x) = F9 /. x
let x be set ; ::_thesis: ( x in I implies (id d) (*) (F9 /. x) = F9 /. x )
assume x in I ; ::_thesis: (id d) (*) (F9 /. x) = F9 /. x
then cod (F9 /. x) = d by Th62;
hence (id d) (*) (F9 /. x) = F9 /. x by CAT_1:21; ::_thesis: verum
end;
doms F = doms F ;
then consider gf being Morphism of C such that
gf in Hom (c,c) and
A10: for k being Morphism of C st k in Hom (c,c) holds
( ( for x being set st x in I holds
k (*) (F /. x) = F /. x ) iff gf = k ) by A1, Def17;
consider g being Morphism of C such that
A11: g in Hom (d,c) and
A12: for k being Morphism of C st k in Hom (d,c) holds
( ( for x being set st x in I holds
k (*) (F9 /. x) = F /. x ) iff g = k ) by A2, A3, Def17;
reconsider g = g as Morphism of d,c by A11, CAT_1:def_5;
take f ; :: according to CAT_1:def_20 ::_thesis: f is invertible
thus ( Hom (c,d) <> {} & Hom (d,c) <> {} ) by A11, A5; :: according to CAT_1:def_16 ::_thesis: ex b1 being Morphism of d,c st
( f * b1 = id d & b1 * f = id c )
take g ; ::_thesis: ( f * g = id d & g * f = id c )
A13: cod f = d by A5, CAT_1:1;
A14: dom g = d by A11, CAT_1:1;
A15: cod g = c by A11, CAT_1:1;
A16: now__::_thesis:_(_f_(*)_g_in_Hom_(d,d)_&_(_for_x_being_set_st_x_in_I_holds_
(f_(*)_g)_(*)_(F9_/._x)_=_F9_/._x_)_)
( cod (f (*) g) = d & dom (f (*) g) = d ) by A13, A14, A7, A15, CAT_1:17;
hence f (*) g in Hom (d,d) ; ::_thesis: for x being set st x in I holds
(f (*) g) (*) (F9 /. x) = F9 /. x
let x be set ; ::_thesis: ( x in I implies (f (*) g) (*) (F9 /. x) = F9 /. x )
assume A17: x in I ; ::_thesis: (f (*) g) (*) (F9 /. x) = F9 /. x
then cod (F9 /. x) = d by Th62;
hence (f (*) g) (*) (F9 /. x) = f (*) (g (*) (F9 /. x)) by A14, A7, A15, CAT_1:18
.= f (*) (F /. x) by A11, A12, A17
.= F9 /. x by A5, A6, A17 ;
::_thesis: verum
end;
thus f * g = f (*) g by A11, A5, CAT_1:def_13
.= fg by A4, A16
.= id d by A4, A9 ; ::_thesis: g * f = id c
A18: now__::_thesis:_(_g_(*)_f_in_Hom_(c,c)_&_(_for_x_being_set_st_x_in_I_holds_
(g_(*)_f)_(*)_(F_/._x)_=_F_/._x_)_)
( cod (g (*) f) = c & dom (g (*) f) = c ) by A13, A14, A7, A15, CAT_1:17;
hence g (*) f in Hom (c,c) ; ::_thesis: for x being set st x in I holds
(g (*) f) (*) (F /. x) = F /. x
let x be set ; ::_thesis: ( x in I implies (g (*) f) (*) (F /. x) = F /. x )
assume A19: x in I ; ::_thesis: (g (*) f) (*) (F /. x) = F /. x
then cod (F /. x) = c by Th62;
hence (g (*) f) (*) (F /. x) = g (*) (f (*) (F /. x)) by A13, A14, A7, CAT_1:18
.= g (*) (F9 /. x) by A5, A6, A19
.= F /. x by A11, A12, A19 ;
::_thesis: verum
end;
thus g * f = g (*) f by A11, A5, CAT_1:def_13
.= gf by A10, A18
.= id c by A8, A10 ; ::_thesis: verum
end;
theorem Th73: :: CAT_3:73
for I being set
for C being Category
for c being Object of C
for F being Injections_family of c,I st c is_a_coproduct_wrt F & ( for x1, x2 being set st x1 in I & x2 in I holds
Hom ((dom (F /. x1)),(dom (F /. x2))) <> {} ) holds
for x being set st x in I holds
for d being Object of C st d = dom (F /. x) & Hom (d,c) <> {} holds
for f being Morphism of d,c st f = F /. x holds
f is coretraction
proof
let I be set ; ::_thesis: for C being Category
for c being Object of C
for F being Injections_family of c,I st c is_a_coproduct_wrt F & ( for x1, x2 being set st x1 in I & x2 in I holds
Hom ((dom (F /. x1)),(dom (F /. x2))) <> {} ) holds
for x being set st x in I holds
for d being Object of C st d = dom (F /. x) & Hom (d,c) <> {} holds
for f being Morphism of d,c st f = F /. x holds
f is coretraction
let C be Category; ::_thesis: for c being Object of C
for F being Injections_family of c,I st c is_a_coproduct_wrt F & ( for x1, x2 being set st x1 in I & x2 in I holds
Hom ((dom (F /. x1)),(dom (F /. x2))) <> {} ) holds
for x being set st x in I holds
for d being Object of C st d = dom (F /. x) & Hom (d,c) <> {} holds
for f being Morphism of d,c st f = F /. x holds
f is coretraction
let c be Object of C; ::_thesis: for F being Injections_family of c,I st c is_a_coproduct_wrt F & ( for x1, x2 being set st x1 in I & x2 in I holds
Hom ((dom (F /. x1)),(dom (F /. x2))) <> {} ) holds
for x being set st x in I holds
for d being Object of C st d = dom (F /. x) & Hom (d,c) <> {} holds
for f being Morphism of d,c st f = F /. x holds
f is coretraction
let F be Injections_family of c,I; ::_thesis: ( c is_a_coproduct_wrt F & ( for x1, x2 being set st x1 in I & x2 in I holds
Hom ((dom (F /. x1)),(dom (F /. x2))) <> {} ) implies for x being set st x in I holds
for d being Object of C st d = dom (F /. x) & Hom (d,c) <> {} holds
for f being Morphism of d,c st f = F /. x holds
f is coretraction )
assume that
A1: c is_a_coproduct_wrt F and
A2: for x1, x2 being set st x1 in I & x2 in I holds
Hom ((dom (F /. x1)),(dom (F /. x2))) <> {} ; ::_thesis: for x being set st x in I holds
for d being Object of C st d = dom (F /. x) & Hom (d,c) <> {} holds
for f being Morphism of d,c st f = F /. x holds
f is coretraction
let x be set ; ::_thesis: ( x in I implies for d being Object of C st d = dom (F /. x) & Hom (d,c) <> {} holds
for f being Morphism of d,c st f = F /. x holds
f is coretraction )
assume A3: x in I ; ::_thesis: for d being Object of C st d = dom (F /. x) & Hom (d,c) <> {} holds
for f being Morphism of d,c st f = F /. x holds
f is coretraction
let d be Object of C; ::_thesis: ( d = dom (F /. x) & Hom (d,c) <> {} implies for f being Morphism of d,c st f = F /. x holds
f is coretraction )
assume that
A4: d = dom (F /. x) and
A5: Hom (d,c) <> {} ; ::_thesis: for f being Morphism of d,c st f = F /. x holds
f is coretraction
let f be Morphism of d,c; ::_thesis: ( f = F /. x implies f is coretraction )
assume A6: f = F /. x ; ::_thesis: f is coretraction
defpred S1[ set , set ] means ( ( $1 = x implies $2 = id d ) & ( $1 <> x implies $2 in Hom ((dom (F /. $1)),d) ) );
A7: for y being set st y in I holds
ex z being set st
( z in the carrier' of C & S1[y,z] )
proof
let y be set ; ::_thesis: ( y in I implies ex z being set st
( z in the carrier' of C & S1[y,z] ) )
set z = the Element of Hom ((dom (F /. y)),d);
assume y in I ; ::_thesis: ex z being set st
( z in the carrier' of C & S1[y,z] )
then A8: Hom ((dom (F /. y)),d) <> {} by A2, A3, A4;
then A9: the Element of Hom ((dom (F /. y)),d) in Hom ((dom (F /. y)),d) ;
percases ( y = x or y <> x ) ;
supposeA10: y = x ; ::_thesis: ex z being set st
( z in the carrier' of C & S1[y,z] )
take z = id d; ::_thesis: ( z in the carrier' of C & S1[y,z] )
thus z in the carrier' of C ; ::_thesis: S1[y,z]
thus S1[y,z] by A10; ::_thesis: verum
end;
supposeA11: y <> x ; ::_thesis: ex z being set st
( z in the carrier' of C & S1[y,z] )
take the Element of Hom ((dom (F /. y)),d) ; ::_thesis: ( the Element of Hom ((dom (F /. y)),d) in the carrier' of C & S1[y, the Element of Hom ((dom (F /. y)),d)] )
thus the Element of Hom ((dom (F /. y)),d) in the carrier' of C by A9; ::_thesis: S1[y, the Element of Hom ((dom (F /. y)),d)]
thus S1[y, the Element of Hom ((dom (F /. y)),d)] by A8, A11; ::_thesis: verum
end;
end;
end;
consider F9 being Function such that
A12: ( dom F9 = I & rng F9 c= the carrier' of C ) and
A13: for y being set st y in I holds
S1[y,F9 . y] from FUNCT_1:sch_5(A7);
reconsider F9 = F9 as Function of I, the carrier' of C by A12, FUNCT_2:def_1, RELSET_1:4;
now__::_thesis:_for_y_being_set_st_y_in_I_holds_
(cods_F9)_/._y_=_(I_-->_d)_/._y
let y be set ; ::_thesis: ( y in I implies (cods F9) /. y = (I --> d) /. y )
assume A14: y in I ; ::_thesis: (cods F9) /. y = (I --> d) /. y
then A15: F9 . y = F9 /. y by FUNCT_2:def_13;
then A16: ( y <> x implies F9 /. y in Hom ((dom (F /. y)),d) ) by A13, A14;
( y = x implies F9 /. y = id d ) by A13, A14, A15;
then cod (F9 /. y) = d by A16, CAT_1:1, CAT_1:58;
hence (cods F9) /. y = d by A14, Def2
.= (I --> d) /. y by A14, Th2 ;
::_thesis: verum
end;
then A17: F9 is Injections_family of d,I by Def16, Th1;
now__::_thesis:_for_y_being_set_st_y_in_I_holds_
(doms_F9)_/._y_=_(doms_F)_/._y
let y be set ; ::_thesis: ( y in I implies (doms F9) /. y = (doms F) /. y )
assume A18: y in I ; ::_thesis: (doms F9) /. y = (doms F) /. y
then A19: F9 . y = F9 /. y by FUNCT_2:def_13;
then A20: ( y <> x implies F9 /. y in Hom ((dom (F /. y)),d) ) by A13, A18;
( y = x implies F9 /. y = id d ) by A13, A18, A19;
then dom (F9 /. y) = dom (F /. y) by A20, A4, CAT_1:1, CAT_1:58;
hence (doms F9) /. y = dom (F /. y) by A18, Def1
.= (doms F) /. y by A18, Def1 ;
::_thesis: verum
end;
then consider i being Morphism of C such that
A21: i in Hom (c,d) and
A22: for k being Morphism of C st k in Hom (c,d) holds
( ( for y being set st y in I holds
k (*) (F /. y) = F9 /. y ) iff i = k ) by A1, A17, Def17, Th1;
thus ( Hom (d,c) <> {} & Hom (c,d) <> {} ) by A21, A5; :: according to CAT_3:def_9 ::_thesis: ex g being Morphism of c,d st g * f = id d
reconsider i = i as Morphism of c,d by A21, CAT_1:def_5;
take i ; ::_thesis: i * f = id d
thus i * f = i (*) (F /. x) by A6, A21, A5, CAT_1:def_13
.= F9 /. x by A3, A21, A22
.= F9 . x by A3, FUNCT_2:def_13
.= id d by A3, A13 ; ::_thesis: verum
end;
theorem Th74: :: CAT_3:74
for I being set
for C being Category
for a, b being Object of C
for f being Morphism of a,b
for F being Injections_family of a,I st a is_a_coproduct_wrt F & dom f = a & cod f = b & f is invertible holds
b is_a_coproduct_wrt f * F
proof
let I be set ; ::_thesis: for C being Category
for a, b being Object of C
for f being Morphism of a,b
for F being Injections_family of a,I st a is_a_coproduct_wrt F & dom f = a & cod f = b & f is invertible holds
b is_a_coproduct_wrt f * F
let C be Category; ::_thesis: for a, b being Object of C
for f being Morphism of a,b
for F being Injections_family of a,I st a is_a_coproduct_wrt F & dom f = a & cod f = b & f is invertible holds
b is_a_coproduct_wrt f * F
let a, b be Object of C; ::_thesis: for f being Morphism of a,b
for F being Injections_family of a,I st a is_a_coproduct_wrt F & dom f = a & cod f = b & f is invertible holds
b is_a_coproduct_wrt f * F
let f be Morphism of a,b; ::_thesis: for F being Injections_family of a,I st a is_a_coproduct_wrt F & dom f = a & cod f = b & f is invertible holds
b is_a_coproduct_wrt f * F
let F be Injections_family of a,I; ::_thesis: ( a is_a_coproduct_wrt F & dom f = a & cod f = b & f is invertible implies b is_a_coproduct_wrt f * F )
assume that
A1: a is_a_coproduct_wrt F and
A2: dom f = a and
A3: cod f = b and
A4: f is invertible ; ::_thesis: b is_a_coproduct_wrt f * F
thus f * F is Injections_family of b,I by A2, A3, Th66; :: according to CAT_3:def_17 ::_thesis: for d being Object of C
for F9 being Injections_family of d,I st doms (f * F) = doms F9 holds
ex h being Morphism of C st
( h in Hom (b,d) & ( for k being Morphism of C st k in Hom (b,d) holds
( ( for x being set st x in I holds
k (*) ((f * F) /. x) = F9 /. x ) iff h = k ) ) )
let c be Object of C; ::_thesis: for F9 being Injections_family of c,I st doms (f * F) = doms F9 holds
ex h being Morphism of C st
( h in Hom (b,c) & ( for k being Morphism of C st k in Hom (b,c) holds
( ( for x being set st x in I holds
k (*) ((f * F) /. x) = F9 /. x ) iff h = k ) ) )
A5: cods F = I --> (dom f) by A2, Def16;
let F9 be Injections_family of c,I; ::_thesis: ( doms (f * F) = doms F9 implies ex h being Morphism of C st
( h in Hom (b,c) & ( for k being Morphism of C st k in Hom (b,c) holds
( ( for x being set st x in I holds
k (*) ((f * F) /. x) = F9 /. x ) iff h = k ) ) ) )
assume doms (f * F) = doms F9 ; ::_thesis: ex h being Morphism of C st
( h in Hom (b,c) & ( for k being Morphism of C st k in Hom (b,c) holds
( ( for x being set st x in I holds
k (*) ((f * F) /. x) = F9 /. x ) iff h = k ) ) )
then doms F = doms F9 by A5, Th17;
then consider h being Morphism of C such that
A6: h in Hom (a,c) and
A7: for k being Morphism of C st k in Hom (a,c) holds
( ( for x being set st x in I holds
k (*) (F /. x) = F9 /. x ) iff h = k ) by A1, Def17;
A8: dom h = a by A6, CAT_1:1;
consider g being Morphism of b,a such that
A9: f * g = id b and
A10: g * f = id a by A4, CAT_1:def_16;
A11: ( Hom (b,a) <> {} & Hom (a,b) <> {} ) by A4, CAT_1:def_16;
then A12: dom g = cod f by A3, CAT_1:5;
A13: cod g = dom f by A2, A11, CAT_1:5;
A14: f * g = f (*) g by A11, CAT_1:def_13;
A15: g * f = g (*) f by A11, CAT_1:def_13;
cod h = c by A6, CAT_1:1;
then A16: cod (h (*) g) = c by A2, A13, A8, CAT_1:17;
take hg = h (*) g; ::_thesis: ( hg in Hom (b,c) & ( for k being Morphism of C st k in Hom (b,c) holds
( ( for x being set st x in I holds
k (*) ((f * F) /. x) = F9 /. x ) iff hg = k ) ) )
dom (h (*) g) = b by A2, A3, A12, A13, A8, CAT_1:17;
hence hg in Hom (b,c) by A16; ::_thesis: for k being Morphism of C st k in Hom (b,c) holds
( ( for x being set st x in I holds
k (*) ((f * F) /. x) = F9 /. x ) iff hg = k )
let k be Morphism of C; ::_thesis: ( k in Hom (b,c) implies ( ( for x being set st x in I holds
k (*) ((f * F) /. x) = F9 /. x ) iff hg = k ) )
assume A17: k in Hom (b,c) ; ::_thesis: ( ( for x being set st x in I holds
k (*) ((f * F) /. x) = F9 /. x ) iff hg = k )
then A18: dom k = b by CAT_1:1;
A19: cod k = c by A17, CAT_1:1;
thus ( ( for x being set st x in I holds
k (*) ((f * F) /. x) = F9 /. x ) implies hg = k ) ::_thesis: ( hg = k implies for x being set st x in I holds
k (*) ((f * F) /. x) = F9 /. x )
proof
assume A20: for x being set st x in I holds
k (*) ((f * F) /. x) = F9 /. x ; ::_thesis: hg = k
now__::_thesis:_(_k_(*)_f_in_Hom_(a,c)_&_(_for_x_being_set_st_x_in_I_holds_
(k_(*)_f)_(*)_(F_/._x)_=_F9_/._x_)_)
( cod (k (*) f) = c & dom (k (*) f) = a ) by A2, A3, A19, A18, CAT_1:17;
hence k (*) f in Hom (a,c) ; ::_thesis: for x being set st x in I holds
(k (*) f) (*) (F /. x) = F9 /. x
let x be set ; ::_thesis: ( x in I implies (k (*) f) (*) (F /. x) = F9 /. x )
assume A21: x in I ; ::_thesis: (k (*) f) (*) (F /. x) = F9 /. x
then cod (F /. x) = a by Th62;
hence (k (*) f) (*) (F /. x) = k (*) (f (*) (F /. x)) by A2, A3, A18, CAT_1:18
.= k (*) ((f * F) /. x) by A21, Def6
.= F9 /. x by A20, A21 ;
::_thesis: verum
end;
then (k (*) f) (*) g = h (*) g by A7;
hence hg = k (*) (id b) by A3, A13, A9, A18, A14, CAT_1:18
.= k by A18, CAT_1:22 ;
::_thesis: verum
end;
assume A22: hg = k ; ::_thesis: for x being set st x in I holds
k (*) ((f * F) /. x) = F9 /. x
let x be set ; ::_thesis: ( x in I implies k (*) ((f * F) /. x) = F9 /. x )
assume A23: x in I ; ::_thesis: k (*) ((f * F) /. x) = F9 /. x
then A24: cod (F /. x) = a by Th62;
then A25: cod (f (*) (F /. x)) = b by A2, A3, CAT_1:17;
thus k (*) ((f * F) /. x) = k (*) (f (*) (F /. x)) by A23, Def6
.= h (*) (g (*) (f (*) (F /. x))) by A2, A3, A12, A13, A8, A22, A25, CAT_1:18
.= h (*) ((id (dom f)) (*) (F /. x)) by A2, A12, A10, A24, A15, CAT_1:18
.= h (*) (F /. x) by A2, A24, CAT_1:21
.= F9 /. x by A6, A7, A23 ; ::_thesis: verum
end;
theorem Th75: :: CAT_3:75
for C being Category
for a being Object of C
for F being Injections_family of a, {} holds
( a is_a_coproduct_wrt F iff a is initial )
proof
let C be Category; ::_thesis: for a being Object of C
for F being Injections_family of a, {} holds
( a is_a_coproduct_wrt F iff a is initial )
let a be Object of C; ::_thesis: for F being Injections_family of a, {} holds
( a is_a_coproduct_wrt F iff a is initial )
let F be Injections_family of a, {} ; ::_thesis: ( a is_a_coproduct_wrt F iff a is initial )
thus ( a is_a_coproduct_wrt F implies a is initial ) ::_thesis: ( a is initial implies a is_a_coproduct_wrt F )
proof
assume A1: a is_a_coproduct_wrt F ; ::_thesis: a is initial
let b be Object of C; :: according to CAT_1:def_19 ::_thesis: ( not Hom (a,b) = {} & ex b1 being Morphism of a,b st
for b2 being Morphism of a,b holds b1 = b2 )
set F9 = the Injections_family of b, {} ;
doms F = {} ;
then consider h being Morphism of C such that
A2: h in Hom (a,b) and
A3: for k being Morphism of C st k in Hom (a,b) holds
( ( for x being set st x in {} holds
k (*) (F /. x) = the Injections_family of b, {} /. x ) iff h = k ) by A1, Def17;
thus Hom (a,b) <> {} by A2; ::_thesis: ex b1 being Morphism of a,b st
for b2 being Morphism of a,b holds b1 = b2
reconsider f = h as Morphism of a,b by A2, CAT_1:def_5;
take f ; ::_thesis: for b1 being Morphism of a,b holds f = b1
let g be Morphism of a,b; ::_thesis: f = g
A4: for x being set st x in {} holds
g (*) (F /. x) = the Injections_family of b, {} /. x ;
g in Hom (a,b) by A2, CAT_1:def_5;
hence f = g by A3, A4; ::_thesis: verum
end;
assume A5: a is initial ; ::_thesis: a is_a_coproduct_wrt F
thus F is Injections_family of a, {} ; :: according to CAT_3:def_17 ::_thesis: for d being Object of C
for F9 being Injections_family of d, {} st doms F = doms F9 holds
ex h being Morphism of C st
( h in Hom (a,d) & ( for k being Morphism of C st k in Hom (a,d) holds
( ( for x being set st x in {} holds
k (*) (F /. x) = F9 /. x ) iff h = k ) ) )
let b be Object of C; ::_thesis: for F9 being Injections_family of b, {} st doms F = doms F9 holds
ex h being Morphism of C st
( h in Hom (a,b) & ( for k being Morphism of C st k in Hom (a,b) holds
( ( for x being set st x in {} holds
k (*) (F /. x) = F9 /. x ) iff h = k ) ) )
consider h being Morphism of a,b such that
A6: for g being Morphism of a,b holds h = g by A5, CAT_1:def_19;
let F9 be Injections_family of b, {} ; ::_thesis: ( doms F = doms F9 implies ex h being Morphism of C st
( h in Hom (a,b) & ( for k being Morphism of C st k in Hom (a,b) holds
( ( for x being set st x in {} holds
k (*) (F /. x) = F9 /. x ) iff h = k ) ) ) )
assume doms F = doms F9 ; ::_thesis: ex h being Morphism of C st
( h in Hom (a,b) & ( for k being Morphism of C st k in Hom (a,b) holds
( ( for x being set st x in {} holds
k (*) (F /. x) = F9 /. x ) iff h = k ) ) )
take h ; ::_thesis: ( h in Hom (a,b) & ( for k being Morphism of C st k in Hom (a,b) holds
( ( for x being set st x in {} holds
k (*) (F /. x) = F9 /. x ) iff h = k ) ) )
Hom (a,b) <> {} by A5, CAT_1:def_19;
hence h in Hom (a,b) by CAT_1:def_5; ::_thesis: for k being Morphism of C st k in Hom (a,b) holds
( ( for x being set st x in {} holds
k (*) (F /. x) = F9 /. x ) iff h = k )
let k be Morphism of C; ::_thesis: ( k in Hom (a,b) implies ( ( for x being set st x in {} holds
k (*) (F /. x) = F9 /. x ) iff h = k ) )
assume k in Hom (a,b) ; ::_thesis: ( ( for x being set st x in {} holds
k (*) (F /. x) = F9 /. x ) iff h = k )
then k is Morphism of a,b by CAT_1:def_5;
hence ( ( for x being set st x in {} holds
k (*) (F /. x) = F9 /. x ) iff h = k ) by A6; ::_thesis: verum
end;
theorem :: CAT_3:76
for y being set
for C being Category
for a being Object of C holds a is_a_coproduct_wrt y .--> (id a)
proof
let y be set ; ::_thesis: for C being Category
for a being Object of C holds a is_a_coproduct_wrt y .--> (id a)
let C be Category; ::_thesis: for a being Object of C holds a is_a_coproduct_wrt y .--> (id a)
let a be Object of C; ::_thesis: a is_a_coproduct_wrt y .--> (id a)
set F = y .--> (id a);
cod (id a) = a ;
hence y .--> (id a) is Injections_family of a,{y} by Th64; :: according to CAT_3:def_17 ::_thesis: for d being Object of C
for F9 being Injections_family of d,{y} st doms (y .--> (id a)) = doms F9 holds
ex h being Morphism of C st
( h in Hom (a,d) & ( for k being Morphism of C st k in Hom (a,d) holds
( ( for x being set st x in {y} holds
k (*) ((y .--> (id a)) /. x) = F9 /. x ) iff h = k ) ) )
let b be Object of C; ::_thesis: for F9 being Injections_family of b,{y} st doms (y .--> (id a)) = doms F9 holds
ex h being Morphism of C st
( h in Hom (a,b) & ( for k being Morphism of C st k in Hom (a,b) holds
( ( for x being set st x in {y} holds
k (*) ((y .--> (id a)) /. x) = F9 /. x ) iff h = k ) ) )
let F9 be Injections_family of b,{y}; ::_thesis: ( doms (y .--> (id a)) = doms F9 implies ex h being Morphism of C st
( h in Hom (a,b) & ( for k being Morphism of C st k in Hom (a,b) holds
( ( for x being set st x in {y} holds
k (*) ((y .--> (id a)) /. x) = F9 /. x ) iff h = k ) ) ) )
assume A1: doms (y .--> (id a)) = doms F9 ; ::_thesis: ex h being Morphism of C st
( h in Hom (a,b) & ( for k being Morphism of C st k in Hom (a,b) holds
( ( for x being set st x in {y} holds
k (*) ((y .--> (id a)) /. x) = F9 /. x ) iff h = k ) ) )
take h = F9 /. y; ::_thesis: ( h in Hom (a,b) & ( for k being Morphism of C st k in Hom (a,b) holds
( ( for x being set st x in {y} holds
k (*) ((y .--> (id a)) /. x) = F9 /. x ) iff h = k ) ) )
A2: y in {y} by TARSKI:def_1;
then A3: cod h = b by Th62;
dom h = (doms (y .--> (id a))) /. y by A1, A2, Def1
.= dom ((y .--> (id a)) /. y) by A2, Def1
.= dom (id a) by A2, Th2
.= a ;
hence h in Hom (a,b) by A3; ::_thesis: for k being Morphism of C st k in Hom (a,b) holds
( ( for x being set st x in {y} holds
k (*) ((y .--> (id a)) /. x) = F9 /. x ) iff h = k )
let k be Morphism of C; ::_thesis: ( k in Hom (a,b) implies ( ( for x being set st x in {y} holds
k (*) ((y .--> (id a)) /. x) = F9 /. x ) iff h = k ) )
assume k in Hom (a,b) ; ::_thesis: ( ( for x being set st x in {y} holds
k (*) ((y .--> (id a)) /. x) = F9 /. x ) iff h = k )
then A4: dom k = a by CAT_1:1;
thus ( ( for x being set st x in {y} holds
k (*) ((y .--> (id a)) /. x) = F9 /. x ) implies h = k ) ::_thesis: ( h = k implies for x being set st x in {y} holds
k (*) ((y .--> (id a)) /. x) = F9 /. x )
proof
assume A5: for x being set st x in {y} holds
k (*) ((y .--> (id a)) /. x) = F9 /. x ; ::_thesis: h = k
thus k = k (*) (id a) by A4, CAT_1:22
.= k (*) ((y .--> (id a)) /. y) by A2, Th2
.= h by A2, A5 ; ::_thesis: verum
end;
assume A6: h = k ; ::_thesis: for x being set st x in {y} holds
k (*) ((y .--> (id a)) /. x) = F9 /. x
let x be set ; ::_thesis: ( x in {y} implies k (*) ((y .--> (id a)) /. x) = F9 /. x )
assume A7: x in {y} ; ::_thesis: k (*) ((y .--> (id a)) /. x) = F9 /. x
hence F9 /. x = k by A6, TARSKI:def_1
.= k (*) (id a) by A4, CAT_1:22
.= k (*) ((y .--> (id a)) /. x) by A7, Th2 ;
::_thesis: verum
end;
theorem :: CAT_3:77
for I being set
for C being Category
for a being Object of C
for F being Injections_family of a,I st a is_a_coproduct_wrt F & ( for x being set st x in I holds
dom (F /. x) is initial ) holds
a is initial
proof
let I be set ; ::_thesis: for C being Category
for a being Object of C
for F being Injections_family of a,I st a is_a_coproduct_wrt F & ( for x being set st x in I holds
dom (F /. x) is initial ) holds
a is initial
let C be Category; ::_thesis: for a being Object of C
for F being Injections_family of a,I st a is_a_coproduct_wrt F & ( for x being set st x in I holds
dom (F /. x) is initial ) holds
a is initial
let a be Object of C; ::_thesis: for F being Injections_family of a,I st a is_a_coproduct_wrt F & ( for x being set st x in I holds
dom (F /. x) is initial ) holds
a is initial
let F be Injections_family of a,I; ::_thesis: ( a is_a_coproduct_wrt F & ( for x being set st x in I holds
dom (F /. x) is initial ) implies a is initial )
assume that
A1: a is_a_coproduct_wrt F and
A2: for x being set st x in I holds
dom (F /. x) is initial ; ::_thesis: a is initial
now__::_thesis:_(_(_I_=_{}_implies_a_is_initial_)_&_(_for_b_being_Object_of_C_holds_
(_Hom_(a,b)_<>_{}_&_ex_h_being_Morphism_of_a,b_st_
for_g_being_Morphism_of_a,b_holds_h_=_g_)_)_)
thus ( I = {} implies a is initial ) by A1, Th75; ::_thesis: for b being Object of C holds
( Hom (a,b) <> {} & ex h being Morphism of a,b st
for g being Morphism of a,b holds h = g )
let b be Object of C; ::_thesis: ( Hom (a,b) <> {} & ex h being Morphism of a,b st
for g being Morphism of a,b holds h = g )
deffunc H1( set ) -> Morphism of dom (F /. $1),b = init ((dom (F /. $1)),b);
consider F9 being Function of I, the carrier' of C such that
A3: for x being set st x in I holds
F9 /. x = H1(x) from CAT_3:sch_1();
now__::_thesis:_for_x_being_set_st_x_in_I_holds_
(cods_F9)_/._x_=_(I_-->_b)_/._x
let x be set ; ::_thesis: ( x in I implies (cods F9) /. x = (I --> b) /. x )
assume A4: x in I ; ::_thesis: (cods F9) /. x = (I --> b) /. x
then A5: dom (F /. x) is initial by A2;
thus (cods F9) /. x = cod (F9 /. x) by A4, Def2
.= cod (init ((dom (F /. x)),b)) by A3, A4
.= b by A5, Th38
.= (I --> b) /. x by A4, Th2 ; ::_thesis: verum
end;
then reconsider F9 = F9 as Injections_family of b,I by Def16, Th1;
now__::_thesis:_for_x_being_set_st_x_in_I_holds_
(doms_F)_/._x_=_(doms_F9)_/._x
let x be set ; ::_thesis: ( x in I implies (doms F) /. x = (doms F9) /. x )
assume A6: x in I ; ::_thesis: (doms F) /. x = (doms F9) /. x
then A7: dom (F /. x) is initial by A2;
thus (doms F) /. x = dom (F /. x) by A6, Def1
.= dom (init ((dom (F /. x)),b)) by A7, Th38
.= dom (F9 /. x) by A3, A6
.= (doms F9) /. x by A6, Def1 ; ::_thesis: verum
end;
then consider h being Morphism of C such that
A8: h in Hom (a,b) and
A9: for k being Morphism of C st k in Hom (a,b) holds
( ( for x being set st x in I holds
k (*) (F /. x) = F9 /. x ) iff h = k ) by A1, Def17, Th1;
thus Hom (a,b) <> {} by A8; ::_thesis: ex h being Morphism of a,b st
for g being Morphism of a,b holds h = g
reconsider h = h as Morphism of a,b by A8, CAT_1:def_5;
take h = h; ::_thesis: for g being Morphism of a,b holds h = g
let g be Morphism of a,b; ::_thesis: h = g
now__::_thesis:_(_g_in_Hom_(a,b)_&_(_for_x_being_set_st_x_in_I_holds_
F9_/._x_=_g_(*)_(F_/._x)_)_)
thus g in Hom (a,b) by A8, CAT_1:def_5; ::_thesis: for x being set st x in I holds
F9 /. x = g (*) (F /. x)
let x be set ; ::_thesis: ( x in I implies F9 /. x = g (*) (F /. x) )
set c = dom (F /. x);
A10: dom g = a by A8, CAT_1:5;
assume A11: x in I ; ::_thesis: F9 /. x = g (*) (F /. x)
then dom (F /. x) is initial by A2;
then consider f being Morphism of dom (F /. x),b such that
A12: for f9 being Morphism of dom (F /. x),b holds f = f9 by CAT_1:def_19;
A13: cod (F /. x) = a by A11, Th62;
then A14: dom (g (*) (F /. x)) = dom (F /. x) by A10, CAT_1:17;
cod g = b by A8, CAT_1:5;
then cod (g (*) (F /. x)) = b by A10, A13, CAT_1:17;
then g (*) (F /. x) in Hom ((dom (F /. x)),b) by A14;
then A15: g (*) (F /. x) is Morphism of dom (F /. x),b by CAT_1:def_5;
F9 /. x = init ((dom (F /. x)),b) by A3, A11;
hence F9 /. x = f by A12
.= g (*) (F /. x) by A12, A15 ;
::_thesis: verum
end;
hence h = g by A9; ::_thesis: verum
end;
hence a is initial by CAT_1:def_19; ::_thesis: verum
end;
definition
let C be Category;
let c be Object of C;
let i1, i2 be Morphism of C;
predc is_a_coproduct_wrt i1,i2 means :Def18: :: CAT_3:def 18
( cod i1 = c & cod i2 = c & ( for d being Object of C
for f, g being Morphism of C st f in Hom ((dom i1),d) & g in Hom ((dom i2),d) holds
ex h being Morphism of C st
( h in Hom (c,d) & ( for k being Morphism of C st k in Hom (c,d) holds
( ( k (*) i1 = f & k (*) i2 = g ) iff h = k ) ) ) ) );
end;
:: deftheorem Def18 defines is_a_coproduct_wrt CAT_3:def_18_:_
for C being Category
for c being Object of C
for i1, i2 being Morphism of C holds
( c is_a_coproduct_wrt i1,i2 iff ( cod i1 = c & cod i2 = c & ( for d being Object of C
for f, g being Morphism of C st f in Hom ((dom i1),d) & g in Hom ((dom i2),d) holds
ex h being Morphism of C st
( h in Hom (c,d) & ( for k being Morphism of C st k in Hom (c,d) holds
( ( k (*) i1 = f & k (*) i2 = g ) iff h = k ) ) ) ) ) );
theorem :: CAT_3:78
for C being Category
for c being Object of C
for p1, p2 being Morphism of C holds
( c is_a_product_wrt p1,p2 iff c opp is_a_coproduct_wrt p1 opp ,p2 opp )
proof
let C be Category; ::_thesis: for c being Object of C
for p1, p2 being Morphism of C holds
( c is_a_product_wrt p1,p2 iff c opp is_a_coproduct_wrt p1 opp ,p2 opp )
let c be Object of C; ::_thesis: for p1, p2 being Morphism of C holds
( c is_a_product_wrt p1,p2 iff c opp is_a_coproduct_wrt p1 opp ,p2 opp )
let p1, p2 be Morphism of C; ::_thesis: ( c is_a_product_wrt p1,p2 iff c opp is_a_coproduct_wrt p1 opp ,p2 opp )
set i1 = p1 opp ;
set i2 = p2 opp ;
thus ( c is_a_product_wrt p1,p2 implies c opp is_a_coproduct_wrt p1 opp ,p2 opp ) ::_thesis: ( c opp is_a_coproduct_wrt p1 opp ,p2 opp implies c is_a_product_wrt p1,p2 )
proof
assume that
A1: ( dom p1 = c & dom p2 = c ) and
A2: for d being Object of C
for f, g being Morphism of C st f in Hom (d,(cod p1)) & g in Hom (d,(cod p2)) holds
ex h being Morphism of C st
( h in Hom (d,c) & ( for k being Morphism of C st k in Hom (d,c) holds
( ( p1 (*) k = f & p2 (*) k = g ) iff h = k ) ) ) ; :: according to CAT_3:def_15 ::_thesis: c opp is_a_coproduct_wrt p1 opp ,p2 opp
reconsider gg = p1 as Morphism of dom p1, cod p1 by CAT_1:4;
A3: Hom ((dom gg),(cod gg)) <> {} by CAT_1:2;
then A4: gg opp = p1 opp by OPPCAT_1:def_6;
thus A5: cod (p1 opp) = c opp by A1, OPPCAT_1:10, A3, A4; :: according to CAT_3:def_18 ::_thesis: ( cod (p2 opp) = c opp & ( for d being Object of (C opp)
for f, g being Morphism of (C opp) st f in Hom ((dom (p1 opp)),d) & g in Hom ((dom (p2 opp)),d) holds
ex h being Morphism of (C opp) st
( h in Hom ((c opp),d) & ( for k being Morphism of (C opp) st k in Hom ((c opp),d) holds
( ( k (*) (p1 opp) = f & k (*) (p2 opp) = g ) iff h = k ) ) ) ) )
reconsider gg = p2 as Morphism of dom p2, cod p2 by CAT_1:4;
A6: Hom ((dom gg),(cod gg)) <> {} by CAT_1:2;
then A7: gg opp = p2 opp by OPPCAT_1:def_6;
thus A8: cod (p2 opp) = c opp by A1, OPPCAT_1:10, A6, A7; ::_thesis: for d being Object of (C opp)
for f, g being Morphism of (C opp) st f in Hom ((dom (p1 opp)),d) & g in Hom ((dom (p2 opp)),d) holds
ex h being Morphism of (C opp) st
( h in Hom ((c opp),d) & ( for k being Morphism of (C opp) st k in Hom ((c opp),d) holds
( ( k (*) (p1 opp) = f & k (*) (p2 opp) = g ) iff h = k ) ) )
let d be Object of (C opp); ::_thesis: for f, g being Morphism of (C opp) st f in Hom ((dom (p1 opp)),d) & g in Hom ((dom (p2 opp)),d) holds
ex h being Morphism of (C opp) st
( h in Hom ((c opp),d) & ( for k being Morphism of (C opp) st k in Hom ((c opp),d) holds
( ( k (*) (p1 opp) = f & k (*) (p2 opp) = g ) iff h = k ) ) )
let f, g be Morphism of (C opp); ::_thesis: ( f in Hom ((dom (p1 opp)),d) & g in Hom ((dom (p2 opp)),d) implies ex h being Morphism of (C opp) st
( h in Hom ((c opp),d) & ( for k being Morphism of (C opp) st k in Hom ((c opp),d) holds
( ( k (*) (p1 opp) = f & k (*) (p2 opp) = g ) iff h = k ) ) ) )
assume that
A9: f in Hom ((dom (p1 opp)),d) and
A10: g in Hom ((dom (p2 opp)),d) ; ::_thesis: ex h being Morphism of (C opp) st
( h in Hom ((c opp),d) & ( for k being Morphism of (C opp) st k in Hom ((c opp),d) holds
( ( k (*) (p1 opp) = f & k (*) (p2 opp) = g ) iff h = k ) ) )
reconsider gg = p2 opp as Morphism of dom (p2 opp), cod (p2 opp) by CAT_1:4;
A11: Hom ((dom gg),(cod gg)) <> {} by CAT_1:2;
opp g in Hom ((opp d),(opp (dom (p2 opp)))) by A10, OPPCAT_1:6;
then A12: opp g in Hom ((opp d),(cod (opp (p2 opp)))) by OPPCAT_1:13, A11;
reconsider gg = p1 opp as Morphism of dom (p1 opp), cod (p1 opp) by CAT_1:4;
A13: Hom ((dom gg),(cod gg)) <> {} by CAT_1:2;
opp f in Hom ((opp d),(opp (dom (p1 opp)))) by A9, OPPCAT_1:6;
then opp f in Hom ((opp d),(cod (opp (p1 opp)))) by OPPCAT_1:13, A13;
then consider h being Morphism of C such that
A14: h in Hom ((opp d),c) and
A15: for k being Morphism of C st k in Hom ((opp d),c) holds
( ( p1 (*) k = opp f & p2 (*) k = opp g ) iff h = k ) by A2, A12;
take h opp ; ::_thesis: ( h opp in Hom ((c opp),d) & ( for k being Morphism of (C opp) st k in Hom ((c opp),d) holds
( ( k (*) (p1 opp) = f & k (*) (p2 opp) = g ) iff h opp = k ) ) )
h opp in Hom ((c opp),((opp d) opp)) by A14, OPPCAT_1:5;
hence h opp in Hom ((c opp),d) ; ::_thesis: for k being Morphism of (C opp) st k in Hom ((c opp),d) holds
( ( k (*) (p1 opp) = f & k (*) (p2 opp) = g ) iff h opp = k )
let k be Morphism of (C opp); ::_thesis: ( k in Hom ((c opp),d) implies ( ( k (*) (p1 opp) = f & k (*) (p2 opp) = g ) iff h opp = k ) )
assume A16: k in Hom ((c opp),d) ; ::_thesis: ( ( k (*) (p1 opp) = f & k (*) (p2 opp) = g ) iff h opp = k )
then opp k in Hom ((opp d),(opp (c opp))) by OPPCAT_1:6;
then A17: ( ( (opp (p1 opp)) (*) (opp k) = f & (opp (p2 opp)) (*) (opp k) = g ) iff h opp = k ) by A15;
dom k = c opp by A16, CAT_1:1;
then ( ( opp (k (*) (p1 opp)) = f & opp (k (*) (p2 opp)) = g ) iff h opp = k ) by A8, A5, A17, OPPCAT_1:18;
hence ( ( k (*) (p1 opp) = f & k (*) (p2 opp) = g ) iff h opp = k ) ; ::_thesis: verum
end;
assume that
A18: ( cod (p1 opp) = c opp & cod (p2 opp) = c opp ) and
A19: for d being Object of (C opp)
for f, g being Morphism of (C opp) st f in Hom ((dom (p1 opp)),d) & g in Hom ((dom (p2 opp)),d) holds
ex h being Morphism of (C opp) st
( h in Hom ((c opp),d) & ( for k being Morphism of (C opp) st k in Hom ((c opp),d) holds
( ( k (*) (p1 opp) = f & k (*) (p2 opp) = g ) iff h = k ) ) ) ; :: according to CAT_3:def_18 ::_thesis: c is_a_product_wrt p1,p2
reconsider gg = p1 as Morphism of dom p1, cod p1 by CAT_1:4;
A20: Hom ((dom gg),(cod gg)) <> {} by CAT_1:2;
then A21: gg opp = p1 opp by OPPCAT_1:def_6;
A22: dom p1 = c opp by A18, OPPCAT_1:10, A20, A21;
reconsider gg = p2 as Morphism of dom p2, cod p2 by CAT_1:4;
A23: Hom ((dom gg),(cod gg)) <> {} by CAT_1:2;
then A24: gg opp = p2 opp by OPPCAT_1:def_6;
A25: dom p2 = c opp by A18, OPPCAT_1:10, A23, A24;
hence ( dom p1 = c & dom p2 = c ) by A22; :: according to CAT_3:def_15 ::_thesis: for d being Object of C
for f, g being Morphism of C st f in Hom (d,(cod p1)) & g in Hom (d,(cod p2)) holds
ex h being Morphism of C st
( h in Hom (d,c) & ( for k being Morphism of C st k in Hom (d,c) holds
( ( p1 (*) k = f & p2 (*) k = g ) iff h = k ) ) )
let d be Object of C; ::_thesis: for f, g being Morphism of C st f in Hom (d,(cod p1)) & g in Hom (d,(cod p2)) holds
ex h being Morphism of C st
( h in Hom (d,c) & ( for k being Morphism of C st k in Hom (d,c) holds
( ( p1 (*) k = f & p2 (*) k = g ) iff h = k ) ) )
let f, g be Morphism of C; ::_thesis: ( f in Hom (d,(cod p1)) & g in Hom (d,(cod p2)) implies ex h being Morphism of C st
( h in Hom (d,c) & ( for k being Morphism of C st k in Hom (d,c) holds
( ( p1 (*) k = f & p2 (*) k = g ) iff h = k ) ) ) )
assume that
A26: f in Hom (d,(cod p1)) and
A27: g in Hom (d,(cod p2)) ; ::_thesis: ex h being Morphism of C st
( h in Hom (d,c) & ( for k being Morphism of C st k in Hom (d,c) holds
( ( p1 (*) k = f & p2 (*) k = g ) iff h = k ) ) )
g opp in Hom (((cod p2) opp),(d opp)) by A27, OPPCAT_1:5;
then A28: g opp in Hom ((dom (p2 opp)),(d opp)) by OPPCAT_1:12, A23, A24;
f opp in Hom (((cod p1) opp),(d opp)) by A26, OPPCAT_1:5;
then f opp in Hom ((dom (p1 opp)),(d opp)) by OPPCAT_1:12, A20, A21;
then consider h being Morphism of (C opp) such that
A29: h in Hom ((c opp),(d opp)) and
A30: for k being Morphism of (C opp) st k in Hom ((c opp),(d opp)) holds
( ( k (*) (p1 opp) = f opp & k (*) (p2 opp) = g opp ) iff h = k ) by A19, A28;
take opp h ; ::_thesis: ( opp h in Hom (d,c) & ( for k being Morphism of C st k in Hom (d,c) holds
( ( p1 (*) k = f & p2 (*) k = g ) iff opp h = k ) ) )
thus opp h in Hom (d,c) by A29, OPPCAT_1:5; ::_thesis: for k being Morphism of C st k in Hom (d,c) holds
( ( p1 (*) k = f & p2 (*) k = g ) iff opp h = k )
let k be Morphism of C; ::_thesis: ( k in Hom (d,c) implies ( ( p1 (*) k = f & p2 (*) k = g ) iff opp h = k ) )
assume A31: k in Hom (d,c) ; ::_thesis: ( ( p1 (*) k = f & p2 (*) k = g ) iff opp h = k )
then k opp in Hom ((c opp),(d opp)) by OPPCAT_1:5;
then A32: ( ( (k opp) (*) (p1 opp) = f opp & (k opp) (*) (p2 opp) = g opp ) iff h = k opp ) by A30;
A33: cod k = c by A31, CAT_1:1;
reconsider ff = p1 as Morphism of dom p1, cod p1 by CAT_1:4;
reconsider gg = k as Morphism of dom k, dom p1 by CAT_1:4, A33, A22;
A34: ( Hom ((dom k),(cod k)) <> {} & Hom ((dom p1),(cod p1)) <> {} ) by CAT_1:2;
then A35: ff opp = p1 opp by OPPCAT_1:def_6;
A36: gg opp = k opp by OPPCAT_1:def_6, A34, A33, A22;
A37: (p1 (*) k) opp = (k opp) (*) (p1 opp) by A22, OPPCAT_1:16, A34, A33, A35, A36;
reconsider ff = p2 as Morphism of dom p2, cod p2 by CAT_1:4;
reconsider gg = k as Morphism of dom k, dom p2 by CAT_1:4, A33, A25;
A38: ( Hom ((dom k),(cod k)) <> {} & Hom ((dom p2),(cod p2)) <> {} ) by CAT_1:2;
then A39: ff opp = p2 opp by OPPCAT_1:def_6;
A40: gg opp = k opp by OPPCAT_1:def_6, A38, A33, A25;
(p2 (*) k) opp = (k opp) (*) (p2 opp) by OPPCAT_1:16, A38, A33, A39, A40, A25;
hence ( ( p1 (*) k = f & p2 (*) k = g ) iff opp h = k ) by A37, A32; ::_thesis: verum
end;
theorem Th79: :: CAT_3:79
for x1, x2 being set
for C being Category
for c being Object of C
for i1, i2 being Morphism of C st x1 <> x2 holds
( c is_a_coproduct_wrt i1,i2 iff c is_a_coproduct_wrt (x1,x2) --> (i1,i2) )
proof
let x1, x2 be set ; ::_thesis: for C being Category
for c being Object of C
for i1, i2 being Morphism of C st x1 <> x2 holds
( c is_a_coproduct_wrt i1,i2 iff c is_a_coproduct_wrt (x1,x2) --> (i1,i2) )
let C be Category; ::_thesis: for c being Object of C
for i1, i2 being Morphism of C st x1 <> x2 holds
( c is_a_coproduct_wrt i1,i2 iff c is_a_coproduct_wrt (x1,x2) --> (i1,i2) )
let c be Object of C; ::_thesis: for i1, i2 being Morphism of C st x1 <> x2 holds
( c is_a_coproduct_wrt i1,i2 iff c is_a_coproduct_wrt (x1,x2) --> (i1,i2) )
let i1, i2 be Morphism of C; ::_thesis: ( x1 <> x2 implies ( c is_a_coproduct_wrt i1,i2 iff c is_a_coproduct_wrt (x1,x2) --> (i1,i2) ) )
set F = (x1,x2) --> (i1,i2);
set I = {x1,x2};
assume A1: x1 <> x2 ; ::_thesis: ( c is_a_coproduct_wrt i1,i2 iff c is_a_coproduct_wrt (x1,x2) --> (i1,i2) )
thus ( c is_a_coproduct_wrt i1,i2 implies c is_a_coproduct_wrt (x1,x2) --> (i1,i2) ) ::_thesis: ( c is_a_coproduct_wrt (x1,x2) --> (i1,i2) implies c is_a_coproduct_wrt i1,i2 )
proof
assume A2: c is_a_coproduct_wrt i1,i2 ; ::_thesis: c is_a_coproduct_wrt (x1,x2) --> (i1,i2)
then ( cod i1 = c & cod i2 = c ) by Def18;
hence (x1,x2) --> (i1,i2) is Injections_family of c,{x1,x2} by Th65; :: according to CAT_3:def_17 ::_thesis: for d being Object of C
for F9 being Injections_family of d,{x1,x2} st doms ((x1,x2) --> (i1,i2)) = doms F9 holds
ex h being Morphism of C st
( h in Hom (c,d) & ( for k being Morphism of C st k in Hom (c,d) holds
( ( for x being set st x in {x1,x2} holds
k (*) (((x1,x2) --> (i1,i2)) /. x) = F9 /. x ) iff h = k ) ) )
let b be Object of C; ::_thesis: for F9 being Injections_family of b,{x1,x2} st doms ((x1,x2) --> (i1,i2)) = doms F9 holds
ex h being Morphism of C st
( h in Hom (c,b) & ( for k being Morphism of C st k in Hom (c,b) holds
( ( for x being set st x in {x1,x2} holds
k (*) (((x1,x2) --> (i1,i2)) /. x) = F9 /. x ) iff h = k ) ) )
let F9 be Injections_family of b,{x1,x2}; ::_thesis: ( doms ((x1,x2) --> (i1,i2)) = doms F9 implies ex h being Morphism of C st
( h in Hom (c,b) & ( for k being Morphism of C st k in Hom (c,b) holds
( ( for x being set st x in {x1,x2} holds
k (*) (((x1,x2) --> (i1,i2)) /. x) = F9 /. x ) iff h = k ) ) ) )
assume A3: doms ((x1,x2) --> (i1,i2)) = doms F9 ; ::_thesis: ex h being Morphism of C st
( h in Hom (c,b) & ( for k being Morphism of C st k in Hom (c,b) holds
( ( for x being set st x in {x1,x2} holds
k (*) (((x1,x2) --> (i1,i2)) /. x) = F9 /. x ) iff h = k ) ) )
set f = F9 /. x1;
set g = F9 /. x2;
A4: x1 in {x1,x2} by TARSKI:def_2;
then (doms ((x1,x2) --> (i1,i2))) /. x1 = dom (((x1,x2) --> (i1,i2)) /. x1) by Def1;
then dom (F9 /. x1) = dom (((x1,x2) --> (i1,i2)) /. x1) by A3, A4, Def1;
then A5: dom (F9 /. x1) = dom i1 by A1, Th3;
A6: x2 in {x1,x2} by TARSKI:def_2;
then (doms ((x1,x2) --> (i1,i2))) /. x2 = dom (((x1,x2) --> (i1,i2)) /. x2) by Def1;
then dom (F9 /. x2) = dom (((x1,x2) --> (i1,i2)) /. x2) by A3, A6, Def1;
then A7: dom (F9 /. x2) = dom i2 by A1, Th3;
cod (F9 /. x2) = b by A6, Th62;
then A8: F9 /. x2 in Hom ((dom i2),b) by A7;
cod (F9 /. x1) = b by A4, Th62;
then F9 /. x1 in Hom ((dom i1),b) by A5;
then consider h being Morphism of C such that
A9: h in Hom (c,b) and
A10: for k being Morphism of C st k in Hom (c,b) holds
( ( k (*) i1 = F9 /. x1 & k (*) i2 = F9 /. x2 ) iff h = k ) by A2, A8, Def18;
take h ; ::_thesis: ( h in Hom (c,b) & ( for k being Morphism of C st k in Hom (c,b) holds
( ( for x being set st x in {x1,x2} holds
k (*) (((x1,x2) --> (i1,i2)) /. x) = F9 /. x ) iff h = k ) ) )
thus h in Hom (c,b) by A9; ::_thesis: for k being Morphism of C st k in Hom (c,b) holds
( ( for x being set st x in {x1,x2} holds
k (*) (((x1,x2) --> (i1,i2)) /. x) = F9 /. x ) iff h = k )
let k be Morphism of C; ::_thesis: ( k in Hom (c,b) implies ( ( for x being set st x in {x1,x2} holds
k (*) (((x1,x2) --> (i1,i2)) /. x) = F9 /. x ) iff h = k ) )
assume A11: k in Hom (c,b) ; ::_thesis: ( ( for x being set st x in {x1,x2} holds
k (*) (((x1,x2) --> (i1,i2)) /. x) = F9 /. x ) iff h = k )
thus ( ( for x being set st x in {x1,x2} holds
k (*) (((x1,x2) --> (i1,i2)) /. x) = F9 /. x ) implies h = k ) ::_thesis: ( h = k implies for x being set st x in {x1,x2} holds
k (*) (((x1,x2) --> (i1,i2)) /. x) = F9 /. x )
proof
assume A12: for x being set st x in {x1,x2} holds
k (*) (((x1,x2) --> (i1,i2)) /. x) = F9 /. x ; ::_thesis: h = k
then k (*) (((x1,x2) --> (i1,i2)) /. x2) = F9 /. x2 by A6;
then A13: k (*) i2 = F9 /. x2 by A1, Th3;
k (*) (((x1,x2) --> (i1,i2)) /. x1) = F9 /. x1 by A4, A12;
then k (*) i1 = F9 /. x1 by A1, Th3;
hence h = k by A10, A11, A13; ::_thesis: verum
end;
assume h = k ; ::_thesis: for x being set st x in {x1,x2} holds
k (*) (((x1,x2) --> (i1,i2)) /. x) = F9 /. x
then A14: ( k (*) i1 = F9 /. x1 & k (*) i2 = F9 /. x2 ) by A10, A11;
let x be set ; ::_thesis: ( x in {x1,x2} implies k (*) (((x1,x2) --> (i1,i2)) /. x) = F9 /. x )
assume x in {x1,x2} ; ::_thesis: k (*) (((x1,x2) --> (i1,i2)) /. x) = F9 /. x
then ( x = x1 or x = x2 ) by TARSKI:def_2;
hence k (*) (((x1,x2) --> (i1,i2)) /. x) = F9 /. x by A1, A14, Th3; ::_thesis: verum
end;
assume A15: c is_a_coproduct_wrt (x1,x2) --> (i1,i2) ; ::_thesis: c is_a_coproduct_wrt i1,i2
then A16: (x1,x2) --> (i1,i2) is Injections_family of c,{x1,x2} by Def17;
x2 in {x1,x2} by TARSKI:def_2;
then A17: cod (((x1,x2) --> (i1,i2)) /. x2) = c by A16, Th62;
x1 in {x1,x2} by TARSKI:def_2;
then cod (((x1,x2) --> (i1,i2)) /. x1) = c by A16, Th62;
hence ( cod i1 = c & cod i2 = c ) by A1, A17, Th3; :: according to CAT_3:def_18 ::_thesis: for d being Object of C
for f, g being Morphism of C st f in Hom ((dom i1),d) & g in Hom ((dom i2),d) holds
ex h being Morphism of C st
( h in Hom (c,d) & ( for k being Morphism of C st k in Hom (c,d) holds
( ( k (*) i1 = f & k (*) i2 = g ) iff h = k ) ) )
let d be Object of C; ::_thesis: for f, g being Morphism of C st f in Hom ((dom i1),d) & g in Hom ((dom i2),d) holds
ex h being Morphism of C st
( h in Hom (c,d) & ( for k being Morphism of C st k in Hom (c,d) holds
( ( k (*) i1 = f & k (*) i2 = g ) iff h = k ) ) )
let f, g be Morphism of C; ::_thesis: ( f in Hom ((dom i1),d) & g in Hom ((dom i2),d) implies ex h being Morphism of C st
( h in Hom (c,d) & ( for k being Morphism of C st k in Hom (c,d) holds
( ( k (*) i1 = f & k (*) i2 = g ) iff h = k ) ) ) )
assume that
A18: f in Hom ((dom i1),d) and
A19: g in Hom ((dom i2),d) ; ::_thesis: ex h being Morphism of C st
( h in Hom (c,d) & ( for k being Morphism of C st k in Hom (c,d) holds
( ( k (*) i1 = f & k (*) i2 = g ) iff h = k ) ) )
( cod f = d & cod g = d ) by A18, A19, CAT_1:1;
then reconsider F9 = (x1,x2) --> (f,g) as Injections_family of d,{x1,x2} by Th65;
doms ((x1,x2) --> (i1,i2)) = (x1,x2) --> ((dom i1),(dom i2)) by Th6
.= (x1,x2) --> ((dom f),(dom i2)) by A18, CAT_1:1
.= (x1,x2) --> ((dom f),(dom g)) by A19, CAT_1:1
.= doms F9 by Th6 ;
then consider h being Morphism of C such that
A20: h in Hom (c,d) and
A21: for k being Morphism of C st k in Hom (c,d) holds
( ( for x being set st x in {x1,x2} holds
k (*) (((x1,x2) --> (i1,i2)) /. x) = F9 /. x ) iff h = k ) by A15, Def17;
take h ; ::_thesis: ( h in Hom (c,d) & ( for k being Morphism of C st k in Hom (c,d) holds
( ( k (*) i1 = f & k (*) i2 = g ) iff h = k ) ) )
thus h in Hom (c,d) by A20; ::_thesis: for k being Morphism of C st k in Hom (c,d) holds
( ( k (*) i1 = f & k (*) i2 = g ) iff h = k )
let k be Morphism of C; ::_thesis: ( k in Hom (c,d) implies ( ( k (*) i1 = f & k (*) i2 = g ) iff h = k ) )
assume A22: k in Hom (c,d) ; ::_thesis: ( ( k (*) i1 = f & k (*) i2 = g ) iff h = k )
thus ( k (*) i1 = f & k (*) i2 = g implies h = k ) ::_thesis: ( h = k implies ( k (*) i1 = f & k (*) i2 = g ) )
proof
assume A23: ( k (*) i1 = f & k (*) i2 = g ) ; ::_thesis: h = k
now__::_thesis:_for_x_being_set_st_x_in_{x1,x2}_holds_
k_(*)_(((x1,x2)_-->_(i1,i2))_/._x)_=_F9_/._x
let x be set ; ::_thesis: ( x in {x1,x2} implies k (*) (((x1,x2) --> (i1,i2)) /. x) = F9 /. x )
assume x in {x1,x2} ; ::_thesis: k (*) (((x1,x2) --> (i1,i2)) /. x) = F9 /. x
then ( x = x1 or x = x2 ) by TARSKI:def_2;
then ( ( ((x1,x2) --> (i1,i2)) /. x = i1 & F9 /. x = f ) or ( ((x1,x2) --> (i1,i2)) /. x = i2 & F9 /. x = g ) ) by A1, Th3;
hence k (*) (((x1,x2) --> (i1,i2)) /. x) = F9 /. x by A23; ::_thesis: verum
end;
hence h = k by A21, A22; ::_thesis: verum
end;
assume A24: h = k ; ::_thesis: ( k (*) i1 = f & k (*) i2 = g )
x2 in {x1,x2} by TARSKI:def_2;
then k (*) (((x1,x2) --> (i1,i2)) /. x2) = F9 /. x2 by A21, A22, A24;
then A25: k (*) (((x1,x2) --> (i1,i2)) /. x2) = g by A1, Th3;
x1 in {x1,x2} by TARSKI:def_2;
then k (*) (((x1,x2) --> (i1,i2)) /. x1) = F9 /. x1 by A21, A22, A24;
then k (*) (((x1,x2) --> (i1,i2)) /. x1) = f by A1, Th3;
hence ( k (*) i1 = f & k (*) i2 = g ) by A1, A25, Th3; ::_thesis: verum
end;
theorem :: CAT_3:80
for C being Category
for c, d being Object of C
for i1, i2, j1, j2 being Morphism of C st c is_a_coproduct_wrt i1,i2 & d is_a_coproduct_wrt j1,j2 & dom i1 = dom j1 & dom i2 = dom j2 holds
c,d are_isomorphic
proof
let C be Category; ::_thesis: for c, d being Object of C
for i1, i2, j1, j2 being Morphism of C st c is_a_coproduct_wrt i1,i2 & d is_a_coproduct_wrt j1,j2 & dom i1 = dom j1 & dom i2 = dom j2 holds
c,d are_isomorphic
let c, d be Object of C; ::_thesis: for i1, i2, j1, j2 being Morphism of C st c is_a_coproduct_wrt i1,i2 & d is_a_coproduct_wrt j1,j2 & dom i1 = dom j1 & dom i2 = dom j2 holds
c,d are_isomorphic
let i1, i2, j1, j2 be Morphism of C; ::_thesis: ( c is_a_coproduct_wrt i1,i2 & d is_a_coproduct_wrt j1,j2 & dom i1 = dom j1 & dom i2 = dom j2 implies c,d are_isomorphic )
assume that
A1: c is_a_coproduct_wrt i1,i2 and
A2: d is_a_coproduct_wrt j1,j2 and
A3: ( dom i1 = dom j1 & dom i2 = dom j2 ) ; ::_thesis: c,d are_isomorphic
set I = {0,1};
set F = (0,1) --> (i1,i2);
set F9 = (0,1) --> (j1,j2);
A4: ( c is_a_coproduct_wrt (0,1) --> (i1,i2) & d is_a_coproduct_wrt (0,1) --> (j1,j2) ) by A1, A2, Th79;
( cod j1 = d & cod j2 = d ) by A2, Def18;
then A5: (0,1) --> (j1,j2) is Injections_family of d,{0,1} by Th65;
( cod i1 = c & cod i2 = c ) by A1, Def18;
then A6: (0,1) --> (i1,i2) is Injections_family of c,{0,1} by Th65;
doms ((0,1) --> (i1,i2)) = (0,1) --> ((dom j1),(dom j2)) by A3, Th6
.= doms ((0,1) --> (j1,j2)) by Th6 ;
hence c,d are_isomorphic by A6, A5, A4, Th72; ::_thesis: verum
end;
theorem :: CAT_3:81
for C being Category
for a, c, b being Object of C st Hom (a,c) <> {} & Hom (b,c) <> {} holds
for i1 being Morphism of a,c
for i2 being Morphism of b,c holds
( c is_a_coproduct_wrt i1,i2 iff for d being Object of C st Hom (a,d) <> {} & Hom (b,d) <> {} holds
( Hom (c,d) <> {} & ( for f being Morphism of a,d
for g being Morphism of b,d ex h being Morphism of c,d st
for k being Morphism of c,d holds
( ( k * i1 = f & k * i2 = g ) iff h = k ) ) ) )
proof
let C be Category; ::_thesis: for a, c, b being Object of C st Hom (a,c) <> {} & Hom (b,c) <> {} holds
for i1 being Morphism of a,c
for i2 being Morphism of b,c holds
( c is_a_coproduct_wrt i1,i2 iff for d being Object of C st Hom (a,d) <> {} & Hom (b,d) <> {} holds
( Hom (c,d) <> {} & ( for f being Morphism of a,d
for g being Morphism of b,d ex h being Morphism of c,d st
for k being Morphism of c,d holds
( ( k * i1 = f & k * i2 = g ) iff h = k ) ) ) )
let a, c, b be Object of C; ::_thesis: ( Hom (a,c) <> {} & Hom (b,c) <> {} implies for i1 being Morphism of a,c
for i2 being Morphism of b,c holds
( c is_a_coproduct_wrt i1,i2 iff for d being Object of C st Hom (a,d) <> {} & Hom (b,d) <> {} holds
( Hom (c,d) <> {} & ( for f being Morphism of a,d
for g being Morphism of b,d ex h being Morphism of c,d st
for k being Morphism of c,d holds
( ( k * i1 = f & k * i2 = g ) iff h = k ) ) ) ) )
assume that
A1: Hom (a,c) <> {} and
A2: Hom (b,c) <> {} ; ::_thesis: for i1 being Morphism of a,c
for i2 being Morphism of b,c holds
( c is_a_coproduct_wrt i1,i2 iff for d being Object of C st Hom (a,d) <> {} & Hom (b,d) <> {} holds
( Hom (c,d) <> {} & ( for f being Morphism of a,d
for g being Morphism of b,d ex h being Morphism of c,d st
for k being Morphism of c,d holds
( ( k * i1 = f & k * i2 = g ) iff h = k ) ) ) )
let i1 be Morphism of a,c; ::_thesis: for i2 being Morphism of b,c holds
( c is_a_coproduct_wrt i1,i2 iff for d being Object of C st Hom (a,d) <> {} & Hom (b,d) <> {} holds
( Hom (c,d) <> {} & ( for f being Morphism of a,d
for g being Morphism of b,d ex h being Morphism of c,d st
for k being Morphism of c,d holds
( ( k * i1 = f & k * i2 = g ) iff h = k ) ) ) )
let i2 be Morphism of b,c; ::_thesis: ( c is_a_coproduct_wrt i1,i2 iff for d being Object of C st Hom (a,d) <> {} & Hom (b,d) <> {} holds
( Hom (c,d) <> {} & ( for f being Morphism of a,d
for g being Morphism of b,d ex h being Morphism of c,d st
for k being Morphism of c,d holds
( ( k * i1 = f & k * i2 = g ) iff h = k ) ) ) )
thus ( c is_a_coproduct_wrt i1,i2 implies for d being Object of C st Hom (a,d) <> {} & Hom (b,d) <> {} holds
( Hom (c,d) <> {} & ( for f being Morphism of a,d
for g being Morphism of b,d ex h being Morphism of c,d st
for k being Morphism of c,d holds
( ( k * i1 = f & k * i2 = g ) iff h = k ) ) ) ) ::_thesis: ( ( for d being Object of C st Hom (a,d) <> {} & Hom (b,d) <> {} holds
( Hom (c,d) <> {} & ( for f being Morphism of a,d
for g being Morphism of b,d ex h being Morphism of c,d st
for k being Morphism of c,d holds
( ( k * i1 = f & k * i2 = g ) iff h = k ) ) ) ) implies c is_a_coproduct_wrt i1,i2 )
proof
assume that
cod i1 = c and
cod i2 = c and
A3: for d being Object of C
for f, g being Morphism of C st f in Hom ((dom i1),d) & g in Hom ((dom i2),d) holds
ex h being Morphism of C st
( h in Hom (c,d) & ( for k being Morphism of C st k in Hom (c,d) holds
( ( k (*) i1 = f & k (*) i2 = g ) iff h = k ) ) ) ; :: according to CAT_3:def_18 ::_thesis: for d being Object of C st Hom (a,d) <> {} & Hom (b,d) <> {} holds
( Hom (c,d) <> {} & ( for f being Morphism of a,d
for g being Morphism of b,d ex h being Morphism of c,d st
for k being Morphism of c,d holds
( ( k * i1 = f & k * i2 = g ) iff h = k ) ) )
let d be Object of C; ::_thesis: ( Hom (a,d) <> {} & Hom (b,d) <> {} implies ( Hom (c,d) <> {} & ( for f being Morphism of a,d
for g being Morphism of b,d ex h being Morphism of c,d st
for k being Morphism of c,d holds
( ( k * i1 = f & k * i2 = g ) iff h = k ) ) ) )
assume that
A4: Hom (a,d) <> {} and
A5: Hom (b,d) <> {} ; ::_thesis: ( Hom (c,d) <> {} & ( for f being Morphism of a,d
for g being Morphism of b,d ex h being Morphism of c,d st
for k being Morphism of c,d holds
( ( k * i1 = f & k * i2 = g ) iff h = k ) ) )
set f = the Morphism of a,d;
set g = the Morphism of b,d;
A6: dom i2 = b by A2, CAT_1:5;
then A7: the Morphism of b,d in Hom ((dom i2),d) by A5, CAT_1:def_5;
A8: dom i1 = a by A1, CAT_1:5;
then the Morphism of a,d in Hom ((dom i1),d) by A4, CAT_1:def_5;
then A9: ex h being Morphism of C st
( h in Hom (c,d) & ( for k being Morphism of C st k in Hom (c,d) holds
( ( k (*) i1 = the Morphism of a,d & k (*) i2 = the Morphism of b,d ) iff h = k ) ) ) by A3, A7;
hence Hom (c,d) <> {} ; ::_thesis: for f being Morphism of a,d
for g being Morphism of b,d ex h being Morphism of c,d st
for k being Morphism of c,d holds
( ( k * i1 = f & k * i2 = g ) iff h = k )
let f be Morphism of a,d; ::_thesis: for g being Morphism of b,d ex h being Morphism of c,d st
for k being Morphism of c,d holds
( ( k * i1 = f & k * i2 = g ) iff h = k )
let g be Morphism of b,d; ::_thesis: ex h being Morphism of c,d st
for k being Morphism of c,d holds
( ( k * i1 = f & k * i2 = g ) iff h = k )
A10: g in Hom ((dom i2),d) by A5, A6, CAT_1:def_5;
f in Hom ((dom i1),d) by A4, A8, CAT_1:def_5;
then consider h being Morphism of C such that
A11: h in Hom (c,d) and
A12: for k being Morphism of C st k in Hom (c,d) holds
( ( k (*) i1 = f & k (*) i2 = g ) iff h = k ) by A3, A10;
reconsider h = h as Morphism of c,d by A11, CAT_1:def_5;
take h ; ::_thesis: for k being Morphism of c,d holds
( ( k * i1 = f & k * i2 = g ) iff h = k )
let k be Morphism of c,d; ::_thesis: ( ( k * i1 = f & k * i2 = g ) iff h = k )
A13: k in Hom (c,d) by A9, CAT_1:def_5;
( k * i1 = k (*) i1 & k * i2 = k (*) i2 ) by A1, A2, A9, CAT_1:def_13;
hence ( ( k * i1 = f & k * i2 = g ) iff h = k ) by A12, A13; ::_thesis: verum
end;
assume A14: for d being Object of C st Hom (a,d) <> {} & Hom (b,d) <> {} holds
( Hom (c,d) <> {} & ( for f being Morphism of a,d
for g being Morphism of b,d ex h being Morphism of c,d st
for k being Morphism of c,d holds
( ( k * i1 = f & k * i2 = g ) iff h = k ) ) ) ; ::_thesis: c is_a_coproduct_wrt i1,i2
thus ( cod i1 = c & cod i2 = c ) by A1, A2, CAT_1:5; :: according to CAT_3:def_18 ::_thesis: for d being Object of C
for f, g being Morphism of C st f in Hom ((dom i1),d) & g in Hom ((dom i2),d) holds
ex h being Morphism of C st
( h in Hom (c,d) & ( for k being Morphism of C st k in Hom (c,d) holds
( ( k (*) i1 = f & k (*) i2 = g ) iff h = k ) ) )
let d be Object of C; ::_thesis: for f, g being Morphism of C st f in Hom ((dom i1),d) & g in Hom ((dom i2),d) holds
ex h being Morphism of C st
( h in Hom (c,d) & ( for k being Morphism of C st k in Hom (c,d) holds
( ( k (*) i1 = f & k (*) i2 = g ) iff h = k ) ) )
let f, g be Morphism of C; ::_thesis: ( f in Hom ((dom i1),d) & g in Hom ((dom i2),d) implies ex h being Morphism of C st
( h in Hom (c,d) & ( for k being Morphism of C st k in Hom (c,d) holds
( ( k (*) i1 = f & k (*) i2 = g ) iff h = k ) ) ) )
assume that
A15: f in Hom ((dom i1),d) and
A16: g in Hom ((dom i2),d) ; ::_thesis: ex h being Morphism of C st
( h in Hom (c,d) & ( for k being Morphism of C st k in Hom (c,d) holds
( ( k (*) i1 = f & k (*) i2 = g ) iff h = k ) ) )
A17: Hom (a,d) <> {} by A1, A15, CAT_1:5;
A18: dom i1 = a by A1, CAT_1:5;
then A19: f is Morphism of a,d by A15, CAT_1:def_5;
A20: dom i2 = b by A2, CAT_1:5;
then g is Morphism of b,d by A16, CAT_1:def_5;
then consider h being Morphism of c,d such that
A21: for k being Morphism of c,d holds
( ( k * i1 = f & k * i2 = g ) iff h = k ) by A14, A16, A20, A19, A17;
reconsider h9 = h as Morphism of C ;
take h9 ; ::_thesis: ( h9 in Hom (c,d) & ( for k being Morphism of C st k in Hom (c,d) holds
( ( k (*) i1 = f & k (*) i2 = g ) iff h9 = k ) ) )
A22: Hom (c,d) <> {} by A14, A15, A16, A18, A20;
hence h9 in Hom (c,d) by CAT_1:def_5; ::_thesis: for k being Morphism of C st k in Hom (c,d) holds
( ( k (*) i1 = f & k (*) i2 = g ) iff h9 = k )
let k be Morphism of C; ::_thesis: ( k in Hom (c,d) implies ( ( k (*) i1 = f & k (*) i2 = g ) iff h9 = k ) )
assume k in Hom (c,d) ; ::_thesis: ( ( k (*) i1 = f & k (*) i2 = g ) iff h9 = k )
then reconsider k9 = k as Morphism of c,d by CAT_1:def_5;
( k (*) i1 = k9 * i1 & k (*) i2 = k9 * i2 ) by A1, A2, A22, CAT_1:def_13;
hence ( ( k (*) i1 = f & k (*) i2 = g ) iff h9 = k ) by A21; ::_thesis: verum
end;
theorem :: CAT_3:82
for C being Category
for a, c, b being Object of C
for i1 being Morphism of a,c
for i2 being Morphism of b,c st Hom (a,c) <> {} & Hom (b,c) <> {} & c is_a_coproduct_wrt i1,i2 & Hom (a,b) <> {} & Hom (b,a) <> {} holds
( i1 is coretraction & i2 is coretraction )
proof
let C be Category; ::_thesis: for a, c, b being Object of C
for i1 being Morphism of a,c
for i2 being Morphism of b,c st Hom (a,c) <> {} & Hom (b,c) <> {} & c is_a_coproduct_wrt i1,i2 & Hom (a,b) <> {} & Hom (b,a) <> {} holds
( i1 is coretraction & i2 is coretraction )
let a, c, b be Object of C; ::_thesis: for i1 being Morphism of a,c
for i2 being Morphism of b,c st Hom (a,c) <> {} & Hom (b,c) <> {} & c is_a_coproduct_wrt i1,i2 & Hom (a,b) <> {} & Hom (b,a) <> {} holds
( i1 is coretraction & i2 is coretraction )
let i1 be Morphism of a,c; ::_thesis: for i2 being Morphism of b,c st Hom (a,c) <> {} & Hom (b,c) <> {} & c is_a_coproduct_wrt i1,i2 & Hom (a,b) <> {} & Hom (b,a) <> {} holds
( i1 is coretraction & i2 is coretraction )
let i2 be Morphism of b,c; ::_thesis: ( Hom (a,c) <> {} & Hom (b,c) <> {} & c is_a_coproduct_wrt i1,i2 & Hom (a,b) <> {} & Hom (b,a) <> {} implies ( i1 is coretraction & i2 is coretraction ) )
assume A1: ( Hom (a,c) <> {} & Hom (b,c) <> {} ) ; ::_thesis: ( not c is_a_coproduct_wrt i1,i2 or not Hom (a,b) <> {} or not Hom (b,a) <> {} or ( i1 is coretraction & i2 is coretraction ) )
assume that
A2: c is_a_coproduct_wrt i1,i2 and
A3: ( Hom (a,b) <> {} & Hom (b,a) <> {} ) ; ::_thesis: ( i1 is coretraction & i2 is coretraction )
set I = {0,1};
( cod i1 = c & cod i2 = c ) by A2, Def18;
then reconsider F = (0,1) --> (i1,i2) as Injections_family of c,{0,1} by Th65;
A4: F /. 0 = i1 by Th3;
A5: F /. 1 = i2 by Th3;
A6: now__::_thesis:_(_F_is_Injections_family_of_c,{0,1}_&_c_is_a_coproduct_wrt_F_&_(_for_x1,_x2_being_set_st_x1_in_{0,1}_&_x2_in_{0,1}_holds_
Hom_((dom_(F_/._x1)),(dom_(F_/._x2)))_<>_{}_)_)
thus F is Injections_family of c,{0,1} ; ::_thesis: ( c is_a_coproduct_wrt F & ( for x1, x2 being set st x1 in {0,1} & x2 in {0,1} holds
Hom ((dom (F /. x1)),(dom (F /. x2))) <> {} ) )
thus c is_a_coproduct_wrt F by A2, Th79; ::_thesis: for x1, x2 being set st x1 in {0,1} & x2 in {0,1} holds
Hom ((dom (F /. x1)),(dom (F /. x2))) <> {}
let x1, x2 be set ; ::_thesis: ( x1 in {0,1} & x2 in {0,1} implies Hom ((dom (F /. x1)),(dom (F /. x2))) <> {} )
assume that
A7: x1 in {0,1} and
A8: x2 in {0,1} ; ::_thesis: Hom ((dom (F /. x1)),(dom (F /. x2))) <> {}
A9: ( x2 = 0 or x2 = 1 ) by A8, TARSKI:def_2;
( x1 = 0 or x1 = 1 ) by A7, TARSKI:def_2;
then A10: ( dom (F /. x1) = a or dom (F /. x1) = b ) by A4, A5, A1, CAT_1:5;
( dom (F /. x2) = a or dom (F /. x2) = b ) by A9, A4, A5, A1, CAT_1:5;
hence Hom ((dom (F /. x1)),(dom (F /. x2))) <> {} by A3, A10; ::_thesis: verum
end;
A11: 1 in {0,1} by TARSKI:def_2;
A12: 0 in {0,1} by TARSKI:def_2;
( dom (F /. 0) = a & dom (F /. 1) = b ) by A4, A5, A1, CAT_1:5;
hence ( i1 is coretraction & i2 is coretraction ) by A4, A6, A11, Th73, A5, A12, A1; ::_thesis: verum
end;
theorem Th83: :: CAT_3:83
for C being Category
for c being Object of C
for i1, i2, h being Morphism of C st c is_a_coproduct_wrt i1,i2 & h in Hom (c,c) & h (*) i1 = i1 & h (*) i2 = i2 holds
h = id c
proof
let C be Category; ::_thesis: for c being Object of C
for i1, i2, h being Morphism of C st c is_a_coproduct_wrt i1,i2 & h in Hom (c,c) & h (*) i1 = i1 & h (*) i2 = i2 holds
h = id c
let c be Object of C; ::_thesis: for i1, i2, h being Morphism of C st c is_a_coproduct_wrt i1,i2 & h in Hom (c,c) & h (*) i1 = i1 & h (*) i2 = i2 holds
h = id c
let i1, i2, h be Morphism of C; ::_thesis: ( c is_a_coproduct_wrt i1,i2 & h in Hom (c,c) & h (*) i1 = i1 & h (*) i2 = i2 implies h = id c )
assume that
A1: ( cod i1 = c & cod i2 = c ) and
A2: for d being Object of C
for f, g being Morphism of C st f in Hom ((dom i1),d) & g in Hom ((dom i2),d) holds
ex h being Morphism of C st
( h in Hom (c,d) & ( for k being Morphism of C st k in Hom (c,d) holds
( ( k (*) i1 = f & k (*) i2 = g ) iff h = k ) ) ) and
A3: ( h in Hom (c,c) & h (*) i1 = i1 & h (*) i2 = i2 ) ; :: according to CAT_3:def_18 ::_thesis: h = id c
( i1 in Hom ((dom i1),c) & i2 in Hom ((dom i2),c) ) by A1;
then consider i being Morphism of C such that
i in Hom (c,c) and
A4: for k being Morphism of C st k in Hom (c,c) holds
( ( k (*) i1 = i1 & k (*) i2 = i2 ) iff i = k ) by A2;
A5: id c in Hom (c,c) by CAT_1:27;
( (id c) (*) i1 = i1 & (id c) (*) i2 = i2 ) by A1, CAT_1:21;
hence id c = i by A4, A5
.= h by A3, A4 ;
::_thesis: verum
end;
theorem :: CAT_3:84
for C being Category
for c, d being Object of C
for i1, i2 being Morphism of C
for f being Morphism of c,d st c is_a_coproduct_wrt i1,i2 & dom f = c & cod f = d & f is invertible holds
d is_a_coproduct_wrt f (*) i1,f (*) i2
proof
let C be Category; ::_thesis: for c, d being Object of C
for i1, i2 being Morphism of C
for f being Morphism of c,d st c is_a_coproduct_wrt i1,i2 & dom f = c & cod f = d & f is invertible holds
d is_a_coproduct_wrt f (*) i1,f (*) i2
let c, d be Object of C; ::_thesis: for i1, i2 being Morphism of C
for f being Morphism of c,d st c is_a_coproduct_wrt i1,i2 & dom f = c & cod f = d & f is invertible holds
d is_a_coproduct_wrt f (*) i1,f (*) i2
let i1, i2 be Morphism of C; ::_thesis: for f being Morphism of c,d st c is_a_coproduct_wrt i1,i2 & dom f = c & cod f = d & f is invertible holds
d is_a_coproduct_wrt f (*) i1,f (*) i2
let f be Morphism of c,d; ::_thesis: ( c is_a_coproduct_wrt i1,i2 & dom f = c & cod f = d & f is invertible implies d is_a_coproduct_wrt f (*) i1,f (*) i2 )
assume that
A1: c is_a_coproduct_wrt i1,i2 and
A2: ( dom f = c & cod f = d & f is invertible ) ; ::_thesis: d is_a_coproduct_wrt f (*) i1,f (*) i2
( cod i1 = c & cod i2 = c ) by A1, Def18;
then A3: (0,1) --> (i1,i2) is Injections_family of c,{0,1} by Th65;
c is_a_coproduct_wrt (0,1) --> (i1,i2) by A1, Th79;
then d is_a_coproduct_wrt f * ((0,1) --> (i1,i2)) by A2, A3, Th74;
then d is_a_coproduct_wrt (0,1) --> ((f (*) i1),(f (*) i2)) by Th15;
hence d is_a_coproduct_wrt f (*) i1,f (*) i2 by Th79; ::_thesis: verum
end;
theorem :: CAT_3:85
for C being Category
for c being Object of C
for i1, i2 being Morphism of C st c is_a_coproduct_wrt i1,i2 & dom i2 is initial holds
dom i1,c are_isomorphic
proof
let C be Category; ::_thesis: for c being Object of C
for i1, i2 being Morphism of C st c is_a_coproduct_wrt i1,i2 & dom i2 is initial holds
dom i1,c are_isomorphic
let c be Object of C; ::_thesis: for i1, i2 being Morphism of C st c is_a_coproduct_wrt i1,i2 & dom i2 is initial holds
dom i1,c are_isomorphic
let i1, i2 be Morphism of C; ::_thesis: ( c is_a_coproduct_wrt i1,i2 & dom i2 is initial implies dom i1,c are_isomorphic )
set a = dom i1;
set b = dom i2;
assume that
A1: c is_a_coproduct_wrt i1,i2 and
A2: dom i2 is initial ; ::_thesis: dom i1,c are_isomorphic
set f = id (dom i1);
set g = init ((dom i2),(dom i1));
( cod (init ((dom i2),(dom i1))) = dom i1 & dom (init ((dom i2),(dom i1))) = dom i2 ) by A2, Th38;
then ( id (dom i1) in Hom ((dom i1),(dom i1)) & init ((dom i2),(dom i1)) in Hom ((dom i2),(dom i1)) ) by CAT_1:27;
then consider h being Morphism of C such that
A3: h in Hom (c,(dom i1)) and
A4: for k being Morphism of C st k in Hom (c,(dom i1)) holds
( ( k (*) i1 = id (dom i1) & k (*) i2 = init ((dom i2),(dom i1)) ) iff h = k ) by A1, Def18;
A5: cod h = dom i1 by A3, CAT_1:1;
A6: cod i1 = c by A1, Def18;
then reconsider i = i1 as Morphism of dom i1,c by CAT_1:4;
A7: dom h = c by A3, CAT_1:1;
then A8: dom (i (*) h) = c by A5, CAT_1:17;
A9: cod i2 = c by A1, Def18;
then A10: dom ((i (*) h) (*) i2) = dom i2 by A8, CAT_1:17;
A11: cod (i (*) h) = c by A6, A5, CAT_1:17;
then A12: i (*) h in Hom (c,c) by A8;
cod ((i (*) h) (*) i2) = c by A9, A11, A8, CAT_1:17;
then A13: (i (*) h) (*) i2 = init ((dom i2),c) by A2, A10, Th39
.= i2 by A2, A9, Th39 ;
A14: Hom ((dom i1),c) <> {} by A6, CAT_1:2;
take i ; :: according to CAT_1:def_20 ::_thesis: i is invertible
thus ( Hom ((dom i1),c) <> {} & Hom (c,(dom i1)) <> {} ) by A3, A6, CAT_1:2; :: according to CAT_1:def_16 ::_thesis: ex b1 being Morphism of c, dom i1 st
( i * b1 = id c & b1 * i = id (dom i1) )
reconsider h = h as Morphism of c, dom i1 by A3, CAT_1:def_5;
take h ; ::_thesis: ( i * h = id c & h * i = id (dom i1) )
A15: (i (*) h) (*) i1 = i (*) (h (*) i1) by A6, A5, A7, CAT_1:18
.= i (*) (id (dom i)) by A3, A4
.= i by CAT_1:22 ;
thus i * h = i (*) h by A3, A14, CAT_1:def_13
.= id c by A1, A13, A12, Th83, A15 ; ::_thesis: h * i = id (dom i1)
thus id (dom i1) = h (*) i by A3, A4
.= h * i by A14, A3, CAT_1:def_13 ; ::_thesis: verum
end;
theorem :: CAT_3:86
for C being Category
for c being Object of C
for i1, i2 being Morphism of C st c is_a_coproduct_wrt i1,i2 & dom i1 is initial holds
dom i2,c are_isomorphic
proof
let C be Category; ::_thesis: for c being Object of C
for i1, i2 being Morphism of C st c is_a_coproduct_wrt i1,i2 & dom i1 is initial holds
dom i2,c are_isomorphic
let c be Object of C; ::_thesis: for i1, i2 being Morphism of C st c is_a_coproduct_wrt i1,i2 & dom i1 is initial holds
dom i2,c are_isomorphic
let i1, i2 be Morphism of C; ::_thesis: ( c is_a_coproduct_wrt i1,i2 & dom i1 is initial implies dom i2,c are_isomorphic )
set a = dom i1;
set b = dom i2;
assume that
A1: c is_a_coproduct_wrt i1,i2 and
A2: dom i1 is initial ; ::_thesis: dom i2,c are_isomorphic
set f = id (dom i2);
set g = init ((dom i1),(dom i2));
( cod (init ((dom i1),(dom i2))) = dom i2 & dom (init ((dom i1),(dom i2))) = dom i1 ) by A2, Th38;
then ( id (dom i2) in Hom ((dom i2),(dom i2)) & init ((dom i1),(dom i2)) in Hom ((dom i1),(dom i2)) ) by CAT_1:27;
then consider h being Morphism of C such that
A3: h in Hom (c,(dom i2)) and
A4: for k being Morphism of C st k in Hom (c,(dom i2)) holds
( ( k (*) i1 = init ((dom i1),(dom i2)) & k (*) i2 = id (dom i2) ) iff h = k ) by A1, Def18;
A5: cod h = dom i2 by A3, CAT_1:1;
A6: cod i2 = c by A1, Def18;
then reconsider i = i2 as Morphism of dom i2,c by CAT_1:4;
A7: dom h = c by A3, CAT_1:1;
then A8: dom (i (*) h) = c by A5, CAT_1:17;
A9: cod i1 = c by A1, Def18;
then A10: dom ((i (*) h) (*) i1) = dom i1 by A8, CAT_1:17;
A11: cod (i (*) h) = c by A6, A5, CAT_1:17;
then A12: i (*) h in Hom (c,c) by A8;
cod ((i (*) h) (*) i1) = c by A9, A11, A8, CAT_1:17;
then A13: (i (*) h) (*) i1 = init ((dom i1),c) by A2, A10, Th39
.= i1 by A2, A9, Th39 ;
A14: Hom ((dom i2),c) <> {} by A6, CAT_1:2;
take i ; :: according to CAT_1:def_20 ::_thesis: i is invertible
thus ( Hom ((dom i2),c) <> {} & Hom (c,(dom i2)) <> {} ) by A6, A3, CAT_1:2; :: according to CAT_1:def_16 ::_thesis: ex b1 being Morphism of c, dom i2 st
( i * b1 = id c & b1 * i = id (dom i2) )
reconsider h = h as Morphism of c, dom i2 by A3, CAT_1:def_5;
take h ; ::_thesis: ( i * h = id c & h * i = id (dom i2) )
A15: (i (*) h) (*) i2 = i (*) (h (*) i2) by A6, A5, A7, CAT_1:18
.= i (*) (id (dom i)) by A3, A4
.= i by CAT_1:22 ;
thus i * h = i (*) h by A3, A14, CAT_1:def_13
.= id c by A1, A13, A12, Th83, A15 ; ::_thesis: h * i = id (dom i2)
thus id (dom i2) = h (*) i by A3, A4
.= h * i by A3, A14, CAT_1:def_13 ; ::_thesis: verum
end;