Article YELLOW20, MML version 4.99.1005
:: YELLOW20:th 1
theorem
for b1, b2 being non empty transitive with_units AltCatStr
for b3 being reflexive feasible FunctorStr over b1,b2
st b3 is coreflexive(b1, b2) & b3 is bijective(b1, b2)
for b4 being Element of the carrier of b1
for b5 being Element of the carrier of b2 holds
b3 . b4 = b5
iff
b3 " . b5 = b4;
:: YELLOW20:th 2
theorem
for b1, b2 being non empty transitive with_units AltCatStr
for b3 being feasible Covariant FunctorStr over b1,b2
for b4 being feasible Covariant FunctorStr over b2,b1
st b3 is bijective(b1, b2) & b4 = b3 "
for b5, b6 being Element of the carrier of b1
st <^b5,b6^> <> {}
for b7 being Element of <^b5,b6^>
for b8 being Element of <^b3 . b5,b3 . b6^> holds
b3 . b7 = b8
iff
b4 . b8 = b7;
:: YELLOW20:th 3
theorem
for b1, b2 being non empty transitive with_units AltCatStr
for b3 being feasible Contravariant FunctorStr over b1,b2
for b4 being feasible Contravariant FunctorStr over b2,b1
st b3 is bijective(b1, b2) & b4 = b3 "
for b5, b6 being Element of the carrier of b1
st <^b5,b6^> <> {}
for b7 being Element of <^b5,b6^>
for b8 being Element of <^b3 . b6,b3 . b5^> holds
b3 . b7 = b8
iff
b4 . b8 = b7;
:: YELLOW20:th 4
theorem
for b1, b2 being non empty transitive associative with_units AltCatStr
for b3 being Functor of b1,b2
st b3 is bijective(b1, b2)
for b4 being Functor of b2,b1
st b3 * b4 = id b2
holds FunctorStr(#the ObjectMap of b4,the MorphMap of b4#) = b3 ";
:: YELLOW20:th 5
theorem
for b1, b2 being non empty transitive associative with_units AltCatStr
for b3 being Functor of b1,b2
st b3 is bijective(b1, b2)
for b4 being Functor of b2,b1
st b4 * b3 = id b1
holds FunctorStr(#the ObjectMap of b4,the MorphMap of b4#) = b3 ";
:: YELLOW20:th 6
theorem
for b1, b2 being non empty transitive associative with_units AltCatStr
for b3 being covariant Functor of b1,b2
st b3 is bijective(b1, b2)
for b4 being covariant Functor of b2,b1
st (for b5 being Element of the carrier of b2 holds
b3 . (b4 . b5) = b5) &
(for b5, b6 being Element of the carrier of b2
st <^b5,b6^> <> {}
for b7 being Element of <^b5,b6^> holds
b3 . (b4 . b7) = b7)
holds FunctorStr(#the ObjectMap of b4,the MorphMap of b4#) = b3 ";
:: YELLOW20:th 7
theorem
for b1, b2 being non empty transitive associative with_units AltCatStr
for b3 being contravariant Functor of b1,b2
st b3 is bijective(b1, b2)
for b4 being contravariant Functor of b2,b1
st (for b5 being Element of the carrier of b2 holds
b3 . (b4 . b5) = b5) &
(for b5, b6 being Element of the carrier of b2
st <^b5,b6^> <> {}
for b7 being Element of <^b5,b6^> holds
b3 . (b4 . b7) = b7)
holds FunctorStr(#the ObjectMap of b4,the MorphMap of b4#) = b3 ";
:: YELLOW20:th 8
theorem
for b1, b2 being non empty transitive associative with_units AltCatStr
for b3 being covariant Functor of b1,b2
st b3 is bijective(b1, b2)
for b4 being covariant Functor of b2,b1
st (for b5 being Element of the carrier of b1 holds
b4 . (b3 . b5) = b5) &
(for b5, b6 being Element of the carrier of b1
st <^b5,b6^> <> {}
for b7 being Element of <^b5,b6^> holds
b4 . (b3 . b7) = b7)
holds FunctorStr(#the ObjectMap of b4,the MorphMap of b4#) = b3 ";
:: YELLOW20:th 9
theorem
for b1, b2 being non empty transitive associative with_units AltCatStr
for b3 being contravariant Functor of b1,b2
st b3 is bijective(b1, b2)
for b4 being contravariant Functor of b2,b1
st (for b5 being Element of the carrier of b1 holds
b4 . (b3 . b5) = b5) &
(for b5, b6 being Element of the carrier of b1
st <^b5,b6^> <> {}
for b7 being Element of <^b5,b6^> holds
b4 . (b3 . b7) = b7)
holds FunctorStr(#the ObjectMap of b4,the MorphMap of b4#) = b3 ";
:: YELLOW20:prednot 1 => YELLOW20:pred 1
definition
let a1, a2 be AltCatStr;
pred A1,A2 have_the_same_composition means
for b1, b2, b3 being set holds
(the Comp of a1) . [b1,b2,b3] tolerates (the Comp of a2) . [b1,b2,b3];
symmetry;
:: for a1, a2 being AltCatStr
:: st a1,a2 have_the_same_composition
:: holds a2,a1 have_the_same_composition;
end;
:: YELLOW20:dfs 1
definiens
let a1, a2 be AltCatStr;
To prove
a1,a2 have_the_same_composition
it is sufficient to prove
thus for b1, b2, b3 being set holds
(the Comp of a1) . [b1,b2,b3] tolerates (the Comp of a2) . [b1,b2,b3];
:: YELLOW20:def 1
theorem
for b1, b2 being AltCatStr holds
b1,b2 have_the_same_composition
iff
for b3, b4, b5 being set holds
(the Comp of b1) . [b3,b4,b5] tolerates (the Comp of b2) . [b3,b4,b5];
:: YELLOW20:th 10
theorem
for b1, b2 being AltCatStr holds
b1,b2 have_the_same_composition
iff
for b3, b4, b5, b6 being set
st b6 in proj1 ((the Comp of b1) . [b3,b4,b5]) &
b6 in proj1 ((the Comp of b2) . [b3,b4,b5])
holds ((the Comp of b1) . [b3,b4,b5]) . b6 = ((the Comp of b2) . [b3,b4,b5]) . b6;
:: YELLOW20:th 11
theorem
for b1, b2 being non empty transitive AltCatStr holds
b1,b2 have_the_same_composition
iff
for b3, b4, b5 being Element of the carrier of b1
st <^b3,b4^> <> {} & <^b4,b5^> <> {}
for b6, b7, b8 being Element of the carrier of b2
st <^b6,b7^> <> {} & <^b7,b8^> <> {} & b6 = b3 & b7 = b4 & b8 = b5
for b9 being Element of <^b3,b4^>
for b10 being Element of <^b6,b7^>
st b10 = b9
for b11 being Element of <^b4,b5^>
for b12 being Element of <^b7,b8^>
st b12 = b11
holds b11 * b9 = b12 * b10;
:: YELLOW20:th 12
theorem
for b1, b2 being non empty transitive semi-functional associative with_units para-functional AltCatStr holds
b1,b2 have_the_same_composition;
:: YELLOW20:funcnot 1 => YELLOW20:func 1
definition
let a1, a2 be Relation-like Function-like set;
func Intersect(A1,A2) -> Relation-like Function-like set means
proj1 it = (proj1 a1) /\ proj1 a2 &
(for b1 being set
st b1 in (proj1 a1) /\ proj1 a2
holds it . b1 = (a1 . b1) /\ (a2 . b1));
commutativity;
:: for a1, a2 being Relation-like Function-like set holds
:: Intersect(a1,a2) = Intersect(a2,a1);
end;
:: YELLOW20:def 2
theorem
for b1, b2, b3 being Relation-like Function-like set holds
b3 = Intersect(b1,b2)
iff
proj1 b3 = (proj1 b1) /\ proj1 b2 &
(for b4 being set
st b4 in (proj1 b1) /\ proj1 b2
holds b3 . b4 = (b1 . b4) /\ (b2 . b4));
:: YELLOW20:th 13
theorem
for b1 being set
for b2, b3 being ManySortedSet of b1 holds
Intersect(b2,b3) = b2 /\ b3;
:: YELLOW20:th 14
theorem
for b1, b2 being set
for b3 being ManySortedSet of b1
for b4 being ManySortedSet of b2 holds
Intersect(b3,b4) is ManySortedSet of b1 /\ b2;
:: YELLOW20:th 15
theorem
for b1, b2 being set
for b3 being ManySortedSet of b1
for b4 being Relation-like Function-like set
for b5 being ManySortedSet of b2
st b5 = Intersect(b3,b4)
holds b5 cc= b3;
:: YELLOW20:th 16
theorem
for b1, b2, b3, b4 being set
for b5 being Function-like quasi_total Relation of b1,b2
for b6 being Function-like quasi_total Relation of b3,b4
st b5 tolerates b6
holds b5 /\ b6 is Function-like quasi_total Relation of b1 /\ b3,b2 /\ b4;
:: YELLOW20:th 17
theorem
for b1, b2 being set
for b3, b4 being ManySortedSet of b1
for b5, b6 being ManySortedSet of b2
for b7, b8 being ManySortedSet of b1 /\ b2
st b7 = Intersect(b3,b5) & b8 = Intersect(b4,b6)
for b9 being ManySortedFunction of b3,b4
for b10 being ManySortedFunction of b5,b6
st for b11 being set
st b11 in proj1 b9 & b11 in proj1 b10
holds b9 . b11 tolerates b10 . b11
holds Intersect(b9,b10) is ManySortedFunction of b7,b8;
:: YELLOW20:th 18
theorem
for b1, b2 being set
for b3 being ManySortedSet of [:b1,b1:]
for b4 being ManySortedSet of [:b2,b2:] holds
ex b5 being ManySortedSet of [:b1 /\ b2,b1 /\ b2:] st
b5 = Intersect(b3,b4) &
Intersect({|b3|},{|b4|}) = {|b5|};
:: YELLOW20:th 19
theorem
for b1, b2 being set
for b3, b4 being ManySortedSet of [:b1,b1:]
for b5, b6 being ManySortedSet of [:b2,b2:] holds
ex b7, b8 being ManySortedSet of [:b1 /\ b2,b1 /\ b2:] st
b7 = Intersect(b3,b5) &
b8 = Intersect(b4,b6) &
Intersect({|b3,b4|},{|b5,b6|}) = {|b7,b8|};
:: YELLOW20:funcnot 2 => YELLOW20:func 2
definition
let a1, a2 be AltCatStr;
assume a1,a2 have_the_same_composition;
func Intersect(A1,A2) -> strict AltCatStr means
the carrier of it = (the carrier of a1) /\ the carrier of a2 &
the Arrows of it = Intersect(the Arrows of a1,the Arrows of a2) &
the Comp of it = Intersect(the Comp of a1,the Comp of a2);
end;
:: YELLOW20:def 3
theorem
for b1, b2 being AltCatStr
st b1,b2 have_the_same_composition
for b3 being strict AltCatStr holds
b3 = Intersect(b1,b2)
iff
the carrier of b3 = (the carrier of b1) /\ the carrier of b2 &
the Arrows of b3 = Intersect(the Arrows of b1,the Arrows of b2) &
the Comp of b3 = Intersect(the Comp of b1,the Comp of b2);
:: YELLOW20:th 20
theorem
for b1, b2 being AltCatStr
st b1,b2 have_the_same_composition
holds Intersect(b1,b2) = Intersect(b2,b1);
:: YELLOW20:th 21
theorem
for b1, b2 being AltCatStr
st b1,b2 have_the_same_composition
holds Intersect(b1,b2) is SubCatStr of b1;
:: YELLOW20:th 22
theorem
for b1, b2 being AltCatStr
st b1,b2 have_the_same_composition
for b3, b4 being Element of the carrier of b1
for b5, b6 being Element of the carrier of b2
for b7, b8 being Element of the carrier of Intersect(b1,b2)
st b7 = b3 & b7 = b5 & b8 = b4 & b8 = b6
holds <^b7,b8^> = <^b3,b4^> /\ <^b5,b6^>;
:: YELLOW20:th 23
theorem
for b1, b2 being transitive AltCatStr
st b1,b2 have_the_same_composition
holds Intersect(b1,b2) is transitive;
:: YELLOW20:th 24
theorem
for b1, b2 being AltCatStr
st b1,b2 have_the_same_composition
for b3, b4 being Element of the carrier of b1
for b5, b6 being Element of the carrier of b2
for b7, b8 being Element of the carrier of Intersect(b1,b2)
st b7 = b3 & b7 = b5 & b8 = b4 & b8 = b6 & <^b3,b4^> <> {} & <^b5,b6^> <> {}
for b9 being Element of <^b3,b4^>
for b10 being Element of <^b5,b6^>
st b9 = b10
holds b9 in <^b7,b8^>;
:: YELLOW20:th 25
theorem
for b1, b2 being non empty with_units AltCatStr
st b1,b2 have_the_same_composition
for b3 being Element of the carrier of b1
for b4 being Element of the carrier of b2
for b5 being Element of the carrier of Intersect(b1,b2)
st b5 = b3 & b5 = b4 & idm b3 = idm b4
holds idm b3 in <^b5,b5^>;
:: YELLOW20:th 26
theorem
for b1, b2 being non empty transitive associative with_units AltCatStr
st b1,b2 have_the_same_composition &
Intersect(b1,b2) is not empty &
(for b3 being Element of the carrier of b1
for b4 being Element of the carrier of b2
st b3 = b4
holds idm b3 = idm b4)
holds Intersect(b1,b2) is transitive id-inheriting SubCatStr of b1;
:: YELLOW20:sch 1
scheme YELLOW20:sch 1
{F1 -> non empty transitive associative with_units AltCatStr,
F2 -> non empty transitive id-inheriting SubCatStr of F1(),
F3 -> non empty transitive id-inheriting SubCatStr of F1()}:
AltCatStr(#the carrier of F2(),the Arrows of F2(),the Comp of F2()#) = AltCatStr(#the carrier of F3(),the Arrows of F3(),the Comp of F3()#)
provided
for b1 being Element of the carrier of F1() holds
b1 is Element of the carrier of F2()
iff
P1[b1]
and
for b1, b2 being Element of the carrier of F1()
for b3, b4 being Element of the carrier of F2()
st b3 = b1 & b4 = b2 & <^b1,b2^> <> {}
for b5 being Element of <^b1,b2^> holds
b5 in <^b3,b4^>
iff
P2[b1, b2, b5]
and
for b1 being Element of the carrier of F1() holds
b1 is Element of the carrier of F3()
iff
P1[b1]
and
for b1, b2 being Element of the carrier of F1()
for b3, b4 being Element of the carrier of F3()
st b3 = b1 & b4 = b2 & <^b1,b2^> <> {}
for b5 being Element of <^b1,b2^> holds
b5 in <^b3,b4^>
iff
P2[b1, b2, b5];
:: YELLOW20:th 27
theorem
for b1 being non empty AltCatStr
for b2 being non empty SubCatStr of b1 holds
b2 is full(b1)
iff
for b3, b4 being Element of the carrier of b1
for b5, b6 being Element of the carrier of b2
st b5 = b3 & b6 = b4
holds <^b5,b6^> = <^b3,b4^>;
:: YELLOW20:sch 2
scheme YELLOW20:sch 2
{F1 -> non empty transitive associative with_units AltCatStr}:
ex b1 being non empty transitive strict full id-inheriting SubCatStr of F1() st
for b2 being Element of the carrier of F1() holds
b2 is Element of the carrier of b1
iff
P1[b2]
provided
ex b1 being Element of the carrier of F1() st
P1[b1];
:: YELLOW20:sch 3
scheme YELLOW20:sch 3
{F1 -> non empty transitive associative with_units AltCatStr,
F2 -> non empty transitive full id-inheriting SubCatStr of F1(),
F3 -> non empty transitive full id-inheriting SubCatStr of F1()}:
AltCatStr(#the carrier of F2(),the Arrows of F2(),the Comp of F2()#) = AltCatStr(#the carrier of F3(),the Arrows of F3(),the Comp of F3()#)
provided
for b1 being Element of the carrier of F1() holds
b1 is Element of the carrier of F2()
iff
P1[b1]
and
for b1 being Element of the carrier of F1() holds
b1 is Element of the carrier of F3()
iff
P1[b1];
:: YELLOW20:funcreg 1
registration
let a1 be Relation-like Function-like Function-yielding set;
let a2, a3 be set;
cluster a1 .(a2,a3) -> Relation-like Function-like;
end;
:: YELLOW20:th 28
theorem
for b1 being non empty transitive associative with_units AltCatStr
for b2 being non empty transitive id-inheriting SubCatStr of b1
for b3, b4 being Element of the carrier of b2
st <^b3,b4^> <> {}
for b5 being Element of <^b3,b4^> holds
(incl b2) . b5 = b5;
:: YELLOW20:funcreg 2
registration
let a1 be non empty transitive associative with_units AltCatStr;
let a2 be non empty transitive id-inheriting SubCatStr of a1;
cluster incl a2 -> strict id-preserving comp-preserving;
end;
:: YELLOW20:funcreg 3
registration
let a1 be non empty transitive associative with_units AltCatStr;
let a2 be non empty transitive id-inheriting SubCatStr of a1;
cluster incl a2 -> strict Covariant;
end;
:: YELLOW20:funcnot 3 => YELLOW20:func 3
definition
let a1 be non empty transitive associative with_units AltCatStr;
let a2 be non empty transitive id-inheriting SubCatStr of a1;
redefine func incl a2 -> strict covariant Functor of a2,a1;
end;
:: YELLOW20:funcnot 4 => YELLOW20:func 4
definition
let a1, a2 be non empty transitive associative with_units AltCatStr;
let a3 be non empty transitive id-inheriting SubCatStr of a1;
let a4 be covariant Functor of a1,a2;
redefine func a4 | a3 -> strict covariant Functor of a3,a2;
end;
:: YELLOW20:funcnot 5 => YELLOW20:func 5
definition
let a1, a2 be non empty transitive associative with_units AltCatStr;
let a3 be non empty transitive id-inheriting SubCatStr of a1;
let a4 be contravariant Functor of a1,a2;
redefine func a4 | a3 -> strict contravariant Functor of a3,a2;
end;
:: YELLOW20:th 29
theorem
for b1, b2 being non empty transitive associative with_units AltCatStr
for b3 being non empty transitive id-inheriting SubCatStr of b1
for b4 being FunctorStr over b1,b2
for b5 being Element of the carrier of b1
for b6 being Element of the carrier of b3
st b6 = b5
holds (b4 | b3) . b6 = b4 . b5;
:: YELLOW20:th 30
theorem
for b1, b2 being non empty transitive associative with_units AltCatStr
for b3 being non empty transitive id-inheriting SubCatStr of b1
for b4 being covariant Functor of b1,b2
for b5, b6 being Element of the carrier of b1
for b7, b8 being Element of the carrier of b3
st b7 = b5 & b8 = b6 & <^b7,b8^> <> {}
for b9 being Element of <^b5,b6^>
for b10 being Element of <^b7,b8^>
st b10 = b9
holds (b4 | b3) . b10 = b4 . b9;
:: YELLOW20:th 31
theorem
for b1, b2 being non empty transitive associative with_units AltCatStr
for b3 being non empty transitive id-inheriting SubCatStr of b1
for b4 being contravariant Functor of b1,b2
for b5, b6 being Element of the carrier of b1
for b7, b8 being Element of the carrier of b3
st b7 = b5 & b8 = b6 & <^b7,b8^> <> {}
for b9 being Element of <^b5,b6^>
for b10 being Element of <^b7,b8^>
st b10 = b9
holds (b4 | b3) . b10 = b4 . b9;
:: YELLOW20:th 32
theorem
for b1, b2 being non empty AltGraph
for b3 being BimapStr over b1,b2
st b3 is Covariant(b1, b2) & b3 is one-to-one(b1, b2)
for b4, b5 being Element of the carrier of b1
st b3 . b4 = b3 . b5
holds b4 = b5;
:: YELLOW20:th 33
theorem
for b1, b2 being non empty reflexive AltGraph
for b3 being feasible Covariant FunctorStr over b1,b2
st b3 is faithful(b1, b2)
for b4, b5 being Element of the carrier of b1
st <^b4,b5^> <> {}
for b6, b7 being Element of <^b4,b5^>
st b3 . b6 = b3 . b7
holds b6 = b7;
:: YELLOW20:th 34
theorem
for b1, b2 being non empty AltGraph
for b3 being Covariant FunctorStr over b1,b2
st b3 is surjective(b1, b2)
for b4, b5 being Element of the carrier of b2
st <^b4,b5^> <> {}
for b6 being Element of <^b4,b5^> holds
ex b7, b8 being Element of the carrier of b1 st
ex b9 being Element of <^b7,b8^> st
b4 = b3 . b7 & b5 = b3 . b8 & <^b7,b8^> <> {} & b6 = b3 . b9;
:: YELLOW20:th 35
theorem
for b1, b2 being non empty AltGraph
for b3 being BimapStr over b1,b2
st b3 is Contravariant(b1, b2) & b3 is one-to-one(b1, b2)
for b4, b5 being Element of the carrier of b1
st b3 . b4 = b3 . b5
holds b4 = b5;
:: YELLOW20:th 36
theorem
for b1, b2 being non empty reflexive AltGraph
for b3 being feasible Contravariant FunctorStr over b1,b2
st b3 is faithful(b1, b2)
for b4, b5 being Element of the carrier of b1
st <^b4,b5^> <> {}
for b6, b7 being Element of <^b4,b5^>
st b3 . b6 = b3 . b7
holds b6 = b7;
:: YELLOW20:th 37
theorem
for b1, b2 being non empty AltGraph
for b3 being Contravariant FunctorStr over b1,b2
st b3 is surjective(b1, b2)
for b4, b5 being Element of the carrier of b2
st <^b4,b5^> <> {}
for b6 being Element of <^b4,b5^> holds
ex b7, b8 being Element of the carrier of b1 st
ex b9 being Element of <^b7,b8^> st
b5 = b3 . b7 & b4 = b3 . b8 & <^b7,b8^> <> {} & b6 = b3 . b9;
:: YELLOW20:prednot 2 => YELLOW20:pred 2
definition
let a1, a2 be non empty transitive associative with_units AltCatStr;
let a3 be FunctorStr over a1,a2;
let a4, a5 be non empty transitive associative with_units AltCatStr;
pred A4,A5 are_isomorphic_under A3 means
a4 is transitive id-inheriting SubCatStr of a1 &
a5 is transitive id-inheriting SubCatStr of a2 &
(ex b1 being covariant Functor of a4,a5 st
b1 is bijective(a4, a5) &
(for b2 being Element of the carrier of a4
for b3 being Element of the carrier of a1
st b2 = b3
holds b1 . b2 = a3 . b3) &
(for b2, b3 being Element of the carrier of a4
for b4, b5 being Element of the carrier of a1
st <^b2,b3^> <> {} & b2 = b4 & b3 = b5
for b6 being Element of <^b2,b3^>
for b7 being Element of <^b4,b5^>
st b6 = b7
holds b1 . b6 = (Morph-Map(a3,b4,b5)) . b7));
end;
:: YELLOW20:dfs 4
definiens
let a1, a2 be non empty transitive associative with_units AltCatStr;
let a3 be FunctorStr over a1,a2;
let a4, a5 be non empty transitive associative with_units AltCatStr;
To prove
a4,a5 are_isomorphic_under a3
it is sufficient to prove
thus a4 is transitive id-inheriting SubCatStr of a1 &
a5 is transitive id-inheriting SubCatStr of a2 &
(ex b1 being covariant Functor of a4,a5 st
b1 is bijective(a4, a5) &
(for b2 being Element of the carrier of a4
for b3 being Element of the carrier of a1
st b2 = b3
holds b1 . b2 = a3 . b3) &
(for b2, b3 being Element of the carrier of a4
for b4, b5 being Element of the carrier of a1
st <^b2,b3^> <> {} & b2 = b4 & b3 = b5
for b6 being Element of <^b2,b3^>
for b7 being Element of <^b4,b5^>
st b6 = b7
holds b1 . b6 = (Morph-Map(a3,b4,b5)) . b7));
:: YELLOW20:def 4
theorem
for b1, b2 being non empty transitive associative with_units AltCatStr
for b3 being FunctorStr over b1,b2
for b4, b5 being non empty transitive associative with_units AltCatStr holds
b4,b5 are_isomorphic_under b3
iff
b4 is transitive id-inheriting SubCatStr of b1 &
b5 is transitive id-inheriting SubCatStr of b2 &
(ex b6 being covariant Functor of b4,b5 st
b6 is bijective(b4, b5) &
(for b7 being Element of the carrier of b4
for b8 being Element of the carrier of b1
st b7 = b8
holds b6 . b7 = b3 . b8) &
(for b7, b8 being Element of the carrier of b4
for b9, b10 being Element of the carrier of b1
st <^b7,b8^> <> {} & b7 = b9 & b8 = b10
for b11 being Element of <^b7,b8^>
for b12 being Element of <^b9,b10^>
st b11 = b12
holds b6 . b11 = (Morph-Map(b3,b9,b10)) . b12));
:: YELLOW20:prednot 3 => YELLOW20:pred 3
definition
let a1, a2 be non empty transitive associative with_units AltCatStr;
let a3 be FunctorStr over a1,a2;
let a4, a5 be non empty transitive associative with_units AltCatStr;
pred A4,A5 are_anti-isomorphic_under A3 means
a4 is transitive id-inheriting SubCatStr of a1 &
a5 is transitive id-inheriting SubCatStr of a2 &
(ex b1 being contravariant Functor of a4,a5 st
b1 is bijective(a4, a5) &
(for b2 being Element of the carrier of a4
for b3 being Element of the carrier of a1
st b2 = b3
holds b1 . b2 = a3 . b3) &
(for b2, b3 being Element of the carrier of a4
for b4, b5 being Element of the carrier of a1
st <^b2,b3^> <> {} & b2 = b4 & b3 = b5
for b6 being Element of <^b2,b3^>
for b7 being Element of <^b4,b5^>
st b6 = b7
holds b1 . b6 = (Morph-Map(a3,b4,b5)) . b7));
end;
:: YELLOW20:dfs 5
definiens
let a1, a2 be non empty transitive associative with_units AltCatStr;
let a3 be FunctorStr over a1,a2;
let a4, a5 be non empty transitive associative with_units AltCatStr;
To prove
a4,a5 are_anti-isomorphic_under a3
it is sufficient to prove
thus a4 is transitive id-inheriting SubCatStr of a1 &
a5 is transitive id-inheriting SubCatStr of a2 &
(ex b1 being contravariant Functor of a4,a5 st
b1 is bijective(a4, a5) &
(for b2 being Element of the carrier of a4
for b3 being Element of the carrier of a1
st b2 = b3
holds b1 . b2 = a3 . b3) &
(for b2, b3 being Element of the carrier of a4
for b4, b5 being Element of the carrier of a1
st <^b2,b3^> <> {} & b2 = b4 & b3 = b5
for b6 being Element of <^b2,b3^>
for b7 being Element of <^b4,b5^>
st b6 = b7
holds b1 . b6 = (Morph-Map(a3,b4,b5)) . b7));
:: YELLOW20:def 5
theorem
for b1, b2 being non empty transitive associative with_units AltCatStr
for b3 being FunctorStr over b1,b2
for b4, b5 being non empty transitive associative with_units AltCatStr holds
b4,b5 are_anti-isomorphic_under b3
iff
b4 is transitive id-inheriting SubCatStr of b1 &
b5 is transitive id-inheriting SubCatStr of b2 &
(ex b6 being contravariant Functor of b4,b5 st
b6 is bijective(b4, b5) &
(for b7 being Element of the carrier of b4
for b8 being Element of the carrier of b1
st b7 = b8
holds b6 . b7 = b3 . b8) &
(for b7, b8 being Element of the carrier of b4
for b9, b10 being Element of the carrier of b1
st <^b7,b8^> <> {} & b7 = b9 & b8 = b10
for b11 being Element of <^b7,b8^>
for b12 being Element of <^b9,b10^>
st b11 = b12
holds b6 . b11 = (Morph-Map(b3,b9,b10)) . b12));
:: YELLOW20:th 38
theorem
for b1, b2, b3, b4 being non empty transitive associative with_units AltCatStr
for b5 being FunctorStr over b1,b2
st b3,b4 are_isomorphic_under b5
holds b3,b4 are_isomorphic;
:: YELLOW20:th 39
theorem
for b1, b2, b3, b4 being non empty transitive associative with_units AltCatStr
for b5 being FunctorStr over b1,b2
st b3,b4 are_anti-isomorphic_under b5
holds b3,b4 are_anti-isomorphic;
:: YELLOW20:th 40
theorem
for b1, b2 being non empty transitive associative with_units AltCatStr
for b3 being covariant Functor of b1,b2
st b1,b2 are_isomorphic_under b3
holds b3 is bijective(b1, b2);
:: YELLOW20:th 41
theorem
for b1, b2 being non empty transitive associative with_units AltCatStr
for b3 being contravariant Functor of b1,b2
st b1,b2 are_anti-isomorphic_under b3
holds b3 is bijective(b1, b2);
:: YELLOW20:th 42
theorem
for b1, b2 being non empty transitive associative with_units AltCatStr
for b3 being covariant Functor of b1,b2
st b3 is bijective(b1, b2)
holds b1,b2 are_isomorphic_under b3;
:: YELLOW20:th 43
theorem
for b1, b2 being non empty transitive associative with_units AltCatStr
for b3 being contravariant Functor of b1,b2
st b3 is bijective(b1, b2)
holds b1,b2 are_anti-isomorphic_under b3;
:: YELLOW20:sch 4
scheme YELLOW20:sch 4
{F1 -> non empty transitive associative with_units AltCatStr,
F2 -> non empty transitive associative with_units AltCatStr,
F3 -> covariant Functor of F1(),F2(),
F4 -> non empty transitive id-inheriting SubCatStr of F1(),
F5 -> non empty transitive id-inheriting SubCatStr of F2()}:
F4(),F5() are_isomorphic_under F3()
provided
F3() is bijective(F1(), F2())
and
for b1 being Element of the carrier of F1() holds
b1 is Element of the carrier of F4()
iff
F3() . b1 is Element of the carrier of F5()
and
for b1, b2 being Element of the carrier of F1()
st <^b1,b2^> <> {}
for b3, b4 being Element of the carrier of F4()
st b3 = b1 & b4 = b2
for b5, b6 being Element of the carrier of F5()
st b5 = F3() . b1 & b6 = F3() . b2
for b7 being Element of <^b1,b2^> holds
b7 in <^b3,b4^>
iff
F3() . b7 in <^b5,b6^>;
:: YELLOW20:sch 5
scheme YELLOW20:sch 5
{F1 -> non empty transitive associative with_units AltCatStr,
F2 -> non empty transitive associative with_units AltCatStr,
F3 -> contravariant Functor of F1(),F2(),
F4 -> non empty transitive id-inheriting SubCatStr of F1(),
F5 -> non empty transitive id-inheriting SubCatStr of F2()}:
F4(),F5() are_anti-isomorphic_under F3()
provided
F3() is bijective(F1(), F2())
and
for b1 being Element of the carrier of F1() holds
b1 is Element of the carrier of F4()
iff
F3() . b1 is Element of the carrier of F5()
and
for b1, b2 being Element of the carrier of F1()
st <^b1,b2^> <> {}
for b3, b4 being Element of the carrier of F4()
st b3 = b1 & b4 = b2
for b5, b6 being Element of the carrier of F5()
st b5 = F3() . b1 & b6 = F3() . b2
for b7 being Element of <^b1,b2^> holds
b7 in <^b3,b4^>
iff
F3() . b7 in <^b6,b5^>;
:: YELLOW20:th 44
theorem
for b1 being non empty transitive associative with_units AltCatStr
for b2 being non empty transitive id-inheriting SubCatStr of b1 holds
b2,b2 are_isomorphic_under id b1;
:: YELLOW20:th 45
theorem
for b1, b2 being Relation-like Function-like set
st b1 c= b2
holds ~ b1 c= ~ b2;
:: YELLOW20:th 46
theorem
for b1, b2 being Relation-like Function-like set
st proj1 b1 is Relation-like set & ~ b1 c= ~ b2
holds b1 c= b2;
:: YELLOW20:th 47
theorem
for b1, b2 being set
for b3 being ManySortedSet of [:b1,b1:]
for b4 being ManySortedSet of [:b2,b2:]
st b3 cc= b4
holds ~ b3 cc= ~ b4;
:: YELLOW20:th 48
theorem
for b1 being non empty transitive AltCatStr
for b2 being non empty transitive SubCatStr of b1 holds
b2 opp is SubCatStr of b1 opp;
:: YELLOW20:th 49
theorem
for b1 being non empty transitive associative with_units AltCatStr
for b2 being non empty transitive id-inheriting SubCatStr of b1 holds
b2 opp is transitive id-inheriting SubCatStr of b1 opp;
:: YELLOW20:th 50
theorem
for b1 being non empty transitive associative with_units AltCatStr
for b2 being non empty transitive id-inheriting SubCatStr of b1 holds
b2,b2 opp are_anti-isomorphic_under dualizing-func(b1,b1 opp);
:: YELLOW20:th 51
theorem
for b1, b2 being non empty transitive associative with_units AltCatStr
for b3 being covariant Functor of b1,b2
st b3 is bijective(b1, b2)
for b4 being non empty transitive id-inheriting SubCatStr of b1
for b5 being non empty transitive id-inheriting SubCatStr of b2
st b4,b5 are_isomorphic_under b3
holds b5,b4 are_isomorphic_under b3 ";
:: YELLOW20:th 52
theorem
for b1, b2 being non empty transitive associative with_units AltCatStr
for b3 being contravariant Functor of b1,b2
st b3 is bijective(b1, b2)
for b4 being non empty transitive id-inheriting SubCatStr of b1
for b5 being non empty transitive id-inheriting SubCatStr of b2
st b4,b5 are_anti-isomorphic_under b3
holds b5,b4 are_anti-isomorphic_under b3 ";
:: YELLOW20:th 53
theorem
for b1, b2, b3 being non empty transitive associative with_units AltCatStr
for b4 being covariant Functor of b1,b2
for b5 being covariant Functor of b2,b3
for b6 being non empty transitive id-inheriting SubCatStr of b1
for b7 being non empty transitive id-inheriting SubCatStr of b2
for b8 being non empty transitive id-inheriting SubCatStr of b3
st b6,b7 are_isomorphic_under b4 & b7,b8 are_isomorphic_under b5
holds b6,b8 are_isomorphic_under b5 * b4;
:: YELLOW20:th 54
theorem
for b1, b2, b3 being non empty transitive associative with_units AltCatStr
for b4 being contravariant Functor of b1,b2
for b5 being covariant Functor of b2,b3
for b6 being non empty transitive id-inheriting SubCatStr of b1
for b7 being non empty transitive id-inheriting SubCatStr of b2
for b8 being non empty transitive id-inheriting SubCatStr of b3
st b6,b7 are_anti-isomorphic_under b4 & b7,b8 are_isomorphic_under b5
holds b6,b8 are_anti-isomorphic_under b5 * b4;
:: YELLOW20:th 55
theorem
for b1, b2, b3 being non empty transitive associative with_units AltCatStr
for b4 being covariant Functor of b1,b2
for b5 being contravariant Functor of b2,b3
for b6 being non empty transitive id-inheriting SubCatStr of b1
for b7 being non empty transitive id-inheriting SubCatStr of b2
for b8 being non empty transitive id-inheriting SubCatStr of b3
st b6,b7 are_isomorphic_under b4 & b7,b8 are_anti-isomorphic_under b5
holds b6,b8 are_anti-isomorphic_under b5 * b4;
:: YELLOW20:th 56
theorem
for b1, b2, b3 being non empty transitive associative with_units AltCatStr
for b4 being contravariant Functor of b1,b2
for b5 being contravariant Functor of b2,b3
for b6 being non empty transitive id-inheriting SubCatStr of b1
for b7 being non empty transitive id-inheriting SubCatStr of b2
for b8 being non empty transitive id-inheriting SubCatStr of b3
st b6,b7 are_anti-isomorphic_under b4 & b7,b8 are_anti-isomorphic_under b5
holds b6,b8 are_isomorphic_under b5 * b4;