coq-club AT inria.fr
Subject: The Coq mailing list
List archive
- From: courtieu <pierre.courtieu AT gmail.com>
- To: coq-club <coq-club AT pauillac.inria.fr>
- Subject: Re: [Coq-Club] Re: allowing non-structurally terminating functions ?
- Date: Wed, 18 Jun 2008 21:40:08 +0200
- Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=date:from:to:subject:message-id:in-reply-to:references:x-mailer :mime-version:content-type:content-transfer-encoding; b=qZEs02Itr3gclUEHFuo/Y2FyfEcPyQMcdzBVP1LEe6RYIQkFLrGycJd0pnfB5k0MRS FPK5gQ9aIBFR7Jy6Muhc1I9MSQBIxAelJLCrXcc5t/82jYftHDPqp7RNOgM/TOIbY70J XOBBwaBV7ALrdZPLKboklm94kYlksnUz7GnPw=
- List-archive: <http://pauillac.inria.fr/pipermail/coq-club/>
Le Sun, 15 Jun 2008 13:48:20 +0200,
Matthieu Sozeau
<sozeau AT lri.fr>
a écrit :
> > If it is understood that this sort of function need a lot of care,
> > we might as well decide arbitrarily that iota-reduction watches
> > the first argument everytime (it would be quite of an interesting
> > accident that choosing another argument would be of any interest
> > whatsoever). Anyway, the need to check that a particular argument
> > is constructed before unfolding the fixpoint is an artefact of
> > structural recursion, therefore we shouldn't need any for non-
> > structural recursion.
>
> Of course, but the only means of informing the reduction machine of
> some strategy is through that information (as of now) and I don't
> see any other way of getting as-reasonable-as-possible reductions
> with unchecked fixpoints. My proposal is geared towards functions
> that are actually structurally decreasing but where the syntactic
> criterion fails. { unchecked-struct } might be a better name?
Hi all,
maybe this the point. As far as I understand, the strategy based
on structural argument (unfolding fixpoint only when decreasing arg
has a head constructor) has the good property to terminate even if a non
terminating function is defined (in an inconsistent environment for
example). This is important because *typing* (more precisely
conversion) remains terminating (if I understand well) even if
the typing environment is inconsistent.
Do we want to lose this property (termination of typing even in
presence of inconsistent environments)?
Is there a way to keep this property without structural
argument strategy? Maybe experts can answer this question.
Pierre
- [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 ?,
Matthieu Sozeau
- Re: [Coq-Club] Re: allowing non-structurally terminating functions ?, courtieu
- Re: [Coq-Club] Re: allowing non-structurally terminating functions ?, Julien Forest
- Re: [Coq-Club] Re: allowing non-structurally terminating functions ?,
Matthieu Sozeau
- 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 ?,
Arnaud Spiwack
- Re: [Coq-Club] Re: allowing non-structurally terminating functions ?,
Matthieu Sozeau
Archive powered by MhonArc 2.6.16.