Skip to Content.
Sympa Menu

coq-club - Re: [Coq-Club] Fixpoint definitions over Z

coq-club AT inria.fr

Subject: The Coq mailing list

List archive

Re: [Coq-Club] Fixpoint definitions over Z


chronological Thread 
  • From: Jean-Marc Notin <notin AT lix.polytechnique.fr>
  • To: Hermann Lehner <hermann.lehner AT inf.ethz.ch>
  • Cc: Coq Club <coq-club AT pauillac.inria.fr>
  • Subject: Re: [Coq-Club] Fixpoint definitions over Z
  • Date: Mon, 26 May 2008 15:12:17 +0200
  • List-archive: <http://pauillac.inria.fr/pipermail/coq-club/>
  • Organization: CNRS - LIX

Hello,

There is different ways in Coq for defining such a function. One is to
use the 'Function' definition:

Require Import ZArith.
Require Import Recdef.
Open Scope Z_scope.

Function SumFilterZRec (z: Z) (filter: Z -> bool) (hi: Z) {wf Zgt z} :
Z :=
   match Zcompare z hi with
   | Lt => if filter z then
             z + SumFilterZRec (Zsucc z) filter hi
           else
             SumFilterZRec (Zsucc z) filter hi
   | _ => 0
   end.

Definition SumFilterZ (filter : Z -> bool) (lo : Z) (hi : Z) : Z :=
   match Zcompare lo hi with
   | Lt => SumFilterZRec lo filter hi
   | _ => 0
   end.


-- 
Jean-Marc Notin
LIX - Équipe TypiCal

Attachment: smime.p7s
Description: S/MIME cryptographic signature




Archive powered by MhonArc 2.6.16.

Top of Page