changeset 700:cfd2d402c486

monodial cateogry and functor
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Tue, 21 Nov 2017 22:42:33 +0900
parents 10ab28030c20
children 7a729bb62ce3
files monoidal.agda
diffstat 1 files changed, 81 insertions(+), 28 deletions(-) [+]
line wrap: on
line diff
--- a/monoidal.agda	Tue Nov 21 10:28:53 2017 +0900
+++ b/monoidal.agda	Tue Nov 21 22:42:33 2017 +0900
@@ -24,13 +24,13 @@
 
 record IsStrictMonoidal  {c₁ c₂ ℓ : Level} (C : Category c₁ c₂ ℓ) (I : Obj C) ( BI : Functor ( C × C ) C )
         : Set ( suc  (c₁ ⊔ c₂ ⊔ ℓ ⊔ c₁)) where
-  infixr 9 _⊗_
-  _⊗_ : ( x y : Obj C ) → Obj C
-  _⊗_ x y = FObj BI ( x , y )
+  infixr 9 _□_
+  _□_ : ( x y : Obj C ) → Obj C
+  _□_ x y = FObj BI ( x , y )
   field
-      mα : {a b c : Obj C} →  ( a ⊗ b) ⊗ c  ≡  a ⊗ ( b ⊗ c )
-      mλ : (a : Obj C) → I ⊗ a  ≡ a 
-      mσ : (a : Obj C) → a ⊗ I  ≡ a 
+      mα : {a b c : Obj C} →  ( a □ b) □ c  ≡  a □ ( b □ c )
+      mλ : (a : Obj C) → I □ a  ≡ a 
+      mρ : (a : Obj C) → a □ I  ≡ a 
 
 record StrictMonoidal  {c₁ c₂ ℓ : Level} (C : Category c₁ c₂ ℓ) 
         : Set ( suc  (c₁ ⊔ c₂ ⊔ ℓ ⊔ c₁)) where
@@ -44,28 +44,53 @@
 record IsMonoidal  {c₁ c₂ ℓ : Level} (C : Category c₁ c₂ ℓ) (I : Obj C) ( BI : Functor ( C × C ) C )
         : Set ( suc  (c₁ ⊔ c₂ ⊔ ℓ ⊔ c₁)) where
   open Iso 
-  infixr 9 _⊗_
-  _⊗_ : ( x y : Obj C ) → Obj C
-  _⊗_ x y = FObj BI ( x , y )
+  infixr 9 _□_ _■_
+  _□_ : ( x y : Obj C ) → Obj C
+  _□_ x y = FObj BI ( x , y )
+  _■_ : {a b c d : Obj C } ( f : Hom C a c ) ( g : Hom C b d ) → Hom C ( a □ b ) ( c □ d )
+  _■_ f g = FMap BI ( f , g )
   field
-      mα-iso : {a b c : Obj C} →  Iso C ( ( a ⊗ b) ⊗ c)  ( a ⊗ ( b ⊗ c ) ) 
-      mλ-iso : {a : Obj C} →  Iso C ( I ⊗ a)  a 
-      mσ-iso : {a : Obj C} →  Iso C ( a ⊗ I)  a 
+      mα-iso : {a b c : Obj C} →  Iso C ( ( a □ b) □ c)  ( a □ ( b □ c ) ) 
+      mλ-iso : {a : Obj C} →  Iso C ( I □ a)  a 
+      mρ-iso : {a : Obj C} →  Iso C ( a □ I)  a 
       mα→nat1 : {a a' b c : Obj C} →  ( f : Hom C a a' ) →
-         C [ C [ FMap BI ( f , id1 C ( b ⊗ c ))  o ≅→ (mα-iso {a} {b} {c}) ]  ≈
-            C [   ≅→ (mα-iso )  o FMap BI ( FMap BI (f , id1 C b ) , id1 C c )    ] ]
+         C [ C [ ( f ■ id1 C ( b □ c ))  o ≅→ (mα-iso {a} {b} {c}) ]  ≈
+            C [   ≅→ (mα-iso )  o ( (f ■ id1 C b ) ■ id1 C c )    ] ]
       mα→nat2 : {a b b' c : Obj C} →  ( f : Hom C b b' ) →
-         C [ C [ FMap BI ( id1 C a , FMap BI ( f , id1 C c ) ) o ≅→ (mα-iso {a} {b} {c} ) ]  ≈
-            C [   ≅→ (mα-iso )  o FMap BI ( FMap BI (id1 C a , f )  , id1 C c ) ] ]
+         C [ C [ ( id1 C a ■ ( f ■ id1 C c ) ) o ≅→ (mα-iso {a} {b} {c} ) ]  ≈
+            C [   ≅→ (mα-iso )  o ( (id1 C a ■ f )  ■ id1 C c ) ] ]
       mα→nat3 : {a b c c' : Obj C} →  ( f : Hom C c c' ) →
