Mercurial > hg > Members > kono > Proof > category
annotate freyd1.agda @ 774:f3a493da92e8
add simple category version
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Wed, 13 Jun 2018 12:56:38 +0900 |
parents | 917e51be9bbf |
children |
rev | line source |
---|---|
481
65e6906782bb
Completeness of Comma Category begin
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
1 open import Category -- https://github.com/konn/category-agda |
65e6906782bb
Completeness of Comma Category begin
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
2 open import Level |
65e6906782bb
Completeness of Comma Category begin
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
3 |
65e6906782bb
Completeness of Comma Category begin
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
4 module freyd1 {c₁ c₂ ℓ c₁' c₂' ℓ' : Level} {A : Category c₁ c₂ ℓ} {C : Category c₁' c₂' ℓ'} |
65e6906782bb
Completeness of Comma Category begin
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
5 ( F : Functor A C ) ( G : Functor A C ) where |
65e6906782bb
Completeness of Comma Category begin
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
6 |
65e6906782bb
Completeness of Comma Category begin
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
7 open import cat-utility |
65e6906782bb
Completeness of Comma Category begin
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
8 open import HomReasoning |
65e6906782bb
Completeness of Comma Category begin
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
9 open Functor |
65e6906782bb
Completeness of Comma Category begin
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
10 |
65e6906782bb
Completeness of Comma Category begin
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
11 open import Comma1 F G |
492 | 12 -- open import freyd CommaCategory -- we don't need this yet |
481
65e6906782bb
Completeness of Comma Category begin
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
13 |
492 | 14 open import Category.Cat -- Functor composition |
481
65e6906782bb
Completeness of Comma Category begin
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
15 open NTrans |
65e6906782bb
Completeness of Comma Category begin
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
16 open Complete |
65e6906782bb
Completeness of Comma Category begin
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
17 open CommaObj |
65e6906782bb
Completeness of Comma Category begin
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
18 open CommaHom |
65e6906782bb
Completeness of Comma Category begin
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
19 open Limit |
487 | 20 open IsLimit |
481
65e6906782bb
Completeness of Comma Category begin
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
21 |
493
de9ce7e0d97c
on going using limit-uniquness directly
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
492
diff
changeset
|
22 -- |
de9ce7e0d97c
on going using limit-uniquness directly
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
492
diff
changeset
|
23 -- |
483 | 24 -- F : A → C |
25 -- G : A → C | |
26 -- | |
493
de9ce7e0d97c
on going using limit-uniquness directly
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
492
diff
changeset
|
27 -- if A is complete and G preserve limit, Comma Category F↓G is complete |
de9ce7e0d97c
on going using limit-uniquness directly
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
492
diff
changeset
|
28 -- i.e. it has limit for Γ : I → F↓G |
de9ce7e0d97c
on going using limit-uniquness directly
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
492
diff
changeset
|
29 -- |
de9ce7e0d97c
on going using limit-uniquness directly
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
492
diff
changeset
|
30 -- |
de9ce7e0d97c
on going using limit-uniquness directly
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
492
diff
changeset
|
31 -- |
483 | 32 |
493
de9ce7e0d97c
on going using limit-uniquness directly
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
492
diff
changeset
|
33 --- Get a functor Functor I A from a functor I CommaCategory |
de9ce7e0d97c
on going using limit-uniquness directly
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
492
diff
changeset
|
34 --- |
481
65e6906782bb
Completeness of Comma Category begin
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
35 FIA : { I : Category c₁ c₂ ℓ } → ( Γ : Functor I CommaCategory ) → Functor I A |
65e6906782bb
Completeness of Comma Category begin
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
36 FIA {I} Γ = record { |
482 | 37 FObj = λ x → obj (FObj Γ x ) ; |
38 FMap = λ {a} {b} f → arrow (FMap Γ f ) ; | |
39 isFunctor = record { | |
40 identity = identity | |
41 ; distr = IsFunctor.distr (isFunctor Γ) | |
42 ; ≈-cong = IsFunctor.≈-cong (isFunctor Γ) | |
43 }} where | |
44 identity : {x : Obj I } → A [ arrow (FMap Γ (id1 I x)) ≈ id1 A (obj (FObj Γ x)) ] | |
45 identity {x} = let open ≈-Reasoning (A) in begin | |
46 arrow (FMap Γ (id1 I x)) | |
47 ≈⟨ IsFunctor.identity (isFunctor Γ) ⟩ | |
48 id1 A (obj (FObj Γ x)) | |
49 ∎ | |
481
65e6906782bb
Completeness of Comma Category begin
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
50 |
493
de9ce7e0d97c
on going using limit-uniquness directly
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
492
diff
changeset
|
51 --- Get a nat on A from a nat on CommaCategory |
de9ce7e0d97c
on going using limit-uniquness directly
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
492
diff
changeset
|
52 -- |
491
04da2c458d44
comma-a0 commuativity remains
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
490
diff
changeset
|
53 NIA : { I : Category c₁ c₂ ℓ } → ( Γ : Functor I CommaCategory ) |
691
917e51be9bbf
change argument of Limit and K
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
659
diff
changeset
|
54 (c : Obj CommaCategory ) ( ta : NTrans I CommaCategory ( K I CommaCategory c ) Γ ) → NTrans I A ( K I A (obj c) ) (FIA Γ) |
491
04da2c458d44
comma-a0 commuativity remains
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
490
diff
changeset
|
55 NIA {I} Γ c ta = record { |
04da2c458d44
comma-a0 commuativity remains
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
490
diff
changeset
|
56 TMap = λ x → arrow (TMap ta x ) |
04da2c458d44
comma-a0 commuativity remains
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
490
diff
changeset
|
57 ; isNTrans = record { commute = comm1 } |
04da2c458d44
comma-a0 commuativity remains
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
490
diff
changeset
|
58 } where |
04da2c458d44
comma-a0 commuativity remains
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
490
diff
changeset
|
59 comm1 : {a b : Obj I} {f : Hom I a b} → |
691
917e51be9bbf
change argument of Limit and K
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
659
diff
changeset
|
60 A [ A [ FMap (FIA Γ) f o arrow (TMap ta a) ] ≈ A [ arrow (TMap ta b) o FMap (K I A (obj c)) f ] ] |
491
04da2c458d44
comma-a0 commuativity remains
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
490
diff
changeset
|
61 comm1 {a} {b} {f} = IsNTrans.commute (isNTrans ta ) |
04da2c458d44
comma-a0 commuativity remains
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
490
diff
changeset
|
62 |
485 | 63 |
487 | 64 open LimitPreserve |
483 | 65 |
493
de9ce7e0d97c
on going using limit-uniquness directly
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
492
diff
changeset
|
66 -- Limit on A from Γ : I → CommaCategory |
de9ce7e0d97c
on going using limit-uniquness directly
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
492
diff
changeset
|
67 -- |
484
fcae3025d900
fix Limit pu a0 and t0 in record definition
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
483
diff
changeset
|
68 LimitC : { I : Category c₁ c₂ ℓ } → ( comp : Complete A I ) |
485 | 69 → ( Γ : Functor I CommaCategory ) |
691
917e51be9bbf
change argument of Limit and K
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
659
diff
changeset
|
70 → ( glimit : LimitPreserve I A C G ) |
917e51be9bbf
change argument of Limit and K
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
659
diff
changeset
|
71 → Limit I C (G ○ (FIA Γ)) |
492 | 72 LimitC {I} comp Γ glimit = plimit glimit (climit comp (FIA Γ)) |
486
56cf6581c5f6
add some lemma but no use
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
485
diff
changeset
|
73 |
489 | 74 tu : { I : Category c₁ c₂ ℓ } → ( comp : Complete A I) → ( Γ : Functor I CommaCategory ) |
691
917e51be9bbf
change argument of Limit and K
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
659
diff
changeset
|
75 → NTrans I C (K I C (FObj F (limit-c comp (FIA Γ)))) (G ○ (FIA Γ)) |
489 | 76 tu {I} comp Γ = record { |
493
de9ce7e0d97c
on going using limit-uniquness directly
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
492
diff
changeset
|
77 TMap = λ i → C [ hom ( FObj Γ i ) o FMap F ( TMap (t0 ( climit comp (FIA Γ))) i) ] |
489 | 78 ; isNTrans = record { commute = λ {a} {b} {f} → commute {a} {b} {f} } |
79 } where | |
80 commute : {a b : Obj I} {f : Hom I a b} → | |
496 | 81 C [ C [ FMap (G ○ (FIA Γ)) f o C [ hom (FObj Γ a) o FMap F (TMap (t0 ( climit comp (FIA Γ))) a) ] ] |
691
917e51be9bbf
change argument of Limit and K
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
659
diff
changeset
|
82 ≈ C [ C [ hom (FObj Γ b) o FMap F (TMap (t0 ( climit comp (FIA Γ))) b) ] o FMap (K I C (FObj F (limit-c comp (FIA Γ)))) f ] ] |
489 | 83 commute {a} {b} {f} = let open ≈-Reasoning (C) in begin |
496 | 84 FMap (G ○ (FIA Γ)) f o ( hom (FObj Γ a) o FMap F (TMap (t0 ( climit comp (FIA Γ))) a )) |
488
016087cfa75a
commaLimit done, commaNat trying..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
487
diff
changeset
|
85 ≈⟨⟩ |
016087cfa75a
commaLimit done, commaNat trying..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
487
diff
changeset
|
86 FMap G (arrow (FMap Γ f ) ) o ( hom (FObj Γ a) o FMap F ( TMap (t0 ( climit comp (FIA Γ))) a )) |
016087cfa75a
commaLimit done, commaNat trying..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
487
diff
changeset
|
87 ≈⟨ assoc ⟩ |
016087cfa75a
commaLimit done, commaNat trying..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
487
diff
changeset
|
88 (FMap G (arrow (FMap Γ f ) ) o hom (FObj Γ a)) o FMap F ( TMap (t0 ( climit comp (FIA Γ))) a ) |
016087cfa75a
commaLimit done, commaNat trying..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
487
diff
changeset
|
89 ≈⟨ car ( comm (FMap Γ f)) ⟩ |
016087cfa75a
commaLimit done, commaNat trying..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
487
diff
changeset
|
90 (hom (FObj Γ b) o FMap F (arrow (FMap Γ f)) ) o FMap F ( TMap (t0 ( climit comp (FIA Γ))) a ) |
016087cfa75a
commaLimit done, commaNat trying..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
487
diff
changeset
|
91 ≈↑⟨ assoc ⟩ |
016087cfa75a
commaLimit done, commaNat trying..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
487
diff
changeset
|
92 hom (FObj Γ b) o ( FMap F (arrow (FMap Γ f)) o FMap F ( TMap (t0 ( climit comp (FIA Γ))) a ) ) |
016087cfa75a
commaLimit done, commaNat trying..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
487
diff
changeset
|
93 ≈↑⟨ cdr (distr F) ⟩ |
016087cfa75a
commaLimit done, commaNat trying..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
487
diff
changeset
|
94 hom (FObj Γ b) o ( FMap F (A [ arrow (FMap Γ f) o TMap (t0 ( climit comp (FIA Γ))) a ] ) ) |
016087cfa75a
commaLimit done, commaNat trying..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
487
diff
changeset
|
95 ≈⟨⟩ |
016087cfa75a
commaLimit done, commaNat trying..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
487
diff
changeset
|
96 hom (FObj Γ b) o ( FMap F (A [ FMap (FIA Γ) f o TMap (t0 ( climit comp (FIA Γ))) a ] ) ) |
016087cfa75a
commaLimit done, commaNat trying..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
487
diff
changeset
|
97 ≈⟨ cdr ( fcong F ( IsNTrans.commute (isNTrans (t0 ( climit comp (FIA Γ))) ))) ⟩ |
691
917e51be9bbf
change argument of Limit and K
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
659
diff
changeset
|
98 hom (FObj Γ b) o ( FMap F ( A [ (TMap (t0 ( climit comp (FIA Γ))) b) o FMap (K I A (a0 (climit comp (FIA Γ)))) f ] )) |
488
016087cfa75a
commaLimit done, commaNat trying..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
487
diff
changeset
|
99 ≈⟨⟩ |
016087cfa75a
commaLimit done, commaNat trying..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
487
diff
changeset
|
100 hom (FObj Γ b) o ( FMap F ( A [ (TMap (t0 ( climit comp (FIA Γ))) b) o id1 A (limit-c comp (FIA Γ)) ] )) |
016087cfa75a
commaLimit done, commaNat trying..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
487
diff
changeset
|
101 ≈⟨ cdr ( distr F ) ⟩ |
016087cfa75a
commaLimit done, commaNat trying..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
487
diff
changeset
|
102 hom (FObj Γ b) o ( FMap F (TMap (t0 ( climit comp (FIA Γ))) b) o FMap F (id1 A (limit-c comp (FIA Γ)))) |
016087cfa75a
commaLimit done, commaNat trying..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
487
diff
changeset
|
103 ≈⟨ cdr ( cdr ( IsFunctor.identity (isFunctor F) ) ) ⟩ |
016087cfa75a
commaLimit done, commaNat trying..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
487
diff
changeset
|
104 hom (FObj Γ b) o ( FMap F (TMap (t0 ( climit comp (FIA Γ))) b) o id1 C (FObj F (limit-c comp (FIA Γ)))) |
016087cfa75a
commaLimit done, commaNat trying..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
487
diff
changeset
|
105 ≈⟨ assoc ⟩ |
691
917e51be9bbf
change argument of Limit and K
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
659
diff
changeset
|
106 ( hom (FObj Γ b) o FMap F (TMap (t0 ( climit comp (FIA Γ))) b)) o FMap (K I C (FObj F (limit-c comp (FIA Γ)))) f |
488
016087cfa75a
commaLimit done, commaNat trying..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
487
diff
changeset
|
107 ∎ |
489 | 108 limitHom : { I : Category c₁ c₂ ℓ } → (comp : Complete A I) → ( Γ : Functor I CommaCategory ) |
691
917e51be9bbf
change argument of Limit and K
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
659
diff
changeset
|
109 → ( glimit : LimitPreserve I A C G ) → Hom C (FObj F (limit-c comp (FIA Γ ) )) (FObj G (limit-c comp (FIA Γ) )) |
489 | 110 limitHom comp Γ glimit = limit (isLimit (LimitC comp Γ glimit )) (FObj F ( limit-c comp (FIA Γ))) (tu comp Γ ) |
111 | |
112 commaLimit : { I : Category c₁ c₂ ℓ } → ( Complete A I) → ( Γ : Functor I CommaCategory ) | |
691
917e51be9bbf
change argument of Limit and K
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
659
diff
changeset
|
113 → ( glimit : LimitPreserve I A C G ) |
489 | 114 → Obj CommaCategory |
115 commaLimit {I} comp Γ glimit = record { | |
116 obj = limit-c comp (FIA Γ) | |
117 ; hom = limitHom comp Γ glimit | |
118 } | |
481
65e6906782bb
Completeness of Comma Category begin
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
119 |
65e6906782bb
Completeness of Comma Category begin
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
120 |
65e6906782bb
Completeness of Comma Category begin
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
121 commaNat : { I : Category c₁ c₂ ℓ } → ( comp : Complete A I) → ( Γ : Functor I CommaCategory ) |
691
917e51be9bbf
change argument of Limit and K
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
659
diff
changeset
|
122 → ( glimit : LimitPreserve I A C G ) |
917e51be9bbf
change argument of Limit and K
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
659
diff
changeset
|
123 → NTrans I CommaCategory (K I CommaCategory (commaLimit {I} comp Γ glimit)) Γ |
488
016087cfa75a
commaLimit done, commaNat trying..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
487
diff
changeset
|
124 commaNat {I} comp Γ glimit = record { |
016087cfa75a
commaLimit done, commaNat trying..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
487
diff
changeset
|
125 TMap = λ x → record { |
016087cfa75a
commaLimit done, commaNat trying..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
487
diff
changeset
|
126 arrow = TMap ( limit-u comp (FIA Γ ) ) x |
489 | 127 ; comm = comm1 x |
488
016087cfa75a
commaLimit done, commaNat trying..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
487
diff
changeset
|
128 } |
489 | 129 ; isNTrans = record { commute = comm2 } |
481
65e6906782bb
Completeness of Comma Category begin
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
130 } where |
488
016087cfa75a
commaLimit done, commaNat trying..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
487
diff
changeset
|
131 comm1 : (x : Obj I ) → |
691
917e51be9bbf
change argument of Limit and K
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
659
diff
changeset
|
132 C [ C [ FMap G (TMap (limit-u comp (FIA Γ)) x) o hom (FObj (K I CommaCategory (commaLimit comp Γ glimit)) x) ] |
488
016087cfa75a
commaLimit done, commaNat trying..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
487
diff
changeset
|
133 ≈ C [ hom (FObj Γ x) o FMap F (TMap (limit-u comp (FIA Γ)) x) ] ] |
016087cfa75a
commaLimit done, commaNat trying..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
487
diff
changeset
|
134 comm1 x = let open ≈-Reasoning (C) in begin |
691
917e51be9bbf
change argument of Limit and K
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
659
diff
changeset
|
135 FMap G (TMap (limit-u comp (FIA Γ)) x) o hom (FObj (K I CommaCategory (commaLimit comp Γ glimit)) x) |
489 | 136 ≈⟨⟩ |
137 FMap G (TMap (limit-u comp (FIA Γ)) x) o hom (commaLimit comp Γ glimit) | |
138 ≈⟨⟩ | |
139 FMap G (TMap (limit-u comp (FIA Γ)) x) o limit (isLimit (LimitC comp Γ glimit )) (FObj F ( limit-c comp (FIA Γ))) (tu comp Γ ) | |
140 ≈⟨⟩ | |
141 TMap (t0 ( LimitC comp Γ glimit )) x o limit (isLimit (LimitC comp Γ glimit )) (FObj F ( limit-c comp (FIA Γ))) (tu comp Γ ) | |
142 ≈⟨ t0f=t ( isLimit ( LimitC comp Γ glimit ) ) ⟩ | |
143 TMap (tu comp Γ) x | |
144 ≈⟨⟩ | |
145 hom (FObj Γ x) o FMap F (TMap (limit-u comp (FIA Γ)) x) | |
146 ∎ | |
147 comm2 : {a b : Obj I} {f : Hom I a b} → | |
148 CommaCategory [ CommaCategory [ FMap Γ f o record { arrow = TMap (limit-u comp (FIA Γ)) a ; comm = comm1 a } ] | |
691
917e51be9bbf
change argument of Limit and K
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
659
diff
changeset
|
149 ≈ CommaCategory [ record { arrow = TMap (limit-u comp (FIA Γ)) b ; comm = comm1 b } o FMap (K I CommaCategory (commaLimit comp Γ glimit)) f ] ] |
490 | 150 comm2 {a} {b} {f} = let open ≈-Reasoning (A) in begin |
151 FMap (FIA Γ) f o TMap (limit-u comp (FIA Γ)) a | |
152 ≈⟨ IsNTrans.commute (isNTrans (limit-u comp (FIA Γ))) ⟩ | |
691
917e51be9bbf
change argument of Limit and K
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
659
diff
changeset
|
153 TMap (limit-u comp (FIA Γ)) b o FMap (K I A (limit-c comp (FIA Γ))) f |
489 | 154 ∎ |
481
65e6906782bb
Completeness of Comma Category begin
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
155 |
495 | 156 gnat : { I : Category c₁ c₂ ℓ } → ( Γ : Functor I CommaCategory ) |
691
917e51be9bbf
change argument of Limit and K
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
659
diff
changeset
|
157 → (a : CommaObj) → ( t : NTrans I CommaCategory (K I CommaCategory a) Γ ) → |
917e51be9bbf
change argument of Limit and K
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
659
diff
changeset
|
158 NTrans I C (K I C (FObj F (obj a))) (G ○ FIA Γ) |
495 | 159 gnat {I} Γ a t = record { |
494
ba6a67523523
unique direction 2 done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
493
diff
changeset
|
160 TMap = λ i → C [ hom ( FObj Γ i ) o FMap F ( TMap (NIA Γ a t) i ) ] |
ba6a67523523
unique direction 2 done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
493
diff
changeset
|
161 ; isNTrans = record { commute = λ {x y f} → comm1 x y f } |
ba6a67523523
unique direction 2 done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
493
diff
changeset
|
162 } where |
ba6a67523523
unique direction 2 done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
493
diff
changeset
|
163 comm1 : (x y : Obj I) (f : Hom I x y ) → |
ba6a67523523
unique direction 2 done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
493
diff
changeset
|
164 C [ C [ FMap (G ○ FIA Γ) f o C [ hom (FObj Γ x) o FMap F (TMap (NIA Γ a t) x) ] ] |
691
917e51be9bbf
change argument of Limit and K
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
659
diff
changeset
|
165 ≈ C [ C [ hom (FObj Γ y) o FMap F (TMap (NIA Γ a t) y) ] o FMap (K I C (FObj F (obj a))) f ] ] |
494
ba6a67523523
unique direction 2 done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
493
diff
changeset
|
166 comm1 x y f = let open ≈-Reasoning (C) in begin |
ba6a67523523
unique direction 2 done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
493
diff
changeset
|
167 FMap (G ○ FIA Γ) f o ( hom (FObj Γ x) o FMap F (TMap (NIA Γ a t) x )) |
ba6a67523523
unique direction 2 done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
493
diff
changeset
|
168 ≈⟨⟩ |
ba6a67523523
unique direction 2 done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
493
diff
changeset
|
169 FMap G (FMap (FIA Γ) f) o ( hom (FObj Γ x) o FMap F (TMap (NIA Γ a t) x )) |
ba6a67523523
unique direction 2 done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
493
diff
changeset
|
170 ≈⟨ assoc ⟩ |
ba6a67523523
unique direction 2 done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
493
diff
changeset
|
171 (FMap G (FMap (FIA Γ) f) o ( hom (FObj Γ x))) o FMap F (TMap (NIA Γ a t) x ) |
ba6a67523523
unique direction 2 done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
493
diff
changeset
|
172 ≈⟨ car ( comm (FMap Γ f) ) ⟩ |
ba6a67523523
unique direction 2 done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
493
diff
changeset
|
173 ( hom (FObj Γ y) o FMap F (FMap (FIA Γ) f )) o FMap F (TMap (NIA Γ a t) x ) |
ba6a67523523
unique direction 2 done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
493
diff
changeset
|
174 ≈↑⟨ assoc ⟩ |
ba6a67523523
unique direction 2 done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
493
diff
changeset
|
175 hom (FObj Γ y) o ( FMap F (FMap (FIA Γ) f ) o FMap F (TMap (NIA Γ a t) x )) |
ba6a67523523
unique direction 2 done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
493
diff
changeset
|
176 ≈↑⟨ cdr (distr F) ⟩ |
ba6a67523523
unique direction 2 done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
493
diff
changeset
|
177 hom (FObj Γ y) o ( FMap F ( A [ FMap (FIA Γ) f o TMap (NIA Γ a t) x ]) ) |
ba6a67523523
unique direction 2 done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
493
diff
changeset
|
178 ≈⟨ cdr ( fcong F ( IsNTrans.commute ( isNTrans ( NIA Γ a t )))) ⟩ |
ba6a67523523
unique direction 2 done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
493
diff
changeset
|
179 hom (FObj Γ y) o ( FMap F ( A [ TMap (NIA Γ a t) y o id1 A (obj a) ]) ) |
ba6a67523523
unique direction 2 done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
493
diff
changeset
|
180 ≈⟨ cdr ( fcong F ( IsCategory.identityR (Category.isCategory A))) ⟩ |
ba6a67523523
unique direction 2 done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
493
diff
changeset
|
181 hom (FObj Γ y) o FMap F (TMap (NIA Γ a t) y) |
ba6a67523523
unique direction 2 done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
493
diff
changeset
|
182 ≈↑⟨ idR ⟩ |
691
917e51be9bbf
change argument of Limit and K
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
659
diff
changeset
|
183 ( hom (FObj Γ y) o FMap F (TMap (NIA Γ a t) y) ) o FMap (K I C (FObj F (obj a))) f |
494
ba6a67523523
unique direction 2 done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
493
diff
changeset
|
184 ∎ |
ba6a67523523
unique direction 2 done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
493
diff
changeset
|
185 |
493
de9ce7e0d97c
on going using limit-uniquness directly
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
492
diff
changeset
|
186 |
491
04da2c458d44
comma-a0 commuativity remains
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
490
diff
changeset
|
187 comma-a0 : { I : Category c₁ c₂ ℓ } → ( comp : Complete A I) → ( Γ : Functor I CommaCategory ) |
691
917e51be9bbf
change argument of Limit and K
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
659
diff
changeset
|
188 → ( glimit : LimitPreserve I A C G ) (a : CommaObj) → ( t : NTrans I CommaCategory (K I CommaCategory a) Γ ) → Hom CommaCategory a (commaLimit comp Γ glimit) |
491
04da2c458d44
comma-a0 commuativity remains
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
490
diff
changeset
|
189 comma-a0 {I} comp Γ glimit a t = record { |
04da2c458d44
comma-a0 commuativity remains
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
490
diff
changeset
|
190 arrow = limit (isLimit ( climit comp (FIA Γ) ) ) (obj a ) (NIA {I} Γ a t ) |
04da2c458d44
comma-a0 commuativity remains
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
490
diff
changeset
|
191 ; comm = comm1 |
04da2c458d44
comma-a0 commuativity remains
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
490
diff
changeset
|
192 } where |
04da2c458d44
comma-a0 commuativity remains
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
490
diff
changeset
|
193 comm1 : C [ C [ FMap G (limit (isLimit (climit comp (FIA Γ))) (obj a) (NIA Γ a t)) o hom a ] |
04da2c458d44
comma-a0 commuativity remains
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
490
diff
changeset
|
194 ≈ C [ hom (commaLimit comp Γ glimit) o FMap F (limit (isLimit (climit comp (FIA Γ))) (obj a) (NIA Γ a t)) ] ] |
04da2c458d44
comma-a0 commuativity remains
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
490
diff
changeset
|
195 comm1 = let open ≈-Reasoning (C) in begin |
04da2c458d44
comma-a0 commuativity remains
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
490
diff
changeset
|
196 FMap G (limit (isLimit (climit comp (FIA Γ))) (obj a) (NIA Γ a t)) o hom a |
495 | 197 ≈↑⟨ limit-uniqueness (isLimit (LimitC comp Γ glimit )) ( λ {i} → begin |
198 TMap (t0 (LimitC comp Γ glimit)) i o ( FMap G (limit (isLimit (climit comp (FIA Γ))) (obj a) (NIA Γ a t)) o hom a ) | |
199 ≈⟨ assoc ⟩ | |
200 ( TMap (t0 (LimitC comp Γ glimit)) i o FMap G (limit (isLimit (climit comp (FIA Γ))) (obj a) (NIA Γ a t))) o hom a | |
201 ≈⟨⟩ | |
202 ( FMap G ( TMap (limit-u comp (FIA Γ )) i ) o FMap G (limit (isLimit (climit comp (FIA Γ))) (obj a) (NIA Γ a t))) o hom a | |
203 ≈↑⟨ car ( distr G ) ⟩ | |
204 FMap G ( A [ TMap (limit-u comp (FIA Γ )) i o limit (isLimit (climit comp (FIA Γ))) (obj a) (NIA Γ a t) ] ) o hom a | |
205 ≈⟨ car ( fcong G ( t0f=t (isLimit (climit comp (FIA Γ ))))) ⟩ | |
206 FMap G (arrow (TMap t i)) o hom a | |
207 ≈⟨ comm ( TMap t i) ⟩ | |
208 hom ( FObj Γ i ) o FMap F ( TMap (NIA Γ a t) i ) | |
209 ≈⟨⟩ | |
210 TMap (gnat Γ a t) i | |
211 ∎ | |
212 ) ⟩ | |
213 limit (isLimit (LimitC comp Γ glimit )) (FObj F (obj a)) (gnat Γ a t ) | |
214 ≈⟨ limit-uniqueness (isLimit (LimitC comp Γ glimit )) ( λ {i} → begin | |
493
de9ce7e0d97c
on going using limit-uniquness directly
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
492
diff
changeset
|
215 TMap (t0 (LimitC comp Γ glimit )) i o |
de9ce7e0d97c
on going using limit-uniquness directly
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
492
diff
changeset
|
216 ( limit (isLimit (LimitC comp Γ glimit )) (FObj F ( limit-c comp (FIA Γ))) (tu comp Γ ) |
de9ce7e0d97c
on going using limit-uniquness directly
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
492
diff
changeset
|
217 o FMap F (limit (isLimit (climit comp (FIA Γ))) (obj a) (NIA Γ a t)) ) |
de9ce7e0d97c
on going using limit-uniquness directly
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
492
diff
changeset
|
218 ≈⟨ assoc ⟩ |
de9ce7e0d97c
on going using limit-uniquness directly
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
492
diff
changeset
|
219 ( TMap (t0 (LimitC comp Γ glimit )) i o |
de9ce7e0d97c
on going using limit-uniquness directly
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
492
diff
changeset
|
220 ( limit (isLimit (LimitC comp Γ glimit )) (FObj F ( limit-c comp (FIA Γ))) (tu comp Γ ) )) |
de9ce7e0d97c
on going using limit-uniquness directly
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
492
diff
changeset
|
221 o FMap F (limit (isLimit (climit comp (FIA Γ))) (obj a) (NIA Γ a t)) |
de9ce7e0d97c
on going using limit-uniquness directly
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
492
diff
changeset
|
222 ≈⟨ car ( t0f=t ( isLimit (LimitC comp Γ glimit )) ) ⟩ |
de9ce7e0d97c
on going using limit-uniquness directly
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
492
diff
changeset
|
223 TMap (tu comp Γ ) i o FMap F (limit (isLimit (climit comp (FIA Γ))) (obj a) (NIA Γ a t)) |
de9ce7e0d97c
on going using limit-uniquness directly
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
492
diff
changeset
|
224 ≈⟨⟩ |
de9ce7e0d97c
on going using limit-uniquness directly
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
492
diff
changeset
|
225 ( hom ( FObj Γ i ) o FMap F ( TMap (t0 ( climit comp (FIA Γ))) i) ) |
de9ce7e0d97c
on going using limit-uniquness directly
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
492
diff
changeset
|
226 o FMap F (limit (isLimit (climit comp (FIA Γ))) (obj a) (NIA Γ a t)) |
de9ce7e0d97c
on going using limit-uniquness directly
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
492
diff
changeset
|
227 ≈↑⟨ assoc ⟩ |
de9ce7e0d97c
on going using limit-uniquness directly
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
492
diff
changeset
|
228 hom ( FObj Γ i ) o |
de9ce7e0d97c
on going using limit-uniquness directly
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
492
diff
changeset
|
229 ((FMap F ( TMap (t0 ( climit comp (FIA Γ))) i) ) o FMap F (limit (isLimit (climit comp (FIA Γ))) (obj a) (NIA Γ a t)) ) |
659 | 230 ≈↑⟨ cdr ( distr F) ⟩ |
493
de9ce7e0d97c
on going using limit-uniquness directly
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
492
diff
changeset
|
231 hom ( FObj Γ i ) o |
de9ce7e0d97c
on going using limit-uniquness directly
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
492
diff
changeset
|
232 FMap F ( A [ TMap (t0 ( climit comp (FIA Γ))) i o limit (isLimit (climit comp (FIA Γ))) (obj a) (NIA Γ a t) ] ) |
de9ce7e0d97c
on going using limit-uniquness directly
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
492
diff
changeset
|
233 ≈⟨ cdr ( fcong F ( t0f=t (isLimit (climit comp (FIA Γ))))) ⟩ |
494
ba6a67523523
unique direction 2 done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
493
diff
changeset
|
234 hom ( FObj Γ i ) o FMap F ( TMap (NIA Γ a t) i ) |
495 | 235 ≈⟨⟩ |
236 TMap (gnat Γ a t ) i | |
493
de9ce7e0d97c
on going using limit-uniquness directly
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
492
diff
changeset
|
237 ∎ |
de9ce7e0d97c
on going using limit-uniquness directly
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
492
diff
changeset
|
238 ) ⟩ |
de9ce7e0d97c
on going using limit-uniquness directly
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
492
diff
changeset
|
239 limit (isLimit (LimitC comp Γ glimit )) (FObj F ( limit-c comp (FIA Γ))) (tu comp Γ ) |
de9ce7e0d97c
on going using limit-uniquness directly
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
492
diff
changeset
|
240 o FMap F (limit (isLimit (climit comp (FIA Γ))) (obj a) (NIA Γ a t)) |
491
04da2c458d44
comma-a0 commuativity remains
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
490
diff
changeset
|
241 ≈⟨⟩ |
04da2c458d44
comma-a0 commuativity remains
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
490
diff
changeset
|
242 hom (commaLimit comp Γ glimit) o FMap F (limit (isLimit (climit comp (FIA Γ))) (obj a) (NIA Γ a t)) |
04da2c458d44
comma-a0 commuativity remains
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
490
diff
changeset
|
243 ∎ |
04da2c458d44
comma-a0 commuativity remains
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
490
diff
changeset
|
244 |
04da2c458d44
comma-a0 commuativity remains
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
490
diff
changeset
|
245 comma-t0f=t : { I : Category c₁ c₂ ℓ } → ( comp : Complete A I) → ( Γ : Functor I CommaCategory ) |
691
917e51be9bbf
change argument of Limit and K
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
659
diff
changeset
|
246 → ( glimit : LimitPreserve I A C G ) (a : CommaObj) → ( t : NTrans I CommaCategory (K I CommaCategory a) Γ ) (i : Obj I ) |
491
04da2c458d44
comma-a0 commuativity remains
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
490
diff
changeset
|
247 → CommaCategory [ CommaCategory [ TMap (commaNat comp Γ glimit) i o comma-a0 comp Γ glimit a t ] ≈ TMap t i ] |
04da2c458d44
comma-a0 commuativity remains
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
490
diff
changeset
|
248 comma-t0f=t {I} comp Γ glimit a t i = let open ≈-Reasoning (A) in begin |
04da2c458d44
comma-a0 commuativity remains
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
490
diff
changeset
|
249 TMap ( limit-u comp (FIA Γ ) ) i o limit (isLimit ( climit comp (FIA Γ) ) ) (obj a ) (NIA {I} Γ a t ) |
04da2c458d44
comma-a0 commuativity remains
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
490
diff
changeset
|
250 ≈⟨ t0f=t (isLimit ( climit comp (FIA Γ) ) ) ⟩ |
04da2c458d44
comma-a0 commuativity remains
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
490
diff
changeset
|
251 TMap (NIA {I} Γ a t ) i |
04da2c458d44
comma-a0 commuativity remains
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
490
diff
changeset
|
252 ∎ |
04da2c458d44
comma-a0 commuativity remains
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
490
diff
changeset
|
253 |
04da2c458d44
comma-a0 commuativity remains
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
490
diff
changeset
|
254 comma-uniqueness : { I : Category c₁ c₂ ℓ } → ( comp : Complete A I) → ( Γ : Functor I CommaCategory ) |
691
917e51be9bbf
change argument of Limit and K
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
659
diff
changeset
|
255 → ( glimit : LimitPreserve I A C G ) (a : CommaObj) → ( t : NTrans I CommaCategory (K I CommaCategory a) Γ ) |
491
04da2c458d44
comma-a0 commuativity remains
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
490
diff
changeset
|
256 → ( f : Hom CommaCategory a (commaLimit comp Γ glimit)) |
04da2c458d44
comma-a0 commuativity remains
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
490
diff
changeset
|
257 → ( ∀ { i : Obj I } → CommaCategory [ CommaCategory [ TMap ( commaNat { I} comp Γ glimit ) i o f ] ≈ TMap t i ] ) |
04da2c458d44
comma-a0 commuativity remains
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
490
diff
changeset
|
258 → CommaCategory [ comma-a0 comp Γ glimit a t ≈ f ] |
04da2c458d44
comma-a0 commuativity remains
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
490
diff
changeset
|
259 comma-uniqueness {I} comp Γ glimit a t f t=f = let open ≈-Reasoning (A) in begin |
04da2c458d44
comma-a0 commuativity remains
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
490
diff
changeset
|
260 limit (isLimit ( climit comp (FIA Γ) ) ) (obj a ) (NIA {I} Γ a t ) |
495 | 261 ≈⟨ limit-uniqueness (isLimit ( climit comp (FIA Γ) ) ) t=f ⟩ |
491
04da2c458d44
comma-a0 commuativity remains
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
490
diff
changeset
|
262 arrow f |
04da2c458d44
comma-a0 commuativity remains
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
490
diff
changeset
|
263 ∎ |
04da2c458d44
comma-a0 commuativity remains
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
490
diff
changeset
|
264 |
481
65e6906782bb
Completeness of Comma Category begin
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
265 hasLimit : { I : Category c₁ c₂ ℓ } → ( comp : Complete A I ) |
691
917e51be9bbf
change argument of Limit and K
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
659
diff
changeset
|
266 → ( glimit : LimitPreserve I A C G ) |
485 | 267 → ( Γ : Functor I CommaCategory ) |
691
917e51be9bbf
change argument of Limit and K
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
659
diff
changeset
|
268 → Limit I CommaCategory Γ |
485 | 269 hasLimit {I} comp glimit Γ = record { |
488
016087cfa75a
commaLimit done, commaNat trying..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
487
diff
changeset
|
270 a0 = commaLimit {I} comp Γ glimit ; |
016087cfa75a
commaLimit done, commaNat trying..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
487
diff
changeset
|
271 t0 = commaNat { I} comp Γ glimit ; |
487 | 272 isLimit = record { |
491
04da2c458d44
comma-a0 commuativity remains
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
490
diff
changeset
|
273 limit = λ a t → comma-a0 comp Γ glimit a t ; |
04da2c458d44
comma-a0 commuativity remains
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
490
diff
changeset
|
274 t0f=t = λ {a t i } → comma-t0f=t comp Γ glimit a t i ; |
495 | 275 limit-uniqueness = λ {a} {t} {f} t=f → comma-uniqueness {I} comp Γ glimit a t f t=f |
487 | 276 } |
481
65e6906782bb
Completeness of Comma Category begin
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
277 } |