Skip to Content.
Sympa Menu

coq-club - [Coq-Club] Simplifying fix expressions

coq-club AT inria.fr

Subject: The Coq mailing list

List archive

[Coq-Club] Simplifying fix expressions


Chronological Thread 
  • From: Larry Lee <llee454 AT gmail.com>
  • To: coq-club AT inria.fr
  • Subject: [Coq-Club] Simplifying fix expressions
  • Date: Wed, 31 Dec 2014 16:08:59 -0500

Is it possible to simplify fixed point expressions over non-constant arguments?

The Eval command and the lazy and cbv tactics can be used to simplify these expressions over constants. For example:

    Eval lazy iota in ((fix f (x : nat) := if eq_nat_dec x 0 then true else false) 1).

evaluates to

    (fun (x : nat) => if eq_nat_dec x 0 then true else false) 1.

but

    Eval lazy iota in ((fix f (x : nat) := if eq_nat_dec x 0 then true else false) y).

should evaluate to

    (fun (x : nat) => if eq_nat_dec x 0 then true else false) y

but does not simplify at all.

Is there something that I'm missing?

Thanks,
Larry



Archive powered by MHonArc 2.6.18.

Top of Page