Mercurial > hg > Members > kono > Proof > category
changeset 60:45118051b829
unity1
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Wed, 24 Jul 2013 23:16:21 +0900 |
parents | a6e31588e2a6 |
children | af7ddd9f9122 |
files | nat.agda |
diffstat | 1 files changed, 26 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/nat.agda Wed Jul 24 22:45:57 2013 +0900 +++ b/nat.agda Wed Jul 24 23:16:21 2013 +0900 @@ -261,7 +261,7 @@ lemma11 : {c₁ c₂ ℓ c₁' c₂' ℓ' : Level} {A : Category c₁ c₂ ℓ} {B : Category c₁' c₂' ℓ'} ( U : Functor B A ) ( F : Functor A B ) -> NTrans A A ( U ○ ((F ○ U) ○ F )) ( U ○ (identityFunctor ○ F) ) -> NTrans A A (( U ○ F ) ○ ( U ○ F )) ( U ○ F ) -lemma11 U F n = record { isNTrans = record { naturality = IsNTrans.naturality ( isNTrans n ) }} +lemma11 U F n = record { TMap = \a -> TMap n a; isNTrans = record { naturality = IsNTrans.naturality ( isNTrans n ) }} UεF : {c₁ c₂ ℓ c₁' c₂' ℓ' : Level} (A : Category c₁ c₂ ℓ) (B : Category c₁' c₂' ℓ') ( U : Functor B A ) @@ -279,8 +279,29 @@ Adjunction A B U F η ε → Monad A (U ○ F) η (UεF A B U F ε) Adj2Monad A B {U} {F} {η} {ε} adj = record { isMonad = record { - assoc = {!!}; - unity1 = {!!}; - unity2 = {!!} + assoc = assoc1; + unity1 = unity1; + unity2 = unity2 } - } + } where + T : Functor A A + T = U ○ F + μ : NTrans A A ( T ○ T ) T + μ = UεF A B U F ε + assoc1 : {a : Obj A} → A [ A [ TMap μ a o TMap μ ( FObj T a ) ] ≈ A [ TMap μ a o FMap T (TMap μ a) ] ] + assoc1 = {!!} + unity1 : {a : Obj A} → A [ A [ TMap μ a o TMap η ( FObj T a ) ] ≈ Id {_} {_} {_} {A} (FObj T a) ] + unity1 = {!!} + unity2 : {a : Obj A} → A [ A [ TMap μ a o (FMap T (TMap η a ))] ≈ Id {_} {_} {_} {A} (FObj T a) ] + unity2 {a} = let open ≈-Reasoning (A) in + begin + TMap μ a o (FMap T (TMap η a )) + ≈⟨⟩ + (FMap U (TMap ε ( FObj F a ))) o (FMap U ( FMap F (TMap η a ))) + ≈⟨ sym (IsFunctor.distr ( isFunctor U )) ⟩ + FMap U ( B [ (TMap ε ( FObj F a )) o ( FMap F (TMap η a )) ]) + ≈⟨ (IsFunctor.≈-cong (isFunctor U)) (IsAdjunction.adjoint2 ( isAdjunction adj )) ⟩ + FMap U ( id1 B (FObj F a) ) + ≈⟨ IsFunctor.identity ( isFunctor U ) ⟩ + id (FObj T a) + ∎