From 1d628d4bc6ce7514d82914038921b55d627b040a Mon Sep 17 00:00:00 2001 From: Robbert Krebbers <mail@robbertkrebbers.nl> Date: Thu, 19 Nov 2015 09:31:40 +0100 Subject: [PATCH] Do not let simple unfold structure projections. --- iris/cmra.v | 11 +++++++++++ iris/cmra_maps.v | 2 +- iris/cofe.v | 5 +++++ 3 files changed, 17 insertions(+), 1 deletion(-) diff --git a/iris/cmra.v b/iris/cmra.v index d94b0b1fb..e4c5589ae 100644 --- a/iris/cmra.v +++ b/iris/cmra.v @@ -52,6 +52,17 @@ Structure cmraT := CMRAT { cmra_extend : CMRAExtend cmra_car }. Arguments CMRAT _ {_ _ _ _ _ _ _ _ _ _ _}. +Arguments cmra_car _ : simpl never. +Arguments cmra_equiv _ _ _ : simpl never. +Arguments cmra_dist _ _ _ _ : simpl never. +Arguments cmra_compl _ _ : simpl never. +Arguments cmra_unit _ _ : simpl never. +Arguments cmra_op _ _ _ : simpl never. +Arguments cmra_valid _ _ : simpl never. +Arguments cmra_validN _ _ _ : simpl never. +Arguments cmra_included _ _ _ : simpl never. +Arguments cmra_minus _ _ _ : simpl never. +Arguments cmra_cmra _ : simpl never. Add Printing Constructor cmraT. Existing Instances cmra_equiv cmra_dist cmra_compl cmra_unit cmra_op cmra_valid cmra_validN cmra_included cmra_minus cmra_cmra cmra_extend. diff --git a/iris/cmra_maps.v b/iris/cmra_maps.v index 467f3951b..68591bece 100644 --- a/iris/cmra_maps.v +++ b/iris/cmra_maps.v @@ -138,7 +138,7 @@ Section map. * by intros m1 m2 Hm i; rewrite !lookup_fmap; apply included_preserving. * by intros n m ? i; rewrite lookup_fmap; apply validN_preserving. Qed. - Local Hint Extern 0 => simpl; apply map_fmap_ne : typeclass_instances. + Hint Resolve (map_fmap_ne (M:=M)) : typeclass_instances. Definition mapRA_map {A B : cmraT} (f : A -n> B) : mapRA A -n> mapRA B := CofeMor (fmap f : mapRA A → mapRA B). Global Instance mapRA_map_ne {A B} n : diff --git a/iris/cofe.v b/iris/cofe.v index 38fc2051a..eb43c721c 100644 --- a/iris/cofe.v +++ b/iris/cofe.v @@ -45,6 +45,11 @@ Structure cofeT := CofeT { Arguments CofeT _ {_ _ _ _}. Add Printing Constructor cofeT. Existing Instances cofe_equiv cofe_dist cofe_compl cofe_cofe. +Arguments cofe_car _ : simpl never. +Arguments cofe_equiv _ _ _ : simpl never. +Arguments cofe_dist _ _ _ _ : simpl never. +Arguments cofe_compl _ _ : simpl never. +Arguments cofe_cofe _ : simpl never. (** General properties *) Section cofe. -- GitLab