diff --git a/semantics.opam b/semantics.opam index 8a1bf0b708f7dbc2ee06aa592da9d1b7c078f0d3..6f91b8e4711dea9bdc7bec944af14a3fe628d9c6 100644 --- a/semantics.opam +++ b/semantics.opam @@ -10,7 +10,7 @@ version: "dev" depends: [ "coq" { (>= "8.13" & < "8.17~") | (= "dev") } - "coq-iris-heap-lang" { (= "dev.2023-03-07.1.7e127436") | (= "dev") } + "coq-iris-heap-lang" { (= "dev.2023-03-18.3.1b3e86bb") | (= "dev") } "coq-equations" { (= "1.2.4+8.13") | (= "1.3+8.14") | (= "1.3+8.15") | (= "1.3+8.16") } "coq-autosubst" { (= "1.7") | (= "dev") } ] diff --git a/theories/program_logics/heap_lang/derived_laws.v b/theories/program_logics/heap_lang/derived_laws.v index f7037610faf8c384886460bab7c06e0a62a846a9..e43905d49d470a2a6a8afcdd1d375db5cd44764c 100644 --- a/theories/program_logics/heap_lang/derived_laws.v +++ b/theories/program_logics/heap_lang/derived_laws.v @@ -53,20 +53,20 @@ Lemma array_nil l dq : l ↦∗{dq} [] ⊣⊢ emp. Proof. by rewrite /array. Qed. Lemma array_singleton l dq v : l ↦∗{dq} [v] ⊣⊢ l ↦{dq} v. -Proof. by rewrite /array /= right_id loc_add_0. Qed. +Proof. by rewrite /array /= right_id Loc.add_0. Qed. Lemma array_app l dq vs ws : l ↦∗{dq} (vs ++ ws) ⊣⊢ l ↦∗{dq} vs ∗ (l +ₗ length vs) ↦∗{dq} ws. Proof. rewrite /array big_sepL_app. setoid_rewrite Nat2Z.inj_add. - by setoid_rewrite loc_add_assoc. + by setoid_rewrite Loc.add_assoc. Qed. Lemma array_cons l dq v vs : l ↦∗{dq} (v :: vs) ⊣⊢ l ↦{dq} v ∗ (l +ₗ 1) ↦∗{dq} vs. Proof. - rewrite /array big_sepL_cons loc_add_0. - setoid_rewrite loc_add_assoc. + rewrite /array big_sepL_cons Loc.add_0. + setoid_rewrite Loc.add_assoc. setoid_rewrite Nat2Z.inj_succ. by setoid_rewrite Z.add_1_l. Qed. @@ -104,7 +104,7 @@ Proof. { done. } iIntros "[$ Hl]". rewrite -fmap_S_seq big_sepL_fmap. setoid_rewrite Nat2Z.inj_succ. setoid_rewrite <-Z.add_1_l. - setoid_rewrite <-loc_add_assoc. iApply "IH". done. + setoid_rewrite <-Loc.add_assoc. iApply "IH". done. Qed. Lemma wp_allocN s E v n Φ : diff --git a/theories/program_logics/heap_lang/primitive_laws.v b/theories/program_logics/heap_lang/primitive_laws.v index 79557df40e587d0bd33e7cfc6a587a28c2e10e0c..e749f58cea36a654dc23f2753b642d0f6c136c92 100644 --- a/theories/program_logics/heap_lang/primitive_laws.v +++ b/theories/program_logics/heap_lang/primitive_laws.v @@ -97,10 +97,10 @@ Proof. rewrite big_opM_union; last first. { apply map_disjoint_spec=> l' v1 v2 /lookup_singleton_Some [-> _]. intros (j&w&?&Hjl&_)%heap_array_lookup. - rewrite loc_add_assoc -{1}[l']loc_add_0 in Hjl. simplify_eq; lia. } - rewrite loc_add_0 -fmap_S_seq big_sepL_fmap. + rewrite Loc.add_assoc -{1}[l']Loc.add_0 in Hjl. simplify_eq; lia. } + rewrite Loc.add_0 -fmap_S_seq big_sepL_fmap. setoid_rewrite Nat2Z.inj_succ. setoid_rewrite <-Z.add_1_l. - setoid_rewrite <-loc_add_assoc. + setoid_rewrite <-Loc.add_assoc. rewrite big_opM_singleton; iDestruct "Hvs" as "[$ Hvs]". by iApply "IH". Qed. @@ -128,7 +128,7 @@ Lemma wp_alloc s E v Φ : WP Alloc (Val v) @ s; E; E {{ Φ }}. Proof. iIntros "HΦ". iApply wp_allocN_seq; [auto with lia..|]. - iIntros "!>" (l) "/= (? & _)". rewrite loc_add_0. iApply "HΦ"; iFrame. + iIntros "!>" (l) "/= (? & _)". rewrite Loc.add_0. iApply "HΦ"; iFrame. Qed. Lemma wp_free s E l v Φ : diff --git a/theories/program_logics/reloc/src_rules.v b/theories/program_logics/reloc/src_rules.v index 8d4698b5fb32509b0806edf7d6f3b4d0f989f980..abada6393b1bfdcafedb07499aa5f87973395554 100644 --- a/theories/program_logics/reloc/src_rules.v +++ b/theories/program_logics/reloc/src_rules.v @@ -224,7 +224,7 @@ Section rules. You will find the following lemmas relating to memory allocation helpful: - alloc_fresh - state_init_heap_singleton - - fresh_locs_fresh + - Loc.fresh_fresh - not_elem_of_dom - loc_add_0_l *)