Skip to content
This repository was archived by the owner on Jul 24, 2024. It is now read-only.

Commit d82b878

Browse files
committed
chore(category_theory/category/preorder): split material on galois connections (#17339)
This is reducing unnecessary imports. Really, however, someone should tackle `order.complete_lattice`, which has unnecessary heavy imports. Co-authored-by: Scott Morrison <scott.morrison@gmail.com>
1 parent c1918ac commit d82b878

File tree

3 files changed

+49
-21
lines changed

3 files changed

+49
-21
lines changed
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
/-
2+
Copyright (c) 2017 Scott Morrison. All rights reserved.
3+
Released under Apache 2.0 license as described in the file LICENSE.
4+
Authors: Stephen Morgan, Scott Morrison, Johannes Hölzl, Reid Barton
5+
-/
6+
import category_theory.category.preorder
7+
import category_theory.adjunction.basic
8+
import order.galois_connection
9+
10+
/-!
11+
12+
# Galois connections between preorders are adjunctions.
13+
14+
* `galois_connection.adjunction` is the adjunction associated to a galois connection.
15+
16+
-/
17+
18+
universes u v
19+
20+
section
21+
22+
variables {X : Type u} {Y : Type v} [preorder X] [preorder Y]
23+
24+
/--
25+
A galois connection between preorders induces an adjunction between the associated categories.
26+
-/
27+
def galois_connection.adjunction {l : X → Y} {u : Y → X} (gc : galois_connection l u) :
28+
gc.monotone_l.functor ⊣ gc.monotone_u.functor :=
29+
category_theory.adjunction.mk_of_hom_equiv
30+
{ hom_equiv := λ X Y, ⟨λ f, (gc.le_u f.le).hom, λ f, (gc.l_le f.le).hom, by tidy, by tidy⟩ }
31+
32+
end
33+
34+
namespace category_theory
35+
36+
variables {X : Type u} {Y : Type v} [preorder X] [preorder Y]
37+
38+
/--
39+
An adjunction between preorder categories induces a galois connection.
40+
-/
41+
lemma adjunction.gc {L : X ⥤ Y} {R : Y ⥤ X} (adj : L ⊣ R) :
42+
galois_connection L.obj R.obj :=
43+
λ x y, ⟨λ h, ((adj.hom_equiv x y).to_fun h.hom).le, λ h, ((adj.hom_equiv x y).inv_fun h.hom).le⟩
44+
45+
end category_theory

src/category_theory/category/pairwise.lean

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ Copyright (c) 2020 Scott Morrison. All rights reserved.
33
Released under Apache 2.0 license as described in the file LICENSE.
44
Authors: Scott Morrison
55
-/
6-
6+
import order.complete_lattice
77
import category_theory.category.preorder
88
import category_theory.limits.is_limit
99

src/category_theory/category/preorder.lean

Lines changed: 3 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@ Copyright (c) 2017 Scott Morrison. All rights reserved.
33
Released under Apache 2.0 license as described in the file LICENSE.
44
Authors: Stephen Morgan, Scott Morrison, Johannes Hölzl, Reid Barton
55
-/
6-
import category_theory.adjunction.basic
7-
import order.galois_connection
6+
import category_theory.equivalence
7+
import order.hom.basic
88

99
/-!
1010
@@ -14,15 +14,13 @@ We install a category instance on any preorder. This is not to be confused with
1414
preorders, defined in `order/category/Preorder`.
1515
1616
We show that monotone functions between preorders correspond to functors of the associated
17-
categories. Furthermore, galois connections correspond to adjoint functors.
17+
categories.
1818
1919
## Main definitions
2020
2121
* `hom_of_le` and `le_of_hom` provide translations between inequalities in the preorder, and
2222
morphisms in the associated category.
2323
* `monotone.functor` is the functor associated to a monotone function.
24-
* `galois_connection.adjunction` is the adjunction associated to a galois connection.
25-
* `Preorder_to_Cat` is the functor embedding the category of preorders into `Cat`.
2624
2725
-/
2826

@@ -100,14 +98,6 @@ def monotone.functor {f : X → Y} (h : monotone f) : X ⥤ Y :=
10098

10199
@[simp] lemma monotone.functor_obj {f : X → Y} (h : monotone f) : h.functor.obj = f := rfl
102100

103-
/--
104-
A galois connection between preorders induces an adjunction between the associated categories.
105-
-/
106-
def galois_connection.adjunction {l : X → Y} {u : Y → X} (gc : galois_connection l u) :
107-
gc.monotone_l.functor ⊣ gc.monotone_u.functor :=
108-
category_theory.adjunction.mk_of_hom_equiv
109-
{ hom_equiv := λ X Y, ⟨λ f, (gc.le_u f.le).hom, λ f, (gc.l_le f.le).hom, by tidy, by tidy⟩ }
110-
111101
end
112102

113103
namespace category_theory
@@ -122,13 +112,6 @@ A functor between preorder categories is monotone.
122112
@[mono] lemma functor.monotone (f : X ⥤ Y) : monotone f.obj :=
123113
λ x y hxy, (f.map hxy.hom).le
124114

125-
/--
126-
An adjunction between preorder categories induces a galois connection.
127-
-/
128-
lemma adjunction.gc {L : X ⥤ Y} {R : Y ⥤ X} (adj : L ⊣ R) :
129-
galois_connection L.obj R.obj :=
130-
λ x y, ⟨λ h, ((adj.hom_equiv x y).to_fun h.hom).le, λ h, ((adj.hom_equiv x y).inv_fun h.hom).le⟩
131-
132115
end preorder
133116

134117
section partial_order

0 commit comments

Comments
 (0)