coq-club AT inria.fr
Subject: The Coq mailing list
List archive
- From: Agnishom Chattopadhyay <agnishom AT cmi.ac.in>
- To: coq-club AT inria.fr
- Subject: [Coq-Club] How can I extract data from this exists Prop?
- Date: Sun, 9 Aug 2020 22:55:58 -0500
- Authentication-results: mail3-smtp-sop.national.inria.fr; spf=None smtp.pra=agnishom AT cmi.ac.in; spf=Pass smtp.mailfrom=agnishom AT cmi.ac.in; spf=None smtp.helo=postmaster AT mail.cmi.ac.in
- Ironport-phdr: 9a23:kp4zlh/QgKhcWf9uRHKM819IXTAuvvDOBiVQ1KB30eocTK2v8tzYMVDF4r011RmVBNudu60P1LeempujcFRI2YyGvnEGfc4EfD4+ouJSoTYdBtWYA1bwNv/gYn9yNs1DUFh44yPzahANS47xaFLIv3K98yMZFAnhOgppPOT1HZPZg9iq2+yo9JDffgRFiCC+bL5wIxm7rwXcvdQKjIV/Lao81gHHqWZSdeRMwmNoK1OTnxLi6cq14ZVu7Sdete8/+sBZSan1cLg2QrJeDDQ9LmA6/9brugXZTQuO/XQTTGMbmQdVDgff7RH6WpDxsjbmtud4xSKXM9H6QawyVD+/6apgVR3mhzodNzMh/27ZisJ+gqFGrhy/uxNy2JTbbJ2POfdkYq/RYdEXSGxcVchRTSxBBYa8YpMTAuoOO+ZYrpL9p1sJrRu7GAKhGuPvxSVUhn/q2q06y/4uHhzG3A0gBd0PsGnfodLvO6cdV+C1zbLIzTXEb/NTwjry9I3IchE7rf6WQb18a8vRyU82Gg7Dk16fppDrMSmP2eQRr2iU8fBgVeS3hmAptQ19vzeiy9swhofGmI8Z11/K+CplzIsxJdC1SFB3bMO6HJdMqyyXM4V4T8EsTmx0uys3yaAKtJ+5cSUEzJkqwQPUZf+fc4WQ/x7vSuicLS15iX9rYr6zmQq+/Ea6xuHiS8W4zk5GojRZntTIrHwA1Bze5tKaRvZ8/0qtwzmC2x7V5+pZO047j7DbJIQkwrMolpocr0DDHijulUXzlqCWd0Ek9vK05OTiY7XqvIWTOJNuhgH/NKQigs2/AeImPQgSR2WX5Pqw2bP58UD4TrhGlOM6nrXXvZzAO8gXu7C1DxdQ0ok56ha/Czmm0M4fnXkCNF9KYh2Hj47oO1HVIPD4CvK/jk+wnzduxvDKJKfuDYnXInjClrftZax95FJEyAov0dBf4IpZBa0GIPLqQ0P+qNjYDgIiPAGv2ObmCNB91psEVm6VA6+ZNrnSsV6S6e41LemMftxdhDGoIP88ovXqkHURmFkHfKDv04FERmq/G6FPLEOYenrrh58qEW4Wog0mReDqmVSTGWpaaHCzRKI74xkwDYPgBIyFR4b70+/J5zuyApADPjMOMVuLC3q9L9zYCcdJUzqbJ4paqhJBTaKoEtZz3hSv8gbxjbthfLKNp38o8Kn73d0w3NX90BE/8TstUZaY2mCJCWpxnyUBTHk32vIn+B0v+hK4yaF9xsdgO5lW7vJNXB09MMeFned/Cpb7UUTAeIXQRQ==
I have a function that is something like this:
Definition isPrefixOf (x : list A) (y : list A) :=
exists z, x ++ z = y.
exists z, x ++ z = y.
Now, I want to define a witness function. Informally, it can be described as follows: Given x and y such that (isPrefixOf x y), return z which satisfies the criteria exists z, x ++ z = y.
I would try to define it this way, but that would not work (possibly because exists z, x ++ z = y is a Prop and we are asking for something in Type) :
Definition witness (x y : list A) {H : isPrefixOf x y} : list A.
destruct H.
destruct H.
Abort.
Another option seems to be to define
Definition isPrefixOf (x y : list A) :=
sig (fun z => x ++ z = y).
sig (fun z => x ++ z = y).
But I do not like this because this does not let me define things like Instance isPrefixOf_PreOrder : PreOrder isPrefixOf.
So, how can I have my cake and eat it too?
- [Coq-Club] How can I extract data from this exists Prop?, Agnishom Chattopadhyay, 08/10/2020
- Re: [Coq-Club] How can I extract data from this exists Prop?, Guillaume Melquiond, 08/10/2020
- Re: [Coq-Club] How can I extract data from this exists Prop?, Castéran Pierre, 08/10/2020
- Re: [Coq-Club] How can I extract data from this exists Prop?, Agnishom Chattopadhyay, 08/10/2020
- Re: [Coq-Club] How can I extract data from this exists Prop?, Emilio Jesús Gallego Arias, 08/25/2020
- Re: [Coq-Club] How can I extract data from this exists Prop?, Agnishom Chattopadhyay, 08/25/2020
- Re: [Coq-Club] How can I extract data from this exists Prop?, jonikelee AT gmail.com, 08/25/2020
- Re: [Coq-Club] How can I extract data from this exists Prop?, Robbert Krebbers, 08/25/2020
- Message not available
- Message not available
- Re: [Coq-Club] How can I extract data from this exists Prop?, jonikelee AT gmail.com, 08/25/2020
- Re: [Coq-Club] How can I extract data from this exists Prop?, jonikelee AT gmail.com, 08/26/2020
- Re: [Coq-Club] How can I extract data from this exists Prop?, Arthur Azevedo de Amorim, 08/26/2020
- Re: [Coq-Club] How can I extract data from this exists Prop?, jonikelee AT gmail.com, 08/25/2020
- Message not available
- Message not available
- Re: [Coq-Club] How can I extract data from this exists Prop?, Robbert Krebbers, 08/25/2020
Archive powered by MHonArc 2.6.19+.