You're reading the public-facing archive of the Category Theory Zulip server.
To join the server you need an invite. Anybody can get an invite by contacting Matteo Capucci at name dot surname at gmail dot com.
For all things related to this archive refer to the same person.
In Section 3 here: https://ncatlab.org/toddtrimble/published/Three+topos+theorems+in+one#eq:ttt2, he describes a functor and says it's a comonad, but I'm struggling to see why it's a comonad (or even what the comonad structure should be) - am I missing something obvious?
I think this is the category analogue of where is a monoid. You extact by applying to the monoid unit, and duplicate by multiplying in the monoid.
And the unit/associativity axioms for the comonad follow from unit/associativity for the monoid. And similarly when you replace the monoid with a category.
I'm not sure what your background is, but here is an analogous construction in Agda, to give some idea of what each thing does.
W : Type₁ → Type₁
W Y = Σ[ U ∈ Type₀ ] ((T : Type₀) → (T → U) → Y)
ε : ∀{Y} → W Y → Y
ε (U , e) = e U (idfun U)
δ : ∀{Y} → W Y → W (W Y)
δ (U , e) = (U , λ T f → (T , λ S g → e S (f ∘ g)))
I can see how to do this for monoids but the analogy is confusing me at the moment
I'm trying right now to show this is a comonad in Lean
I think what I don't see is why your W
is the same as the functor described there
Well, it's exactly the formula that page uses after the initial description, specialized to C = Type₀
That is a particularly easy specialization, though. Depending on how you're modelling everything in Lean, it might be considerably less convenient to write things down.
Dan Doel said:
Well, it's exactly the formula that page uses after the initial description, specialized to
C = Type₀
Oh right, I can see that
Dan Doel said:
That is a particularly easy specialization, though. Depending on how you're modelling everything in Lean, it might be considerably less convenient to write things down.
Yeah I think this is the scenario I'm in. I'm modelling it virtually as described there, I've got an internal category in a LCCC, and the functor is defined exactly as written there
That is - in pretty much the same level of generality
Well, a slightly more general version is this:
module _
(O : Type₀)
([_,_] : O → O → Type₀)
(i : ∀{a} → [ a , a ])
(_∘_ : ∀{a b c} → [ b , c ] → [ a , b ] → [ a , c ])
where
W : Type₀ → Type₀
W Y = Σ[ u ∈ O ] ((t : O) → [ t , u ] → Y)
ε : W Y → Y
ε (u , e) = e u i
δ : W Y → W (W Y)
δ (u , e) = (u , λ t f → (t , λ s g → e s (f ∘ g)))
Omitting the associativity stuff which is no longer trivial.
Now, that type theoretic stuff can in principle be translated to any LCCC, and you'll end up with something about the span definition. But maybe that's not satisfying. :)
"In principle" :)
Thanks though, this definitely gives me some things to try!
It's probably not so hard to work through in this case, or at least use it as a guide of what to do from the 'external' perspective.
Right now part of the problem is that I haven't made it at all pleasant to work with the Pi functor so even doing an application is awkward... But these are technical issues now, thanks!
Another question on the same topic - he describes a coalgebra for that comonad, and says that we get a contravariant action of the (internal) category on the set Y - this much is fine, but I don't see why p(y^f) should be x', using the notation there. In other words I don't see why the action respects fibers properly
(In the E=Set case, for now at least)
I think that is ensured by coherence with splitting. Note that in my δ
, t
occurs as the value of for the inner part, where t
is the domain of f
. Two applications of a coalgebra must agree with one application that is split. In order for that to happen, must be , or there is no hope for to work out.
By coherence with splitting do you mean the coassociative law for the coalgebra?
I certainly appreciate why it should be true, just not entirely sure what the actual argument is
Well, I was going to call it that, but it's not actually associativity, right?
Alright sure, just making sure I'm following correctly!
Anyhow, it's the sort of rule. Whatever that's called (I'm blanking on the name).
If you unpack that by projecting/applying each side, I think you'll arrive at a requirement for along the way.
That makes sense, thanks!