fact: Definition EnsembleUpdate (k : Key) (ens : Ensemble (Key * Value)) (f : Value -> Value) (kv : Key * Value) : Prop := ((fst kv) = k /\ exists v, (snd kv) = f v /\ Ensembles.In _ ens (k, v)) \/ (EnsembleRemove k ens kv).
imports: Coq.Sets.Ensembles Coq.Lists.List Coq.Strings.String Fiat.Common Fiat.Computation Fiat.ADT.ADTSig Fiat.ADT.Core Fiat.ADT.ComputationalADT Fiat.Common.BoundedLookup Fiat.Common.ilist Fiat.ADTNotation.BuildADTSig Fiat.Common.Coq__8_4__8_5__Compat