-         C [ C [ FMap BI ( id1 C a , FMap BI ( id1 C b , f ) ) o ≅→ (mα-iso {a} {b} {c} ) ]  ≈
-            C [   ≅→ (mα-iso )  o FMap BI ( id1 C ( a ⊗ b ) , f ) ] ]
+         C [ C [ ( id1 C a ■ ( id1 C b ■ f ) ) o ≅→ (mα-iso {a} {b} {c} ) ]  ≈
+            C [   ≅→ (mα-iso )  o ( id1 C ( a □ b ) ■ f ) ] ]
       mλ→nat : {a a' : Obj C} →  ( f : Hom C a a' ) →
          C [ C [ f o ≅→ (mλ-iso {a} ) ]  ≈
-            C [   ≅→ (mλ-iso )  o FMap BI ( id1 C I  , f )    ] ]
-      mσ→nat : {a a' : Obj C} →  ( f : Hom C a a' ) →
-         C [ C [ f o ≅→ (mσ-iso {a} ) ]  ≈
-            C [   ≅→ (mσ-iso )  o FMap BI ( f , id1 C I  )    ] ]
+            C [   ≅→ (mλ-iso )  o ( id1 C I  ■ f )    ] ]
+      mρ→nat : {a a' : Obj C} →  ( f : Hom C a a' ) →
+         C [ C [ f o ≅→ (mρ-iso {a} ) ]  ≈
+            C [   ≅→ (mρ-iso )  o ( f ■ id1 C I  )    ] ]
+  αABC□1D : {a b c d e : Obj C } → Hom C (((a □ b) □ c ) □ d) ((a □ (b □ c)) □ d)
+  αABC□1D = {!!}
+  αAB□CD : {a b c d e : Obj C } → Hom C  ((a □ (b □ c)) □ d) (a □ ((b □ c ) □ d))
+  αAB□CD = {!!}
+  1A□BCD : {a b c d e : Obj C } → Hom C  (a □ ((b □ c ) □ d)) (a □ (b □ ( c □ d) ))
+  1A□BCD = {!!}
+  αABC□D : {a b c d e : Obj C } → Hom C  (a □ (b □ ( c □ d) )) ((a □ b ) □ (c □ d))
+  αABC□D = {!!}
+  αA□BCD : {a b c d e : Obj C } → Hom C (((a □ b) □ c ) □ d) ((a □ b ) □ (c □ d))
+  αA□BCD = {!!}
+  αAIB :  {a b  : Obj C } →  Hom C (( a □ I ) □ b ) (a □ ( I □ b ))
+  αAIB = {!!}
+  1A□λB : {a b  : Obj C } →  Hom C  (a □ ( I □ b )) ( a □ b )
+  1A□λB = {!!}
+  ρA□IB : {a b  : Obj C } →  Hom C  (( a □ I ) □ b ) ( a □ b )
+  ρA□IB = {!!}
+
+  field
+      comm-penta : {a b c d e : Obj C}
+         → C [ C [ αABC□D {a} {b} {c} {d} {e} o  C [ 1A□BCD {a} {b} {c} {d} {e} o C [ αAB□CD {a} {b} {c} {d} {e} o αABC□1D {a} {b} {c} {d} {e} ] ] ]
+             ≈ αA□BCD {a} {b} {c} {d} {e} ]
+      comm-unit : {a b : Obj C}
+         → C [ C [ 1A□λB {a} {b} o  αAIB ] ≈ ρA□IB {a} {b} ]
 
 record Monoidal  {c₁ c₂ ℓ : Level} (C : Category c₁ c₂ ℓ) 
         : Set ( suc  (c₁ ⊔ c₂ ⊔ ℓ ⊔ c₁)) where
@@ -86,12 +111,16 @@
       ( φ   :  Hom D (Monoidal.m-i N)  (FObj MF (Monoidal.m-i M) ) )
         : Set ( suc  (c₁ ⊔ c₂ ⊔ ℓ ⊔ c₁)) where
   _⊗_ : (x y : Obj C ) → Obj C
-  _⊗_ x y =  (IsMonoidal._⊗_ (Monoidal.isMonoidal M) ) x y
+  _⊗_ x y =  (IsMonoidal._□_ (Monoidal.isMonoidal M) ) x y
+  _□_ : {a b c d : Obj C } ( f : Hom C a c ) ( g : Hom C b d ) → Hom C ( a ⊗ b ) ( c ⊗ d )
+  _□_ f g = FMap (Monoidal.m-bi M) ( f , g )
   _●_ : (x y : Obj D ) → Obj D
-  _●_ x y =  (IsMonoidal._⊗_ (Monoidal.isMonoidal N) ) x y
+  _●_ x y =  (IsMonoidal._□_ (Monoidal.isMonoidal N) ) x y
+  _■_ : {a b c d : Obj D } ( f : Hom D a c ) ( g : Hom D b d ) → Hom D ( a ● b ) ( c ● d )
+  _■_ f g = FMap (Monoidal.m-bi N) ( f , g )
   open Iso
   open Monoidal
