diff --git a/iris/bi/big_op.v b/iris/bi/big_op.v index e7b702f290ecdd70a65db7c8e2989a21d0c45597..8f29847b1569607e6da81da14ec46bbfa06625f1 100644 --- a/iris/bi/big_op.v +++ b/iris/bi/big_op.v @@ -743,19 +743,19 @@ Section sep_list2. by rewrite IH. Qed. - Lemma big_sepL_sepL2 (Φ1 : nat → A → PROP) (Φ2 : nat → B → PROP) l1 l2 : + Lemma big_sepL2_sepL (Φ1 : nat → A → PROP) (Φ2 : nat → B → PROP) l1 l2 : length l1 = length l2 → ([∗ list] k↦y1;y2 ∈ l1;l2, Φ1 k y1 ∗ Φ2 k y2) ⊣⊢ ([∗ list] k↦y1 ∈ l1, Φ1 k y1) ∗ ([∗ list] k↦y2 ∈ l2, Φ2 k y2). Proof. intros. rewrite -big_sepL_sep_zip // big_sepL2_alt pure_True // left_id //. Qed. - Lemma big_sepL_sepL2_2 (Φ1 : nat → A → PROP) (Φ2 : nat → B → PROP) l1 l2 : + Lemma big_sepL2_sepL_2 (Φ1 : nat → A → PROP) (Φ2 : nat → B → PROP) l1 l2 : length l1 = length l2 → ([∗ list] k↦y1 ∈ l1, Φ1 k y1) -∗ ([∗ list] k↦y2 ∈ l2, Φ2 k y2) -∗ [∗ list] k↦y1;y2 ∈ l1;l2, Φ1 k y1 ∗ Φ2 k y2. - Proof. intros. apply wand_intro_r. by rewrite big_sepL_sepL2. Qed. + Proof. intros. apply wand_intro_r. by rewrite big_sepL2_sepL. Qed. Global Instance big_sepL2_nil_persistent Φ : Persistent ([∗ list] k↦y1;y2 ∈ []; [], Φ k y1 y2). @@ -1715,19 +1715,19 @@ Section map2. apply big_sepM2_mono. eauto. Qed. - Lemma big_sepM_sepM2 (Φ1 : K → A → PROP) (Φ2 : K → B → PROP) m1 m2 : + Lemma big_sepM2_sepM (Φ1 : K → A → PROP) (Φ2 : K → B → PROP) m1 m2 : (∀ k, is_Some (m1 !! k) ↔ is_Some (m2 !! k)) → ([∗ map] k↦y1;y2 ∈ m1;m2, Φ1 k y1 ∗ Φ2 k y2) ⊣⊢ ([∗ map] k↦y1 ∈ m1, Φ1 k y1) ∗ ([∗ map] k↦y2 ∈ m2, Φ2 k y2). Proof. intros. rewrite -big_sepM_sep_zip // big_sepM2_alt pure_True // left_id //. Qed. - Lemma big_sepM_sepM2_2 (Φ1 : K → A → PROP) (Φ2 : K → B → PROP) m1 m2 : + Lemma big_sepM2_sepM_2 (Φ1 : K → A → PROP) (Φ2 : K → B → PROP) m1 m2 : (∀ k, is_Some (m1 !! k) ↔ is_Some (m2 !! k)) → ([∗ map] k↦y1 ∈ m1, Φ1 k y1) -∗ ([∗ map] k↦y2 ∈ m2, Φ2 k y2) -∗ [∗ map] k↦y1;y2 ∈ m1;m2, Φ1 k y1 ∗ Φ2 k y2. - Proof. intros. apply wand_intro_r. by rewrite big_sepM_sepM2. Qed. + Proof. intros. apply wand_intro_r. by rewrite big_sepM2_sepM. Qed. Global Instance big_sepM2_empty_persistent Φ : Persistent ([∗ map] k↦y1;y2 ∈ ∅; ∅, Φ k y1 y2).