@@ -11,7 +11,7 @@ import category_theory.types
11
11
universes u v
12
12
13
13
namespace category_theory
14
- variables {c d : Sort u → Sort v} {α : Sort u}
14
+ variables {c d : Type u → Type v} {α : Type u}
15
15
16
16
/--
17
17
`concrete_category @hom` collects the evidence that a type constructor `c` and a
@@ -28,23 +28,23 @@ attribute [class] concrete_category
28
28
29
29
/-- `bundled` is a type bundled with a type class instance for that type. Only
30
30
the type class is exposed as a parameter. -/
31
- structure bundled (c : Sort u → Sort v) : Sort (max (u+1 ) v) :=
32
- (α : Sort u)
31
+ structure bundled (c : Type u → Type v) : Type (max (u+1 ) v) :=
32
+ (α : Type u)
33
33
(str : c α . tactic.apply_instance)
34
34
35
- def mk_ob {c : Sort u → Sort v} (α : Sort u) [str : c α] : bundled c := ⟨α, str⟩
35
+ def mk_ob {c : Type u → Type v} (α : Type u) [str : c α] : bundled c := ⟨α, str⟩
36
36
37
37
namespace bundled
38
38
39
39
instance : has_coe_to_sort (bundled c) :=
40
- { S := Sort u, coe := bundled.α }
40
+ { S := Type u, coe := bundled.α }
41
41
42
42
/-- Map over the bundled structure -/
43
43
def map (f : ∀ {α}, c α → d α) (b : bundled c) : bundled d :=
44
44
⟨b.α, f b.str⟩
45
45
46
46
section concrete_category
47
- variables (hom : ∀ {α β : Sort u}, c α → c β → (α → β) → Prop )
47
+ variables (hom : ∀ {α β : Type u}, c α → c β → (α → β) → Prop )
48
48
variables [h : concrete_category @hom]
49
49
include h
50
50
@@ -77,21 +77,21 @@ end concrete_category
77
77
end bundled
78
78
79
79
def concrete_functor
80
- {C : Sort u → Sort v} {hC : ∀{α β}, C α → C β → (α → β) → Prop } [concrete_category @hC]
81
- {D : Sort u → Sort v} {hD : ∀{α β}, D α → D β → (α → β) → Prop } [concrete_category @hD]
80
+ {C : Type u → Type v} {hC : ∀{α β}, C α → C β → (α → β) → Prop } [concrete_category @hC]
81
+ {D : Type u → Type v} {hD : ∀{α β}, D α → D β → (α → β) → Prop } [concrete_category @hD]
82
82
(m : ∀{α}, C α → D α) (h : ∀{α β} {ia : C α} {ib : C β} {f}, hC ia ib f → hD (m ia) (m ib) f) :
83
83
bundled C ⥤ bundled D :=
84
84
{ obj := bundled.map @m,
85
85
map := λ X Y f, ⟨ f, h f.2 ⟩ }
86
86
87
87
section forget
88
- variables {C : Sort u → Sort v} {hom : ∀α β, C α → C β → (α → β) → Prop } [i : concrete_category hom]
88
+ variables {C : Type u → Type v} {hom : ∀α β, C α → C β → (α → β) → Prop } [i : concrete_category hom]
89
89
include i
90
90
91
91
/-- The forgetful functor from a bundled category to `Sort`. -/
92
- def forget : bundled C ⥤ Sort u := { obj := bundled.α, map := λ a b h, h.1 }
92
+ def forget : bundled C ⥤ Type u := { obj := bundled.α, map := λ a b h, h.1 }
93
93
94
- instance forget.faithful : faithful (forget : bundled C ⥤ Sort u) :=
94
+ instance forget.faithful : faithful (forget : bundled C ⥤ Type u) :=
95
95
{ injectivity' :=
96
96
begin
97
97
rintros X Y ⟨f,_⟩ ⟨g,_⟩ p,
0 commit comments