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: Jacques-Henri Jourdan <jacques-henri.jourdan AT normalesup.org>
  • To: coq-club AT inria.fr
  • Subject: Re: [Coq-Club] Axioms reported by coqchk
  • Date: Fri, 19 Aug 2016 15:05:58 +0200
  • Authentication-results: mail2-smtp-roc.national.inria.fr; spf=None smtp.pra=jacques-henri.jourdan AT normalesup.org; spf=Neutral smtp.mailfrom=jacques-henri.jourdan AT normalesup.org; spf=None smtp.helo=postmaster AT ulminfo.fr
  • Ironport-phdr: 9a23:U+LzvRFk+UJbU8Ll5jf+7Z1GYnF86YWxBRYc798ds5kLTJ75oMWwAkXT6L1XgUPTWs2DsrQf2rOQ6f6rBDFIoc7Y9itTKNoUD15NoP5VtjRoONSCB0z/IayiRA0BN+MGamVY+WqmO1NeAsf0ag6aiHSz6TkPBke3blItdazLE4Lfx/66y/q1s8WKJV4Z3XznP/gvcV329VyX7ZhOx9M6a+4Y8VjgmjNwYeNYxGdldxq4vi3XwYOOxqNl6DlaoPk79sRNAu3QdqU8SqFEXnx9azhmrJ6jiR6WRgyWo3AYT28+kxxSAgGD4gupcI32t37Yv+FkxSSBeO37S6o1ERal8r1nQRmg3CUOPCck/XqSisF2lqMdohW8vRB2xabSZ5uQPf5zZb7FO9QASjwSDY5qSyVdD9bkPMM0BO0bMLMAog==



On 08/19/2016 02:54 PM, Ralf Jung wrote:
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

I think the point of the list of axioms returned by coqchk is just to give you the list of things you can access when importing the module. Making its behavior depend on namespacing considerations would be rather strange.

But yes, I think there is a need for omething like "Print Assumptions" in coqchk. But that should be theoremwise (meaning you ask the question for each theorem, or set of theorems).





Archive powered by MHonArc 2.6.18.

Top of Page