coq-club AT inria.fr
Subject: The Coq mailing list
List archive
- From: "jonikelee AT gmail.com" <jonikelee AT gmail.com>
- To: Eddy Westbrook <westbrook AT galois.com>
- Cc: coq-club AT inria.fr
- Subject: Re: [Coq-Club] Using hint databases to partially solve a goal?
- Date: Mon, 11 May 2020 19:15:17 -0400
- Authentication-results: mail2-smtp-roc.national.inria.fr; spf=None smtp.pra=jonikelee AT gmail.com; spf=Pass smtp.mailfrom=jonikelee AT gmail.com; spf=None smtp.helo=postmaster AT mail-qt1-f178.google.com
- Ironport-phdr: 9a23:nh2lsRa+tSnoKxQMVZJJC2v/LSx+4OfEezUN459isYplN5qZrsq7bnLW6fgltlLVR4KTs6sC17OL9fG5EjVQqb+681k6OKRWUBEEjchE1ycBO+WiTXPBEfjxciYhF95DXlI2t1uyMExSBdqsLwaK+i764jEdAAjwOhRoLerpBIHSk9631+ev8JHPfglEnjWwba5yIRmsqQjdq8YajZZhJ60s1hbHv3xEdvhMy2h1P1yThRH85smx/J5n7Stdvu8q+tBDX6vnYak2VKRUAzs6PW874s3rrgTDQhCU5nQASGUWkwFHDBbD4RrnQ5r+qCr6tu562CmHIc37SK0/VDq+46t3ThLjlTwKPCAl/m7JlsNwjbpboBO/qBx5347Ue5yeOP5ncq/AYd8WWW9NU8BMXCJDH4y8dZMCAeQBM+hGsofzpFkBrRW5CwajGOzhxSRFhmPv3aAgz+gsCx3K0Q4mEtkTsHrUttL1NKIKXOy7zqnIyjPDb/JV2Tjj7IjHbA4urOqDXbJ1a8XRyE0vGxnZgVWXrIzpMS6e2+MPs2ic6epgVOGvhHAjqw5vvDei3cgsiozTiYIUzlDI7zl2wIEwJdChTkNwfNGrHodKuS6AK4t2Xt0tQ3tuuCsi1rAKp5y2cScUxZklxhPRZfyJfpSI7x/nSuucICl1iW9ldb6jmhq/8Fasx/PhW8Sq31tGsjRInNfQu30O0xHe6s6KQeZ+8Ee5wTuDyRzf5+VeLU03lafXMYMtz78smpYJrEjOHCz7lF3ogKKXakko5+2l5/njb7r6o5KROI55hh3iPqkrhMCwGuo4PRULUmSF5euzz7Pu8EjlT7hLgP02nKzUsJ7EKsgGpqO0BhJZ34Is5huwCTqtzc4WkmMdLF1ffRKKl4jpNE/KIPD/Ffq/hk6jkDZvx/zfJ73hHojBImHNkLv8f7tw6FRQyAU0zdBY6JJUDq8OLOjvVU/2sdzUFh45MwqqzOb7ENhxyJ8SVGaVDqKaMK7eq0KE6+MzL+WWeYMYujXwJ+Ag5/H0jH85nVEdfbOu3ZsScH24HPNmI0OYYXrvnNgBFXkFsRQlQezljV2NSz9TZ3KoU60g4TE7DZqqDZ3fSYC1nLyBwCC7E4VKaWBBE1CACGvnd4GZW/gXcy+SOc9gkjkcVbe7UYMh1BeutBX7y7V9NObU9DcY5trf041Y6+HC3S4/7iB+FcOa0CnZUGxvgmkSQDg19K92pUt80RGI1q0u0NJCEtkGrfFOVAY5OJrRwsR1DtnzXkTKedLDAAKkRdOnAjw1Q98ZzNoHYkI7ENKn2EOQlxG2CqMYwuTYTKc/9bjRij2of54klyT2kZI5hlxjefNhcHW8j/cmpQfWDo/N1U6ekvTyLPVO7Gv27G6GiFG2kgRdWQ90X7/CWClGNETTpNX9oEjFSu33UOl1Ak560ceHb5ByRJjpgFFBHqmxPd3fZyeohz71C0/XlvWDa43lf2hb1yLYWhAJ
> Jonathan, your suggestion about using autorewrite makes sense, and it
> actually would be nice to use rewriting anyway. However, I always
> find that autorewrite is very slow. Do you have any suggestions for
> making it faster? I only really need to apply rewrites at the top
> level, so maybe I could get it to not traverse the term by using
> rewrite_strat?
>
> Thanks,
> -Eddy
Maybe. I have a similar case where the rewrites only need to be
applied at top level, and I have not tried rewrite_strat to see if it
gives a performance improvement because it was already pretty fast.
Also, with Ltac2, it may be easy to use mutable structures to build a
tactic to apply an incrementally constructed collection of rules.
>
> > On May 8, 2020, at 5:05 PM, Eddy Westbrook
> > <westbrook AT galois.com>
> > wrote:
> >
> > Hey coq-club list-ers,
> >
> > Is there any way to partially solve a goal using the auto hint
> > databases? That is, is there a way to do something like "eauto with
> > <my_db>” but for it to make as much progress as it can and then
> > leave the remaining sub-goals for me to prove manually?
> >
> > The use case here is that I have monadic programs I’m trying to
> > prove properties of, and I have a set of rules to prove those
> > properties modulo properties of the values produced in those
> > computations. So, for instance, I have a monadic program that
> > manipulates bitvectors, and my rules can reduce (in a rote and
> > automatable way) all the properties about my monadic program to
> > properties about bitvectors that I have to prove by hand. The hope
> > is that I could use the hint databases to define how to apply my
> > rules, and then I could apply these hints and end up with my goals
> > about bitvectors to prove by hand. The only other option is to
> > write a monolithic tactic that pattern-matches on the form of the
> > goal to apply my rules, and that isn’t as nice and extensible.
> >
> > Any ideas?
> >
> > Thanks,
> > -Eddy
>
- [Coq-Club] Using hint databases to partially solve a goal?, Eddy Westbrook, 05/09/2020
- Re: [Coq-Club] Using hint databases to partially solve a goal?, Jason Gross, 05/09/2020
- Re: [Coq-Club] Using hint databases to partially solve a goal?, jonikelee AT gmail.com, 05/09/2020
- Re: [Coq-Club] Using hint databases to partially solve a goal?, Qinshi Wang, 05/09/2020
- Re: [Coq-Club] Using hint databases to partially solve a goal?, Théo Zimmermann, 05/09/2020
- Re: [Coq-Club] Using hint databases to partially solve a goal?, jonikelee AT gmail.com, 05/09/2020
- Re: [Coq-Club] Using hint databases to partially solve a goal?, Yannick Zakowski, 05/11/2020
- Re: [Coq-Club] Using hint databases to partially solve a goal?, Théo Zimmermann, 05/11/2020
- Re: [Coq-Club] Using hint databases to partially solve a goal?, jonikelee AT gmail.com, 05/09/2020
- Re: [Coq-Club] Using hint databases to partially solve a goal?, Eddy Westbrook, 05/11/2020
- Re: [Coq-Club] Using hint databases to partially solve a goal?, jonikelee AT gmail.com, 05/12/2020
- Re: [Coq-Club] Using hint databases to partially solve a goal?, Eddy Westbrook, 05/13/2020
- Re: [Coq-Club] Using hint databases to partially solve a goal?, Eddy Westbrook, 05/13/2020
- Re: [Coq-Club] Using hint databases to partially solve a goal?, Eddy Westbrook, 05/13/2020
- Re: [Coq-Club] Using hint databases to partially solve a goal?, jonikelee AT gmail.com, 05/12/2020
- Re: [Coq-Club] Using hint databases to partially solve a goal?, Jason Gross, 05/09/2020
Archive powered by MHonArc 2.6.18.