Article OPPCAT_1, MML version 4.99.1005
:: OPPCAT_1:funcnot 1 => OPPCAT_1:func 1
definition
let a1, a2, a3 be non empty set;
let a4 be Function-like Relation of [:a1,a2:],a3;
redefine func ~ a4 -> Function-like Relation of [:a2,a1:],a3;
end;
:: OPPCAT_1:th 1
theorem
for b1 being non void Category-like CatStr holds
CatStr(#the Vertices of b1,the Edges of b1,the Target of b1,the Source of b1,~ the Comp of b1,the Id of b1#) is non void Category-like CatStr;
:: OPPCAT_1:funcnot 2 => OPPCAT_1:func 2
definition
let a1 be non void Category-like CatStr;
func A1 opp -> strict non void Category-like CatStr equals
CatStr(#the Vertices of a1,the Edges of a1,the Target of a1,the Source of a1,~ the Comp of a1,the Id of a1#);
end;
:: OPPCAT_1:def 1
theorem
for b1 being non void Category-like CatStr holds
b1 opp = CatStr(#the Vertices of b1,the Edges of b1,the Target of b1,the Source of b1,~ the Comp of b1,the Id of b1#);
:: OPPCAT_1:funcnot 3 => OPPCAT_1:func 3
definition
let a1 be non void Category-like CatStr;
let a2 be Element of the Vertices of a1;
func A2 opp -> Element of the Vertices of a1 opp equals
a2;
end;
:: OPPCAT_1:def 2
theorem
for b1 being non void Category-like CatStr
for b2 being Element of the Vertices of b1 holds
b2 opp = b2;
:: OPPCAT_1:funcnot 4 => OPPCAT_1:func 4
definition
let a1 be non void Category-like CatStr;
let a2 be Element of the Vertices of a1 opp;
func opp A2 -> Element of the Vertices of a1 equals
a2 opp;
end;
:: OPPCAT_1:def 3
theorem
for b1 being non void Category-like CatStr
for b2 being Element of the Vertices of b1 opp holds
opp b2 = b2 opp;
:: OPPCAT_1:th 3
theorem
for b1 being non void Category-like CatStr
for b2 being Element of the Vertices of b1 holds
b2 opp opp = b2;
:: OPPCAT_1:th 4
theorem
for b1 being non void Category-like CatStr
for b2 being Element of the Vertices of b1 holds
opp (b2 opp) = b2;
:: OPPCAT_1:th 5
theorem
for b1 being non void Category-like CatStr
for b2 being Element of the Vertices of b1 opp holds
(opp b2) opp = b2;
:: OPPCAT_1:funcnot 5 => OPPCAT_1:func 5
definition
let a1 be non void Category-like CatStr;
let a2 be Element of the Edges of a1;
func A2 opp -> Element of the Edges of a1 opp equals
a2;
end;
:: OPPCAT_1:def 4
theorem
for b1 being non void Category-like CatStr
for b2 being Element of the Edges of b1 holds
b2 opp = b2;
:: OPPCAT_1:funcnot 6 => OPPCAT_1:func 6
definition
let a1 be non void Category-like CatStr;
let a2 be Element of the Edges of a1 opp;
func opp A2 -> Element of the Edges of a1 equals
a2 opp;
end;
:: OPPCAT_1:def 5
theorem
for b1 being non void Category-like CatStr
for b2 being Element of the Edges of b1 opp holds
opp b2 = b2 opp;
:: OPPCAT_1:th 6
theorem
for b1 being non void Category-like CatStr
for b2 being Element of the Edges of b1 holds
b2 opp opp = b2;
:: OPPCAT_1:th 7
theorem
for b1 being non void Category-like CatStr
for b2 being Element of the Edges of b1 holds
opp (b2 opp) = b2;
:: OPPCAT_1:th 8
theorem
for b1 being non void Category-like CatStr
for b2 being Element of the Edges of b1 opp holds
(opp b2) opp = b2;
:: OPPCAT_1:th 9
theorem
for b1 being non void Category-like CatStr
for b2 being Element of the Edges of b1 holds
dom (b2 opp) = cod b2 & cod (b2 opp) = dom b2;
:: OPPCAT_1:th 10
theorem
for b1 being non void Category-like CatStr
for b2 being Element of the Edges of b1 opp holds
dom opp b2 = cod b2 & cod opp b2 = dom b2;
:: OPPCAT_1:th 11
theorem
for b1 being non void Category-like CatStr
for b2 being Element of the Edges of b1 holds
(dom b2) opp = cod (b2 opp) & (cod b2) opp = dom (b2 opp);
:: OPPCAT_1:th 12
theorem
for b1 being non void Category-like CatStr
for b2 being Element of the Edges of b1 opp holds
opp dom b2 = cod opp b2 & opp cod b2 = dom opp b2;
:: OPPCAT_1:th 13
theorem
for b1 being non void Category-like CatStr
for b2, b3 being Element of the Vertices of b1
for b4 being Element of the Edges of b1 holds
b4 in Hom(b2,b3)
iff
b4 opp in Hom(b3 opp,b2 opp);
:: OPPCAT_1:th 14
theorem
for b1 being non void Category-like CatStr
for b2, b3 being Element of the Vertices of b1 opp
for b4 being Element of the Edges of b1 opp holds
b4 in Hom(b2,b3)
iff
opp b4 in Hom(opp b3,opp b2);
:: OPPCAT_1:th 15
theorem
for b1 being non void Category-like CatStr
for b2, b3 being Element of the Vertices of b1
for b4 being Morphism of b2,b3
st Hom(b2,b3) <> {}
holds b4 opp is Morphism of b3 opp,b2 opp;
:: OPPCAT_1:th 16
theorem
for b1 being non void Category-like CatStr
for b2, b3 being Element of the Vertices of b1 opp
for b4 being Morphism of b2,b3
st Hom(b2,b3) <> {}
holds opp b4 is Morphism of opp b3,opp b2;
:: OPPCAT_1:th 17
theorem
for b1 being non void Category-like CatStr
for b2, b3 being Element of the Edges of b1
st dom b3 = cod b2
holds (b3 * b2) opp = b2 opp * (b3 opp);
:: OPPCAT_1:th 18
theorem
for b1 being non void Category-like CatStr
for b2, b3 being Element of the Edges of b1
st cod (b3 opp) = dom (b2 opp)
holds (b3 * b2) opp = b2 opp * (b3 opp);
:: OPPCAT_1:th 19
theorem
for b1 being non void Category-like CatStr
for b2, b3 being Element of the Edges of b1 opp
st dom b3 = cod b2
holds opp (b3 * b2) = (opp b2) * opp b3;
:: OPPCAT_1:th 20
theorem
for b1 being non void Category-like CatStr
for b2, b3, b4 being Element of the Vertices of b1
for b5 being Morphism of b2,b3
for b6 being Morphism of b3,b4
st Hom(b2,b3) <> {} & Hom(b3,b4) <> {}
holds (b6 * b5) opp = b5 opp * (b6 opp);
:: OPPCAT_1:th 21
theorem
for b1 being non void Category-like CatStr
for b2 being Element of the Vertices of b1 holds
(id b2) opp = id (b2 opp);
:: OPPCAT_1:th 22
theorem
for b1 being non void Category-like CatStr
for b2 being Element of the Vertices of b1 opp holds
opp id b2 = id opp b2;
:: OPPCAT_1:th 23
theorem
for b1 being non void Category-like CatStr
for b2 being Element of the Edges of b1 holds
b2 opp is monic(b1 opp)
iff
b2 is epi(b1);
:: OPPCAT_1:th 24
theorem
for b1 being non void Category-like CatStr
for b2 being Element of the Edges of b1 holds
b2 opp is epi(b1 opp)
iff
b2 is monic(b1);
:: OPPCAT_1:th 25
theorem
for b1 being non void Category-like CatStr
for b2 being Element of the Edges of b1 holds
b2 opp is invertible(b1 opp)
iff
b2 is invertible(b1);
:: OPPCAT_1:th 26
theorem
for b1 being non void Category-like CatStr
for b2 being Element of the Vertices of b1 holds
b2 is initial(b1)
iff
b2 opp is terminal(b1 opp);
:: OPPCAT_1:th 27
theorem
for b1 being non void Category-like CatStr
for b2 being Element of the Vertices of b1 holds
b2 opp is initial(b1 opp)
iff
b2 is terminal(b1);
:: OPPCAT_1:funcnot 7 => OPPCAT_1:func 7
definition
let a1, a2 be non void Category-like CatStr;
let a3 be Function-like quasi_total Relation of the Edges of a1 opp,the Edges of a2;
func /* A3 -> Function-like quasi_total Relation of the Edges of a1,the Edges of a2 means
for b1 being Element of the Edges of a1 holds
it . b1 = a3 . (b1 opp);
end;
:: OPPCAT_1:def 6
theorem
for b1, b2 being non void Category-like CatStr
for b3 being Function-like quasi_total Relation of the Edges of b1 opp,the Edges of b2
for b4 being Function-like quasi_total Relation of the Edges of b1,the Edges of b2 holds
b4 = /* b3
iff
for b5 being Element of the Edges of b1 holds
b4 . b5 = b3 . (b5 opp);
:: OPPCAT_1:th 28
theorem
for b1, b2 being non void Category-like CatStr
for b3 being Function-like quasi_total Relation of the Edges of b1 opp,the Edges of b2
for b4 being Element of the Edges of b1 opp holds
(/* b3) . opp b4 = b3 . b4;
:: OPPCAT_1:th 29
theorem
for b1, b2 being non void Category-like CatStr
for b3 being Functor of b1 opp,b2
for b4 being Element of the Vertices of b1 holds
(Obj /* b3) . b4 = (Obj b3) . (b4 opp);
:: OPPCAT_1:th 30
theorem
for b1, b2 being non void Category-like CatStr
for b3 being Functor of b1 opp,b2
for b4 being Element of the Vertices of b1 opp holds
(Obj /* b3) . opp b4 = (Obj b3) . b4;
:: OPPCAT_1:modenot 1 => OPPCAT_1:mode 1
definition
let a1, a2 be non void Category-like CatStr;
mode Contravariant_Functor of A1,A2 -> Function-like quasi_total Relation of the Edges of a1,the Edges of a2 means
(for b1 being Element of the Vertices of a1 holds
ex b2 being Element of the Vertices of a2 st
it . id b1 = id b2) &
(for b1 being Element of the Edges of a1 holds
it . id dom b1 = id cod (it . b1) &
it . id cod b1 = id dom (it . b1)) &
(for b1, b2 being Element of the Edges of a1
st dom b2 = cod b1
holds it . (b2 * b1) = (it . b1) * (it . b2));
end;
:: OPPCAT_1:dfs 7
definiens
let a1, a2 be non void Category-like CatStr;
let a3 be Function-like quasi_total Relation of the Edges of a1,the Edges of a2;
To prove
a3 is Contravariant_Functor of a1,a2
it is sufficient to prove
thus (for b1 being Element of the Vertices of a1 holds
ex b2 being Element of the Vertices of a2 st
a3 . id b1 = id b2) &
(for b1 being Element of the Edges of a1 holds
a3 . id dom b1 = id cod (a3 . b1) &
a3 . id cod b1 = id dom (a3 . b1)) &
(for b1, b2 being Element of the Edges of a1
st dom b2 = cod b1
holds a3 . (b2 * b1) = (a3 . b1) * (a3 . b2));
:: OPPCAT_1:def 7
theorem
for b1, b2 being non void Category-like CatStr
for b3 being Function-like quasi_total Relation of the Edges of b1,the Edges of b2 holds
b3 is Contravariant_Functor of b1,b2
iff
(for b4 being Element of the Vertices of b1 holds
ex b5 being Element of the Vertices of b2 st
b3 . id b4 = id b5) &
(for b4 being Element of the Edges of b1 holds
b3 . id dom b4 = id cod (b3 . b4) &
b3 . id cod b4 = id dom (b3 . b4)) &
(for b4, b5 being Element of the Edges of b1
st dom b5 = cod b4
holds b3 . (b5 * b4) = (b3 . b4) * (b3 . b5));
:: OPPCAT_1:th 31
theorem
for b1, b2 being non void Category-like CatStr
for b3 being Contravariant_Functor of b1,b2
for b4 being Element of the Vertices of b1
for b5 being Element of the Vertices of b2
st b3 . id b4 = id b5
holds (Obj b3) . b4 = b5;
:: OPPCAT_1:th 32
theorem
for b1, b2 being non void Category-like CatStr
for b3 being Contravariant_Functor of b1,b2
for b4 being Element of the Vertices of b1 holds
b3 . id b4 = id ((Obj b3) . b4);
:: OPPCAT_1:th 33
theorem
for b1, b2 being non void Category-like CatStr
for b3 being Contravariant_Functor of b1,b2
for b4 being Element of the Edges of b1 holds
(Obj b3) . dom b4 = cod (b3 . b4) &
(Obj b3) . cod b4 = dom (b3 . b4);
:: OPPCAT_1:th 34
theorem
for b1, b2 being non void Category-like CatStr
for b3 being Contravariant_Functor of b1,b2
for b4, b5 being Element of the Edges of b1
st dom b5 = cod b4
holds dom (b3 . b4) = cod (b3 . b5);
:: OPPCAT_1:th 35
theorem
for b1, b2 being non void Category-like CatStr
for b3 being Functor of b1 opp,b2 holds
/* b3 is Contravariant_Functor of b1,b2;
:: OPPCAT_1:th 36
theorem
for b1, b2, b3 being non void Category-like CatStr
for b4 being Contravariant_Functor of b1,b2
for b5 being Contravariant_Functor of b2,b3 holds
b5 * b4 is Functor of b1,b3;
:: OPPCAT_1:th 37
theorem
for b1, b2 being non void Category-like CatStr
for b3 being Contravariant_Functor of b1 opp,b2
for b4 being Element of the Vertices of b1 holds
(Obj /* b3) . b4 = (Obj b3) . (b4 opp);
:: OPPCAT_1:th 38
theorem
for b1, b2 being non void Category-like CatStr
for b3 being Contravariant_Functor of b1 opp,b2
for b4 being Element of the Vertices of b1 opp holds
(Obj /* b3) . opp b4 = (Obj b3) . b4;
:: OPPCAT_1:th 39
theorem
for b1, b2 being non void Category-like CatStr
for b3 being Contravariant_Functor of b1 opp,b2 holds
/* b3 is Functor of b1,b2;
:: OPPCAT_1:funcnot 8 => OPPCAT_1:func 8
definition
let a1, a2 be non void Category-like CatStr;
let a3 be Function-like quasi_total Relation of the Edges of a1,the Edges of a2;
func *' A3 -> Function-like quasi_total Relation of the Edges of a1 opp,the Edges of a2 means
for b1 being Element of the Edges of a1 opp holds
it . b1 = a3 . opp b1;
end;
:: OPPCAT_1:def 8
theorem
for b1, b2 being non void Category-like CatStr
for b3 being Function-like quasi_total Relation of the Edges of b1,the Edges of b2
for b4 being Function-like quasi_total Relation of the Edges of b1 opp,the Edges of b2 holds
b4 = *' b3
iff
for b5 being Element of the Edges of b1 opp holds
b4 . b5 = b3 . opp b5;
:: OPPCAT_1:funcnot 9 => OPPCAT_1:func 9
definition
let a1, a2 be non void Category-like CatStr;
let a3 be Function-like quasi_total Relation of the Edges of a1,the Edges of a2;
func A3 *' -> Function-like quasi_total Relation of the Edges of a1,the Edges of a2 opp means
for b1 being Element of the Edges of a1 holds
it . b1 = (a3 . b1) opp;
end;
:: OPPCAT_1:def 9
theorem
for b1, b2 being non void Category-like CatStr
for b3 being Function-like quasi_total Relation of the Edges of b1,the Edges of b2
for b4 being Function-like quasi_total Relation of the Edges of b1,the Edges of b2 opp holds
b4 = b3 *'
iff
for b5 being Element of the Edges of b1 holds
b4 . b5 = (b3 . b5) opp;
:: OPPCAT_1:th 40
theorem
for b1, b2 being non void Category-like CatStr
for b3 being Function-like quasi_total Relation of the Edges of b1,the Edges of b2
for b4 being Element of the Edges of b1 holds
(*' b3) . (b4 opp) = b3 . b4;
:: OPPCAT_1:th 41
theorem
for b1, b2 being non void Category-like CatStr
for b3 being Functor of b1,b2
for b4 being Element of the Vertices of b1 opp holds
(Obj *' b3) . b4 = (Obj b3) . opp b4;
:: OPPCAT_1:th 42
theorem
for b1, b2 being non void Category-like CatStr
for b3 being Functor of b1,b2
for b4 being Element of the Vertices of b1 holds
(Obj *' b3) . (b4 opp) = (Obj b3) . b4;
:: OPPCAT_1:th 43
theorem
for b1, b2 being non void Category-like CatStr
for b3 being Functor of b1,b2
for b4 being Element of the Vertices of b1 holds
(Obj (b3 *')) . b4 = ((Obj b3) . b4) opp;
:: OPPCAT_1:th 44
theorem
for b1, b2 being non void Category-like CatStr
for b3 being Contravariant_Functor of b1,b2
for b4 being Element of the Vertices of b1 opp holds
(Obj *' b3) . b4 = (Obj b3) . opp b4;
:: OPPCAT_1:th 45
theorem
for b1, b2 being non void Category-like CatStr
for b3 being Contravariant_Functor of b1,b2
for b4 being Element of the Vertices of b1 holds
(Obj *' b3) . (b4 opp) = (Obj b3) . b4;
:: OPPCAT_1:th 46
theorem
for b1, b2 being non void Category-like CatStr
for b3 being Contravariant_Functor of b1,b2
for b4 being Element of the Vertices of b1 holds
(Obj (b3 *')) . b4 = ((Obj b3) . b4) opp;
:: OPPCAT_1:th 47
theorem
for b1, b2 being non void Category-like CatStr
for b3 being Function-like quasi_total Relation of the Edges of b1,the Edges of b2
for b4 being Element of the Edges of b1 holds
(*' b3) *' . (b4 opp) = (b3 . b4) opp;
:: OPPCAT_1:th 48
theorem
for b1, b2 being non void Category-like CatStr
for b3 being Function-like quasi_total Relation of the Edges of b1,the Edges of b2 holds
/* *' b3 = b3;
:: OPPCAT_1:th 49
theorem
for b1, b2 being non void Category-like CatStr
for b3 being Function-like quasi_total Relation of the Edges of b1 opp,the Edges of b2 holds
*' /* b3 = b3;
:: OPPCAT_1:th 50
theorem
for b1, b2 being non void Category-like CatStr
for b3 being Function-like quasi_total Relation of the Edges of b1,the Edges of b2 holds
(*' b3) *' = *' (b3 *');
:: OPPCAT_1:th 51
theorem
for b1 being non void Category-like CatStr
for b2 being strict non void Category-like CatStr
for b3 being Function-like quasi_total Relation of the Edges of b1,the Edges of b2 holds
b3 *' *' = b3;
:: OPPCAT_1:th 52
theorem
for b1 being non void Category-like CatStr
for b2 being strict non void Category-like CatStr
for b3 being Function-like quasi_total Relation of the Edges of b2,the Edges of b1 holds
*' *' b3 = b3;
:: OPPCAT_1:th 53
theorem
for b1, b2, b3 being non void Category-like CatStr
for b4 being Function-like quasi_total Relation of the Edges of b1,the Edges of b2
for b5 being Function-like quasi_total Relation of the Edges of b2,the Edges of b3 holds
*' (b5 * b4) = b5 * *' b4;
:: OPPCAT_1:th 54
theorem
for b1, b2, b3 being non void Category-like CatStr
for b4 being Function-like quasi_total Relation of the Edges of b1,the Edges of b2
for b5 being Function-like quasi_total Relation of the Edges of b2,the Edges of b3 holds
(b5 * b4) *' = b5 *' * b4;
:: OPPCAT_1:th 55
theorem
for b1, b2, b3 being non void Category-like CatStr
for b4 being Function-like quasi_total Relation of the Edges of b1,the Edges of b2
for b5 being Function-like quasi_total Relation of the Edges of b2,the Edges of b3 holds
(*' (b5 * b4)) *' = (*' b5) *' * ((*' b4) *');
:: OPPCAT_1:th 56
theorem
for b1, b2 being non void Category-like CatStr
for b3 being Contravariant_Functor of b1,b2 holds
*' b3 is Functor of b1 opp,b2;
:: OPPCAT_1:th 57
theorem
for b1, b2 being non void Category-like CatStr
for b3 being Contravariant_Functor of b1,b2 holds
b3 *' is Functor of b1,b2 opp;
:: OPPCAT_1:th 58
theorem
for b1, b2 being non void Category-like CatStr
for b3 being Functor of b1,b2 holds
*' b3 is Contravariant_Functor of b1 opp,b2;
:: OPPCAT_1:th 59
theorem
for b1, b2 being non void Category-like CatStr
for b3 being Functor of b1,b2 holds
b3 *' is Contravariant_Functor of b1,b2 opp;
:: OPPCAT_1:th 60
theorem
for b1, b2, b3 being non void Category-like CatStr
for b4 being Contravariant_Functor of b1,b2
for b5 being Functor of b2,b3 holds
b5 * b4 is Contravariant_Functor of b1,b3;
:: OPPCAT_1:th 61
theorem
for b1, b2, b3 being non void Category-like CatStr
for b4 being Functor of b1,b2
for b5 being Contravariant_Functor of b2,b3 holds
b5 * b4 is Contravariant_Functor of b1,b3;
:: OPPCAT_1:th 62
theorem
for b1, b2 being non void Category-like CatStr
for b3 being Functor of b1,b2
for b4 being Element of the Vertices of b1 holds
(Obj ((*' b3) *')) . (b4 opp) = ((Obj b3) . b4) opp;
:: OPPCAT_1:th 63
theorem
for b1, b2 being non void Category-like CatStr
for b3 being Contravariant_Functor of b1,b2
for b4 being Element of the Vertices of b1 holds
(Obj ((*' b3) *')) . (b4 opp) = ((Obj b3) . b4) opp;
:: OPPCAT_1:th 64
theorem
for b1, b2 being non void Category-like CatStr
for b3 being Functor of b1,b2 holds
(*' b3) *' is Functor of b1 opp,b2 opp;
:: OPPCAT_1:th 65
theorem
for b1, b2 being non void Category-like CatStr
for b3 being Contravariant_Functor of b1,b2 holds
(*' b3) *' is Contravariant_Functor of b1 opp,b2 opp;
:: OPPCAT_1:funcnot 10 => OPPCAT_1:func 10
definition
let a1 be non void Category-like CatStr;
func id* A1 -> Contravariant_Functor of a1,a1 opp equals
(id a1) *';
end;
:: OPPCAT_1:def 10
theorem
for b1 being non void Category-like CatStr holds
id* b1 = (id b1) *';
:: OPPCAT_1:funcnot 11 => OPPCAT_1:func 11
definition
let a1 be non void Category-like CatStr;
func *id A1 -> Contravariant_Functor of a1 opp,a1 equals
*' id a1;
end;
:: OPPCAT_1:def 11
theorem
for b1 being non void Category-like CatStr holds
*id b1 = *' id b1;
:: OPPCAT_1:th 66
theorem
for b1 being non void Category-like CatStr
for b2 being Element of the Edges of b1 holds
(id* b1) . b2 = b2 opp;
:: OPPCAT_1:th 67
theorem
for b1 being non void Category-like CatStr
for b2 being Element of the Vertices of b1 holds
(Obj id* b1) . b2 = b2 opp;
:: OPPCAT_1:th 68
theorem
for b1 being non void Category-like CatStr
for b2 being Element of the Edges of b1 opp holds
(*id b1) . b2 = opp b2;
:: OPPCAT_1:th 69
theorem
for b1 being non void Category-like CatStr
for b2 being Element of the Vertices of b1 opp holds
(Obj *id b1) . b2 = opp b2;
:: OPPCAT_1:th 70
theorem
for b1, b2 being non void Category-like CatStr
for b3 being Function-like quasi_total Relation of the Edges of b1,the Edges of b2 holds
*' b3 = b3 * *id b1 & b3 *' = (id* b2) * b3;