Skip to content

Commit 59ba4fd

Browse files
committed
lambeks lemma without math prose
1 parent e18001f commit 59ba4fd

File tree

1 file changed

+55
-0
lines changed

1 file changed

+55
-0
lines changed

src/Cat/Instances/FAlg.lagda.md

+55
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
```agda
2+
open import Cat.Prelude
3+
open import Cat.Diagram.Initial
4+
open import Cat.Displayed.Total
5+
open import Cat.Displayed.Base
6+
open Total-hom
7+
8+
import Cat.Reasoning
9+
10+
module Cat.Instances.FAlg where
11+
```
12+
```agda
13+
14+
module _ {o ℓ} {C : Precategory o ℓ} (F : Functor C C) where
15+
16+
open Cat.Reasoning C
17+
open Functor F
18+
open Displayed
19+
20+
FAlg : Displayed C _ _
21+
Ob[ FAlg ] A = Hom (F₀ A) A
22+
Hom[ FAlg ] h α β = h ∘ α ≡ β ∘ F₁ h
23+
Hom[ FAlg ]-set _ _ _ = hlevel!
24+
FAlg .id′ = idl _ ∙ intror F-id
25+
FAlg ._∘′_ p q = pullr q ∙ extendl p ∙ ap (_ ∘_) (sym (F-∘ _ _))
26+
FAlg .idr′ _ = prop!
27+
FAlg .idl′ _ = prop!
28+
FAlg .assoc′ _ _ _ = prop!
29+
30+
```
31+
32+
```agda
33+
34+
FAlgebras : Precategory _ _
35+
FAlgebras = ∫ FAlg
36+
37+
module FAlgebras = Cat.Reasoning FAlgebras
38+
39+
lambek : ∀ (i : FAlgebras.Ob) → is-initial FAlgebras i → is-invertible (i .snd)
40+
lambek (I , i) init = make-invertible (j .hom) p q
41+
where
42+
j : FAlgebras.Hom (I , i) (F₀ I , F₁ i)
43+
j = init (F₀ I , F₁ i) .centre
44+
45+
i' : FAlgebras.Hom (F₀ I , F₁ i) (I , i)
46+
i' .hom = i
47+
i' .preserves = refl
48+
49+
p = ap hom (is-contr→is-prop (init (I , i)) (i' FAlgebras.∘ j) FAlgebras.id)
50+
q = (j .hom ∘ i) ≡⟨ j .preserves ⟩
51+
F₁ i ∘ F₁ (j .hom) ≡˘⟨ F-∘ _ _ ⟩
52+
F₁ (i ∘ j .hom) ≡⟨ ap F₁ p ⟩
53+
F₁ id ≡⟨ F-id ⟩
54+
id ∎
55+
```

0 commit comments

Comments
 (0)