TFL/examples/Subst/AList.thy
author wenzelm
Fri, 09 May 1997 19:42:09 +0200
changeset 3150 a8faa68c68b5
parent 2113 21266526ac42
permissions -rw-r--r--
SYNC;

(*  Title:      Substitutions/alist.thy
    Author:     Martin Coen, Cambridge University Computer Laboratory
    Copyright   1993  University of Cambridge

Association lists.
*)

AList = List + 

consts

  alist_rec  :: "[('a*'b)list, 'c, ['a, 'b, ('a*'b)list, 'c]=>'c] => 'c"
  assoc      :: "['a,'b,('a*'b) list] => 'b"

rules

  alist_rec_def "alist_rec al b c == list_rec b (split c) al"

  assoc_def   "assoc v d al == alist_rec al d (%x y xs g.if v=x then y else g)"

end