Article FUNCTOR1, MML version 4.99.1005
:: FUNCTOR1:exreg 1
registration
cluster non empty transitive with_units reflexive AltCatStr;
end;
:: FUNCTOR1:exreg 2
registration
let a1 be non empty reflexive AltCatStr;
cluster non empty reflexive SubCatStr of a1;
end;
:: FUNCTOR1:funcreg 1
registration
let a1, a2 be non empty reflexive AltCatStr;
let a3 be feasible FunctorStr over a1,a2;
let a4 be non empty reflexive SubCatStr of a1;
cluster a3 | a4 -> feasible;
end;
:: FUNCTOR1:th 1
theorem
for b1 being set holds
id b1 is onto(b1, b1);
:: FUNCTOR1:th 2
theorem
for b1 being non empty set
for b2, b3 being non empty Element of bool b1
for b4 being non empty Element of bool b2
st b3 = b4
holds incl b3 = (incl b2) * incl b4;
:: FUNCTOR1:th 3
theorem
for b1, b2 being set
for b3 being Function-like quasi_total Relation of b1,b2
st b3 is bijective(b1, b2)
holds b3 " is Function-like quasi_total Relation of b2,b1;
:: FUNCTOR1:th 4
theorem
for b1, b2 being set
for b3 being non empty set
for b4 being Function-like quasi_total Relation of b1,b2
for b5 being Function-like quasi_total Relation of b2,b3
st b4 is bijective(b1, b2) & b5 is bijective(b2, b3)
holds ex b6 being Function-like quasi_total Relation of b1,b3 st
b6 = b5 * b4 & b6 is bijective(b1, b3);
:: FUNCTOR1:th 5
theorem
for b1 being non empty reflexive AltCatStr
for b2 being non empty reflexive SubCatStr of b1
for b3 being non empty SubCatStr of b1
for b4 being non empty SubCatStr of b2
st b3 = b4
holds incl b3 = (incl b2) * incl b4;
:: FUNCTOR1:th 6
theorem
for b1, b2 being non empty AltCatStr
for b3 being FunctorStr over b1,b2
st b3 is bijective(b1, b2)
holds the ObjectMap of b3 is bijective([:the carrier of b1,the carrier of b1:], [:the carrier of b2,the carrier of b2:]) &
the MorphMap of b3 is "1-1";
:: FUNCTOR1:th 7
theorem
for b1 being non empty AltGraph
for b2, b3 being non empty reflexive AltGraph
for b4 being feasible FunctorStr over b1,b2
for b5 being FunctorStr over b2,b3
st b4 is one-to-one(b1, b2) & b5 is one-to-one(b2, b3)
holds b5 * b4 is one-to-one(b1, b3);
:: FUNCTOR1:th 8
theorem
for b1 being non empty AltGraph
for b2, b3 being non empty reflexive AltGraph
for b4 being feasible FunctorStr over b1,b2
for b5 being FunctorStr over b2,b3
st b4 is faithful(b1, b2) & b5 is faithful(b2, b3)
holds b5 * b4 is faithful(b1, b3);
:: FUNCTOR1:th 9
theorem
for b1 being non empty AltGraph
for b2, b3 being non empty reflexive AltGraph
for b4 being feasible FunctorStr over b1,b2
for b5 being FunctorStr over b2,b3
st b4 is onto(b1, b2) & b5 is onto(b2, b3)
holds b5 * b4 is onto(b1, b3);
:: FUNCTOR1:th 10
theorem
for b1 being non empty AltGraph
for b2, b3 being non empty reflexive AltGraph
for b4 being feasible FunctorStr over b1,b2
for b5 being FunctorStr over b2,b3
st b4 is full(b1, b2) & b5 is full(b2, b3)
holds b5 * b4 is full(b1, b3);
:: FUNCTOR1:th 11
theorem
for b1 being non empty AltGraph
for b2, b3 being non empty reflexive AltGraph
for b4 being feasible FunctorStr over b1,b2
for b5 being FunctorStr over b2,b3
st b4 is injective(b1, b2) & b5 is injective(b2, b3)
holds b5 * b4 is injective(b1, b3);
:: FUNCTOR1:th 12
theorem
for b1 being non empty AltGraph
for b2, b3 being non empty reflexive AltGraph
for b4 being feasible FunctorStr over b1,b2
for b5 being FunctorStr over b2,b3
st b4 is surjective(b1, b2) & b5 is surjective(b2, b3)
holds b5 * b4 is surjective(b1, b3);
:: FUNCTOR1:th 13
theorem
for b1 being non empty AltGraph
for b2, b3 being non empty reflexive AltGraph
for b4 being feasible FunctorStr over b1,b2
for b5 being FunctorStr over b2,b3
st b4 is bijective(b1, b2) & b5 is bijective(b2, b3)
holds b5 * b4 is bijective(b1, b3);
:: FUNCTOR1:th 14
theorem
for b1, b2 being non empty reflexive AltCatStr
for b3 being non empty reflexive SubCatStr of b1
for b4 being non empty SubCatStr of b1
for b5 being non empty SubCatStr of b3
st b4 = b5
for b6 being FunctorStr over b1,b2 holds
b6 | b4 = (b6 | b3) | b5;
:: FUNCTOR1:th 17
theorem
for b1 being non empty AltCatStr
for b2 being non empty SubCatStr of b1 holds
b2 is full(b1)
iff
incl b2 is full(b2, b1);
:: FUNCTOR1:th 18
theorem
for b1, b2 being non empty AltCatStr
for b3 being Covariant FunctorStr over b1,b2 holds
b3 is full(b1, b2)
iff
for b4, b5 being Element of the carrier of b1 holds
Morph-Map(b3,b4,b5) is onto(<^b4,b5^>, <^b3 . b4,b3 . b5^>);
:: FUNCTOR1:th 19
theorem
for b1, b2 being non empty AltCatStr
for b3 being Covariant FunctorStr over b1,b2 holds
b3 is faithful(b1, b2)
iff
for b4, b5 being Element of the carrier of b1 holds
Morph-Map(b3,b4,b5) is one-to-one;
:: FUNCTOR1:th 20
theorem
for b1 being non empty transitive with_units AltCatStr holds
(id b1) " = id b1;
:: FUNCTOR1:th 21
theorem
for b1, b2 being non empty transitive with_units reflexive AltCatStr
for b3 being feasible FunctorStr over b1,b2
st b3 is bijective(b1, b2)
for b4 being feasible FunctorStr over b2,b1
st FunctorStr(#the ObjectMap of b4,the MorphMap of b4#) = b3 "
holds b3 * b4 = id b2;
:: FUNCTOR1:th 22
theorem
for b1, b2 being non empty transitive with_units reflexive AltCatStr
for b3 being feasible FunctorStr over b1,b2
st b3 is bijective(b1, b2)
holds b3 " * b3 = id b1;
:: FUNCTOR1:th 23
theorem
for b1, b2 being non empty transitive with_units reflexive AltCatStr
for b3 being feasible FunctorStr over b1,b2
st b3 is bijective(b1, b2)
holds b3 " " = FunctorStr(#the ObjectMap of b3,the MorphMap of b3#);
:: FUNCTOR1:th 24
theorem
for b1, b2, b3 being non empty transitive with_units reflexive AltCatStr
for b4 being feasible FunctorStr over b1,b2
for b5 being feasible FunctorStr over b2,b3
for b6 being feasible FunctorStr over b2,b1
for b7 being feasible FunctorStr over b3,b2
st b5 is bijective(b2, b3) &
b4 is bijective(b1, b2) &
b7 is bijective(b3, b2) &
b6 is bijective(b2, b1) &
FunctorStr(#the ObjectMap of b6,the MorphMap of b6#) = b4 " &
FunctorStr(#the ObjectMap of b7,the MorphMap of b7#) = b5 "
holds (b5 * b4) " = b6 * b7;