fact: Definition CacheSig : ADTSig := ADTsignature { Constructor "EmptyCache" : unit -> rep, Method "AddKey" : rep x (Key * Value) -> rep x bool, Method "UpdateKey" : rep x (Key * (Value -> Value)) -> rep x bool, Method "LookupKey" : rep x Key -> rep x (option Value) }.
imports: Coq.Strings.String Coq.ZArith.ZArith Coq.Lists.List Coq.Logic.FunctionalExtensionality Coq.Sets.Ensembles Fiat.Computation Fiat.ADT Fiat.ADTRefinement Fiat.ADTNotation Fiat.ADTRefinement.BuildADTRefinements Examples.CacheADT.KVEnsembles