changeset 944:c58684b15d97

...
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Sun, 17 May 2020 18:42:17 +0900
parents 3f2525c2b999
children 94ece478b583
files CCCGraph.agda
diffstat 1 files changed, 39 insertions(+), 18 deletions(-) [+]
line wrap: on
line diff
--- a/CCCGraph.agda	Sun May 17 12:35:49 2020 +0900
+++ b/CCCGraph.agda	Sun May 17 18:42:17 2020 +0900
@@ -360,23 +360,23 @@
   -- Grph does not allow morph on different level graphs
   -- simply assumes we have iso to the another level. This may means same axiom on CCCs results the same CCCs.
   postulate
-     g21 : Graph {suc (c₁ ⊔ c₂)} {c₁ ⊔ c₂} → Graph {c₁} {c₂} 
-     m21 : (g : Graph {suc (c₁ ⊔ c₂)} {c₁ ⊔ c₂} )  → GMap  {suc (c₁ ⊔ c₂)} {c₁ ⊔ c₂} {c₁} {c₂} g (g21 g)
-     m12 : (g : Graph {suc (c₁ ⊔ c₂)} {c₁ ⊔ c₂} )  → GMap  {c₁} {c₂}  {suc (c₁ ⊔ c₂)} {c₁ ⊔ c₂} (g21 g) g
-     giso→  : { g : Graph {suc (c₁ ⊔ c₂)} {c₁ ⊔ c₂} }
+     g21 : Graph {suc c₁} {c₁ ⊔ c₂} → Graph {c₁} {c₂} 
+     m21 : (g : Graph {suc c₁ } {c₁ ⊔ c₂} )  → GMap  {suc c₁ } {c₁ ⊔ c₂} {c₁} {c₂} g (g21 g)
+     m12 : (g : Graph {suc c₁ } {c₁ ⊔ c₂} )  → GMap  {c₁} {c₂}  {suc c₁ } {c₁ ⊔ c₂} (g21 g) g
+     giso→  : { g : Graph {suc c₁ } {c₁ ⊔ c₂} }
           → {a b : vertex g } →  (m12 g & m21 g) =m= id1 Grph g
-     giso←  : { g : Graph {suc (c₁ ⊔ c₂)} {c₁ ⊔ c₂} }
+     giso←  : { g : Graph {suc c₁ } {c₁ ⊔ c₂} }
           → {a b : vertex (g21 g) } →  (m21 g & m12 g ) =m= id1 Grph (g21 g)
                 -- Grph [ Grph [ m21 g o m12 g ] ≈ id1 Grph (g21 g) ]
   
-  fobj : Obj (Cart {suc (c₁ ⊔ c₂)} {c₁ ⊔ c₂} {c₁ ⊔ c₂}) → Obj Grph
+  fobj : Obj (Cart {suc c₁ } {c₁ ⊔ c₂} {c₁ ⊔ c₂}) → Obj Grph
   fobj a = record { vertex = Obj (cat a) ; edge = Hom (cat a) }
-  fmap :  {a b : Obj (Cart {suc (c₁ ⊔ c₂)} {c₁ ⊔ c₂} {c₁ ⊔ c₂} ) } → Hom (Cart ) a b → Hom (Grph {c₁} {c₂}) (g21 ( fobj a )) (g21 ( fobj b ))
+  fmap :  {a b : Obj (Cart {suc c₁ } {c₁ ⊔ c₂} {c₁ ⊔ c₂} ) } → Hom (Cart ) a b → Hom (Grph {c₁} {c₂}) (g21 ( fobj a )) (g21 ( fobj b ))
   fmap {a} {b} f =  record {
            vmap = λ e → vmap (m21 (fobj b)) (FObj (cmap f) (vmap (m12 (fobj a)) e ))
          ; emap = λ e → emap (m21 (fobj b)) (FMap (cmap f) (emap (m12 (fobj a)) e )) } 
 
-  UX :  Functor (Cart  {suc (c₁ ⊔ c₂)} {c₁ ⊔ c₂} {c₁ ⊔ c₂}) (Grph {c₁} {c₂})
+  UX :  Functor (Cart  {suc c₁} {c₁ ⊔ c₂} {c₁ ⊔ c₂}) (Grph {c₁} {c₂})
   FObj UX a = g21 (fobj a)
   FMap UX f =  fmap f
   isFunctor UX  = isf where
@@ -424,7 +424,32 @@
 Sets0 : {c₂ : Level } → Category (suc c₂) c₂ c₂
 Sets0 {c₂} = Sets {c₂}
 
