Cleanup in nattrans

This commit is contained in:
Frederik Hanghøj Iversen 2018-03-05 15:04:16 +01:00
parent ddd5f17c05
commit b26ea18257

View file

@ -34,7 +34,11 @@ open import Cat.Wishlist
module NaturalTransformation {c c' d d' : Level} module NaturalTransformation {c c' d d' : Level}
( : Category c c') (𝔻 : Category d d') where ( : Category c c') (𝔻 : Category d d') where
open Category using (Object ; 𝟙) open Category using (Object ; 𝟙)
private
module = Category
module 𝔻 = Category 𝔻
module _ (F G : Functor 𝔻) where module _ (F G : Functor 𝔻) where
private private
@ -74,7 +78,6 @@ module NaturalTransformation {c c' d d' : Level}
where where
module F = Functor F module F = Functor F
F→ = F.func→ F→ = F.func→
module 𝔻 = Category 𝔻
identity : (F : Functor 𝔻) NaturalTransformation F F identity : (F : Functor 𝔻) NaturalTransformation F F
identity F = identityTrans F , identityNatural F identity F = identityTrans F , identityNatural F
@ -91,21 +94,15 @@ module NaturalTransformation {c c' d d' : Level}
proj₁ NT[ (θ , _) (η , _) ] = T[ θ η ] proj₁ NT[ (θ , _) (η , _) ] = T[ θ η ]
proj₂ NT[ (θ , θNat) (η , ηNat) ] {A} {B} f = begin proj₂ NT[ (θ , θNat) (η , ηNat) ] {A} {B} f = begin
𝔻 [ T[ θ η ] B F.func→ f ] ≡⟨⟩ 𝔻 [ T[ θ η ] B F.func→ f ] ≡⟨⟩
𝔻 [ 𝔻 [ θ B η B ] F.func→ f ] ≡⟨ sym isAssociative 𝔻 [ 𝔻 [ θ B η B ] F.func→ f ] ≡⟨ sym 𝔻.isAssociative
𝔻 [ θ B 𝔻 [ η B F.func→ f ] ] ≡⟨ cong (λ φ 𝔻 [ θ B φ ]) (ηNat f) 𝔻 [ θ B 𝔻 [ η B F.func→ f ] ] ≡⟨ cong (λ φ 𝔻 [ θ B φ ]) (ηNat f)
𝔻 [ θ B 𝔻 [ G.func→ f η A ] ] ≡⟨ isAssociative 𝔻 [ θ B 𝔻 [ G.func→ f η A ] ] ≡⟨ 𝔻.isAssociative
𝔻 [ 𝔻 [ θ B G.func→ f ] η A ] ≡⟨ cong (λ φ 𝔻 [ φ η A ]) (θNat f) 𝔻 [ 𝔻 [ θ B G.func→ f ] η A ] ≡⟨ cong (λ φ 𝔻 [ φ η A ]) (θNat f)
𝔻 [ 𝔻 [ H.func→ f θ A ] η A ] ≡⟨ sym isAssociative 𝔻 [ 𝔻 [ H.func→ f θ A ] η A ] ≡⟨ sym 𝔻.isAssociative
𝔻 [ H.func→ f 𝔻 [ θ A η A ] ] ≡⟨⟩ 𝔻 [ H.func→ f 𝔻 [ θ A η A ] ] ≡⟨⟩
𝔻 [ H.func→ f T[ θ η ] A ] 𝔻 [ H.func→ f T[ θ η ] A ]
where
open Category 𝔻
module _ {F G : Functor 𝔻} where module _ {F G : Functor 𝔻} where
private
open Category using (Object ; 𝟙)
module 𝔻 = Category 𝔻
transformationIsSet : isSet (Transformation F G) transformationIsSet : isSet (Transformation F G)
transformationIsSet _ _ p q i j C = 𝔻.arrowsAreSets _ _ (λ l p l C) (λ l q l C) i j transformationIsSet _ _ p q i j C = 𝔻.arrowsAreSets _ _ (λ l p l C) (λ l q l C) i j