coq-club AT inria.fr
Subject: The Coq mailing list
List archive
- From: Vincent Siles <vincent.siles AT ens-lyon.org>
- To: Coq-Club Club <coq-club AT inria.fr>
- Subject: Re: [Coq-Club] Proofs about FMapList / add / MapsTo
- Date: Tue, 4 Feb 2020 07:22:38 +0100
- Authentication-results: mail3-smtp-sop.national.inria.fr; spf=None smtp.pra=vincent.siles AT ens-lyon.org; spf=None smtp.mailfrom=SRS0=RM7k=3Y=ens-lyon.org=vincent.siles AT bounce.ens-lyon.org; spf=Pass smtp.helo=postmaster AT sonata.ens-lyon.org
- Ironport-phdr: 9a23:zNWRRhUR6PWNt/OtIJ+dOIFbk+LV8LGtZVwlr6E/grcLSJyIuqrYbRGFt8tkgFKBZ4jH8fUM07OQ7/m8HzBQqsfa+DBaKdoQDkRD0Z1X1yUbQ+e9QXXhK/DrayFoVO9jb3RCu0+BDE5OBczlbEfTqHDhpRQbGxH4KBYnbr+tQt2agMu4zf299IPOaAtUmjW9falyLBKrpgnNq8Uam4RvJrs+xxfTrXZFeOtayGdmKFmOmxrw+tq88IRs/ihNtf8t7dJMXbn/c68lUbFWETMqPnwv6sb2rxfDVwyP5nUdUmUSjBVFBhXO4Q/5UJnsrCb0r/Jx1yaGM8L4S7A0Qimi4LxwSBD0kicHNiU2/3/Rh8dtka9UuhOhpxh4w47JfIGYMed1c63Bcd8GQ2dKQ91cXDJdDIyic4QPDvIBPedGoIn7u1sOtga1CQ21CO/y1jNEmnr60Ksn2OojDA7GxhQtEN0AsHvWrNv7OqQcX/2rwqbU1jjMde9a1C3n5YTUbhwso/eBVq9wf8rLzkkvEhvIgVqRqYzjIzyayOINs3SG5OR9VOKvj3AoqxpsqTWo2Mcsi4/JiZ4LxVDC6SV12p01Jdy8SEFlet6pC4VftyeBN4dvRsMjQ2ZouCAgxr0Bo567czEHxZI6zBDRbPyHdpKH4hPlVOuJIDd4gmhleLOliBqo/0ig0OvxXdS33lZStidJj9bBumwX2xHR6MWLUOZx80ag1DqVygze5OJJLVgqmabHL5Mt2L09m5oJvUjeHyL7mV/6gaCZe0gi5+Om8f7oYq/8qZ+ZL4J0ih/xMqApmsGnGuQ4NQ4OUHKH+eumzrHs40v5QK5Tgv0ykqjZt5baKd4cpq6jDA9Zyocj6xChADe6yNkUgHYKIE5fdB+FjYXlIUzCLfH5APulnlihnjRmy+jDPrL7A5XNKnbDkK3mfbZ480NS1RY9w81D659MFr8PJ/D+WkzpudHWDBA0KxK7w+D8CNlk0oMfWWWPAqmDPKPVq1+I6foiI/eNZI8TpDnyNf4l5+L0gX8imF8debem3YAMZX+jGfRmPkOZbmbyjdsbD2gKuBE+QPXuiFyCVj5TYWy+X6Um5jE0EI6mF5vMRpixgLyd2ye2BoFZZmdfClyVDXjoc5iEVOwXZSKJIs5hlyQEWqK7R48g0xGurg76xKB9Iura4C1L/a7kgfNy/qj4kQw4vRdwEs7Vh2qKViR/mn4Cbz4wxqF250JnnASty6991sJZE9de4e8BaQY+OIWUm/J7Ddv/XB6HZdaNRU2OT9O9RDUgSdR3xMUBNRUuU+6+hwzOinL5S4QekKaGUdltqvqFgyrBYv1lwnOD75EPykE8S5ITZ2Cgnet75g/VQYnTnBfBzvv4ReEnxCfIsVy74y+OsUVfClciSqLDVGwWIEbQtpH990TECbi0BuZ+a1oT+Yu5MqJPL+bRoxBDTfbnNs7ZZjjoyW23GBCDy/WBapGvf3Qa2mPaEkdWyw0=
TIL the existence of FMapFacts. Thank you Xavier !
V.
Le lun. 3 févr. 2020 à 19:09, Xavier Leroy <xavier.leroy AT college-de-france.fr> a écrit :
On Mon, Feb 3, 2020 at 5:54 PM Vincent Siles <vincent.siles AT ens-lyon.org> wrote:I have a module built using FMapList.Map_ord, and I'm trying to prove that we can switch independent usage of add.forall (state: State.t) (x y: Key.t) (a b: V.t),~ K.eq x y -> State.eq (add y b (add x a state)) (add x a (add y b state))I plan to do that using eq_equal (https://coq.inria.fr/library/Coq.FSets.FMapList.html bottom of the page), and I'm down to proving something like:Raw.PX.MapsTo k v1 (add y b (add x a state)) -> K,eq k x -> v1 = bHere is the sketch of a simple proof. Assuming "State.eq" is the "Equal" predicate between maps, you need to proveforall z, find z (add y b (add x a state)) = find z (add x a (add y b state))First you rewrite using add_o from the FMapFacts library of derived facts. Then you do a case analysis on Key.eq_dec x z and on Key.eq_dec y z.Hope this helps,- Xavier Leroy
- [Coq-Club] Proofs about FMapList / add / MapsTo, Vincent Siles, 02/03/2020
- Re: [Coq-Club] Proofs about FMapList / add / MapsTo, Xavier Leroy, 02/03/2020
- Re: [Coq-Club] Proofs about FMapList / add / MapsTo, Vincent Siles, 02/04/2020
- Re: [Coq-Club] Proofs about FMapList / add / MapsTo, Xavier Leroy, 02/03/2020
Archive powered by MHonArc 2.6.18.