Skip to Content.
Sympa Menu

coq-club - Re: [Coq-Club] Axioms reported by coqchk

coq-club AT inria.fr

Subject: The Coq mailing list

List archive

Re: [Coq-Club] Axioms reported by coqchk


Chronological Thread 
  • From: Ralf Jung <jung AT mpi-sws.org>
  • To: coq-club AT inria.fr
  • Subject: Re: [Coq-Club] Axioms reported by coqchk
  • Date: Fri, 19 Aug 2016 14:54:33 +0200
  • Authentication-results: mail3-smtp-sop.national.inria.fr; spf=None smtp.pra=jung AT mpi-sws.org; spf=Pass smtp.mailfrom=jung AT mpi-sws.org; spf=None smtp.helo=postmaster AT hera.mpi-klsb.mpg.de
  • Ironport-phdr: 9a23:baXsEhXEmMW1reh5nn0mCo6zLwvV8LGtZVwlr6E/grcLSJyIuqrYZhCAt8tkgFKBZ4jH8fUM07OQ6PG5HzZeqszR+DBaKdoXBkdD0Z1X1yUbQ+e9QXXhK/DrayFoVO9jb3RCu0+BDE5OBczlbEfTqHDhpRQbGxH4KBYnbr+tQt2asc272qiI9oHJZE0Q3XzmMOo0dkv991WZ9pFPx9AzcuBpklqBi0ALUtwe/XlvK1OXkkS0zeaL17knzR5tvek8/dVLS6TwcvdwZ7VZCDM7LzJ9v5Wz5lGQBTeIs3AbSyAdlgdCKwnD9hDzGJnr4QXgse8o4iCeM4XUULY7EWCg8qFkYBrwiWIcKCV/93vY3J8jxJlHqQ6s8kQsi7XfZ5uYYaJz

Hi,

>>> My proposal here would be to only show axioms which are actually used by
>>> a name exported by one of the modules passed to coqchk.
>
> Names which are not exported are still available via qualified names
> when importing the module, so this makes sense to include them in the
> list (i.e., if you are allowed to import the module, then you get the
> power to use these axioms).

Well, in some sense this is a heuristic. But the point is, it should be
possible to get a clean "coqchk" output if you don't actually use any
axioms. An axiom which is not (transitively) used by any symbol
exported by any of my module, I would consider "unused". If a client
uses that axiom through the fully qualified name within my library,
well, I doubt this can happen accidentally -- and after all, this *does*
show up when they run "coqchk".

However, I just realized that IIRC, Coq makes little different between

Require Import foo

and

Import Module foo.
(* Paste file contents of foo.v here *)
End foo.

This is problematic, as I would expect "coqchk" to report axioms used in
symbols in the latter case (after all, the using happens within this
module), but not in the former case.

Maybe this really asks for library designers not to import axioms if
they don't also use them. But isn't it too late for that? For example,
we import "Psatz" to get "lia", and this pulls in two dozens axioms
about real numbers that we never want to use...

Kind regards,
Ralf



Archive powered by MHonArc 2.6.18.

Top of Page