-ccc-graph-univ :  {c₁ c₂ : Level} → UniversalMapping (Grph {c₁} {c₂}) (Cart {suc (c₁ ⊔ c₂)} {c₁ ⊔ c₂} {c₁ ⊔ c₂}) forgetful.UX 
+module fcat {c₁ c₂ : Level}  ( g : Graph {c₁} {c₂} ) where
+
+  open ccc-from-graph g
+
+  FCat : Obj (Cart {suc c₁} {c₁ ⊔ c₂} {c₁ ⊔ c₂})
+  FCat  = record { cat = record {
+          Obj = Obj PL 
+          ; Hom = λ a b → fobj a → fobj b
+          ; _o_ = Category._o_ B
+          ; _≈_ = Category._≈_ B
+          ; Id  = λ {a} → id1 B (FObj CS a)
+          ; isCategory = record {
+                    isEquivalence =  IsCategory.isEquivalence (Category.isCategory B) ;
+                    identityL  = λ {a b f} → IsCategory.identityL (Category.isCategory B) ;
+                    identityR  = λ {a b f} → IsCategory.identityR (Category.isCategory B) ;
+                    o-resp-≈  = λ {a b c f g h i} → IsCategory.o-resp-≈ (Category.isCategory B);
+                    associative  = λ{a b c d f g h } → IsCategory.associative (Category.isCategory B) 
+             }
+          } ;
+         ≡←≈  = λ eq → eq ;
+         ccc = {!!}
+      } where
+          B = Sets {c₁ ⊔ c₂}
+
+
+ccc-graph-univ :  {c₁ c₂ : Level} → UniversalMapping (Grph {c₁} {c₂}) (Cart {suc c₁ } {c₁ ⊔ c₂} {c₁ ⊔ c₂}) forgetful.UX 
 ccc-graph-univ {c₁} {c₂} = record {
      F = F ;
      η = η ; -- λ a → record { vmap = λ y →  graphtocat.Chain {!!} {!!} {!!}  ; emap = λ f x →  {!!} } ; -- 
@@ -448,25 +473,21 @@
        --                          ↓                                                       |
        --  Sets  ((z : vertx g) → C z x)  ----> ((z : vertx g) → C z y)  = h : Hom Sets (fobj (atom x)) (fobj (atom y))
        --
-       F : Obj (Grph {c₁} {c₂}) → Obj (Cart {suc (c₁ ⊔ c₂)} {c₁ ⊔ c₂} {c₁ ⊔ c₂})
-       F g = record { cat = Sets  {c₁ ⊔ c₂} ; ccc = sets ; ≡←≈ = λ eq → eq } 
+       F : Obj (Grph {c₁} {c₂}) → Obj (Cart {suc c₁} {c₁ ⊔ c₂} {c₁ ⊔ c₂})
+       F g = FCat  where open fcat g -- record { cat = Sets  {c₁ ⊔ c₂} ; ccc = sets ; ≡←≈ = λ eq → eq } 
        η : (a : Obj (Grph {c₁} {c₂}) ) → Hom Grph a (FObj UX (F a))
        η a = record { vmap = λ y → vm y ;  emap = λ f → em f }  where
-            fo : Graph  {suc (c₁ ⊔ c₂)} {c₁ ⊔ c₂}
+            fo : Graph  {suc c₁ } {c₁ ⊔ c₂}
             fo = forgetful.fobj {c₁} {c₂} (F a)
             vm : (y : vertex a ) →  vertex (g21 fo) 
-            vm y =  vmap (m21 fo) (ccc-from-graph.fobj a (atom y))
+            vm y =  vmap (m21 fo) {!!} -- (ccc-from-graph.fobj a (atom y))
             em :  { x y : vertex a } (f : edge a x y ) → edge (FObj UX (F a)) (vm x) (vm y)
             em {x} {y} f = emap (m21 fo) (ccc-from-graph.fmap a (iv (arrow f) (id _)))
        pl : {c₁ c₂ : Level}  → (g : Graph {c₁} {c₂} ) → Category _ _ _
        pl g = PL g
        solution : {g : Obj Grph } {c : Obj Cart } → Hom Grph g (FObj UX c) → Hom Cart (F g) c
        solution  {g} {c} f = record { cmap = record {
-             FObj = λ x → cobj x ;
+             FObj = λ x →  {!!} ;
              FMap = λ {x} {y} h → {!!} ;
              isFunctor = {!!} } ;
              ccf = {!!} } where
-                  fvmap :  vertex g → vertex (g21 (forgetful.fobj c))
-                  fvmap = vmap f
-                  cobj : Obj Sets → Obj (cat c)
-                  cobj = {!!}