-  open IsMonoidal hiding ( _⊗_ )
+  open IsMonoidal 
   αC :  {a b c : Obj C} → Hom C (( a ⊗ b ) ⊗ c ) ( a ⊗ ( b ⊗ c ) )
   αC {a} {b} {c} =  ≅→ (mα-iso (isMonoidal M) {a} {b} {c}) 
   αD :  {a b c : Obj D} → Hom D (( a ● b ) ● c ) ( a ● ( b ● c ) )
@@ -100,15 +129,39 @@
   1●φBC = {!!} 
   φAB⊗C :  {a b c : Obj C} → Hom D  ( FObj MF a ● ( FObj MF ( b ⊗ c ) )) (FObj MF ( a  ⊗ ( b  ⊗ c )))
   φAB⊗C = {!!}
+  φAB●1 :  {a b c : Obj C} → Hom D  ( ( FObj MF a ●  FObj MF b ) ● FObj MF c ) ( FObj MF ( a ⊗ b ) ● FObj MF c )
+  φAB●1 = {!!}
+  φA⊗BC :  {a b c : Obj C} → Hom D  ( FObj MF ( a ⊗ b ) ● FObj MF c ) (FObj MF ( (a  ⊗  b ) ⊗ c ))
+  φA⊗BC = {!!}
+  FαC : {a b c : Obj C} → Hom D (FObj MF ( (a  ⊗  b ) ⊗ c )) (FObj MF ( a  ⊗ ( b  ⊗ c )))
+  FαC = {!!}
+  1●φ : { a b : Obj C } → Hom D (FObj MF a  ● Monoidal.m-i N ) ( FObj MF a ● FObj  MF ( Monoidal.m-i M ) )
+  1●φ = {!!}
+  φAIC : { a b : Obj C } → Hom D  ( FObj MF a ● FObj  MF ( Monoidal.m-i M ) ) (FObj MF ( a  ⊗ Monoidal.m-i M ))
+  φAIC = {!!}
+  FρC : { a b : Obj C } → Hom D   (FObj MF ( a  ⊗ Monoidal.m-i M ))( FObj MF a  )
+  FρC = {!!}
+  ρD : { a b : Obj C } → Hom D (FObj MF a  ● Monoidal.m-i N ) ( FObj MF a  )
+  ρD = {!!}
+  φ●1 : { a b : Obj C } → Hom D (Monoidal.m-i N ● FObj MF b  ) ( FObj  MF ( Monoidal.m-i M )  ● FObj MF b  )
+  φ●1 = {!!}
+  φICB : { a b : Obj C } → Hom D  ( FObj  MF ( Monoidal.m-i M )  ● FObj MF b  ) ( FObj MF (  ( Monoidal.m-i M )  ⊗ b ) )
+  φICB = {!!}
+  FλD : { a b : Obj C } → Hom D  ( FObj MF (  ( Monoidal.m-i M )  ⊗ b ) ) (FObj MF b ) 
+  FλD = {!!}
+  λD : { a b : Obj C } → Hom D  (Monoidal.m-i N ● FObj MF b  )  (FObj MF b ) 
+  λD = {!!}
   field
-     comm1 : D [ D [ φAB⊗C o D [ 1●φBC o αD ] ]  ≈ {!!} ]
+     comm1 : {a b c : Obj C } → D [ D [ φAB⊗C {a} {b} {c} o D [ 1●φBC o αD ] ]  ≈ D [ FαC  o  D [ φA⊗BC o φAB●1 ] ] ]
+     comm-idr : {a b : Obj C } → D [ D [ FρC  {a} {b}  o D [ φAIC {a} {b} o  1●φ {a} {b} ] ]  ≈ ρD {a} {b}  ]
+     comm-idl : {a b : Obj C } → D [ D [ FλD  {a} {b}  o D [ φICB {a} {b} o  φ●1 {a} {b} ] ]  ≈ λD {a} {b}  ]
 
 record MonoidalFunctor {c₁ c₂ ℓ : Level} {C D : Category c₁ c₂ ℓ}  ( M : Monoidal C ) ( N : Monoidal D )
         : Set ( suc  (c₁ ⊔ c₂ ⊔ ℓ ⊔ c₁)) where
   _⊗_ : (x y : Obj C ) → Obj C
-  _⊗_ x y =  (IsMonoidal._⊗_ (Monoidal.isMonoidal M) ) x y
+  _⊗_ x y =  (IsMonoidal._□_ (Monoidal.isMonoidal M) ) x y
   _●_ : (x y : Obj D ) → Obj D
-  _●_ x y =  (IsMonoidal._⊗_ (Monoidal.isMonoidal N) ) x y
+  _●_ x y =  (IsMonoidal._□_ (Monoidal.isMonoidal N) ) x y
   field
       MF : Functor C D
   F● :  Functor ( C × C ) D