annotate maybeCat.agda @ 790:1e7319868d77

Sets is CCC
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Fri, 19 Apr 2019 23:42:19 +0900
parents a15f52456c78
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
398
64aa49a18469 add Maybe Category
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
1 open import Category -- https://github.com/konn/category-agda
64aa49a18469 add Maybe Category
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
2 open import Level
64aa49a18469 add Maybe Category
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
3
402
9123f79c0642 on going ...
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 399
diff changeset
4 module maybeCat where
398
64aa49a18469 add Maybe Category
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
5
64aa49a18469 add Maybe Category
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
6 open import cat-utility
64aa49a18469 add Maybe Category
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
7 open import HomReasoning
64aa49a18469 add Maybe Category
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
8 open import Relation.Binary
423
b5519e954b57 TwoCat / indexFunctor all done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 411
diff changeset
9 open import Relation.Binary.Core
398
64aa49a18469 add Maybe Category
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
10 open import Data.Maybe
64aa49a18469 add Maybe Category
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
11
64aa49a18469 add Maybe Category
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
12 open Functor
64aa49a18469 add Maybe Category
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
13
64aa49a18469 add Maybe Category
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
14
64aa49a18469 add Maybe Category
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
15 record MaybeHom { c₁ c₂ ℓ : Level} ( A : Category c₁ c₂ ℓ ) (a : Obj A ) (b : Obj A ) : Set (ℓ ⊔ c₂) where
64aa49a18469 add Maybe Category
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
16 field
64aa49a18469 add Maybe Category
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
17 hom : Maybe ( Hom A a b )
64aa49a18469 add Maybe Category
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
18
64aa49a18469 add Maybe Category
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
19 open MaybeHom
64aa49a18469 add Maybe Category
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
20
431
a15f52456c78 clean up
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 426
diff changeset
21 _+_ : { c₁ c₂ ℓ : Level} → { A : Category c₁ c₂ ℓ } → {a b c : Obj A } → MaybeHom A b c → MaybeHom A a b → MaybeHom A a c
403
375edfefbf6a maybe CAT
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 402
diff changeset
22 _+_ {x} {y} {z} {A} {a} {b} {c} f g with hom f | hom g
375edfefbf6a maybe CAT
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 402
diff changeset
23 _+_ {_} {_} {_} {A} {a} {b} {c} f g | nothing | _ = record { hom = nothing }
375edfefbf6a maybe CAT
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 402
diff changeset
24 _+_ {_} {_} {_} {A} {a} {b} {c} f g | _ | nothing = record { hom = nothing }
375edfefbf6a maybe CAT
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 402
diff changeset
25 _+_ {_} {_} {_} {A} {a} {b} {c} _ _ | (just f) | (just g) = record { hom = just ( A [ f o g ] ) }
398
64aa49a18469 add Maybe Category
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
26
431
a15f52456c78 clean up
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 426
diff changeset
27 MaybeHomId : { c₁ c₂ ℓ : Level} { A : Category c₁ c₂ ℓ } (a : Obj A ) → MaybeHom A a a
402
9123f79c0642 on going ...
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 399
diff changeset
28 MaybeHomId {_} {_} {_} {A} a = record { hom = just ( id1 A a) }
398
64aa49a18469 add Maybe Category
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
29
431
a15f52456c78 clean up
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 426
diff changeset
30 _[_≡≡_] : { c₁ c₂ ℓ : Level} ( A : Category c₁ c₂ ℓ ) {a b : Obj A } → Rel (Maybe (Hom A a b)) (c₂ ⊔ ℓ)
403
375edfefbf6a maybe CAT
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 402
diff changeset
31 _[_≡≡_] A = Eq ( Category._≈_ A )
375edfefbf6a maybe CAT
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 402
diff changeset
32
375edfefbf6a maybe CAT
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 402
diff changeset
33
411
33958fdfc77e add reasoning
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 404
diff changeset
34 module ≡≡-Reasoning { c₁ c₂ ℓ : Level} ( A : Category c₁ c₂ ℓ ) where
33958fdfc77e add reasoning
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 404
diff changeset
35
33958fdfc77e add reasoning
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 404
diff changeset
36 infixr 2 _∎
33958fdfc77e add reasoning
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 404
diff changeset
37 infixr 2 _≡≡⟨_⟩_ _≡≡⟨⟩_
33958fdfc77e add reasoning
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 404
diff changeset
38 infix 1 begin_
33958fdfc77e add reasoning
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 404
diff changeset
39
431
a15f52456c78 clean up
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 426
diff changeset
40 ≡≡-refl : {a b : Obj A } → {x : Maybe ( Hom A a b ) } → A [ x ≡≡ x ]
411
33958fdfc77e add reasoning
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 404
diff changeset
41 ≡≡-refl {_} {_} {just x} = just refl-hom where open ≈-Reasoning (A)
33958fdfc77e add reasoning
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 404
diff changeset
42 ≡≡-refl {_} {_} {nothing} = nothing
33958fdfc77e add reasoning
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 404
diff changeset
43
431
a15f52456c78 clean up
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 426
diff changeset
44 ≡≡-sym : {a b : Obj A } → {x y : Maybe ( Hom A a b ) } → A [ x ≡≡ y ] → A [ y ≡≡ x ]
411
33958fdfc77e add reasoning
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 404
diff changeset
45 ≡≡-sym (just x≈y) = just (sym x≈y) where open ≈-Reasoning (A)
33958fdfc77e add reasoning
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 404
diff changeset
46 ≡≡-sym nothing = nothing
33958fdfc77e add reasoning
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 404
diff changeset
47
431
a15f52456c78 clean up
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 426
diff changeset
48 ≡≡-trans : {a b : Obj A } → {x y z : Maybe ( Hom A a b ) } → A [ x ≡≡ y ] → A [ y ≡≡ z ] → A [ x ≡≡ z ]
411
33958fdfc77e add reasoning
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 404
diff changeset
49 ≡≡-trans (just x≈y) (just y≈z) = just (trans-hom x≈y y≈z) where open ≈-Reasoning (A)
33958fdfc77e add reasoning
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 404
diff changeset
50 ≡≡-trans nothing nothing = nothing
33958fdfc77e add reasoning
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 404
diff changeset
51
431
a15f52456c78 clean up
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 426
diff changeset
52 ≡≡-cong : ∀{ a b c d } → ∀ {x y : Maybe (Hom A a b )} →
a15f52456c78 clean up
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 426
diff changeset
53 (f : Maybe (Hom A a b ) → Maybe (Hom A c d ) ) → x ≡ y → A [ f x ≡≡ f y ]
423
b5519e954b57 TwoCat / indexFunctor all done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 411
diff changeset
54 ≡≡-cong {a} {b } {c} {d} {nothing} {nothing} f refl = ≡≡-refl
b5519e954b57 TwoCat / indexFunctor all done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 411
diff changeset
55 ≡≡-cong {a} {b } {c} {d} {just x} {just .x} f refl = ≡≡-refl
403
375edfefbf6a maybe CAT
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 402
diff changeset
56
411
33958fdfc77e add reasoning
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 404
diff changeset
57 data _IsRelatedTo_ {a b : Obj A} (x y : (Maybe (Hom A a b ))) :
33958fdfc77e add reasoning
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 404
diff changeset
58 Set (ℓ ⊔ c₂) where
33958fdfc77e add reasoning
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 404
diff changeset
59 relTo : (x≈y : A [ x ≡≡ y ] ) → x IsRelatedTo y
33958fdfc77e add reasoning
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 404
diff changeset
60
33958fdfc77e add reasoning
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 404
diff changeset
61 begin_ : {a b : Obj A} {x : Maybe (Hom A a b ) } {y : Maybe (Hom A a b )} →
33958fdfc77e add reasoning
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 404
diff changeset
62 x IsRelatedTo y → A [ x ≡≡ y ]
33958fdfc77e add reasoning
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 404
diff changeset
63 begin relTo x≈y = x≈y
403
375edfefbf6a maybe CAT
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 402
diff changeset
64
411
33958fdfc77e add reasoning
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 404
diff changeset
65 _≡≡⟨_⟩_ : {a b : Obj A} (x : Maybe (Hom A a b )) {y z : Maybe (Hom A a b ) } →
33958fdfc77e add reasoning
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 404
diff changeset
66 A [ x ≡≡ y ] → y IsRelatedTo z → x IsRelatedTo z
33958fdfc77e add reasoning
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 404
diff changeset
67 _ ≡≡⟨ x≈y ⟩ relTo y≈z = relTo (≡≡-trans x≈y y≈z)
403
375edfefbf6a maybe CAT
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 402
diff changeset
68
411
33958fdfc77e add reasoning
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 404
diff changeset
69 _≡≡⟨⟩_ : {a b : Obj A} (x : Maybe (Hom A a b )) {y : Maybe (Hom A a b )}
33958fdfc77e add reasoning
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 404
diff changeset
70 → x IsRelatedTo y → x IsRelatedTo y
33958fdfc77e add reasoning
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 404
diff changeset
71 _ ≡≡⟨⟩ x≈y = x≈y
33958fdfc77e add reasoning
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 404
diff changeset
72
33958fdfc77e add reasoning
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 404
diff changeset
73 _∎ : {a b : Obj A} (x : Maybe (Hom A a b )) → x IsRelatedTo x
33958fdfc77e add reasoning
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 404
diff changeset
74 _∎ _ = relTo ≡≡-refl
398
64aa49a18469 add Maybe Category
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
75
64aa49a18469 add Maybe Category
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
76
426
1290d6876129 Functor MA → A
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 423
diff changeset
77
1290d6876129 Functor MA → A
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 423
diff changeset
78
431
a15f52456c78 clean up
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 426
diff changeset
79 MaybeCat : { c₁ c₂ ℓ : Level} ( A : Category c₁ c₂ ℓ ) → Category c₁ (ℓ ⊔ c₂) (ℓ ⊔ c₂)
402
9123f79c0642 on going ...
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 399
diff changeset
80 MaybeCat { c₁} {c₂} {ℓ} ( A ) = record {
398
64aa49a18469 add Maybe Category
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
81 Obj = Obj A ;
64aa49a18469 add Maybe Category
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
82 Hom = λ a b → MaybeHom A a b ;
403
375edfefbf6a maybe CAT
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 402
diff changeset
83 _o_ = _+_ ;
375edfefbf6a maybe CAT
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 402
diff changeset
84 _≈_ = λ a b → _[_≡≡_] { c₁} {c₂} {ℓ} A (hom a) (hom b) ;
431
a15f52456c78 clean up
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 426
diff changeset
85 Id = λ {a} → MaybeHomId a ;
398
64aa49a18469 add Maybe Category
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
86 isCategory = record {
411
33958fdfc77e add reasoning
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 404
diff changeset
87 isEquivalence = let open ≡≡-Reasoning (A) in record {refl = ≡≡-refl ; trans = ≡≡-trans ; sym = ≡≡-sym } ;
431
a15f52456c78 clean up
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 426
diff changeset
88 identityL = λ {a b f} → identityL {a} {b} {f} ;
a15f52456c78 clean up
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 426
diff changeset
89 identityR = λ {a b f} → identityR {a} {b} {f};
a15f52456c78 clean up
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 426
diff changeset
90 o-resp-≈ = λ {a b c f g h i} → o-resp-≈ {a} {b} {c} {f} {g} {h} {i} ;
a15f52456c78 clean up
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 426
diff changeset
91 associative = λ {a b c d f g h } → associative {a } { b } { c } { d } { f } { g } { h }
398
64aa49a18469 add Maybe Category
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
92 }
64aa49a18469 add Maybe Category
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
93 } where
431
a15f52456c78 clean up
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 426
diff changeset
94 identityL : { a b : Obj A } { f : MaybeHom A a b } → A [ hom (MaybeHomId b + f) ≡≡ hom f ]
399
8304007dc2f8 maybe category done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 398
diff changeset
95 identityL {a} {b} {f} with hom f
8304007dc2f8 maybe category done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 398
diff changeset
96 identityL {a} {b} {_} | nothing = nothing
8304007dc2f8 maybe category done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 398
diff changeset
97 identityL {a} {b} {_} | just f = just ( IsCategory.identityL ( Category.isCategory A ) {a} {b} {f} )
8304007dc2f8 maybe category done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 398
diff changeset
98
431
a15f52456c78 clean up
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 426
diff changeset
99 identityR : { a b : Obj A } { f : MaybeHom A a b } → A [ hom (f + MaybeHomId a ) ≡≡ hom f ]
399
8304007dc2f8 maybe category done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 398
diff changeset
100 identityR {a} {b} {f} with hom f
8304007dc2f8 maybe category done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 398
diff changeset
101 identityR {a} {b} {_} | nothing = nothing
8304007dc2f8 maybe category done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 398
diff changeset
102 identityR {a} {b} {_} | just f = just ( IsCategory.identityR ( Category.isCategory A ) {a} {b} {f} )
8304007dc2f8 maybe category done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 398
diff changeset
103
402
9123f79c0642 on going ...
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 399
diff changeset
104 o-resp-≈ : {a b c : Obj A} → {f g : MaybeHom A a b } → {h i : MaybeHom A b c } →
403
375edfefbf6a maybe CAT
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 402
diff changeset
105 A [ hom f ≡≡ hom g ] → A [ hom h ≡≡ hom i ] → A [ hom (h + f) ≡≡ hom (i + g) ]
399
8304007dc2f8 maybe category done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 398
diff changeset
106 o-resp-≈ {a} {b} {c} {f} {g} {h} {i} eq-fg eq-hi with hom f | hom g | hom h | hom i
8304007dc2f8 maybe category done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 398
diff changeset
107 o-resp-≈ {a} {b} {c} {_} {_} {_} {_} (just eq-fg) (just eq-hi) | just f | just g | just h | just i =
8304007dc2f8 maybe category done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 398
diff changeset
108 just ( IsCategory.o-resp-≈ ( Category.isCategory A ) {a} {b} {c} {f} {g} {h} {i} eq-fg eq-hi )
8304007dc2f8 maybe category done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 398
diff changeset
109 o-resp-≈ {a} {b} {c} {f} {g} {h} {i} (just _) nothing | just _ | just _ | nothing | nothing = nothing
8304007dc2f8 maybe category done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 398
diff changeset
110 o-resp-≈ {a} {b} {c} {f} {g} {h} {i} nothing (just _) | nothing | nothing | just _ | just _ = nothing
8304007dc2f8 maybe category done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 398
diff changeset
111 o-resp-≈ {a} {b} {c} {f} {g} {h} {i} nothing nothing | nothing | nothing | nothing | nothing = nothing
8304007dc2f8 maybe category done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 398
diff changeset
112
8304007dc2f8 maybe category done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 398
diff changeset
113
402
9123f79c0642 on going ...
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 399
diff changeset
114 associative : {a b c d : Obj A} → {f : MaybeHom A c d } → {g : MaybeHom A b c } → {h : MaybeHom A a b } →
403
375edfefbf6a maybe CAT
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 402
diff changeset
115 A [ hom (f + (g + h)) ≡≡ hom ((f + g) + h) ]
399
8304007dc2f8 maybe category done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 398
diff changeset
116 associative {_} {_} {_} {_} {f} {g} {h} with hom f | hom g | hom h
8304007dc2f8 maybe category done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 398
diff changeset
117 associative {_} {_} {_} {_} {f} {g} {h} | nothing | _ | _ = nothing
8304007dc2f8 maybe category done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 398
diff changeset
118 associative {_} {_} {_} {_} {f} {g} {h} | just _ | nothing | _ = nothing
8304007dc2f8 maybe category done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 398
diff changeset
119 associative {_} {_} {_} {_} {f} {g} {h} | just _ | just _ | nothing = nothing
8304007dc2f8 maybe category done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 398
diff changeset
120 associative {a} {b} {c} {d} {_} {_} {_} | just f | just g | just h =
8304007dc2f8 maybe category done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 398
diff changeset
121 just ( IsCategory.associative ( Category.isCategory A ) {a} {b} {c} {d} {f} {g} {h} )
426
1290d6876129 Functor MA → A
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 423
diff changeset
122
431
a15f52456c78 clean up
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 426
diff changeset
123 ≈-to-== : { c₁ c₂ ℓ : Level} ( A : Category c₁ c₂ ℓ ) → { a b : Obj A }
a15f52456c78 clean up
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 426
diff changeset
124 { f g : Hom A a b } →
a15f52456c78 clean up
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 426
diff changeset
125 A [ f ≈ g ] → (MaybeCat A) [ record { hom = just f } ≈ record { hom = just g } ]
426
1290d6876129 Functor MA → A
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 423
diff changeset
126 ≈-to-== A {a} {b} {f} {g} f≈g = just f≈g