doc-src/Tutorial/Datatype/update
author oheimb
Tue, 20 Feb 2001 18:48:34 +0100
changeset 11170 015af2fc7026
parent 5851 15ce4c1c8313
permissions -rw-r--r--
simplified proofs for splitI and splitD, added splitD' added split_conv_tac (also to claset()) as an optimization made split_all_tac safe introducing safe_full_simp_tac,EXISTING PROOFS MAY FAIL

consts update :: ('a,'v)trie => 'a list => 'v => ('a,'v)trie

primrec
  "update t []     v = Trie (Some v) (alist t)"
  "update t (a#as) v = (let tt = (case assoc (alist t) a of
                                    None => Trie None [] | Some at => at)
                        in Trie (value t) ((a,update tt as v)#alist t))"