Subst/alist.thy
author lcp
Thu, 21 Jul 1994 10:52:00 +0200
changeset 97 3f4976d8c97f
parent 0 7949f97df77a
permissions -rw-r--r--
HOL/Makefile: now test depends upon SUBST_FILES HOL/Makefile/SUBST_FILES: changed some filenames to upper case HOL/Makefile: now executes ex/ROOT.ML after Subst/ROOT.ML
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
7949f97df77a Initial revision
clasohm
parents:
diff changeset
     1
(*  Title: 	Substitutions/alist.thy
7949f97df77a Initial revision
clasohm
parents:
diff changeset
     2
    Author: 	Martin Coen, Cambridge University Computer Laboratory
7949f97df77a Initial revision
clasohm
parents:
diff changeset
     3
    Copyright   1993  University of Cambridge
7949f97df77a Initial revision
clasohm
parents:
diff changeset
     4
7949f97df77a Initial revision
clasohm
parents:
diff changeset
     5
Association lists.
7949f97df77a Initial revision
clasohm
parents:
diff changeset
     6
*)
7949f97df77a Initial revision
clasohm
parents:
diff changeset
     7
7949f97df77a Initial revision
clasohm
parents:
diff changeset
     8
AList = List + 
7949f97df77a Initial revision
clasohm
parents:
diff changeset
     9
7949f97df77a Initial revision
clasohm
parents:
diff changeset
    10
consts
7949f97df77a Initial revision
clasohm
parents:
diff changeset
    11
7949f97df77a Initial revision
clasohm
parents:
diff changeset
    12
  alist_rec  :: "[('a*'b) list,'c,['a,'b,('a*'b) list,'c]=>'c]=>'c"
7949f97df77a Initial revision
clasohm
parents:
diff changeset
    13
  assoc      :: "['a,'b,('a*'b) list] => 'b"
7949f97df77a Initial revision
clasohm
parents:
diff changeset
    14
7949f97df77a Initial revision
clasohm
parents:
diff changeset
    15
rules
7949f97df77a Initial revision
clasohm
parents:
diff changeset
    16
7949f97df77a Initial revision
clasohm
parents:
diff changeset
    17
  alist_rec_def 
7949f97df77a Initial revision
clasohm
parents:
diff changeset
    18
    "alist_rec(al,b,c) == list_rec(al,b,%p xs g.split(p,%x y.c(x,y,xs,g)))"
7949f97df77a Initial revision
clasohm
parents:
diff changeset
    19
7949f97df77a Initial revision
clasohm
parents:
diff changeset
    20
  assoc_def    "assoc(v,d,al) == alist_rec(al,d,%x y xs g.if(v=x,y,g))"
7949f97df77a Initial revision
clasohm
parents:
diff changeset
    21
7949f97df77a Initial revision
clasohm
parents:
diff changeset
    22
end