Skip to Content.
Sympa Menu

coq-club - [Coq-Club] Recursive identify function

coq-club AT inria.fr

Subject: The Coq mailing list

List archive

[Coq-Club] Recursive identify function


chronological Thread 
  • From: "Terrell, Jeffrey" <jeffrey.terrell AT kcl.ac.uk>
  • To: coq-club <coq-club AT inria.fr>
  • Subject: [Coq-Club] Recursive identify function
  • Date: Tue, 1 May 2012 20:37:40 +0000
  • Accept-language: en-GB, en-US

Hi,

Given

Inductive C : Set :=
   Build_C : list C -> C.

how would you define a function with the same functionality as

Definition f (c : C) : C := c

but which constructed its return value recursively? Presumably Coq won't accept

Fixpoint h (l : list C) : list C :=
   match l with |
      nil => nil |
      c :: l' => g c :: h l'
   end
with g (c : C) : C :=
   match c with |
      Build_C x => Build_C (h x)
   end.

because it cannot be sure that the function will terminate.

Thanks.

Regards,
Jeff.



Archive powered by MhonArc 2.6.16.

Top of Page