Skip to Content.
Sympa Menu

coq-club - [Coq-Club]Inheritance in Coq?

coq-club AT inria.fr

Subject: The Coq mailing list

List archive

[Coq-Club]Inheritance in Coq?


chronological Thread 
  • From: Satrajit Roy <admin AT satrajit.com>
  • To: coq-club AT pauillac.inria.fr
  • Subject: [Coq-Club]Inheritance in Coq?
  • Date: Sat, 1 Apr 2006 20:03:38 -0800 (PST)
  • List-archive: <http://pauillac.inria.fr/pipermail/coq-club/>

I'm new to Coq. How can I define something like the following in Coq:

Inductive kind:Set:= | x | y | z.

Inductive xKind:kind:=|x'|x''|..|x''''.
Inductive yKind:kind:=|y'|y''|..|y''''.
Inductive zKind:kind:=|z'|z''|..|z''''.

FixPoint funcKind (k:kind) (...) .. {struct k} : kind := match k with
| x => some recursive term using xKind
| y => some recursive term using yKind
| z => some recursive term using zKind
end.

I know the above is syntactically wrong. But I hope I got my intention across.
Is the above even possible?

Thanks in anticipation.






Archive powered by MhonArc 2.6.16.

Top of Page