proposition: Lemma cacheAddDNPointer_pf : forall (ce : CacheFormat) (cd : CacheDecode) (t : string * pointerT), Equiv ce cd -> add_ptr_OK t ce cd -> Equiv (fst ce, association_list_add (snd ce) (fst t) (snd t)) (fst cd, association_list_add (snd cd) (snd t) (fst t)).
proof: Proof. simpl; intuition eauto; simpl in *; subst; eauto; unfold add_ptr_OK in *. destruct t; simpl in *; simpl association_list_add; try econstructor; eauto. clear H3; induction b0; simpl. - intuition. - simpl in H0; destruct a; find_if_inside; try discriminate. intuition. Qed.
imports: Fiat.Common.Coq__8_4__8_5__Compat Coq.ZArith.ZArith Coq.Lists.List Coq.Strings.String Coq.Arith.Mult Fiat.Common Fiat.Common.DecideableEnsembles Fiat.Narcissus.Common.Specs Fiat.Narcissus.Stores.Cache Fiat.Narcissus.Formats.DomainNameOpt Bedrock.Word