set C = the non empty category;
reconsider X = {0,1} as set ;
set comp = {[[0,0],0],[[1,1],1]} \/ {[[0,1],1],[[1,0],1]};
A1:
for x being object holds
( x in {[[0,0],0],[[1,1],1]} \/ {[[0,1],1],[[1,0],1]} iff ( x = [[0,0],0] or x = [[1,1],1] or x = [[0,1],1] or x = [[1,0],1] ) )
proof
let x be
object ;
( x in {[[0,0],0],[[1,1],1]} \/ {[[0,1],1],[[1,0],1]} iff ( x = [[0,0],0] or x = [[1,1],1] or x = [[0,1],1] or x = [[1,0],1] ) )
thus
( not
x in {[[0,0],0],[[1,1],1]} \/ {[[0,1],1],[[1,0],1]} or
x = [[0,0],0] or
x = [[1,1],1] or
x = [[0,1],1] or
x = [[1,0],1] )
( ( x = [[0,0],0] or x = [[1,1],1] or x = [[0,1],1] or x = [[1,0],1] ) implies x in {[[0,0],0],[[1,1],1]} \/ {[[0,1],1],[[1,0],1]} )proof
assume
x in {[[0,0],0],[[1,1],1]} \/ {[[0,1],1],[[1,0],1]}
;
( x = [[0,0],0] or x = [[1,1],1] or x = [[0,1],1] or x = [[1,0],1] )
then
(
x in {[[0,0],0],[[1,1],1]} or
x in {[[0,1],1],[[1,0],1]} )
by XBOOLE_0:def 3;
hence
(
x = [[0,0],0] or
x = [[1,1],1] or
x = [[0,1],1] or
x = [[1,0],1] )
by TARSKI:def 2;
verum
end;
assume
(
x = [[0,0],0] or
x = [[1,1],1] or
x = [[0,1],1] or
x = [[1,0],1] )
;
x in {[[0,0],0],[[1,1],1]} \/ {[[0,1],1],[[1,0],1]}
then
(
x in {[[0,0],0],[[1,1],1]} or
x in {[[0,1],1],[[1,0],1]} )
by TARSKI:def 2;
hence
x in {[[0,0],0],[[1,1],1]} \/ {[[0,1],1],[[1,0],1]}
by XBOOLE_0:def 3;
verum
end;
A2:
for x, y1, y2 being object st [x,y1] in {[[0,0],0],[[1,1],1]} \/ {[[0,1],1],[[1,0],1]} & [x,y2] in {[[0,0],0],[[1,1],1]} \/ {[[0,1],1],[[1,0],1]} holds
y1 = y2
proof
let x,
y1,
y2 be
object ;
( [x,y1] in {[[0,0],0],[[1,1],1]} \/ {[[0,1],1],[[1,0],1]} & [x,y2] in {[[0,0],0],[[1,1],1]} \/ {[[0,1],1],[[1,0],1]} implies y1 = y2 )
assume A3:
[x,y1] in {[[0,0],0],[[1,1],1]} \/ {[[0,1],1],[[1,0],1]}
;
( not [x,y2] in {[[0,0],0],[[1,1],1]} \/ {[[0,1],1],[[1,0],1]} or y1 = y2 )
assume A4:
[x,y2] in {[[0,0],0],[[1,1],1]} \/ {[[0,1],1],[[1,0],1]}
;
y1 = y2
per cases
( [x,y1] = [[0,0],0] or [x,y1] = [[1,1],1] or [x,y1] = [[0,1],1] or [x,y1] = [[1,0],1] )
by A3, A1;
suppose A5:
[x,y1] = [[0,0],0]
;
y1 = y2then A6:
(
x = [0,0] &
y1 = 0 )
by XTUPLE_0:1;
per cases
( [x,y2] = [[0,0],0] or [x,y2] = [[1,1],1] or [x,y2] = [[0,1],1] or [x,y2] = [[1,0],1] )
by A4, A1;
end; end; suppose
[x,y1] = [[1,1],1]
;
y1 = y2then A7:
(
x = [1,1] &
y1 = 1 )
by XTUPLE_0:1;
per cases
( [x,y2] = [[0,0],0] or [x,y2] = [[1,1],1] or [x,y2] = [[0,1],1] or [x,y2] = [[1,0],1] )
by A4, A1;
end; end; suppose
[x,y1] = [[0,1],1]
;
y1 = y2then A8:
(
x = [0,1] &
y1 = 1 )
by XTUPLE_0:1;
per cases
( [x,y2] = [[0,0],0] or [x,y2] = [[1,1],1] or [x,y2] = [[0,1],1] or [x,y2] = [[1,0],1] )
by A4, A1;
end; end; suppose
[x,y1] = [[1,0],1]
;
y1 = y2then A9:
(
x = [1,0] &
y1 = 1 )
by XTUPLE_0:1;
per cases
( [x,y2] = [[0,0],0] or [x,y2] = [[1,1],1] or [x,y2] = [[0,1],1] or [x,y2] = [[1,0],1] )
by A4, A1;
end; end; end;
end;
for x being object st x in {[[0,0],0],[[1,1],1]} \/ {[[0,1],1],[[1,0],1]} holds
x in [:[:X,X:],X:]
proof
let x be
object ;
( x in {[[0,0],0],[[1,1],1]} \/ {[[0,1],1],[[1,0],1]} implies x in [:[:X,X:],X:] )
assume A10:
x in {[[0,0],0],[[1,1],1]} \/ {[[0,1],1],[[1,0],1]}
;
x in [:[:X,X:],X:]
end;
then reconsider comp = {[[0,0],0],[[1,1],1]} \/ {[[0,1],1],[[1,0],1]} as PartFunc of [:X,X:],X by A2, TARSKI:def 3, FUNCT_1:def 1;
set D = CategoryStr(# X,comp #);
A19:
for f1, f2 being morphism of CategoryStr(# X,comp #) holds
( not f1 |> f2 or ( f1 = 0 & f2 = 0 & f1 (*) f2 = 0 ) or ( f1 = 1 & f2 = 1 & f1 (*) f2 = 1 ) or ( f1 = 0 & f2 = 1 & f1 (*) f2 = 1 ) or ( f1 = 1 & f2 = 0 & f1 (*) f2 = 1 ) )
proof
let f1,
f2 be
morphism of
CategoryStr(#
X,
comp #);
( not f1 |> f2 or ( f1 = 0 & f2 = 0 & f1 (*) f2 = 0 ) or ( f1 = 1 & f2 = 1 & f1 (*) f2 = 1 ) or ( f1 = 0 & f2 = 1 & f1 (*) f2 = 1 ) or ( f1 = 1 & f2 = 0 & f1 (*) f2 = 1 ) )
assume A20:
f1 |> f2
;
( ( f1 = 0 & f2 = 0 & f1 (*) f2 = 0 ) or ( f1 = 1 & f2 = 1 & f1 (*) f2 = 1 ) or ( f1 = 0 & f2 = 1 & f1 (*) f2 = 1 ) or ( f1 = 1 & f2 = 0 & f1 (*) f2 = 1 ) )
assume A21:
( ( not
f1 = 0 or not
f2 = 0 or not
f1 (*) f2 = 0 ) & ( not
f1 = 1 or not
f2 = 1 or not
f1 (*) f2 = 1 ) & ( not
f1 = 0 or not
f2 = 1 or not
f1 (*) f2 = 1 ) )
;
( f1 = 1 & f2 = 0 & f1 (*) f2 = 1 )
consider y being
object such that A22:
[[f1,f2],y] in the
composition of
CategoryStr(#
X,
comp #)
by A20, XTUPLE_0:def 12;
A23:
f1 (*) f2 =
the
composition of
CategoryStr(#
X,
comp #)
. (
f1,
f2)
by Def3, A20
.=
the
composition of
CategoryStr(#
X,
comp #)
. [f1,f2]
by BINOP_1:def 1
.=
y
by A22, FUNCT_1:1
;
per cases
( [[f1,f2],y] = [[0,0],0] or [[f1,f2],y] = [[1,1],1] or [[f1,f2],y] = [[0,1],1] or [[f1,f2],y] = [[1,0],1] )
by A22, A1;
end;
end;
A24:
for f1, f2 being morphism of CategoryStr(# X,comp #) holds f1 |> f2
A25:
CategoryStr(# X,comp #) is left_composable
by A24;
A26:
for f, f1, f2 being morphism of CategoryStr(# X,comp #) st f1 |> f2 holds
( f |> f1 (*) f2 iff f |> f1 )
by A24;
A27:
for f1 being morphism of CategoryStr(# X,comp #) st f1 in the carrier of CategoryStr(# X,comp #) holds
ex f being morphism of CategoryStr(# X,comp #) st
( f |> f1 & f is left_identity )
for f1 being morphism of CategoryStr(# X,comp #) st f1 in the carrier of CategoryStr(# X,comp #) holds
ex f being morphism of CategoryStr(# X,comp #) st
( f1 |> f & f is right_identity )
then A30:
CategoryStr(# X,comp #) is with_right_identities
;
for f1, f2, f3 being morphism of CategoryStr(# X,comp #) st f1 |> f2 & f2 |> f3 & f1 (*) f2 |> f3 & f1 |> f2 (*) f3 holds
f1 (*) (f2 (*) f3) = (f1 (*) f2) (*) f3
then reconsider D = CategoryStr(# X,comp #) as category by A26, A27, A30, Def6, Def10, Def12, A25, Def9, Def11;
take
the non empty category
; ex D being category ex F being Functor of the non empty category,D st
( F is multiplicative & not F is identity-preserving )
take
D
; ex F being Functor of the non empty category,D st
( F is multiplicative & not F is identity-preserving )
reconsider d1 = 1 as morphism of D by TARSKI:def 2;
deffunc H1( object ) -> morphism of D = d1;
A41:
for x being object st x in the carrier of the non empty category holds
H1(x) in the carrier of D
;
consider F being Function of the carrier of the non empty category, the carrier of D such that
A42:
for x being object st x in the carrier of the non empty category holds
F . x = H1(x)
from FUNCT_2:sch 2(A41);
reconsider F = F as Functor of the non empty category,D ;
take
F
; ( F is multiplicative & not F is identity-preserving )
for f1, f2 being morphism of the non empty category st f1 |> f2 holds
( F . f1 |> F . f2 & F . (f1 (*) f2) = (F . f1) (*) (F . f2) )
hence
F is multiplicative
; not F is identity-preserving
ex f being morphism of the non empty category st
( f is identity & not F . f is identity )
hence
not F is identity-preserving
; verum