proposition: Lemma simpl_override_test: forall (V: Type) m k1 k2 k3 (v: V), ((not (k2 = k1)) /\(not (k1 = k3))) -> ((override m k1 v) k1 = v /\ (override m k1 v) k2 = m k2 /\ (override m k1 v) k3 = m k3).
proof: Proof. intros. open_conjs. split_all. simpl_override. reflexivity. simpl_override. reflexivity. simpl_override. reflexivity. Qed.
imports: Coq(FunctionalExtensionality Arith Lia) Coq(Arith.Peano_dec Arith.Compare_dec) Coq(Relations.Relation_Operators) Coq(List) Chapar(Predefs)