Skip to Content.
Sympa Menu

coq-club - Re: [Coq-Club] Axioms in default hint databases

coq-club AT inria.fr

Subject: The Coq mailing list

List archive

Re: [Coq-Club] Axioms in default hint databases


Chronological Thread 
  • From: Matthieu Sozeau <mattam AT mattam.org>
  • To: coq-club AT inria.fr
  • Subject: Re: [Coq-Club] Axioms in default hint databases
  • Date: Wed, 16 Dec 2015 10:41:03 +0000
  • Authentication-results: mail2-smtp-roc.national.inria.fr; spf=None smtp.pra=mattam AT mattam.org; spf=Pass smtp.mailfrom=matthieu.sozeau AT gmail.com; spf=None smtp.helo=postmaster AT mail-wm0-f47.google.com
  • Ironport-phdr: 9a23:p+JHVhyHn8kEqWvXCy+O+j09IxM/srCxBDY+r6Qd0ekQIJqq85mqBkHD//Il1AaPBtWFragVwLOI+4nbGkU+or+5+EgYd5JNUxJXwe43pCcHRPC/NEvgMfTxZDY7FskRHHVs/nW8LFQHUJ2mPw6anHS+4HYoFwnlMkItf6KuStCU1ZX8jr760qaQSjsLrQL1Wal1IhSyoFeZnegtqqwmFJwMzADUqGBDYeVcyDAgD1uSmxHh+pX4p8Y7oGwD884mosVHSODxe7kyZb1eFjUvdW4vt+PxshyWaAKT+nsdX3heqR1aDgHYpEX/V4vtuy7Ss+NhxCCfe8rsQuZnCnyZ8653RUqw2288PDkj/TSPhw==

Hi,

  For firstorder this can be set using Set Firstorder Solver.
You might want to use [Remove Hints] otherwise, indeed it's
pretty bad to have an axiom be part of the initial auto with *
database.
Best,
-- Matthieu

On Wed, Dec 16, 2015 at 1:35 AM Jonathan Leivent <jonikelee AT gmail.com> wrote:


On 12/15/2015 07:22 PM, Gregory Malecha wrote:
> Hello --
>
> I just did a "Print Assumptions foo" on my final theorem and found out that
> some of my development depends on the following axiom:
>
> Eqdep.Eq_rect_eq.eq_rect_eq : forall (U : Type) (p : U)
>                                  (Q : U -> Type) (x : Q p)
>                                  (h : p = p), x = eq_rect p Q x p h
>
> After tracing down the bug for about 20 minutes, I found that it was
> introduced by a call to [intuition]. [intuition] uses some hint databases
> that include axioms. The above axiom was included by the following chain of
> includes and definitions.
>
> Coq.Classes.EquivDec
> which includes
> Coq.Program.Program
> which includes
> Coq.Program.Equality
> which defines the following
>
> Ltac is_ground_goal :=
>    match goal with
>      |- ?T => is_ground T
>    end.
>
> (** Try to find a contradiction. *)
> Hint Extern 10 => is_ground_goal ; progress exfalso : exfalso.
>
> and includes
> Coq.Logic.Eqdep
> which contains the hint
> Hint Resolve eq_dep_eq: eqdep v62.
>
> I assume that one of these databases (eqdep or v62) is included by default.
>
> This seems like bad behavior and I'm wondering if it is possible to prevent
> tactics from using axioms that occur in hint databases. I'm also wondering
> if anyone knows a fragment of the standard library that is safe to use and
> avoid axioms.
>

intuition is really a shorthand for "intuition auto with *"  - so if you
want intuition to restrict the hint database, you need to provide its
secondary tactic instead of allowing that to default to "auto with *".

There aren't many built in tactics that do things like "auto with *".
Another is firstorder, which is an enhanced version of intuition.  I
can't think of any more.

-- Jonathan





Archive powered by MHonArc 2.6.18.

Top of Page