*To*: lucas cavalcante <thesupervisar at gmail.com>*Subject*: Re: [isabelle] simple question*From*: George Karabotsos <g_karab at cs.concordia.ca>*Date*: Sat, 04 Aug 2007 20:15:09 -0400*Cc*: cl-isabelle-users at lists.cam.ac.uk*In-reply-to*: <b4d8f2180708031553k69554d9ck389befdf234b842d@mail.gmail.com>*References*: <b4d8f2180708031553k69554d9ck389befdf234b842d@mail.gmail.com>*User-agent*: Thunderbird 1.5.0.7 (X11/20060909)

Hi Lucas,

I took the liberty to modify it a bit and here is an alternative definition: datatype frm = At sbf | Nt frm | Nts frm; consts f :: "frm => frm" primrec "f (At x) = At x" "f (Nt x) = Nt x" "f (Nts x) = f x" I hope it helps. George lucas cavalcante wrote:

Hello all, The function 'f' (above) does not work, returning the fallowing message. I'd like to know what's wrong in this definition. typedecl sbf datatype frm = At sbf | Nt frm consts f :: "frm => frm" primrec "f (At x) = At x" "f (Nt x) = Nt(x)" "f (Nt(Nt x)) = f (x)" *** Primrec definition error: *** illegal argument in pattern *** in *** "f (Nt (Nt x)) = f x" *** At command "primrec". Thank you, Lucas Cavalcante

**References**:**[isabelle] simple question***From:*lucas cavalcante

- Previous by Date: Re: [isabelle] help
- Next by Date: Re: [isabelle] simple question
- Previous by Thread: [isabelle] simple question
- Next by Thread: Re: [isabelle] simple question
- Cl-isabelle-users August 2007 archives indexes sorted by: [ thread ] [ subject ] [ author ] [ date ]
- Cl-isabelle-users list archive Table of Contents
- More information about the Cl-isabelle-users mailing list