Require Import category.Set Implicit Arguments.Recordpointed_type : Type :=
make_pointed_type {
A :> Type;
base : A;
}.Definitionpoint_preserving
(AB : Type)
(a0 : A)
(b0 : B)
(f : A -> B)
: Prop :=
f a0 = b0.Recordpoint_preserving_map
(AB : pointed_type)
: Type :=
make_point_preserving_map {
f :> A -> B;
f_is_point_preserving :> point_preserving A.(base) B.(base) f;
}.
displayed_category_data category_of_types_data
displayed_category_data category_of_types_data
category_of_types_data -> Type
forallab : category_of_types_data,
category_of_types_data [a, b] -> ?d_ob a -> ?d_ob b -> Type
forall (a : category_of_types_data) (x : ?d_ob a), ?d_hom a a id x x
forall (abc : category_of_types_data) (x : ?d_ob a)
(y : ?d_ob b) (z : ?d_ob c) (g : category_of_types_data [b, c])
(f0 : category_of_types_data [a, b]),
?d_hom b c g y z -> ?d_hom a b f0 x y -> ?d_hom a c (g ∘ f0) x z
category_of_types_data -> Type
exact (funA => A).
forallab : category_of_types_data,
category_of_types_data [a, b] ->
(funA : category_of_types_data => A) a ->
(funA : category_of_types_data => A) b -> Type
forallab : Type, (a -> b) -> a -> b -> Type
a, b: Type f0: a -> b X: a X0: b
Type
exact (point_preserving X X0 f0).
forall (a : category_of_types_data)
(x : (funA : category_of_types_data => A) a),
((fun (a0b : Type) (f0 : a0 -> b) (H : a0) (H0 : b) =>
point_preserving H H0 f0)
:
foralla0b : category_of_types_data,
category_of_types_data [a0, b] ->
(funA : category_of_types_data => A) a0 ->
(funA : category_of_types_data => A) b -> Type) a a id x x
forall (a : Type) (x : a), point_preserving x x (funx0 : a => x0)
a: Type x: a
point_preserving x x (funx0 : a => x0)
a: Type x: a
x = x
reflexivity.
forall (abc : category_of_types_data)
(x : (funA : category_of_types_data => A) a)
(y : (funA : category_of_types_data => A) b)
(z : (funA : category_of_types_data => A) c)
(g : category_of_types_data [b, c]) (f0 : category_of_types_data [a, b]),
((fun (a0b0 : Type) (f : a0 -> b0) (H : a0) (H0 : b0) =>
point_preserving H H0 f)
:
foralla0b0 : category_of_types_data,
category_of_types_data [a0, b0] ->
(funA : category_of_types_data => A) a0 ->
(funA : category_of_types_data => A) b0 -> Type) b c g y z ->
((fun (a0b0 : Type) (f : a0 -> b0) (H : a0) (H0 : b0) =>
point_preserving H H0 f)
:
foralla0b0 : category_of_types_data,
category_of_types_data [a0, b0] ->
(funA : category_of_types_data => A) a0 ->
(funA : category_of_types_data => A) b0 -> Type) a b f0 x y ->
((fun (a0b0 : Type) (f1 : a0 -> b0) (H : a0) (H0 : b0) =>
point_preserving H H0 f1)
:
foralla0b0 : category_of_types_data,
category_of_types_data [a0, b0] ->
(funA : category_of_types_data => A) a0 ->
(funA : category_of_types_data => A) b0 -> Type) a c
(g ∘ f0) x z
forall (abc : Type) (x : a) (y : b) (z : c) (g : b -> c) (f0 : a -> b),
point_preserving y z g ->
point_preserving x y f0 -> point_preserving x z (funx0 : a => g (f0 x0))
a, b, c: Type x: a y: b z: c g: b -> c f0: a -> b g': point_preserving y z g f': point_preserving x y f0
point_preserving x z (funx0 : a => g (f0 x0))
a, b, c: Type x: a y: b z: c g: b -> c f0: a -> b g': g y = z f': f0 x = y
g (f0 x) = z
a, b, c: Type x: a y: b g: b -> c f0: a -> b f': f0 x = y