Article YONEDA_1, MML version 4.99.1005
:: YONEDA_1:funcnot 1 => YONEDA_1:func 1
definition
let a1 be non void Category-like CatStr;
func EnsHom A1 -> non void Category-like CatStr equals
Ens Hom a1;
end;
:: YONEDA_1:def 1
theorem
for b1 being non void Category-like CatStr holds
EnsHom b1 = Ens Hom b1;
:: YONEDA_1:th 1
theorem
for b1 being non void Category-like CatStr
for b2, b3 being Relation-like Function-like set
for b4, b5 being Element of the Edges of EnsHom b1
st cod b4 = dom b5 &
[[dom b4,cod b4],b2] = b4 &
[[dom b5,cod b5],b3] = b5
holds [[dom b4,cod b5],b2 * b3] = b5 * b4;
:: YONEDA_1:funcnot 2 => YONEDA_1:func 2
definition
let a1 be non void Category-like CatStr;
let a2 be Element of the Vertices of a1;
func <|A2,?> -> Functor of a1,EnsHom a1 equals
hom?- a2;
end;
:: YONEDA_1:def 2
theorem
for b1 being non void Category-like CatStr
for b2 being Element of the Vertices of b1 holds
<|b2,?> = hom?- b2;
:: YONEDA_1:th 3
theorem
for b1 being non void Category-like CatStr
for b2 being Element of the Edges of b1 holds
<|cod b2,?> is_naturally_transformable_to <|dom b2,?>;
:: YONEDA_1:funcnot 3 => YONEDA_1:func 3
definition
let a1 be non void Category-like CatStr;
let a2 be Element of the Edges of a1;
func <|A2,?> -> natural_transformation of <|cod a2,?>,<|dom a2,?> means
for b1 being Element of the Vertices of a1 holds
it . b1 = [[Hom(cod a2,b1),Hom(dom a2,b1)],hom(a2,id b1)];
end;
:: YONEDA_1:def 3
theorem
for b1 being non void Category-like CatStr
for b2 being Element of the Edges of b1
for b3 being natural_transformation of <|cod b2,?>,<|dom b2,?> holds
b3 = <|b2,?>
iff
for b4 being Element of the Vertices of b1 holds
b3 . b4 = [[Hom(cod b2,b4),Hom(dom b2,b4)],hom(b2,id b4)];
:: YONEDA_1:th 4
theorem
for b1 being non void Category-like CatStr
for b2 being Element of the Edges of b1 holds
[[<|cod b2,?>,<|dom b2,?>],<|b2,?>] is Element of the Edges of Functors(b1,EnsHom b1);
:: YONEDA_1:funcnot 4 => YONEDA_1:func 4
definition
let a1 be non void Category-like CatStr;
func Yoneda A1 -> Contravariant_Functor of a1,Functors(a1,EnsHom a1) means
for b1 being Element of the Edges of a1 holds
it . b1 = [[<|cod b1,?>,<|dom b1,?>],<|b1,?>];
end;
:: YONEDA_1:def 4
theorem
for b1 being non void Category-like CatStr
for b2 being Contravariant_Functor of b1,Functors(b1,EnsHom b1) holds
b2 = Yoneda b1
iff
for b3 being Element of the Edges of b1 holds
b2 . b3 = [[<|cod b3,?>,<|dom b3,?>],<|b3,?>];
:: YONEDA_1:funcnot 5 => YONEDA_1:func 5
definition
let a1, a2 be non void Category-like CatStr;
let a3 be Contravariant_Functor of a1,a2;
let a4 be Element of the Vertices of a1;
func A3 . A4 -> Element of the Vertices of a2 equals
(Obj a3) . a4;
end;
:: YONEDA_1:def 5
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 . b4 = (Obj b3) . b4;
:: YONEDA_1:th 5
theorem
for b1 being non void Category-like CatStr
for b2 being Functor of b1,Functors(b1,EnsHom b1)
st Obj b2 is one-to-one & b2 is faithful(b1, Functors(b1,EnsHom b1))
holds b2 is one-to-one;
:: YONEDA_1:attrnot 1 => YONEDA_1:attr 1
definition
let a1, a2 be non void Category-like CatStr;
let a3 be Contravariant_Functor of a1,a2;
attr a3 is faithful means
for b1, b2 being Element of the Vertices of a1
st Hom(b1,b2) <> {}
for b3, b4 being Morphism of b1,b2
st a3 . b3 = a3 . b4
holds b3 = b4;
end;
:: YONEDA_1:dfs 6
definiens
let a1, a2 be non void Category-like CatStr;
let a3 be Contravariant_Functor of a1,a2;
To prove
a3 is faithful
it is sufficient to prove
thus for b1, b2 being Element of the Vertices of a1
st Hom(b1,b2) <> {}
for b3, b4 being Morphism of b1,b2
st a3 . b3 = a3 . b4
holds b3 = b4;
:: YONEDA_1:def 6
theorem
for b1, b2 being non void Category-like CatStr
for b3 being Contravariant_Functor of b1,b2 holds
b3 is faithful(b1, b2)
iff
for b4, b5 being Element of the Vertices of b1
st Hom(b4,b5) <> {}
for b6, b7 being Morphism of b4,b5
st b3 . b6 = b3 . b7
holds b6 = b7;
:: YONEDA_1:th 6
theorem
for b1 being non void Category-like CatStr
for b2 being Contravariant_Functor of b1,Functors(b1,EnsHom b1)
st Obj b2 is one-to-one & b2 is faithful(b1, Functors(b1,EnsHom b1))
holds b2 is one-to-one;
:: YONEDA_1:th 7
theorem
for b1 being non void Category-like CatStr holds
Yoneda b1 is faithful(b1, Functors(b1,EnsHom b1));
:: YONEDA_1:th 8
theorem
for b1 being non void Category-like CatStr holds
Yoneda b1 is one-to-one;
:: YONEDA_1:attrnot 2 => YONEDA_1:attr 2
definition
let a1, a2 be non void Category-like CatStr;
let a3 be Contravariant_Functor of a1,a2;
attr a3 is full means
for b1, b2 being Element of the Vertices of a1
st Hom(a3 . b2,a3 . b1) <> {}
for b3 being Morphism of a3 . b2,a3 . b1 holds
Hom(b1,b2) <> {} &
(ex b4 being Morphism of b1,b2 st
b3 = a3 . b4);
end;
:: YONEDA_1:dfs 7
definiens
let a1, a2 be non void Category-like CatStr;
let a3 be Contravariant_Functor of a1,a2;
To prove
a3 is full
it is sufficient to prove
thus for b1, b2 being Element of the Vertices of a1
st Hom(a3 . b2,a3 . b1) <> {}
for b3 being Morphism of a3 . b2,a3 . b1 holds
Hom(b1,b2) <> {} &
(ex b4 being Morphism of b1,b2 st
b3 = a3 . b4);
:: YONEDA_1:def 7
theorem
for b1, b2 being non void Category-like CatStr
for b3 being Contravariant_Functor of b1,b2 holds
b3 is full(b1, b2)
iff
for b4, b5 being Element of the Vertices of b1
st Hom(b3 . b5,b3 . b4) <> {}
for b6 being Morphism of b3 . b5,b3 . b4 holds
Hom(b4,b5) <> {} &
(ex b7 being Morphism of b4,b5 st
b6 = b3 . b7);
:: YONEDA_1:th 9
theorem
for b1 being non void Category-like CatStr holds
Yoneda b1 is full(b1, Functors(b1,EnsHom b1));