1signature LVTermNet = 2sig 3 4 (* signature names modelled on Binarymap's *) 5 type 'a lvtermnet 6 type term = Term.term 7 type key = Term.term list * Term.term 8 9 val empty : 'a lvtermnet 10 val insert : ('a lvtermnet * key * 'a) -> 'a lvtermnet 11 val find : 'a lvtermnet * key -> 'a list 12 val peek : 'a lvtermnet * key -> 'a list 13 val match : 'a lvtermnet * term -> (key * 'a) list 14 15 val delete : 'a lvtermnet * key -> 'a lvtermnet * 'a list 16 val numItems : 'a lvtermnet -> int 17 val listItems : 'a lvtermnet -> (key * 'a) list 18 val app : (key * 'a list -> unit) -> 'a lvtermnet -> unit 19 val fold : (key * 'a * 'b -> 'b) -> 'b -> 'a lvtermnet -> 'b 20 21 val map : (key * 'a -> 'b) -> 'a lvtermnet -> 'b lvtermnet 22 val transform : ('a -> 'b) -> 'a lvtermnet -> 'b lvtermnet 23 24end 25