Advertisement
Guest User

Untitled

a guest
Aug 15th, 2018
111
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.   cong-composeNaturalIsomorphism : NaturalIsomorphism (H ⊚ F) (I ⊚ G)
  2.   cong-composeNaturalIsomorphism = record
  3.     { left = record
  4.       { transform = transform (left β)(H ∙ transform (left α))
  5.       ; naturality = λ {a b f}
  6.           begin
  7.             (transform (left β)(H ∙ transform (left α)))(H ∙ (F ∙ f))
  8.           ≈⟨ sym assoc ⟩
  9.             transform (left β)((H ∙ transform (left α))(H ∙ (F ∙ f)))
  10.           ≈⟨ cong comp refl (map-∘ H)
  11.             transform (left β)(H ∙ (transform (left α)(F ∙ f)))
  12.           ≈⟨ cong comp refl (H ∙ naturality (left α))
  13.             transform (left β)(H ∙ ((G ∙ f) ∘ transform (left α)))
  14.           ≈⟨ naturality (left β)
  15.             (I ∙ ((G ∙ f) ∘ transform (left α))) ∘ transform (left β)
  16.           ≈⟨ cong comp (sym (map-∘ I)) refl ⟩
  17.             ((I ∙ (G ∙ f))(I ∙ transform (left α))) ∘ transform (left β)
  18.           ≈⟨ sym assoc ⟩
  19.             (I ∙ (G ∙ f))((I ∙ transform (left α)) ∘ transform (left β))
  20.           ≈⟨ cong comp refl (sym (naturality (left β)))
  21.             (I ∙ (G ∙ f))(transform (left β)(H ∙ transform (left α)))
  22.           ∎
  23.       }
  24.     ; right = record
  25.       { transform = transform (right β)(I ∙ transform (right α))
  26.       ; naturality = λ {a b f}
  27.           begin
  28.             (transform (right β)(I ∙ transform (right α)))(I ∙ (G ∙ f))
  29.           ≈⟨ sym assoc ⟩
  30.             transform (right β)((I ∙ transform (right α))(I ∙ (G ∙ f)))
  31.           ≈⟨ cong comp refl (map-∘ I)
  32.             transform (right β)(I ∙ (transform (right α)(G ∙ f)))
  33.           ≈⟨ cong comp refl (I ∙ naturality (right α))
  34.             transform (right β)(I ∙ ((F ∙ f) ∘ transform (right α)))
  35.           ≈⟨ cong comp refl (sym (map-∘ I))
  36.             transform (right β)((I ∙ (F ∙ f))(I ∙ transform (right α)))
  37.           ≈⟨ assoc ⟩
  38.             (transform (right β)(I ∙ (F ∙ f)))(I ∙ transform (right α))
  39.           ≈⟨ cong comp (naturality (right β)) refl ⟩
  40.             ((H ∙ (F ∙ f)) ∘ transform (right β))(I ∙ transform (right α))
  41.           ≈⟨ sym assoc ⟩
  42.             (H ∙ (F ∙ f))(transform (right β)(I ∙ transform (right α)))
  43.           ∎
  44.       }
  45.     ; isIsomorphism = record
  46.       { cancelLR =
  47.           begin
  48.             (transform (left β)(H ∙ transform (left α)))
  49.               (transform (right β)(I ∙ transform (right α)))
  50.           ≈⟨ cong comp (naturality (left β)) refl ⟩
  51.             ((I ∙ transform (left α)) ∘ transform (left β))
  52.               (transform (right β)(I ∙ transform (right α)))
  53.           ≈⟨ sym assoc ⟩
  54.             (I ∙ transform (left α))
  55.               (transform (left β)(transform (right β)(I ∙ transform (right α))))
  56.           ≈⟨ cong comp refl assoc ⟩
  57.             (I ∙ transform (left α))
  58.               ((transform (left β) ∘ transform (right β))(I ∙ transform (right α)))
  59.           ≈⟨ cong comp refl (cong comp (cancelLR β) refl)
  60.             (I ∙ transform (left α))(id(I ∙ transform (right α)))
  61.           ≈⟨ cong comp refl idUnitˡ ⟩
  62.             (I ∙ transform (left α))(I ∙ transform (right α))
  63.           ≈⟨ map-∘ I ⟩
  64.             I ∙ (transform (left α) ∘ transform (right α))
  65.           ≈⟨ I ∙ cancelLR α ⟩
  66.             I ∙ id
  67.           ≈⟨ map-id I ⟩
  68.             id
  69.           ∎
  70.       ; cancelRL =
  71.           begin
  72.             (transform (right β)(I ∙ transform (right α)))
  73.               (transform (left β)(H ∙ transform (left α)))
  74.           ≈⟨ sym assoc ⟩
  75.             transform (right β)
  76.               (((I ∙ transform (right α)))(transform (left β)(H ∙ transform (left α))))
  77.           ≈⟨ cong comp refl assoc ⟩
  78.             transform (right β)
  79.               ((((I ∙ transform (right α))) ∘ transform (left β))(H ∙ transform (left α)))
  80.           ≈⟨ cong comp refl (cong comp (sym (naturality (left β))) refl)
  81.             transform (right β)
  82.               (((transform (left β)(H ∙ transform (right α))))(H ∙ transform (left α)))
  83.           ≈⟨ assoc ⟩
  84.             (transform (right β)((transform (left β)(H ∙ transform (right α)))))
  85.               (H ∙ transform (left α))
  86.           ≈⟨ cong comp assoc refl ⟩
  87.             ((transform (right β) ∘ transform (left β))(H ∙ transform (right α)))
  88.               (H ∙ transform (left α))
  89.           ≈⟨ cong comp (cong comp (cancelRL β) refl) refl ⟩
  90.             (id(H ∙ transform (right α)))(H ∙ transform (left α))
  91.           ≈⟨ cong comp idUnitˡ refl ⟩
  92.             (H ∙ transform (right α))(H ∙ transform (left α))
  93.           ≈⟨ map-∘ H ⟩
  94.             H ∙ (transform (right α) ∘ transform (left α))
  95.           ≈⟨ H ∙ cancelRL α ⟩
  96.             H ∙ id
  97.           ≈⟨ map-id H ⟩
  98.             id
  99.           ∎
  100.       }
  101.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement