coq-club AT inria.fr
Subject: The Coq mailing list
List archive
- From: Abhishek Anand <abhishek.anand.iitg AT gmail.com>
- To: coq-club <coq-club AT inria.fr>
- Subject: Re: [Coq-Club] change uses inferior type inference
- Date: Wed, 27 Feb 2019 15:26:11 -0800
- Authentication-results: mail3-smtp-sop.national.inria.fr; spf=None smtp.pra=abhishek.anand.iitg AT gmail.com; spf=Pass smtp.mailfrom=abhishek.anand.iitg AT gmail.com; spf=None smtp.helo=postmaster AT mail-yw1-f48.google.com
- Ironport-phdr: 9a23:1thTIR+v52rfQf9uRHKM819IXTAuvvDOBiVQ1KB42u8cTK2v8tzYMVDF4r011RmVBdWds6oMotGVmpioYXYH75eFvSJKW713fDhBt/8rmRc9CtWOE0zxIa2iRSU7GMNfSA0tpCnjYgBaF8nkelLdvGC54yIMFRXjLwp1Ifn+FpLPg8it2O2+557ebx9UiDahfLh/MAi4oQLNu8cMnIBsMLwxyhzHontJf+RZ22ZlLk+Nkhj/+8m94odt/zxftPw9+cFAV776f7kjQrxDEDsmKWE169b1uhTFUACC+2ETUmQSkhpPHgjF8BT3VYr/vyfmquZw3jSRMMvrRr42RDui9b9mRxDmiCgFNzA3/mLZhNFugq1Hux+huwBzzpTIbI2JKPZzfKXQds4aS2pbWcZRUjRMD5+nYIsPDuoBJuZYoJf+p1ATsRa+AxOjBOXyxTRVgXL5x7Y10+QgEQHd3AwvAdEOvG7Oo9XzLqgSV/26wLPJzTXCc/NW1izw6IfNch87oPGMWah8ftbWyUkqDg7IiEibp4LiPzOQzOsNsm6b4vJ8WuKokW4nrR9+ojyrxss2lIbGm58Vx1bZ/it62IY4PcO0RFJ/bNK+E5ZdtzuWO5Z3T88/WW1ltyU3x7sbspChZicK0o4oxxvHZvyHbYeI5hXjWf6UIThihXJlfKuzhha88ES90+H8WMa53VVQoipKldnMsX8N1xjN5cSdVvR9+UKh1S6O1wDV9O5EPVg5mbTHJ5Ml2LI9lZoevV7eEiL3hUn6lqCbe0Y89uit8evnY7HmppGGN49zjwHzKr4hlde/AeQ5KQgOX3aU+eem2LL5+032WrNKgeAsnqnYsZDaOcsbq7W2Aw9QyIkj6hK/Ay2639QfmHkLNEhFdw6fj4j1J1HOJ+j1Auu4g1S1iTtk2/TGPqD6DZjWNXjCkLLhfa5n5EJGyQozy8pf55NOBb0bLvLzQBy5iNuNBRggdgew3uyvXN56z8YVXX+FKq6fKqLb91GSsLEBOe6JMaYfuDfmK/Umr9fohHk10QsUd6moxpsaazaxGP1gLwOYYGbjqtgEGGYO+AE5Sbq52xW5TTdPaiPqDOoH7TYhBdf+VNaRdsWWmLWEmRyDMNhTb2FCBEqLFC6xJYqBUvYILimVJ504y2BWZf2aU4YkkCqWmkri0bM+d7jb/yQZsdTo090nv7SOxyF3ziR9CoGm60/IT2xwmTlVFTo/3aQ6sFMkj1nfge53hPtXEdEV7PRMAF83
Here is a minimal example to illustrate the problem:
assert (inl 2 = inr true). (* succeeds *)
change (inr true:(nat+bool)) with (inr true). (* Cannot infer the
implicit parameter A of inr ...*)
-- Abhishek
http://www.cs.cornell.edu/~aa755/
On Wed, Feb 27, 2019 at 3:18 PM Abhishek Anand
<abhishek.anand.iitg AT gmail.com>
wrote:
>
> Many times, the following tactic succeeds:
>
> assert (a=b) by reflexivity.
>
> but the following fails with some type inference error suggesting that
> while inferring types, Coq is not exploiting the fact that `a` and `b`
> must have the same types:
>
> change a with b
>
> Can the `change` tactic be made as smart as `assert (_=_)`?
>
> I thought the following Ltac would work, but it suffers from the same
> problem as `change`.
> Ltac changee a b :=
> assert (a=b) as XX by reflexivity;
> rewrite XX;
> clear XX.
>
> I guess terms are fully typed before being passed to Ltac.
>
> Thanks,
> -- Abhishek
> http://www.cs.cornell.edu/~aa755/
- [Coq-Club] change uses inferior type inference, Abhishek Anand, 02/28/2019
- Re: [Coq-Club] change uses inferior type inference, Abhishek Anand, 02/28/2019
- RE: [Coq-Club] change uses inferior type inference, John M Grosen, 02/28/2019
- Re: [Coq-Club] change uses inferior type inference, Jason -Zhong Sheng- Hu, 02/28/2019
- RE: [Coq-Club] change uses inferior type inference, John M Grosen, 02/28/2019
- Re: [Coq-Club] change uses inferior type inference, Abhishek Anand, 02/28/2019
Archive powered by MHonArc 2.6.18.