coq-club AT inria.fr
Subject: The Coq mailing list
List archive
- From: Enrico Tassi <enrico.tassi AT inria.fr>
- To: coq-club AT inria.fr
- Subject: Re: [Coq-Club] Canonical structure resolution ignores coercions
- Date: Mon, 2 Jul 2018 10:55:03 +0200
- Authentication-results: mail2-smtp-roc.national.inria.fr; spf=None smtp.pra=enrico.tassi AT inria.fr; spf=None smtp.mailfrom=gares AT fettunta.org; spf=None smtp.helo=postmaster AT fettunta.org
- Ironport-phdr: 9a23:nmoZDBQkuGhdGjztgyG4xrXy/Npsv+yvbD5Q0YIujvd0So/mwa68bRyN2/xhgRfzUJnB7Loc0qyK6/6mATRIyK3CmUhKSIZLWR4BhJdetC0bK+nBN3fGKuX3ZTcxBsVIWQwt1Xi6NU9IBJS2PAWK8TW94jEIBxrwKxd+KPjrFY7OlcS30P2594HObwlSizexfbJ/IA+qoQnNq8IbnZZsJqEtxxXTv3BGYf5WxWRmJVKSmxbz+MK994N9/ipTpvws6ddOXb31cKokQ7NYCi8mM30u683wqRbDVwqP6WACXWgQjxFFHhLK7BD+Xpf2ryv6qu9w0zSUMMHqUbw5Xymp4qF2QxHqlSgHLSY0/m/XhMJukaxVoxyhqBNjzIHJYo6aOuFzfr/Bcd4AWWZNQtxcWzJHD4ihb4UPFe0BPeNAoofyoVsOtxq+ChWrBOjy1DFHnGT23bY70+88FgzJwgogH8gPsHvIq9X5LrsSXvquzKnTzDXOdPJW2THn6IjJaB8tu/+MXahpfMfX1EIhFBvFg02UpIHqJT+ZyOoAv3Ka4udkT+6jlnArpgNprjSyyMohiZPFi4YUx1ze6yl13Jo5Kce4RUN6Z9OvDYFeuDuAN4RsR8MvW2Fotzg+yr0BoZO7cjYFyIg7xx7CbfyHb5KH7gjkVOaLLjd0nHNleLShiBau6UWtzuLxWtOq3FtEtCZIk93BumoQ2xDN6MWLUv598V2g2TaL2QDT8OZEIUUsmKrUMZEh2KA/loEIvETNACD2hFn2jLKQdkU44Oek8ePnYq/pppOELY97lhn+Mrgymsy4Gek3Lg8OX3GC9eug0L3j4Fb2Ta5Rjvw2l6nZqIrVKd4apq6/GQ9V05ws5wyxDze8g5wkmiwMK0sAcxaahaDoPUvPKbb2F6SRmVOpxRpt3fHNOfXdC47WLzCXnbH7fL16rVJV0xEy5dFZ/ZNdTL8bdqGgEnTtvcDVW0dqeze/xPzqXY0kh9EuHFmXC6rcC5v89FqB5+YhOe6JPdNHtjvhN+Uj+/eoimU2ywdEIfuZmKAPYXX9JcxIZl2DaCO00NYHC2YD+AQkHrSz1Q+yFAVLbnP3ZJoSozE2DIX/UdXNS5yxnbqd1WG8BJIEPm0=
On Mon, Jul 02, 2018 at 01:07:10AM +0300, Erkki Luuk wrote:
> Hi
>
> I'm probably not the first to notice that..
>
> (*Canonical structure resolution ignores coercions*)
> Parameter T S0: Prop.
> Parameter s_base: S0 -> S0 -> S0.
> Structure CON := mCON {dom_con:Type; ran_con:Type; con: dom_con -> ran_con}.
> Canonical Structure con_s := mCON _ _ s_base.
> Definition variad := T -> S0.
> Parameter variad_S0:> variad -> S0.
> Parameter v: variad.
> Check v: S0.
> Check con _ (_:S0) (_:S0).
> Check con con_s v v.
> Check con _ (v:S0) v.
> Fail Check con _ v v.
>
> Does anyone know how to make canonical structure resolution work w/
> coercions? I need the resolution for notation overloading (and need the
> coercion, too)
since v has (inferred) type variad you need a Canonical Structure indexed on
variad,
but you only have one indexed on S0. I'm not sure this declaration makes
sense in your context, but makes your example work.
Canonical Structure variad_s := mCON variad _ s_base.
Check con _ v v.
Best,
--
Enrico Tassi
- [Coq-Club] Canonical structure resolution ignores coercions, Erkki Luuk, 07/02/2018
- Re: [Coq-Club] Canonical structure resolution ignores coercions, Enrico Tassi, 07/02/2018
Archive powered by MHonArc 2.6.18.