coq-club AT inria.fr
Subject: The Coq mailing list
List archive
- From: Jim Fehrle <jfehrle AT sbcglobal.net>
- To: "coq-club AT inria.fr" <coq-club AT inria.fr>
- Subject: Re: [Coq-Club] Moving away from putting hints in the core hintdb
- Date: Thu, 15 Nov 2018 20:02:20 +0000 (UTC)
- Authentication-results: mail2-smtp-roc.national.inria.fr; spf=None smtp.pra=jfehrle AT sbcglobal.net; spf=None smtp.mailfrom=jfehrle AT sbcglobal.net; spf=None smtp.helo=postmaster AT sonic303-25.consmr.mail.ne1.yahoo.com
- Ironport-phdr: 9a23:66YyIReQDylZvoql4pTg9xmPlGMj4u6mDksu8pMizoh2WeGdxcuzZx7h7PlgxGXEQZ/co6odzbaO4+a4ASQp2tWoiDg6aptCVhsI2409vjcLJ4q7M3D9N+PgdCcgHc5PBxdP9nC/NlVJSo6lPwWB6nK94iQPFRrhKAF7Ovr6GpLIj8Swyuu+54Dfbx9HiTahYr5+Ngm6oRnMvcQKnIVuLbo8xAHUqXVSYeRWwm1oJVOXnxni48q74YBu/SdNtf8/7sBMSar1cbg2QrxeFzQmLns65Nb3uhnZTAuA/WUTX2MLmRdVGQfF7RX6XpDssivms+d2xSeXMdHqQb0yRD+v6bpgRh31hycdLzM3/mHZitZugqxYoh2hqQFxzIHIb4+SL/dxZL/RcMkBSmdbQspcVSpMCZ68YYsVCOoBOP5VoY38p1sLsBCwBRejBOP1yj9MmHD9wKo30+YvEQ7Y3AwgBdYOv2rPodXuL6gdTe+1zK3PzTrYdfxW3S3x6I7WfRA9uPyBW697f8nJyUQ3Fg7Ij0+cpZHkMj6bzOgBrmuW4ul6We6yi2Mrtgd8qSW1yMg2kInGnIcVx0jE9SpnxIY1IsW1SFV8Yd6iEZtfqy+XO5d4T887XW1luDw2xaEBuZ69ZygKzY4nywTaa/OdcoiI5gjvVOCPLjtlnn5keKiwhxa18Uin0OHzSs600FNSoipElNnDqGwN2gTS58WGUPdx40as1DiV2wzO6exJIlo4mbfbJpI82rIwk4AcsUXHHi/4gkX2i6qWe10m+uim9evnYq/mppuCOIJvkQHxKbghmsO7AeQ/KQcBRWyb9f661LL94U31WK9KgeEukqnFrJDaItwWqbK+Aw9My4os9xK/Dyq939kDhnkGLFdFeAqdgITzOlHOJur4DfaljFi2njdr3aOOArq0SJ7KNz3IlKrrVbd78U9VjgQph5gL7JVNT7oFPfjbW0nrtdWeAAVvYDa52+L2NNIo9IIbEUyCArWdPeuGs1GF5vgrLsGXboQavDH3Ivxj4fPy2ywXg1gYKIuo2NM5ZXCiGvkud0eXbHr2htopCm0BsQ45RuXuzluPTWgAND6JQ6sg62RjW8qdBoDZS9X12e3T7GKABpRTI1t+JBWJGHbseZ+DXq5ROjmYKcBllTYNUf6nRpNzjUjy5j+/8KJuK6/vwgNdrYjqjYUn/OfYmhU1/zVwScKQzzPVFjwmriYzXzYzmZtHjwl9x1OEivkqmPteFNcIv6gMCFp8Ppna1OlgTdX7WwaHeNrQDkevQtKhRzo2S4Bpzg==
Hi Michael,
> Also if eauto is used, one can easily add the debug flag (for typeclasses eauto it is a global option). It is a good idea to have a look at the logs and the branching factors of the proof search.
Logs meaning the console output from Set Debug Auto/Set Debug Eauto? By the branching factor, you just mean paying attention to the output (e.g. 1.2.3.1 is depth 4) and each digit counts the branches at it's level?
> the core hint database includes hints which can loop to the search depth limit on some goals.
How helpful would it be if auto/eauto detected and avoided looping? Either by a) detecting that the proof state has already been seen in the current search (e.g. there is a tactic for a commutative property) and/or b) using a queue that ranks various proof states by a size metric and processing the smaller proof states first. This might give better performance and allow for a higher depth limit.
Thanks,
Jim
count_rev_tree < Set Debug Eauto.
count_rev_tree < eauto.
Debug: (* debug eauto: *)
Debug: 1 depth=5
Debug: 1.1 depth=4 simple apply f_equal_nat
Debug: 1.1.1 depth=3 simple apply f_equal2_nat
Debug: 1.2 depth=4 simple apply f_equal2_nat
Debug: 1.2.1 depth=4 simple apply @eq_refl
Debug: 1.2.1.1 depth=3 simple apply f_equal2_nat
Debug: 1.2.2 depth=4 simple apply eq_add_S ; trivial
Debug: 1.2.2.1 depth=3 simple apply f_equal2_nat
Debug: 1.2.3 depth=4 simple apply eq_sym ; trivial
Debug: 1.2.3.1 depth=3 simple apply f_equal2_nat
From: "Soegtrop, Michael" <michael.soegtrop AT intel.com>
To: "coq-club AT inria.fr" <coq-club AT inria.fr>
Sent: Thursday, November 15, 2018 2:22 AM
Subject: RE: [Coq-Club] Moving away from putting hints in the core hintdb
Dear Armaël,
in my experience including the core hint database frequently leads to bad proof search performance. E.g. the core hint database includes hints which can loop to the search depth limit on some goals. I would generally recommend to apply proper engineering practices in designing hint databases and to not provide a substantially larger set of hints than required.
I typically use a set of tactics and/or tactic notations to wrap eauto with certain sets of hint databases suitable for specific problems. This wrapping also makes it easier to switch between eauto and typeclasses eauto, which is a good idea to try. Also if eauto is used, one can easily add the debug flag (for typeclasses eauto it is a global option). It is a good idea to have a look at the logs and the branching factors of the proof search.
Best regards,
Michael
in my experience including the core hint database frequently leads to bad proof search performance. E.g. the core hint database includes hints which can loop to the search depth limit on some goals. I would generally recommend to apply proper engineering practices in designing hint databases and to not provide a substantially larger set of hints than required.
I typically use a set of tactics and/or tactic notations to wrap eauto with certain sets of hint databases suitable for specific problems. This wrapping also makes it easier to switch between eauto and typeclasses eauto, which is a good idea to try. Also if eauto is used, one can easily add the debug flag (for typeclasses eauto it is a global option). It is a good idea to have a look at the logs and the branching factors of the proof search.
Best regards,
Michael
- [Coq-Club] Moving away from putting hints in the core hintdb, Armaël Guéneau, 11/14/2018
- Re: [Coq-Club] Moving away from putting hints in the core hintdb, Gaëtan Gilbert, 11/14/2018
- Re: [Coq-Club] Moving away from putting hints in the core hintdb, Armaël Guéneau, 11/14/2018
- RE: [Coq-Club] Moving away from putting hints in the core hintdb, Jason -Zhong Sheng- Hu, 11/14/2018
- Re: [Coq-Club] Moving away from putting hints in the core hintdb, Vadim Zaliva, 11/14/2018
- Re: [Coq-Club] Moving away from putting hints in the core hintdb, Jacques-Henri Jourdan, 11/15/2018
- Re: [Coq-Club] Moving away from putting hints in the core hintdb, Vadim Zaliva, 11/14/2018
- RE: [Coq-Club] Moving away from putting hints in the core hintdb, Jason -Zhong Sheng- Hu, 11/14/2018
- Re: [Coq-Club] Moving away from putting hints in the core hintdb, Armaël Guéneau, 11/14/2018
- RE: [Coq-Club] Moving away from putting hints in the core hintdb, Soegtrop, Michael, 11/15/2018
- Re: [Coq-Club] Moving away from putting hints in the core hintdb, Jim Fehrle, 11/15/2018
- RE: [Coq-Club] Moving away from putting hints in the core hintdb, Soegtrop, Michael, 11/16/2018
- Re: [Coq-Club] Moving away from putting hints in the core hintdb, Jim Fehrle, 11/15/2018
- Re: [Coq-Club] Moving away from putting hints in the core hintdb, Gaëtan Gilbert, 11/14/2018
Archive powered by MHonArc 2.6.18.