[Agda] Defining the Delay monad as a HIT in cubical agda
Nicolai Kraus
nicolai.kraus at gmail.com
Tue Apr 2 23:17:21 CEST 2019
On 02/04/19 22:10, Tom Jack wrote:
> Normally, I'd expect to be able to 'do path induction' on (later,
> step), winding up with just `now`, so that Delay A = A. But this is
> absurd.
I think this is what would happen if we were talking about induction
instead of coinduction. My intuition is that coinduction causes all the
"chains" to be "one-point-compactified" with the same point `never`.
By "chain", I mean
now(a) = later(now(a)) = later(later(now(a))) = ...
-- Nicolai
>
> Are there examples like this which don't involve a mutual coinductive
> type?
>
> On Tue, Apr 2, 2019 at 1:06 PM Nicolai Kraus <nicolai.kraus at gmail.com
> <mailto:nicolai.kraus at gmail.com>> wrote:
>
> Interesting! So, in case Delay(Unit) does turn out to be
> contractible, we might also expect that Delay(A) = A. This doesn't
> seem intuitive to me, but it could still be true. Do you see a way
> to construct Delay(A) -> A? If there is such a function, it should
> be quite canonical, and maybe it's easier to write this function
> than to prove the contractibility. But if we can't do this, and we
> also can't distinguish 'now' and 'never', then I have no idea what
> Delay(A) actually is. Does any of the cubical models capture such
> constructions?
> (Maybe, at this point, we shouldn't call it "Delay" :)
> -- Nicolai
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.chalmers.se/pipermail/agda/attachments/20190402/cc87e73e/attachment.html>
More information about the Agda
mailing list