Skip to content

Instantly share code, notes, and snippets.

@rntz
Created August 27, 2017 21:43
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save rntz/c701d73d938b8788a69cc71ab2dece54 to your computer and use it in GitHub Desktop.
Save rntz/c701d73d938b8788a69cc71ab2dece54 to your computer and use it in GitHub Desktop.
open import Level
-- "Wok" stands for "weak omega kategory".
mutual
record Wok {i} (Obj : Set i) : Set (suc i) where
coinductive
constructor Wok:
infix 1 Hom
infixr 9 compo
field Arr : (a b : Obj) -> Set i
field Hom : (a b : Obj) -> Wok (Arr a b)
-- aren't these supposed to be functors?
-- I guess we'll try to prove that they always are later.
field ident : ∀{a} -> Arr a a
field compo : ∀{a b c} (f : Arr a b) (g : Arr b c) -> Arr a c
field idl : ∀{a b} f -> Iso (Hom a b) f (compo ident f)
field idr : ∀{a b} f -> Iso (Hom a b) f (compo f ident)
field assoc : ∀{a b c d} (f : Arr a b) (g : Arr b c) (h : Arr c d) ->
Iso (Hom a d) (compo f (compo g h)) (compo (compo f g) h)
record Iso {i Obj} (C : Wok {i} Obj) (a b : Obj) : Set i where
coinductive
field a→b : Wok.Arr C a b
field b→a : Wok.Arr C b a
field ida : Iso (Wok.Hom C a a) (Wok.ident C) (Wok.compo C a→b b→a)
field idb : Iso (Wok.Hom C b b) (Wok.ident C) (Wok.compo C b→a a→b)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment