coq-club AT inria.fr
Subject: The Coq mailing list
List archive
- From: mukesh tiwari <mukeshtiwari.iiitm AT gmail.com>
- To: coq-club AT inria.fr
- Subject: Re: [Coq-Club] Fixpoint decreasing argument with remove_min in tree
- Date: Sat, 3 Sep 2022 13:03:51 +0100
- Authentication-results: mail2-smtp-roc.national.inria.fr; spf=None smtp.pra=mukeshtiwari.iiitm AT gmail.com; spf=Pass smtp.mailfrom=mukeshtiwari.iiitm AT gmail.com; spf=None smtp.helo=postmaster AT mail-lj1-f169.google.com
- Ironport-data: A9a23:DakmbKMMtiV2fJ/vrR2TkcFynXyQoLVcMsEvi/4bfWQNrUomgT1Vn zQeWz3VPP7eMWDxL98kbYyw9BsD75XQmNEwTXM5pCpnJ55ogZqcVI7Bdi8cHAvLc5adFBo/h yk6QoOdRCzhZiaE/n9BCpC48T8kk/vgqoPUUIYoAAgoLeNfYHpn2EkLd9IR2NYy24DoW1jV4 7senuWGULOb824sWo4rw/nbwP9flKyaVOQw4zTSzdgS1LPvvyF94KA3fcldHFOkKmVgJdNWc s6YpF2PEsw1yD92Yj+tuu6TnkTn2dc+NyDW4pZdc/DKbhSvOkXe345jXMfwZ3u7hB2Z3Mtx5 chqiaWPSCJ3L4vngccEcQBXRnQW0a1uoNcrIFC6uM2XiknEKj7imqs/Sk4xOoIc96B8BmQmG f4wcmhcKEDewbjukPTiFLgEascLdKEHOKsap3Jt1jHFDOkvW5GFQqTL+dpw0zI5h8QIFvHbD yYcQWc2NUifOkIUUrsRIJwcuMP1pEC4SiR7uVaEmo9rv0jczCUkhdABN/KMIoDQLSlPpW6To XuD9GDkCDkBJdmHwHyE9Gitj6nBh0vGtJk6EbS58rtuggTWyDVNWVsZUly0pfT/gUm7Mz5CF 6AK0jpttqgf6WuXd+b8ekOphlWdnQc+QtUFRoXW9zqx4qbT5g+YAE0NQThAdMEquacKqdoCh g/hczTBVWwHjVGFdZ6O3uzL8m7qaED5OUdHNHBUF1JUizX2iNhr1kqnczp1LEKiYjTI9dzYx jmLqG06hexWg5dVhuO0+lfIhz/qrZ/MJuLU2uk1djL0hu+aTNT9D2BN1bQ9xagbRGp+Zgfb1 EXoY+DEsIgz4WilzURhutklErCz/OqiOzbBm1NpFJRJ323zpST6IdsMum8ldBoB3iM4ldnBM B+7VeR5tM87AZdWRfIfj3+ZUJlylfC9TbwJqNiNN4ITO/CdizNrDAk3PRLKt4wcuEcrlq47N P+mnTWEXB4n5VBc5GPuHY81iOd1rghnnD+7bc2lknyPjOXGDFbLE+ttGAXVNYgRsvjUyDg5B v4FaKNmPT0EALOgCsQWmKZPRW03wY8TXsCt+pEKL7PefGKL2ggJUpfs/F/oQKQ994w9qwsC1 ivVtpZwxAWtiHvZBx+Nb3w/OrrjUYwu/30+NC0oe12v3iF7M4qo6a4ecboxfKUmpLQzl64qE 6FddpXSGOlLRxTG5y8ZMsvwoYlkQxKh2lCDMi+jVz4gcsMyXAfO4NLlIlDi+XBWXCq6vMczu ZO60QbfTcZRTghuFpeEZ/emzlf3tn8YwbogU0zNK9hVWUPt7Ik6c3yr3qFre5kBcEyRyCGb2 gCaBQYjidPM+4JlosPUga2krpuyF7QsE0dfGV7d5+nkOCTf+F2l3tYcAuuFeDbqVFT09r+nU uNbwqyuK/YAhltL79NxHrs3n6Iz49zj++1Twgh+RimZal2qDvZkICDD05AR5+tCwbhWvQbwU UWKo4EINbKMMcLjMVgQOAt1MbjZhK9MwmHfvaYvPUH3xC5r577bA09cCB+B1X5GJ7xvPYJ5n Oos5JwM5wqkhkZ4O9qKlHoIpWGFL3hFV6d+859DXt6thQ0sxVVPJ5fbD3ausp2IbtxNNGgsI yOV1PWe3eUCnhKafiphD2XJ0MpcmY8K5EJAwmgEKgnbgdHCnPI2gEBc/Dlfot65FfmbPz+f+ 1SHNnGZ4Y2L9jZswcxBBiWiQl8QQhKe/UP1xh0Ck2ixo4xEkIDSBDVVBApP1BlxH6Fgkvxz8 7SRyWKjWjHvFC009jVnQlZr8pQPUvQonjAvW6mb8wCtEJwzYD6jiairDYbNR90LHutp7HD6S SJWECqcpEE12eP8Y0H2NmVC6YktdQ==
- Ironport-hdrordr: A9a23:xI9s3KiCTVcJLaPjeZjnRaExrXBQXuMji2hC6mlwRA09TyX4rb HWoB1/73XJYVkqKRQdcLy7Scu9qDbnhP1ICOoqXItKPjOW3FdARbsKheDfKn/bexEWndQtsp uIHZIObuEYzmIXsS852mSF+hobr+VvOZrHudvj
- Ironport-phdr: A9a23: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 hNwgQx7M7xFHNLE7FI+J16Mryw1whFZpA==
- Ironport-sdr: YSucUEPqhSs8cNMEqJAl4fHm/B6u5u8O2/98oJqg5yKGzqig5WZSnf0vuMNnUcNioEHY4AXLh9 0t3zFGnFyBUObh4TjjRdlwipwfzkwjP6fmUoz5BZIDbPbGtxFdZgjowZWLfmDUtN8CshEuq3DP CVi392JOvLazTM4qp8oN+6oh2svKEaV+vO7ePePvBWjwexLHS2ilNL6qh+xwjaB4b9BFGSujmq RQ03z2d85vlZS9LxTMiLRJ1Emlfj9y3rpr8bbDulOMQzK4M4uVNF4PPl/zkS4mpjM8dJDXyZng riur/CW/8EpjjXtONJz/Nldd
Hi Suneel,
I have written the function [1] but it hinges on an admitted lemma [2], which requires you prove that when you delete an element from a tree, the size decreases. The idea is same as suggested by Pierre because ‘remove_min’ is not structurally recursive and you need to use well founded induction.
Best,
Mukesh
On Sat, 3 Sep 2022 at 09:34, Castéran Pierre <pierre.casteran AT gmail.com> wrote:
Removing the minimum element of a tree doesn’t give you a subtree (structurally speaking) of the original tree.Nevertheless, you can define a function by well-founded recursion over the tree’s size.- First, notice that removing an element of a tree strictly reduces its size- you will find some examples of well founded-recursion in https://mattam82.github.io/Coq-Equations/examples/Examples.Basics.htmlLe 2 sept. 2022 à 19:42, Suneel Sarswat <suneel.sarswat AT gmail.com> a écrit :Dear friend,Is there a way to write a fixpoint using a tree such that in each recursive call the tree after removing the minimum element is used?I am getting the following error.Require Import MSets MSetRBT ZArith.
Module M := MSetRBT.Ops Nat_as_OT.
Fixpoint test (tb ta : M.t)(a:M.elt) :M.t.
destruct (M.remove_min tb) eqn:H.
destruct p eqn:Hp.
unfold M.elt in a.
destruct (a-e) eqn:Hae.
exact (test t ta a).
exact ta.
exact ta.
Defined.(* Cannot guess decreasing argument of fix. *)Also the {struct tb} failed.
- [Coq-Club] Fixpoint decreasing argument with remove_min in tree, Suneel Sarswat, 09/02/2022
- Re: [Coq-Club] Fixpoint decreasing argument with remove_min in tree, D. Ben Knoble, 09/02/2022
- Re: [Coq-Club] Fixpoint decreasing argument with remove_min in tree, Suneel Sarswat, 09/06/2022
- Re: [Coq-Club] Fixpoint decreasing argument with remove_min in tree, Castéran Pierre, 09/03/2022
- Re: [Coq-Club] Fixpoint decreasing argument with remove_min in tree, mukesh tiwari, 09/03/2022
- Re: [Coq-Club] Fixpoint decreasing argument with remove_min in tree, Castéran Pierre, 09/03/2022
- Re: [Coq-Club] Fixpoint decreasing argument with remove_min in tree, Suneel Sarswat, 09/03/2022
- Re: [Coq-Club] Fixpoint decreasing argument with remove_min in tree, Suneel Sarswat, 09/03/2022
- Re: [Coq-Club] Fixpoint decreasing argument with remove_min in tree, mukesh tiwari, 09/03/2022
- Re: [Coq-Club] Fixpoint decreasing argument with remove_min in tree, Castéran Pierre, 09/03/2022
- Re: [Coq-Club] Fixpoint decreasing argument with remove_min in tree, Suneel Sarswat, 09/03/2022
- Re: [Coq-Club] Fixpoint decreasing argument with remove_min in tree, mukesh tiwari, 09/03/2022
- Re: [Coq-Club] Fixpoint decreasing argument with remove_min in tree, D. Ben Knoble, 09/02/2022
Archive powered by MHonArc 2.6.19+.