src/HOL/Induct/Perm.thy
changeset 3120 c58423c20740
child 8354 c02e3c131eca
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/HOL/Induct/Perm.thy	Wed May 07 12:50:26 1997 +0200
@@ -0,0 +1,24 @@
+(*  Title:      HOL/ex/Perm.thy
+    ID:         $Id$
+    Author:     Lawrence C Paulson, Cambridge University Computer Laboratory
+    Copyright   1995  University of Cambridge
+
+Permutations: example of an inductive definition
+*)
+
+Perm = List +
+
+consts  perm    :: "('a list * 'a list) set"   
+syntax "@perm"  :: ['a list, 'a list] => bool ("_ <~~> _"  [50,50] 50)
+
+translations
+    "x <~~> y" == "(x,y) : perm"
+
+inductive perm
+  intrs
+    Nil   "[] <~~> []"
+    swap  "y#x#l <~~> x#y#l"
+    Cons  "xs <~~> ys ==> z#xs <~~> z#ys"
+    trans "[| xs <~~> ys;  ys <~~> zs |] ==> xs <~~> zs"
+
+end