Skip to Content.
Sympa Menu

ssreflect - Re: [ssreflect] eqType for records ?

Subject: Ssreflect Users Discussion List

List archive

Re: [ssreflect] eqType for records ?


Chronological Thread 
  • 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.



Archive powered by MHonArc 2.6.18.

Top of Page