Mercurial > hg > Members > kono > Proof > category
comparison discrete.agda @ 455:55a9b6177ed4
on going ...
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Thu, 02 Mar 2017 14:58:40 +0900 |
parents | 2f07f4dd9a6d |
children | 4d97955ea419 |
comparison
equal
deleted
inserted
replaced
454:2f07f4dd9a6d | 455:55a9b6177ed4 |
---|---|
24 --- -----→ | 24 --- -----→ |
25 --- 0 1 | 25 --- 0 1 |
26 --- -----→ | 26 --- -----→ |
27 --- g | 27 --- g |
28 | 28 |
29 data Arrow {c₁ c₂ : Level } : TwoObject {c₁} → TwoObject {c₁} → Set c₂ where | 29 data TwoHom {c₁ c₂ : Level } : TwoObject {c₁} → TwoObject {c₁} → Set c₂ where |
30 id-t0 : Arrow t0 t0 | 30 id-t0 : TwoHom t0 t0 |
31 id-t1 : Arrow t1 t1 | 31 id-t1 : TwoHom t1 t1 |
32 arrow-f : Arrow t0 t1 | 32 arrow-f : TwoHom t0 t1 |
33 arrow-g : Arrow t0 t1 | 33 arrow-g : TwoHom t0 t1 |
34 | 34 |
35 record TwoHom {c₁ c₂ : Level} (a b : TwoObject {c₁} ) : Set ( c₂) where | 35 |
36 field | 36 comp : ∀ {c₁ c₂} → {a b c : TwoObject {c₁}} → TwoHom {c₁} {c₂} b c → TwoHom {c₁} {c₂} a b → TwoHom {c₁} {c₂} a c |
37 hom : Arrow {c₁} {c₂} a b | |
38 | |
39 comp : ∀ {c₁ c₂} → {a b c : TwoObject {c₁}} → Arrow {c₁} {c₂} b c → Arrow {c₁} {c₂} a b → Arrow {c₁} {c₂} a c | |
40 comp {_} {_} {t0} {t1} {t1} id-t1 arrow-f = arrow-f | 37 comp {_} {_} {t0} {t1} {t1} id-t1 arrow-f = arrow-f |
41 comp {_} {_} {t0} {t1} {t1} id-t1 arrow-g = arrow-g | 38 comp {_} {_} {t0} {t1} {t1} id-t1 arrow-g = arrow-g |
42 comp {_} {_} {t1} {t1} {t1} id-t1 id-t1 = id-t1 | 39 comp {_} {_} {t1} {t1} {t1} id-t1 id-t1 = id-t1 |
43 comp {_} {_} {t0} {t0} {t1} arrow-f id-t0 = arrow-f | 40 comp {_} {_} {t0} {t0} {t1} arrow-f id-t0 = arrow-f |
44 comp {_} {_} {t0} {t0} {t1} arrow-g id-t0 = arrow-g | 41 comp {_} {_} {t0} {t0} {t1} arrow-g id-t0 = arrow-g |
45 comp {_} {_} {t0} {t0} {t0} id-t0 id-t0 = id-t0 | 42 comp {_} {_} {t0} {t0} {t0} id-t0 id-t0 = id-t0 |
46 | 43 |
47 open TwoHom | 44 open TwoHom |
48 | 45 |
49 _×_ : ∀ {c₁ c₂} → {a b c : TwoObject {c₁}} → ( TwoHom {c₁} {c₂} b c ) → ( TwoHom {c₁} {c₂} a b ) → ( TwoHom {c₁} {c₂} a c ) | 46 _×_ : ∀ {c₁ c₂} → {a b c : TwoObject {c₁}} → ( TwoHom {c₁} {c₂} b c ) → ( TwoHom {c₁} {c₂} a b ) → ( TwoHom {c₁} {c₂} a c ) |
50 _×_ {c₁} {c₂} {a} {b} {c} f g = record { hom = comp {c₁} {c₂} {a} {b} {c} (hom f) (hom g ) } | 47 _×_ {c₁} {c₂} {a} {b} {c} f g = comp {c₁} {c₂} {a} {b} {c} f g |
51 | 48 |
52 | 49 |
53 -- f g h | 50 -- f g h |
54 -- d <- c <- b <- a | 51 -- d <- c <- b <- a |
55 -- | 52 -- |
56 -- It can be proved without Arrow constraints | 53 -- It can be proved without TwoHom constraints |
57 | 54 |
58 assoc-× : {c₁ c₂ : Level } {a b c d : TwoObject {c₁} } | 55 assoc-× : {c₁ c₂ : Level } {a b c d : TwoObject {c₁} } |
59 {f : (TwoHom {c₁} {c₂ } c d )} → | 56 {f : (TwoHom {c₁} {c₂ } c d )} → |
60 {g : (TwoHom {c₁} {c₂ } b c )} → | 57 {g : (TwoHom {c₁} {c₂ } b c )} → |
61 {h : (TwoHom {c₁} {c₂ } a b )} → | 58 {h : (TwoHom {c₁} {c₂ } a b )} → |
62 hom ( f × (g × h)) ≡ hom ((f × g) × h ) | 59 ( f × (g × h)) ≡ ((f × g) × h ) |
63 assoc-× {c₁} {c₂} {a} {b} {c} {d} {f} {g} {h} with hom f | hom g | hom h | 60 assoc-× {c₁} {c₂} {a} {b} {c} {d} {f} {g} {h} with f | g | h |
64 assoc-× {c₁} {c₂} {t0} {t0} {t0} {t0} | id-t0 | id-t0 | id-t0 = refl | 61 assoc-× {c₁} {c₂} {t0} {t0} {t0} {t0} | id-t0 | id-t0 | id-t0 = refl |
65 assoc-× {c₁} {c₂} {t0} {t0} {t0} {t1} | arrow-f | id-t0 | id-t0 = refl | 62 assoc-× {c₁} {c₂} {t0} {t0} {t0} {t1} | arrow-f | id-t0 | id-t0 = refl |
66 assoc-× {c₁} {c₂} {t0} {t0} {t0} {t1} | arrow-g | id-t0 | id-t0 = refl | 63 assoc-× {c₁} {c₂} {t0} {t0} {t0} {t1} | arrow-g | id-t0 | id-t0 = refl |
67 assoc-× {c₁} {c₂} {t0} {t0} {t1} {t1} | id-t1 | arrow-f | id-t0 = refl | 64 assoc-× {c₁} {c₂} {t0} {t0} {t1} {t1} | id-t1 | arrow-f | id-t0 = refl |
68 assoc-× {c₁} {c₂} {t0} {t0} {t1} {t1} | id-t1 | arrow-g | id-t0 = refl | 65 assoc-× {c₁} {c₂} {t0} {t0} {t1} {t1} | id-t1 | arrow-g | id-t0 = refl |
69 assoc-× {c₁} {c₂} {t0} {t1} {t1} {t1} | id-t1 | id-t1 | arrow-f = refl | 66 assoc-× {c₁} {c₂} {t0} {t1} {t1} {t1} | id-t1 | id-t1 | arrow-f = refl |
70 assoc-× {c₁} {c₂} {t0} {t1} {t1} {t1} | id-t1 | id-t1 | arrow-g = refl | 67 assoc-× {c₁} {c₂} {t0} {t1} {t1} {t1} | id-t1 | id-t1 | arrow-g = refl |
71 assoc-× {c₁} {c₂} {t1} {t1} {t1} {t1} | id-t1 | id-t1 | id-t1 = refl | 68 assoc-× {c₁} {c₂} {t1} {t1} {t1} {t1} | id-t1 | id-t1 | id-t1 = refl |
72 | 69 |
73 TwoId : {c₁ c₂ : Level } (a : TwoObject {c₁} ) → (TwoHom {c₁} {c₂ } a a ) | 70 TwoId : {c₁ c₂ : Level } (a : TwoObject {c₁} ) → (TwoHom {c₁} {c₂ } a a ) |
74 TwoId {_} {_} t0 = record { hom = id-t0 } | 71 TwoId {_} {_} t0 = id-t0 |
75 TwoId {_} {_} t1 = record { hom = id-t1 } | 72 TwoId {_} {_} t1 = id-t1 |
76 | 73 |
77 open import Relation.Binary | 74 open import Relation.Binary |
78 open import Relation.Binary.PropositionalEquality renaming ( cong to ≡-cong ) | 75 open import Relation.Binary.PropositionalEquality renaming ( cong to ≡-cong ) |
79 | 76 |
80 TwoCat : {c₁ c₂ ℓ : Level } → Category c₁ c₂ c₂ | 77 TwoCat : {c₁ c₂ : Level } → Category c₁ c₂ c₂ |
81 TwoCat {c₁} {c₂} {ℓ} = record { | 78 TwoCat {c₁} {c₂} = record { |
82 Obj = TwoObject {c₁} ; | 79 Obj = TwoObject {c₁} ; |
83 Hom = λ a b → ( TwoHom {c₁} {c₂ } a b ) ; | 80 Hom = λ a b → ( TwoHom {c₁} {c₂ } a b ) ; |
84 _o_ = λ{a} {b} {c} x y → _×_ {c₁ } { c₂} {a} {b} {c} x y ; | 81 _o_ = λ{a} {b} {c} x y → _×_ {c₁ } { c₂} {a} {b} {c} x y ; |
85 _≈_ = λ x y → hom x ≡ hom y ; | 82 _≈_ = λ x y → x ≡ y ; |
86 Id = λ{a} → TwoId {c₁ } { c₂} a ; | 83 Id = λ{a} → TwoId {c₁ } { c₂} a ; |
87 isCategory = record { | 84 isCategory = record { |
88 isEquivalence = record {refl = refl ; trans = trans ; sym = sym } ; | 85 isEquivalence = record {refl = refl ; trans = trans ; sym = sym } ; |
89 identityL = λ{a b f} → identityL {c₁} {c₂ } {a} {b} {f} ; | 86 identityL = λ{a b f} → identityL {c₁} {c₂ } {a} {b} {f} ; |
90 identityR = λ{a b f} → identityR {c₁} {c₂ } {a} {b} {f} ; | 87 identityR = λ{a b f} → identityR {c₁} {c₂ } {a} {b} {f} ; |
91 o-resp-≈ = λ{a b c f g h i} → o-resp-≈ {c₁} {c₂ } {a} {b} {c} {f} {g} {h} {i} ; | 88 o-resp-≈ = λ{a b c f g h i} → o-resp-≈ {c₁} {c₂ } {a} {b} {c} {f} {g} {h} {i} ; |
92 associative = λ{a b c d f g h } → assoc-× {c₁} {c₂} {a} {b} {c} {d} {f} {g} {h} | 89 associative = λ{a b c d f g h } → assoc-× {c₁} {c₂} {a} {b} {c} {d} {f} {g} {h} |
93 } | 90 } |
94 } where | 91 } where |
95 identityL : {c₁ c₂ : Level } {A B : TwoObject {c₁}} {f : ( TwoHom {c₁} {c₂ } A B) } → hom ((TwoId B) × f) ≡ hom f | 92 identityL : {c₁ c₂ : Level } {A B : TwoObject {c₁}} {f : ( TwoHom {c₁} {c₂ } A B) } → ((TwoId B) × f) ≡ f |
96 identityL {c₁} {c₂} {a} {b} {f} with hom f | 93 identityL {c₁} {c₂} {a} {b} {f} with f |
97 identityL {c₁} {c₂} {t1} {t1} | id-t1 = refl | 94 identityL {c₁} {c₂} {t1} {t1} | id-t1 = refl |
98 identityL {c₁} {c₂} {t0} {t0} | id-t0 = refl | 95 identityL {c₁} {c₂} {t0} {t0} | id-t0 = refl |
99 identityL {c₁} {c₂} {t0} {t1} | arrow-f = refl | 96 identityL {c₁} {c₂} {t0} {t1} | arrow-f = refl |
100 identityL {c₁} {c₂} {t0} {t1} | arrow-g = refl | 97 identityL {c₁} {c₂} {t0} {t1} | arrow-g = refl |
101 identityR : {c₁ c₂ : Level } {A B : TwoObject {c₁}} {f : ( TwoHom {c₁} {c₂ } A B) } → hom ( f × TwoId A ) ≡ hom f | 98 identityR : {c₁ c₂ : Level } {A B : TwoObject {c₁}} {f : ( TwoHom {c₁} {c₂ } A B) } → ( f × TwoId A ) ≡ f |
102 identityR {c₁} {c₂} {_} {_} {f} with hom f | 99 identityR {c₁} {c₂} {_} {_} {f} with f |
103 identityR {c₁} {c₂} {t1} {t1} | id-t1 = refl | 100 identityR {c₁} {c₂} {t1} {t1} | id-t1 = refl |
104 identityR {c₁} {c₂} {t0} {t0} | id-t0 = refl | 101 identityR {c₁} {c₂} {t0} {t0} | id-t0 = refl |
105 identityR {c₁} {c₂} {t0} {t1} | arrow-f = refl | 102 identityR {c₁} {c₂} {t0} {t1} | arrow-f = refl |
106 identityR {c₁} {c₂} {t0} {t1} | arrow-g = refl | 103 identityR {c₁} {c₂} {t0} {t1} | arrow-g = refl |
107 o-resp-≈ : {c₁ c₂ : Level } {A B C : TwoObject {c₁} } {f g : ( TwoHom {c₁} {c₂ } A B)} {h i : ( TwoHom B C)} → | 104 o-resp-≈ : {c₁ c₂ : Level } {A B C : TwoObject {c₁} } {f g : ( TwoHom {c₁} {c₂ } A B)} {h i : ( TwoHom B C)} → |
108 hom f ≡ hom g → hom h ≡ hom i → hom ( h × f ) ≡ hom ( i × g ) | 105 f ≡ g → h ≡ i → ( h × f ) ≡ ( i × g ) |
109 o-resp-≈ {c₁} {c₂} {a} {b} {c} {f} {g} {h} {i} f==g h==i = | 106 o-resp-≈ {c₁} {c₂} {a} {b} {c} {f} {g} {h} {i} f==g h==i = |
110 let open ≡-Reasoning in begin | 107 let open ≡-Reasoning in begin |
111 hom ( h × f ) | 108 ( h × f ) |
112 ≡⟨ refl ⟩ | 109 ≡⟨ refl ⟩ |
113 comp (hom h) (hom f) | 110 comp (h) (f) |
114 ≡⟨ cong (λ x → comp ( hom h ) x ) f==g ⟩ | 111 ≡⟨ cong (λ x → comp ( h ) x ) f==g ⟩ |
115 comp (hom h) (hom g) | 112 comp (h) (g) |
116 ≡⟨ cong (λ x → comp x ( hom g ) ) h==i ⟩ | 113 ≡⟨ cong (λ x → comp x ( g ) ) h==i ⟩ |
117 comp (hom i) (hom g) | 114 comp (i) (g) |
118 ≡⟨ refl ⟩ | 115 ≡⟨ refl ⟩ |
119 hom ( i × g ) | 116 ( i × g ) |
120 ∎ | 117 ∎ |
121 | 118 |
122 indexFunctor : {c₁ c₂ ℓ : Level} (A : Category c₁ c₂ ℓ) ( a b : Obj A) ( f g : Hom A a b ) → | 119 indexFunctor : {c₁ c₂ ℓ : Level} (A : Category c₁ c₂ ℓ) ( a b : Obj A) ( f g : Hom A a b ) → Functor (TwoCat {c₁} {c₂}) A |
123 (obj→ : Obj A -> TwoObject {c₁}) (hom→ : {a b : Obj A} -> Hom A a b -> TwoHom {c₁} {c₂} (obj→ a) (obj→ b) ) → Functor A A | 120 indexFunctor {c₁} {c₂} {ℓ} A a b f g = record { |
124 indexFunctor {c₁} {c₂} {ℓ} A a b f g obj→ hom→ = record { | |
125 FObj = λ a → fobj a | 121 FObj = λ a → fobj a |
126 ; FMap = λ {a} {b} f → fmap {a} {b} f | 122 ; FMap = λ {a} {b} f → fmap {a} {b} f |
127 ; isFunctor = record { | 123 ; isFunctor = record { |
128 identity = λ{x} → identity x | 124 identity = λ{x} → identity x |
129 ; distr = λ {a} {b} {c} {f} {g} → distr1 {a} {b} {c} {f} {g} | 125 ; distr = λ {a} {b} {c} {f} {g} → distr1 {a} {b} {c} {f} {g} |
130 ; ≈-cong = λ {a} {b} {c} {f} → ≈-cong {a} {b} {c} {f} | 126 ; ≈-cong = λ {a} {b} {c} {f} → ≈-cong {a} {b} {c} {f} |
131 } | 127 } |
132 } where | 128 } where |
133 fobj : Obj A → Obj A | 129 T = TwoCat {c₁} {c₂} |
134 fobj x with obj→ x | 130 fobj : Obj T → Obj A |
135 fobj x | t0 = a | 131 fobj t0 = a |
136 fobj x | t1 = b | 132 fobj t1 = b |
137 fmap : {x y : Obj A } → (Hom A x y ) → Hom A (fobj x) (fobj y) | 133 fmap : {x y : Obj T } → (Hom T x y ) → Hom A (fobj x) (fobj y) |
138 fmap {x} {y} h with obj→ x | obj→ y | hom ( hom→ h ) | 134 fmap {t0} {t0} id-t0 = id1 A a |
139 fmap h | t0 | t0 | id-t0 = id1 A a | 135 fmap {t1} {t1} id-t1 = id1 A b |
140 fmap h | t1 | t1 | id-t1 = id1 A b | 136 fmap {t0} {t1} arrow-f = f |
141 fmap h | t0 | t1 | arrow-f = f | 137 fmap {t0} {t1} arrow-g = g |
142 fmap h | t0 | t1 | arrow-g = g | 138 ≈-cong : {a : Obj T} {b : Obj T} {f g : Hom T a b} → T [ f ≈ g ] → A [ fmap f ≈ fmap g ] |
143 ≈-cong : {a : Obj A} {b : Obj A} {f g : Hom A a b} → A [ f ≈ g ] → A [ fmap f ≈ fmap g ] | 139 ≈-cong {a} {b} {f} {.f} refl = let open ≈-Reasoning A in refl-hom |
144 ≈-cong {a} {b} {f} {g} f≈g = {!!} | 140 identity : (x : Obj T ) -> A [ fmap (id1 T x) ≈ id1 A (fobj x) ] |
145 identity : (x : Obj A ) -> A [ {!!} ≈ {!!} ] -- {!!} -- A [ fmap (id1 A x) ≈ id1 A (fobj x) ] | 141 identity t0 = let open ≈-Reasoning A in refl-hom |
146 identity x with obj→ x | 142 identity t1 = let open ≈-Reasoning A in refl-hom |
147 identity x | t0 = let open ≈-Reasoning (A) in begin | 143 distr1 : {a : Obj T} {b : Obj T} {c : Obj T} {f : Hom T a b} {g : Hom T b c} → |
148 fmap (id1 A x) | 144 A [ fmap (T [ g o f ]) ≈ A [ fmap g o fmap f ] ] |
149 ≈⟨ {!!} ⟩ | 145 distr1 {a} {b} {c} {f} {g} with f | g |
150 id1 A {!!} | 146 distr1 {t0} {t0} {t0} {f} {g} | id-t0 | id-t0 = let open ≈-Reasoning A in sym-hom idL |
151 ≈⟨⟩ | 147 distr1 {t1} {t1} {t1} {f} {g} | id-t1 | id-t1 = let open ≈-Reasoning A in begin |
152 id1 A (fobj x ) | 148 id1 A b |
153 ∎ | 149 ≈↑⟨ idL ⟩ |
154 identity _ | t1 = let open ≈-Reasoning (A) in {!!} | 150 id1 A b o id1 A b |
155 distr1 : {a : Obj A} {b : Obj A} {c : Obj A} {f : Hom A a b} {g : Hom A b c} → | 151 ∎ |
156 A [ fmap (A [ g o f ]) ≈ A [ fmap g o fmap f ] ] | 152 distr1 {t0} {t0} {t1} {f} {g} | id-t0 | arrow-f = let open ≈-Reasoning A in begin |
157 distr1 {a} {b} {c} {f} {g} = {!!} | 153 fmap (comp arrow-f id-t0) |
158 -- distr1 {a} {b} {c} {f} {g} with (obj→ a) | (obj→ b ) | ( obj→ c ) | ( hom→ f ) | ( hom→ g ) | 154 ≈⟨⟩ |
159 -- distr1 {a} {b} {c} {f} {g} | _ | _ | _ | _ | _ = ? | 155 fmap arrow-f |
160 | 156 ≈↑⟨ idR ⟩ |
161 | 157 fmap arrow-f o id1 A a |
162 | 158 ∎ |
163 | 159 distr1 {t0} {t0} {t1} {f} {g} | id-t0 | arrow-g = let open ≈-Reasoning A in begin |
164 | 160 fmap (comp arrow-g id-t0) |
161 ≈⟨⟩ | |
162 fmap arrow-g | |
163 ≈↑⟨ idR ⟩ | |
164 fmap arrow-g o id1 A a | |
165 ∎ | |
166 distr1 {t0} {t1} {t1} {f} {g} | arrow-f | id-t1 = let open ≈-Reasoning A in begin | |
167 fmap (comp id-t1 arrow-f) | |
168 ≈⟨⟩ | |
169 fmap arrow-f | |
170 ≈↑⟨ idL ⟩ | |
171 id1 A b o fmap arrow-f | |
172 ∎ | |
173 distr1 {t0} {t1} {t1} {f} {g} | arrow-g | id-t1 = let open ≈-Reasoning A in begin | |
174 fmap (comp id-t1 arrow-g) | |
175 ≈⟨⟩ | |
176 fmap arrow-g | |
177 ≈↑⟨ idL ⟩ | |
178 id1 A b o fmap arrow-g | |
179 ∎ | |
165 | 180 |
166 --- Equalizer | 181 --- Equalizer |
167 --- f | 182 --- f |
168 --- e -----→ | 183 --- e -----→ |
169 --- c -----→ a b | 184 --- c -----→ a b |
185 | 200 |
186 open Complete | 201 open Complete |
187 open Limit | 202 open Limit |
188 open NTrans | 203 open NTrans |
189 | 204 |
190 equlimit : {c₁ c₂ ℓ : Level} (A I : Category c₁ c₂ ℓ) {a b : Obj A} -> (f g : Hom A a b) (comp : Complete A I) -> | 205 equlimit : {c₁ c₂ ℓ : Level} (A : Category c₁ c₂ ℓ) {a b : Obj A} -> (f g : Hom A a b) (comp : Complete A (TwoCat {c₁} {c₂} )) -> |
191 Hom A ( limit-c comp ({!!} )) a | 206 Hom A ( limit-c comp (indexFunctor {c₁} {c₂} {ℓ} A a b f g)) a |
192 equlimit A I f g comp = {!!} | 207 equlimit A f g comp = {!!} |
193 | 208 |
194 lim-to-equ : {c₁ c₂ ℓ : Level} (A I : Category c₁ c₂ ℓ) | 209 lim-to-equ : {c₁ c₂ ℓ : Level} (A : Category c₁ c₂ ℓ) |
195 (comp : Complete A I) | 210 (comp : Complete A (TwoCat {c₁} {c₂} ) ) |
196 → {a b : Obj A} (f g : Hom A a b ) | 211 → {a b : Obj A} (f g : Hom A a b ) |
197 → IsEqualizer A (equlimit A I f g comp ) f g | 212 → (fe=ge : A [ A [ f o (equlimit A f g comp ) ] ≈ A [ g o (equlimit A f g comp ) ] ] ) |
198 lim-to-equ {c₁} {c₂} {ℓ} A I comp {a} {b} f g = record { | 213 → IsEqualizer A (equlimit A f g comp ) f g |
199 fe=ge = {!!} | 214 lim-to-equ {c₁} {c₂} {ℓ} A comp {a} {b} f g fe=ge = record { |
215 fe=ge = fe=ge | |
200 ; k = λ {d} h fh=gh → k {d} h fh=gh | 216 ; k = λ {d} h fh=gh → k {d} h fh=gh |
201 ; ek=h = λ {d} {h} {fh=gh} → ek=h d h fh=gh | 217 ; ek=h = λ {d} {h} {fh=gh} → ek=h d h fh=gh |
202 ; uniqueness = λ {d} {h} {fh=gh} {k'} → uniquness d h fh=gh k' | 218 ; uniqueness = λ {d} {h} {fh=gh} {k'} → uniquness d h fh=gh k' |
203 } where | 219 } where |
204 open ≈-Reasoning A | 220 I = TwoCat {c₁} {c₂} |
205 Γ : Functor I A | 221 Γ : Functor I A |
206 Γ = {!!} | 222 Γ = indexFunctor {c₁} {c₂} {ℓ} A a b f g |
207 eqlim = isLimit comp Γ | 223 eqlim = isLimit comp Γ |
208 c = {!!} | 224 c = limit-c comp Γ |
209 e = {!!} | 225 e = equlimit A f g comp |
210 k : {d : Obj A} (h : Hom A d a) → {!!} -- A [ A [ f o h ] ≈ A [ g o h ] ] → Hom A d c | 226 k : {d : Obj A} (h : Hom A d a) → A [ A [ f o h ] ≈ A [ g o h ] ] → Hom A d c |
211 k = {!!} -- {d} h fh=gh = {!!} | 227 k {d} h fh=gh = {!!} |
212 ek=h : (d : Obj A ) (h : Hom A d a ) → {!!} -- ( fh=gh : A [ A [ f o h ] ≈ A [ g o h ] ] ) → A [ A [ e o k h fh=gh ] ≈ h ] | 228 ek=h : (d : Obj A ) (h : Hom A d a ) → ( fh=gh : A [ A [ f o h ] ≈ A [ g o h ] ] ) → A [ A [ e o k h fh=gh ] ≈ h ] |
213 ek=h = {!!} | 229 ek=h = {!!} |
214 uniq-nat : {i : Obj I} → (d : Obj A ) (h : Hom A d a ) ( k' : Hom A d c ) → {!!} -- A [ A [ e o k' ] ≈ h ] → A [ A [ {!!} o k' ] ≈ {!!} ] | 230 uniq-nat : {i : Obj I} → (d : Obj A ) (h : Hom A d a ) ( k' : Hom A d c ) → A [ A [ e o k' ] ≈ h ] → A [ A [ {!!} o k' ] ≈ {!!} ] |
215 uniq-nat = {!!} | 231 uniq-nat = {!!} |
216 uniquness : (d : Obj A ) (h : Hom A d a ) → ? → -- ( fh=gh : A [ A [ f o h ] ≈ A [ g o h ] ] ) → | 232 uniquness : (d : Obj A ) (h : Hom A d a ) → ? → -- ( fh=gh : A [ A [ f o h ] ≈ A [ g o h ] ] ) → |
217 ( k' : Hom A d c ) | 233 ( k' : Hom A d c ) |
218 → {!!} -- A [ A [ e o k' ] ≈ h ] → A [ k h fh=gh ≈ k' ] | 234 → A [ A [ e o k' ] ≈ h ] → A [ k h {!!} ≈ k' ] |
219 uniquness = {!!} | 235 uniquness = {!!} |