Advertisement
Guest User

Untitled

a guest
Dec 8th, 2016
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.11 KB | None | 0 0
  1.  
  2. F-algebra-category₀ : ∀ {i j} → (C : Category {i} {j}) → (F : Functor C C) → Category₀ {j ⊔ i} {j ⊔ i}
  3. F-algebra-category₀ {i} {j} C F =
  4. record {
  5. obj = F-algebra C F;
  6. hom = F-algebra-hom C F;
  7. id = λ Aα → record {
  8. f-hom = (Category.id C) (F-algebra.carrier Aα);
  9. hom-comm =
  10. ≡-⇶
  11. ((Category.left-id C) ((Functor.omap F) (F-algebra.carrier Aα)) (F-algebra.carrier Aα) (F-algebra.alg Aα))
  12. (≡-↑↓
  13. ([x≡y]→[Px→Py]
  14. (λ x → ((Category.comp C) ((Functor.omap F) (F-algebra.carrier Aα)) ((Functor.omap F) (F-algebra.carrier Aα)) (F-algebra.carrier Aα) (F-algebra.alg Aα) x) ≡ (F-algebra.alg Aα))
  15. ((Category.id C) ((Functor.omap F) (F-algebra.carrier Aα)))
  16. ((Functor.fmap F) ((Category.id C) (F-algebra.carrier Aα)))
  17. (≡-↑↓ ((Functor.preserves-id F) (F-algebra.carrier Aα)))
  18. ((Category.right-id C) ((Functor.omap F) (F-algebra.carrier Aα)) (F-algebra.carrier Aα) (F-algebra.alg Aα))
  19. )
  20. )
  21. };
  22.  
  23. comp = λ Aα Bβ Cγ g f → record {
  24. f-hom = (Category.comp C) (F-algebra.carrier Aα) (F-algebra.carrier Bβ) (F-algebra.carrier Cγ) (F-algebra-hom.f-hom g) (F-algebra-hom.f-hom f);
  25. hom-comm = -- [g∘f]∘α ≡ γ∘[F[g]∘F[f]]
  26. ≡-⇶ -- [g∘f]∘α ≡ g∘[f∘α]
  27. (
  28. (Category.assoc C)
  29. ((Functor.omap F) (F-algebra.carrier Aα))
  30. (F-algebra.carrier Aα)
  31. (F-algebra.carrier Bβ)
  32. (F-algebra.carrier Cγ)
  33. (F-algebra-hom.f-hom g)
  34. (F-algebra-hom.f-hom f)
  35. (F-algebra.alg Aα)
  36. )
  37. (≡-⇶ -- g∘[f∘α] ≡ g∘[β∘F[f]]
  38. (
  39. [x≡y]→[fx≡fy]
  40. ((Category.comp C)
  41. ((Functor.omap F) (F-algebra.carrier Aα))
  42. (F-algebra.carrier Bβ)
  43. (F-algebra.carrier Cγ)
  44. (F-algebra-hom.f-hom g)
  45. )
  46.  
  47. ((Category.comp C)
  48. ((Functor.omap F) (F-algebra.carrier Aα))
  49. (F-algebra.carrier Aα)
  50. (F-algebra.carrier Bβ)
  51. (F-algebra-hom.f-hom f) (F-algebra.alg Aα)
  52. )
  53.  
  54. ((Category.comp C)
  55. ((Functor.omap F) (F-algebra.carrier Aα))
  56. ((Functor.omap F) (F-algebra.carrier Bβ))
  57. (F-algebra.carrier Bβ)
  58. (F-algebra.alg Bβ)
  59. ((Functor.fmap F) (F-algebra-hom.f-hom f))
  60. )
  61.  
  62. (F-algebra-hom.hom-comm f)
  63. )
  64. (≡-⇶ -- g∘[β∘F[f]] ≡ [g∘β]∘F[f]
  65. (≡-↑↓
  66. (
  67. (Category.assoc C)
  68. ((Functor.omap F) (F-algebra.carrier Aα))
  69. ((Functor.omap F) (F-algebra.carrier Bβ))
  70. (F-algebra.carrier Bβ)
  71. (F-algebra.carrier Cγ)
  72. (F-algebra-hom.f-hom g)
  73. (F-algebra.alg Bβ)
  74. ((Functor.fmap F) (F-algebra-hom.f-hom f))
  75. )
  76. )
  77. (≡-⇶ -- [g∘β]∘F[f] ≡ [γ∘F[g]]∘F[f]
  78. ([x≡y]→[fx≡fy]
  79. (category-comp-rev C
  80. ((Functor.omap F) (F-algebra.carrier Aα))
  81. ((Functor.omap F) (F-algebra.carrier Bβ))
  82. (F-algebra.carrier Cγ)
  83. ((Functor.fmap F) (F-algebra-hom.f-hom f))
  84. )
  85.  
  86. -- g∘β
  87. ((Category.comp C)
  88. ((Functor.omap F) (F-algebra.carrier Bβ))
  89. (F-algebra.carrier Bβ)
  90. (F-algebra.carrier Cγ)
  91. (F-algebra-hom.f-hom g)
  92. (F-algebra.alg Bβ)
  93. )
  94. -- γ∘F[g]
  95. ((Category.comp C)
  96. ((Functor.omap F) (F-algebra.carrier Bβ))
  97. ((Functor.omap F) (F-algebra.carrier Cγ))
  98. (F-algebra.carrier Cγ)
  99. (F-algebra.alg Cγ) ((Functor.fmap F) (F-algebra-hom.f-hom g))
  100. )
  101. -- g∘β≡γ∘F[g]
  102. (F-algebra-hom.hom-comm g)
  103. )
  104.  
  105. (≡-⇶ -- [γ∘F[g]]∘F[f] ≡ γ∘[F[g]∘F[f]]
  106. (
  107. (Category.assoc C)
  108. ((Functor.omap F) (F-algebra.carrier Aα))
  109. ((Functor.omap F) (F-algebra.carrier Bβ))
  110. ((Functor.omap F) (F-algebra.carrier Cγ))
  111. (F-algebra.carrier Cγ)
  112. (F-algebra.alg Cγ)
  113. ((Functor.fmap F) (F-algebra-hom.f-hom g))
  114. ((Functor.fmap F) (F-algebra-hom.f-hom f))
  115. )
  116.  
  117. -- γ∘[F[g]∘F[f]] ≡ γ∘[F[g∘f]]
  118. (
  119. [x≡y]→[fx≡fy]
  120. ((Category.comp C)
  121. ((Functor.omap F) (F-algebra.carrier Aα))
  122. ((Functor.omap F) (F-algebra.carrier Cγ))
  123. (F-algebra.carrier Cγ)
  124. (F-algebra.alg Cγ)
  125. )
  126. ((Category.comp C)
  127. ((Functor.omap F) (F-algebra.carrier Aα))
  128. ((Functor.omap F) (F-algebra.carrier Bβ))
  129. ((Functor.omap F) (F-algebra.carrier Cγ))
  130. ((Functor.fmap F) (F-algebra-hom.f-hom g))
  131. ((Functor.fmap F) (F-algebra-hom.f-hom f))
  132. )
  133. ((Functor.fmap F)
  134. ((Category.comp C)
  135. (F-algebra.carrier Aα)
  136. (F-algebra.carrier Bβ)
  137. (F-algebra.carrier Cγ)
  138. (F-algebra-hom.f-hom g)
  139. (F-algebra-hom.f-hom f)
  140. )
  141. )
  142. -- [F[g]∘F[f]] ≡ [F[g∘f]]
  143. (≡-↑↓
  144. ((Functor.preserves-comp F)
  145. (F-algebra.carrier Aα)
  146. (F-algebra.carrier Bβ)
  147. (F-algebra.carrier Cγ)
  148. (F-algebra-hom.f-hom f)
  149. (F-algebra-hom.f-hom g)
  150. )
  151. )
  152. )
  153.  
  154. ))))
  155. }
  156.  
  157. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement