comparison agda/delta/functor.agda @ 93:8d92ed54a94f

Prove functor-laws for deltaM
author Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
date Mon, 19 Jan 2015 15:21:29 +0900
parents 55d11ce7e223
children f26a954cd068
comparison
equal deleted inserted replaced
92:4d615910c87a 93:8d92ed54a94f
16 functor-law-1 (delta x d) = cong (delta x) (functor-law-1 d) 16 functor-law-1 (delta x d) = cong (delta x) (functor-law-1 d)
17 17
18 -- Functor-law-2 : T(f . g) = T(f) . T(g) 18 -- Functor-law-2 : T(f . g) = T(f) . T(g)
19 functor-law-2 : {l : Level} {A B C : Set l} -> 19 functor-law-2 : {l : Level} {A B C : Set l} ->
20 (f : B -> C) -> (g : A -> B) -> (d : Delta A) -> 20 (f : B -> C) -> (g : A -> B) -> (d : Delta A) ->
21 (delta-fmap (f ∙ g)) d ≡ (delta-fmap f) (delta-fmap g d) 21 (delta-fmap (f ∙ g)) d ≡ ((delta-fmap f) ∙ (delta-fmap g)) d
22 functor-law-2 f g (mono x) = refl 22 functor-law-2 f g (mono x) = refl
23 functor-law-2 f g (delta x d) = cong (delta (f (g x))) (functor-law-2 f g d) 23 functor-law-2 f g (delta x d) = cong (delta (f (g x))) (functor-law-2 f g d)
24 24
25 delta-is-functor : {l : Level} -> Functor (Delta {l}) 25 delta-is-functor : {l : Level} -> Functor (Delta {l})
26 delta-is-functor = record { fmap = delta-fmap ; 26 delta-is-functor = record { fmap = delta-fmap ;