Subject: Ssreflect Users Discussion List
List archive
- From: Emilio Jesús Gallego Arias <>
- To: Bas Spitters <>
- Cc: Ssreflect-mailinglist <>
- Subject: Re: [ssreflect] eqType for records ?
- Date: Mon, 18 Jun 2018 12:56:07 -0400
- Authentication-results: mail3-smtp-sop.national.inria.fr; spf=None ; spf=Pass ; spf=Pass
- Ironport-phdr: 9a23:lb99NxDeT7zWqN4xSItaUyQJP3N1i/DPJgcQr6AfoPdwSPv+pMbcNUDSrc9gkEXOFd2Cra4c1qyO6+jJYi8p2d65qncMcZhBBVcuqP49uEgeOvODElDxN/XwbiY3T4xoXV5h+GynYwAOQJ6tL1LdrWev4jEMBx7xKRR6JvjvGo7Vks+7y/2+94fcbglUhDexe69+IAmrpgjNq8cahpdvJLwswRXTuHtIfOpWxWJsJV2Nmhv3+9m98p1+/SlOovwt78FPX7n0cKQ+VrxYES8pM3sp683xtBnMVhWA630BWWgLiBVIAgzF7BbnXpfttybxq+Rw1DWGMcDwULs5Qiqp4bt1RxD0iScHLz85/3/Risxsl6JQvRatqwViz4LIfI2ZMfxzdb7fc9wHX2pMRsZfWTJcDIO7YYsBAegOM+VWoIbyu1QDtge+CRW2Ce/z1jNFnH370Ksn2OohCwHG2wkgEsoBvnTRrdX1MKYSUeetw6fM0zrDdOlO2Szl54bJaB8hpfWMUqx/ccrW0UYiCxnFjlSKpoz+IjiY0foCvnOU7udjSe6jkWknqxt+ojW2wMonl4rHhpoNx1zZ9ih0w5w5KcOmREN6e9KoDZlduzyAO4drTM4uXXlktDskxrACo5K3YSYHxZo9yxPdafGLaYeF7gzlWe2MOzl3nmhld6i6hxuq8Uiv1On8Vs6s3VdFrSdJjsPAtncX1xzc8sSHS/198Vm92TuXygze6eJJLVoqmabFKpMt2KM8m5gOvUjZAyP7llv6gLeTdko+++io7+rnYq/hpp+ZL4J7lBrzM6stl8CjG+g4NRIOX2eD9eSmyLLj5VH5QKlNjvAuianZq4raKtoVpq69HQBazpoj5g2kDzam1dQYhWMIIEhEeBKBlYjpOkvBLOr2Dfel0ByQl2JBzuuOBaXgHonANGOLxL2ndPBirVVEyRYvwMpEz51RA7AFZvn0XxmimsbfC0oUNg2wwuHQKthmRJgpdmuLBqKWN5T7q16B/ap7LsGcNNdTvyzyfat2r8XyhGM0zAdONZKi2oEaPTXhRqw/chepJEH0i9JEKl8k+w83TejkklqHAGxDNy70WLgztGhiVNCWSLzbT4Xou4SvmT+hF8wEdjAeTFeWHiWwLtjWa7I3cCuXZ/RZvHkEWLymGt0xhUnosxX1meNq
- Organization: X80 Heavy Industries
Hi Bas,
Bas Spitters
<>
writes:
> Is there an established way to obtain an eqType on a Record?
TTBOMK the `newType` construction doesn't work for singleton inductives
that take more than one parameter, but I could be wrong.
Some manual meddling will get you there tho:
8<---------------------------------------------------------------------8<
From mathcomp Require Import all_ssreflect.
Record foo := { bar : nat; baz: bool }.
Definition of_foo f := (f.(bar), f.(baz)).
Definition to_foo '(bar,baz) := {| bar := bar; baz := baz |}.
Definition foo_sub : @subType (nat*bool) xpredT.
apply: (@NewType _ _ of_foo to_foo); last by case.
by move=> P K [bar baz]; have := K (bar, baz).
Defined.
Canonical foo_subType := Eval hnf in foo_sub.
Canonical foo_eqType := Eval hnf in EqType _ [eqMixin of foo by <: ].
8<---------------------------------------------------------------------8<
I guess that it would be worth to improve the heuristic so it works out
of the box.
E.
- [ssreflect] eqType for records ?, Bas Spitters, 06/18/2018
- Re: [ssreflect] eqType for records ?, Emilio Jesús Gallego Arias, 06/18/2018
- Re: [ssreflect] eqType for records ?, Christian Doczkal, 06/19/2018
- Re: [ssreflect] eqType for records ?, Emilio Jesús Gallego Arias, 06/19/2018
- Re: [ssreflect] eqType for records ?, Emilio Jesús Gallego Arias, 06/19/2018
- Re: [ssreflect] eqType for records ?, Cyril, 06/19/2018
- Re: [ssreflect] eqType for records ?, Emilio Jesús Gallego Arias, 06/20/2018
- Re: [ssreflect] eqType for records ?, Cyril, 06/19/2018
Archive powered by MHonArc 2.6.18.