Skip to Content.
Sympa Menu

coq-club - Re: [Coq-Club] Using hint databases to partially solve a goal?

coq-club AT inria.fr

Subject: The Coq mailing list

List archive

Re: [Coq-Club] Using hint databases to partially solve a goal?


Chronological Thread 
  • From: "jonikelee AT gmail.com" <jonikelee AT gmail.com>
  • To: Jason Gross <jasongross9 AT gmail.com>
  • Cc: coq-club AT inria.fr
  • Subject: Re: [Coq-Club] Using hint databases to partially solve a goal?
  • Date: Sat, 9 May 2020 01:02:51 -0400
  • Authentication-results: mail3-smtp-sop.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-qk1-f171.google.com
  • Ironport-phdr: 9a23:34UlERWOdhAO/TNlHUrYTK41k+nV8LGtZVwlr6E/grcLSJyIuqrYbRGOt8tkgFKBZ4jH8fUM07OQ7/m9Hzxcqsbd+Fk5M7V0HycfjssXmwFySOWkMmbcaMDQUiohAc5ZX0Vk9XzoeWJcGcL5ekGA6ibqtW1aFRrwLxd6KfroEYDOkcu3y/qy+5rOaAlUmTaxe7x/IAi2oAnLtcQbjoRuJ6U+xxDUvnZGZuNayH9yK1mOhRj8/MCw/JBi8yRUpf0s8tNLXLv5caolU7FWFSwqPG8p6sLlsxnDVhaP6WAHUmoKiBpIAhPK4w/8U5zsryb1rOt92C2dPc3rUbA5XCmp4ql3RBP0jioMKiU0+3/LhMNukK1boQqhpx1hzI7SfIGVL+d1cqfEcd8HWWZNQsNdWipcCY2+coQPFfIMM+hYoYfjulUArhmxBQerCuzg1jBGiWT73bEj0+kvDQ3LxhAsEtAIvX/JrNv1LqASUeWtwaXGzzXDaPVW2Tb+6IfWdhAuv++DUKl/ccrU00YvFgfFgk+MpoziOjOZ2PkGvm+Z7+pnU+Kvim0npB91ojex2MghkYbJhocPxVDF8SV12po6Jdq9SENiZ9OvDZRfuT2AOYRsXsMiX39nuDw8yrAeuJO3YiYHxZA7yxPQafGLbYiF7xH/WeufITl0mnxrdbG+ihuv7EWtyfPxW8e73VpWriRIkNbBum4C2hLc9sWKSP1w9Vqi1zaXzw3f9P1ILEQumafYK5Mt2KA8moQNvUjZAyP7mlj6gLeIekgl5uSk9uHqbqjiq5CAMoJ5hQDzPrgylsG6H+g3KQYOUHWe9Om817Ds5lH2TbBKg/IqnKnZvpXXJcoFqaO2HgBY150s5Au+Aji91tkTgGMJI0hfeB2diojkI1HOL+78Dfe4m1mslS1kx/HCPrH4G5XNLWXPnK7vfbpg6UNQ1RA/zd9Y55JTBbEBJOz8VlXtu9zfCx81Kw20w+D5B9Vhzo4SR36DD6uDPK7RsVKE/PwjL/eSaIMPpTrwKeUp6+brjXAjmF8deaep3YEQaHC9BvlmIUKZYXztgtcCD2gKuhQxQ/LxhV2NVD5cfXeyX6Ym6j4nD4KmCJ/PRpqxj7yZwCe7AppWa3haBVCLCHfkbpmLW/MRaC2JOcJhiTwFVb25S4A7zx2utQn6y6BmLuXO4CEYu4jjh5BJ4LjxnAo183RbFcOGyCnZTWhvmWUHXTgtx/FXrkl0y1PF2q991a92D9tWsrlLVQE7NpPYwuFSBNX7WwaHddCMAh7yQNKgADI8St8869ALakd5Xd6li0aQjGKRH7YJmunTV9QP+aXG0i20fp4lkieU5Owal1AjB/B3Gyijj697+RLUAteQwUqcnqeuM68b2XyUrTrR/S+1pEhdFTVIf+DFUHQYPBWEqN344gbbTObrB+14a01OzsmNLqYMYdrs3w0fGKXTfe/Gamf0oF+eQA6Sz+rVPoXvcmQZmi7aDRpcng==

On Fri, 8 May 2020 21:33:32 -0400
Jason Gross
<jasongross9 AT gmail.com>
wrote:

> I believe you can add `shelve` as a hint, and this will allow the
> search to succeed with a partial solution. You can then use
> `unshelve eauto` to get back the left-over goals

That sounds familiar, Jason. Didn't you once advise me to try this? I
recall trying something like "Hint Extern 999 _ => shelve : db". I
don't recall it working out that well, though.

Eddy, can you make the rules into rewrites, and use autorewrite with db
instead?

>
> On Fri, May 8, 2020, 20:06 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




Archive powered by MHonArc 2.6.18.

Top of Page