Skip to content

Commit 02be933

Browse files
Merge pull request #487 from agda/release-0.3.0
bump up to agda-2.8 and stdlib-2.3
2 parents 672c396 + f83a389 commit 02be933

File tree

3 files changed

+272
-2
lines changed

3 files changed

+272
-2
lines changed

CHANGELOG-0.3.0.md

Lines changed: 270 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,270 @@
1+
Version 0.3.0
2+
===============
3+
4+
The library has been tested using Agda 2.8.0 and stdlib 2.3.0.
5+
6+
## Infrastructure changes
7+
8+
* Better caching, so that CI generally runs faster
9+
10+
## Changes affecting compatibility
11+
12+
### Removed modules
13+
14+
* `Categories.Adjoint.Equivalence.Properties`
15+
main export `⊣equiv-preserves-diagram` is special case of `la-preserves-diagram`.
16+
17+
### Changes of fields
18+
19+
* `Categories.Diagram.Pullback`
20+
21+
```agda
22+
unique -> unique-diagram
23+
```
24+
* `Categories.Diagram.Pushout`
25+
Split `Pushout` into an `IsPushout` predicate and the data fields
26+
27+
### Changing definitions or names
28+
29+
* `Categories.Adjoint.Instance.Slice`
30+
Forgetful⊣Free -> TotalSpace⊣ConstantFamily
31+
32+
* `Categories.Category.Instance.Sets`
33+
```agda
34+
_≈_ = λ f g → ∀ {x} → f x ≡ g x
35+
```
36+
to
37+
```agda
38+
_≈_ = _≗_
39+
```
40+
which makes `x` explicit.
41+
* `Categories.Functor.Slice`
42+
Forgetful -> TotalSpace
43+
Free -> ConstantFamily
44+
45+
## New modules
46+
47+
* `Categories.Adjoint.Instance.BaseChange`
48+
* `Categories.Adjoint.Instance.Slice`
49+
* `Categories.Bicategory.LocalCoequalizers`
50+
* `Categories.Bicategory.Monad.Bimodule`
51+
* `Categories.Bicategory.Monad.Bimodule.Homomorphism`
52+
* `Categories.Category.Cocomplete.Properties.Construction`
53+
* `Categories.Category.Construction.Bimodules`
54+
* `Categories.Category.Construction.Bimodules.Properties`
55+
* `Categories.Category.Construction.DaggerFunctors`
56+
* `Categories.Category.Dagger.Construction.DaggerFunctors`
57+
* `Categories.Category.Distributive.Properties`
58+
* `Categories.Category.Instance.DagCats`
59+
* `Categories.Category.Instance.Zero.Core`
60+
* `Categories.Category.Instance.Zero.Properties`
61+
* `Categories.Category.Lift.Properties`
62+
* `Categories.Category.Monoidal.Construction.Kleisli`
63+
* `Categories.Category.Monoidal.Construction.Kleisli.CounitalCopy`
64+
* `Categories.Category.Monoidal.Construction.Kleisli.Symmetric`
65+
* `Categories.Category.Monoidal.Construction.Reverse`
66+
* `Categories.Category.Monoidal.CounitalCopy`
67+
* `Categories.Category.Monoidal.CounitalCopy.Restriction`
68+
* `Categories.Category.Monoidal.Symmetric.Properties`
69+
* `Categories.Category.Restriction.Construction.Kleisli`
70+
* `Categories.Category.Restriction.Properties.Poset`
71+
* `Categories.Comonad.Distributive`
72+
* `Categories.Comonad.Morphism`
73+
* `Categories.Diagram.Coend.Colimit`
74+
* `Categories.Diagram.Empty`
75+
* `Categories.Diagram.End.Fubini`
76+
* `Categories.Diagram.End.Instance.NaturalTransformations`
77+
* `Categories.Diagram.End.Instances.NaturalTransformation`
78+
* `Categories.Diagram.End.Limit`
79+
* `Categories.Diagram.End.Parameterized`
80+
* `Categories.Functor.Dagger`
81+
* `Categories.Functor.Slice.BaseChange`
82+
* `Categories.Monad.Commutative`
83+
* `Categories.Monad.Commutative.Properties`
84+
* `Categories.Monad.Distributive`
85+
* `Categories.Monad.EquationalLifting`
86+
* `Categories.Monad.Strong.Properties`
87+
* `Categories.Object.Coproduct.Indexed`
88+
* `Categories.Object.Coproduct.Indexed.Properties`
89+
* `Categories.Object.Initial.Colimit`
90+
* `Categories.Object.NaturalNumbers.Parametrized.Properties.F-Algebras`
91+
* `Categories.Object.StrictInitial`
92+
93+
## Additions to existing modules
94+
95+
* `Categories.Adjoint.Properties`:
96+
```agda
97+
la-preserves-diagram : (L⊣R : L ⊣ R) → Limit F → Limit (F ∘F L)
98+
ra-preserves-diagram : (L⊣R : L ⊣ R) → Colimit F → Colimit (F ∘F R)
99+
```
100+
* `Categories.Bicategory.Extras`
101+
```agda
102+
identity₂² : id₂ ∘ᵥ id₂ ≈ id₂
103+
sym-assoc₂ : α ∘ᵥ β ∘ᵥ γ ≈ (α ∘ᵥ β) ∘ᵥ γ
104+
∘ᵥ-distr-⊚ : (α ∘ᵥ γ) ⊚₁ (β ∘ᵥ δ) ≈ (α ⊚₁ β) ∘ᵥ (γ ⊚₁ δ)
105+
α⇐-⊚ : α⇐ ∘ᵥ (α ⊚₁ β ⊚₁ γ) ≈ ((α ⊚₁ β) ⊚₁ γ) ∘ᵥ α⇐
106+
α⇒-⊚ : α⇒ ∘ᵥ ((α ⊚₁ β) ⊚₁ γ) ≈ (α ⊚₁ β ⊚₁ γ) ∘ᵥ α⇒
107+
◁-resp-≈ : α ≈ β → α ◁ f ≈ β ◁ f
108+
▷-resp-≈ : α ≈ β → f ▷ α ≈ f ▷ β
109+
▷-resp-sq : α ∘ᵥ β ≈ γ ∘ᵥ δ → f ▷ α ∘ᵥ f ▷ β ≈ f ▷ γ ∘ᵥ f ▷ δ
110+
◁-resp-sq : α ∘ᵥ β ≈ γ ∘ᵥ δ → α ◁ f ∘ᵥ β ◁ f ≈ γ ◁ f ∘ᵥ δ ◁ f
111+
α⇒-▷-◁ : α⇒ ∘ᵥ ((f ▷ γ) ◁ g) ≈ (f ▷ (γ ◁ g)) ∘ᵥ α⇒
112+
pentagon-var : (i ▷ α⇒ ∘ᵥ α⇒) ∘ᵥ α⇒ ◁ f ≈ α⇒ ∘ᵥ α⇒
113+
pentagon-inv-var : α⇐ ◁ f ∘ᵥ α⇐ ∘ᵥ i ▷ α⇐ ≈ α⇐ ∘ᵥ α⇐
114+
pentagon-conjugate₁ : α⇐ ∘ᵥ i ▷ α⇒ ∘ᵥ α⇒ ≈ α⇒ ∘ᵥ α⇐ ◁ f
115+
pentagon-conjugate₂ : i ▷ α⇒ ∘ᵥ α⇒ ≈ α⇒ ∘ᵥ α⇒ ∘ᵥ α⇐ ◁ f
116+
pentagon-conjugate₃ : α⇒ ◁ f ∘ᵥ α⇐ ≈ (α⇐ ∘ᵥ i ▷ α⇐) ∘ᵥ α⇒
117+
pentagon-conjugate₄ : α⇒ ∘ᵥ α⇐ ◁ f ≈ α⇐ ∘ᵥ i ▷ α⇒ ∘ᵥ α⇒
118+
pentagon-conjugate₅ : α⇐ ∘ᵥ i ▷ α⇒ ≈ α⇒ ∘ᵥ α⇐ ◁ f ∘ᵥ α⇐
119+
UnitorCoherence.unitorˡ-coherence-iso : unitorˡ ◁ᵢ g ≈ᵢ unitorˡ ∘ᵢ associator
120+
unitorˡ-coherence-inv : [ f ⊚₀ g ⇒ (id₁ ⊚₀ f) ⊚₀ g ]⟨ λ⇐ ◁ g ≈ λ⇐ ⇒⟨ id₁ ⊚₀ (f ⊚₀ g) ⟩ α⇐ ⟩
121+
unitorʳ-coherence-var₁ : [ (f ⊚₀ g) ⊚₀ id₁ ⇒ f ⊚₀ g ⊚₀ id₁ ]⟨ α⇒ ≈ ρ⇒ ⇒⟨ f ⊚₀ g ⟩ f ▷ ρ⇐ ⟩
122+
unitorʳ-coherence-var₂ : [ f ⊚₀ g ⇒ f ⊚₀ g ⊚₀ id₁ ]⟨ f ▷ ρ⇐ ≈ ρ⇐ ⇒⟨ (f ⊚₀ g) ⊚₀ id₁ ⟩ α⇒ ⟩
123+
unitorʳ-coherence-inv : [ f ⊚₀ g ⇒ (f ⊚₀ g) ⊚₀ id₁ ]⟨ f ▷ ρ⇐ ⇒⟨ f ⊚₀ g ⊚₀ id₁ ⟩ α⇐ ≈ ρ⇐ ⟩
124+
```
125+
* `Categories.Category.CartesianClosed.Properties`
126+
```agda
127+
initial→product-initial : IsInitial ⊥ → IsInitial (⊥ × A)
128+
initial→strict-initial : IsInitial ⊥ → IsStrictInitial ⊥
129+
```
130+
* `Categories.Category.Cocartesian`
131+
```agda
132+
⊥+--id : NaturalIsomorphism (⊥ +-) idF
133+
-+⊥-id : NaturalIsomorphism (-+ ⊥) idF
134+
```
135+
* `Categories.Category.Construction.Functors`
136+
```agda
137+
module ₀ (F : Bifunctor C₁ C₂ D)
138+
module uncurry
139+
```
140+
* `Categories.Category.Construction.Kleisli`
141+
```agda
142+
module TripleNotation
143+
*∘F₁ : {f : Y ⇒ M.F.₀ Z} → f * ∘ M.F.₁ g ≈ (f ∘ g) *
144+
F₁∘* : {g : X ⇒ M.F.₀ Y} → M.F.₁ f ∘ g * ≈ (M.F.₁ f ∘ g) *
145+
*⇒F₁ : (η ∘ f) * ≈ M.F.₁ f
146+
```
147+
* `Categories.Category.Construction.TwistedArrow`
148+
```agda
149+
Codomain : Functor TwistedArrow (𝒞.op ×ᶜ 𝒞)
150+
```
151+
* `Categories.Category.Distributive`
152+
```agda
153+
distributeˡ⁻¹ : A × (B + C) ⇒ A × B + A × C
154+
distributeʳ⁻¹ : (B + C) × A ⇒ B × A + C × A
155+
```
156+
* `Categories.Category.Monoidal.Braided.Properties`
157+
```agda
158+
assoc-reverse : [ X ⊗₀ (Y ⊗₀ Z) ⇒ (X ⊗₀ Y) ⊗₀ Z ]⟨ id ⊗₁ σ⇒ ⇒⟨ X ⊗₀ (Z ⊗₀ Y) ⟩ σ⇒ ⇒⟨ (Z ⊗₀ Y) ⊗₀ X ⟩ α⇒ ⇒⟨ Z ⊗₀ (Y ⊗₀ X) ⟩ id ⊗₁ σ⇐ ⇒⟨ Z ⊗₀ (X ⊗₀ Y) ⟩ σ⇐ ≈ α⇐ ⟩
159+
```
160+
* `Categories.Category.Monoidal.Properties`
161+
```agda
162+
monoidal-Op : M.Monoidal C.op
163+
```
164+
* `Categories.Category.Monoidal.Reasoning`
165+
```agda
166+
merge₁ʳ : f ⊗₁ h ∘ g ⊗₁ id ≈ (f ∘ g) ⊗₁ h
167+
merge₁ˡ : f ⊗₁ id ∘ g ⊗₁ h ≈ (f ∘ g) ⊗₁ h
168+
```
169+
* `Categories.Comonad`
170+
```agda
171+
id : Comonad C
172+
```
173+
* `Categories.Diagram.Cocone.Properties`
174+
```agda
175+
mapˡ : Functor (Cocones F) (Cocones (G ∘F F))
176+
mapʳ : Functor (Cocones F) (Cocones (F ∘F G))
177+
nat-map : Functor (Cocones G) (Cocones F)
178+
```
179+
* `Categories.Diagram.Coend.Properties`
180+
```agda
181+
build-Coend : Coequalizer D s t → Coend P
182+
```
183+
* `Categories.Diagram.Coequalizer`
184+
```agda
185+
up-to-iso-triangle : (coe₁ coe₂ : Coequalizer h i) → _≅_.from (up-to-iso coe₁ coe₂) ∘ Coequalizer.arr coe₁ ≈ Coequalizer.arr coe₂
186+
Coequalizers : Set (o ⊔ ℓ ⊔ e)
187+
Coequalizers = {A B : Obj} → (f g : A ⇒ B) → Coequalizer f g
188+
```
189+
* `Categories.Diagram.Coequalizer.Properties`
190+
```agda
191+
splitCoequalizer⇒Coequalizer : (t : B ⇒ A) (s : C ⇒ B) (eq : e ∘ f ≈ e ∘ g) (tisSection : f ∘ t ≈ id) (sisSection : e ∘ s ≈ id) (sq : s ∘ e ≈ g ∘ t) → IsCoequalizer f g e
192+
splitCoequalizer⇒Coequalizer-sym : (t : B ⇒ A) (s : C ⇒ B) (eq : e ∘ f ≈ e ∘ g) (tisSection : g ∘ t ≈ id) (sisSection : e ∘ s ≈ id) (sq : s ∘ e ≈ f ∘ t) → IsCoequalizer f g e
193+
⇒coequalize : (α : A₁ ⇒ A₂) (β : B₁ ⇒ B₂) (sq₁ : CommutativeSquare α f₁ f₂ β) (sq₂ : CommutativeSquare α g₁ g₂ β)(coeq₂ : Coequalizer f₂ g₂) → (arr coeq₂ ∘ β) ∘ f₁ ≈ (arr coeq₂ ∘ β) ∘ g₁
194+
⇒MapBetweenCoeq : (α : A₁ ⇒ A₂) (β : B₁ ⇒ B₂) (sq₁ : CommutativeSquare α f₁ f₂ β) (sq₂ : CommutativeSquare α g₁ g₂ β)(coeq₁ : Coequalizer f₁ g₁) → (coeq₂ : Coequalizer f₂ g₂) → obj coeq₁ ⇒ obj coeq₂
195+
⇒MapBetweenCoeqSq : (α : A₁ ⇒ A₂) (β : B₁ ⇒ B₂) (sq₁ : CommutativeSquare α f₁ f₂ β) (sq₂ : CommutativeSquare α g₁ g₂ β)(coeq₁ : Coequalizer f₁ g₁) → (coeq₂ : Coequalizer f₂ g₂) → CommutativeSquare β (arr coeq₁) (arr coeq₂) (⇒MapBetweenCoeq coeq₁ coeq₂)
196+
CoeqOfIsomorphicDiagram : (coeq : Coequalizer f g ) (a : A ≅ A') (b : B ≅ B') → Coequalizer (_≅_.from b ∘ f ∘ _≅_.to a) (_≅_.from b ∘ g ∘ _≅_.to a)
197+
module CoequalizerOfCoequalizer
198+
```
199+
* `Categories.Diagram.Colimit.Properties`
200+
```agda
201+
build-colim : Coequalizer s t → Colimit F
202+
```
203+
* `Categories.Diagram.Cone.Properties`
204+
```agda
205+
mapˡ : Functor (Cones F) (Cones (G ∘F F))
206+
mapʳ : Functor (Cones F) (Cones (F ∘F G))
207+
nat-map : Functor (Cones F) (Cones G)
208+
```
209+
* `Categories.Diagram.End.Properties`
210+
```agda
211+
end-η : (F : Functor E (Functors (Product (Category.op C) C) D))
212+
{{ef : ∫ F}} {{eg : ∫ G}} → end ef ⇒ end eg
213+
end-unique : (ω₁ ω₂ : ∫ F) → ∫.E ω₁ ≅ ∫.E ω₂
214+
end-identity : (F : Bifunctor (Category.op C) C D) {{ef : ∫ F}} → end-η (idN {F = F}) ≈ id
215+
end-η-commute : {{ef : ∫ F}} {{eg : ∫ G}} (α : NaturalTransformation F G)
216+
(c : C.Obj) → ∫.dinatural.α eg c ∘ end-η α ≈ α .η (c , c) ∘ ∫.dinatural.α ef c
217+
end-η-resp-≈ : {{ef : ∫ F}} {{eg : ∫ G}} {α β : NaturalTransformation F G} → α ≃ⁿ β →
218+
end-η α ≈ end-η β
219+
end-resp-≅ : (F≃G : F ≃ⁱ G) {{ef : ∫ F}} {{eg : ∫ G}} → ∫.E ef ≅ ∫.E eg
220+
build-End : Equalizer D s t → ∫ P
221+
```
222+
* `Categories.Diagram.Limit.Properties`
223+
```agda
224+
build-lim : {OP : IndexedProductOf (Functor.₀ F)}
225+
{MP : IndexedProductOf λ f → Functor.₀ F (Morphism.cod f)} →
226+
Equalizer MP.⟨ (λ f → F.₁ (Morphism.arr f) ∘ OP.π (Morphism.dom f)) ⟩
227+
MP.⟨ (λ f → OP.π (Morphism.cod f)) ⟩ →
228+
Lim.Limit F
229+
```
230+
* `Categories.Diagram.Pullback.Properties`
231+
```agda
232+
module PullbackPartingLaw (ABDE : i ∘ f ≈ k ∘ h) (BCEF : j ∘ g ≈ l ∘ i) (pbᵣ : IsPullback g i j l)
233+
PullbackPartingLaw.leftPullback⇒bigPullback : IsPullback f h i k → IsPullback (g ∘ f) h j (l ∘ k)
234+
PullbackPartingLaw.bigPullback⇒leftPullback : IsPullback (g ∘ f) h j (l ∘ k) → IsPullback f h i k
235+
```
236+
* `Categories.Function.Instance.Twisted`
237+
```agda
238+
Twistⁿⁱ : ∀ {F G : Functor (C.op ×ᶜ C) D } → (F ≃ G) → Twist F ≃ Twist G
239+
```
240+
* `Categories.Functor.Properties`
241+
```agda
242+
PreservesCoequalizers : Functor C D → Set
243+
PreservesCoequalizers {coeq : Coequalizer C f g} → IsCoequalizer D (F₁ f) (F₁ g) (F₁ (arr coeq))
244+
```
245+
* `Categories.Monad.Strong`
246+
```agda
247+
strength-natural-id : (f : X ⇒ Y) → t.η (Y , Z) ∘ (f ⊗₁ id) ≈ F₁ (f ⊗₁ id) ∘ t.η (X , Z)
248+
record RightStrength (V : Monoidal C) (M : Monad C)
249+
record RightStrongMonad (V : Monoidal C)
250+
```
251+
* `Categories.Morphism.Reasoning.Core`
252+
Introduction of new re-associators on compositions of 4 morphisms.
253+
Each successive association is given a Greek letter, from 'α' associated all
254+
the way to the left, to 'ε' associated all the way to the right. Then,
255+
'assoc²XY' is the proof that X is equal to Y. Explicitly:
256+
```agda
257+
α = ((i ∘ h) ∘ g) ∘ f
258+
β = (i ∘ (h ∘ g)) ∘ f
259+
γ = (i ∘ h) ∘ (g ∘ f)
260+
δ = i ∘ ((h ∘ g) ∘ f)
261+
ε = i ∘ (h ∘ (g ∘ f))
262+
```
263+
* `Categories.Object.Duality`
264+
```agda
265+
IndexedCoproductOf⇒coIndexedProductOf : IndexedCoproductOf P → IndexedProductOf P
266+
```
267+
* `Categories.Object.Product.Indexed.Properties`
268+
```agda
269+
lowerAllProductsOf : ∀ j → AllProductsOf (i ⊔ j) → AllProductsOf i
270+
```

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
Welcome to what will hopefully become the standard Category Theory library for Agda.
44

5-
The current library release, v0.2.0, works with Agda-2.6.4 (and 2.6.4.1) and stdlib-2.0. The master
5+
The current library release, v0.3.0, works with Agda-2.8.0 and stdlib-2.3. The master
66
branch should also work with same, but may contain various incompatibilities.
77

88
Note that this should be considered pre-beta software, and that backwards compability

agda-categories.agda-lib

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
name: agda-categories
2-
depend: standard-library-2.1
2+
depend: standard-library-2.3
33
include: src/

0 commit comments

Comments
 (0)