coq-club AT inria.fr
Subject: The Coq mailing list
List archive
- From: frederic.blanqui AT loria.fr
- To: coq-club AT pauillac.inria.fr
- Subject: Re: [Coq-Club] allowing non-structurally terminating functions ?
- Date: Sun, 15 Jun 2008 11:32:04 +0200 (CEST)
- List-archive: <http://pauillac.inria.fr/pipermail/coq-club/>
On Fri, 13 Jun 2008, Julien Forest wrote:
On Fri, 13 Jun 2008 11:32:12 +0200 (CEST)
frederic.blanqui AT loria.fr
wrote:
Hello. As it is well known, many function definitions are rejected by Coq
since they do not pass Coq termination checker which accepts only structurally
terminating functions. Would it be possible to add a new command line option
to coqc that would disable the termination checker?
Hello Frederic,
If you do so, you will probably get a inconsistent environment for the
first function you will define without checking its termination (I
agree that for YOU it will probably not be for the first one).
I know that you -may- loose consistency for some non-terminating functions, although I don't think that non-termination -always- implies inconsistency.
But that's why I propose to use an option: a file compiled with this option won't be recognized as a completely safe coq proof. But the user is aware of this.
On the other side, you have now several method to define non structural
functions (Fix, Program Fixpoint and Function are all in the standard
distribution) which leads to reducible functions AND preserve the
consistency of the environment.
These methods are too restrictive. In particular, Function does not support mutually defined functions.
If those methods fails (because the terminaison proof is too hugly or you really don't want to make the proof, why not axiomatize your function with something like:
Axiom f x y z : t.
Axiom f_equation: foral x y z, f x y z = <body of f> ?
This is a good idea. But you cannot use compute in this case.
- [Coq-Club] allowing non-structurally terminating functions ?, frederic . blanqui
- Re: [Coq-Club] allowing non-structurally terminating functions ?, Johannes Waldmann
- Re: [Coq-Club] allowing non-structurally terminating functions ?,
Julien Forest
- Re: [Coq-Club] allowing non-structurally terminating functions ?, frederic . blanqui
- [Coq-Club] Re: allowing non-structurally terminating functions ?,
frederic . blanqui
- Re: [Coq-Club] Re: allowing non-structurally terminating functions ?,
Matthieu Sozeau
- Re: [Coq-Club] Re: allowing non-structurally terminating functions ?, Arnaud Spiwack
- Re: [Coq-Club] Re: allowing non-structurally terminating functions ?,
Pierre Letouzey
- Re: [Coq-Club] Re: allowing non-structurally terminating functions ?, Benjamin Werner
- Re: [Coq-Club] Re: allowing non-structurally terminating functions ?,
Matthieu Sozeau
Archive powered by MhonArc 2.6.16.