coq-club AT inria.fr
Subject: The Coq mailing list
List archive
- From: Xavier RIVAL <rival AT clipper.ens.fr>
- To: Michel Levy <Michel.Levy AT imag.fr>
- Cc: "coq-club AT pauillac.inria.fr" <coq-club AT pauillac.inria.fr>
- Subject: Re: Evaluable constant
- Date: Mon, 8 Oct 2001 21:11:18 +0200 (MET DST)
Hi,
On Mon, 8 Oct 2001, Michel Levy wrote:
> Could you explain me what is an evaluable constant, more exactly, why I
> can "Unfold h" directly defined by
> Definition h := [H:bool]H : bool->bool
>
> and why it's impossible when I defined f with a proof.
> I give a short sequence leading to this situation :
Terms built in proof mode are "opaque" (i.e. non unfoldable)
whereas terms defined directly are "tranparent" (i.e. unfoldable).
You can make a term t transparent by the "Transparent t." command.
The converse is done by "Opaque t.".
For instance :
> Coq < Definition f : bool -> bool.
> 1 subgoal
>
> ============================
> bool->bool
>
> f < Intro H; Assumption.
> Subtree proved!
>
> f < Save.
> Intro H; Assumption.
>
> f is defined
>
> Coq < Print f.
> f = [H:bool]H
> : bool->bool
>
Coq < Transparent f.
Coq < Goal (b:bool)((f b) = b).
1 subgoal
============================
(b:bool)(f b)=b
Unnamed_thm < Reflexivity.
Subtree proved!
Xavier RIVAL
- Evaluable constant, Michel Levy
- Re: Evaluable constant, Xavier RIVAL
- Re: Evaluable constant, Eduardo Gimenez
- Re: Evaluable constant, Jean Goubault-Larrecq
- Re: Evaluable constant, Jean-Francois Monin
- Re: Evaluable constant, Xavier RIVAL
Archive powered by MhonArc 2.6.16.