Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • Iris Iris
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 169
    • Issues 169
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 24
    • Merge requests 24
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Releases
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Iris
  • IrisIris
  • Issues
  • #282
Closed
Open
Issue created Dec 20, 2019 by Michael Sammler@msammlerOwner

Undesired simplification behaviour of big_sepM2

Iris version: dev.2019-11-22.2.a979391c

simpl unfolds the definition of big_sepM2 which makes it basically unusable.

Example:

From iris.program_logic Require Import weakestpre.

Example big_sepM2_simpl Σ (xs ys : gmap nat nat):
  ([∗ map] x;y ∈ xs;ys, ⌜x=y⌝ : iProp Σ)%I.
Proof. simpl. Abort.
(* => uPred_and ⌜∀ k : nat, is_Some (xs !! k) ↔ is_Some (ys !! k)⌝
    ([∗ map] xy ∈ map_zip xs ys, ⌜xy.1 = xy.2⌝%I) *)

I am currently using the following workaround (big_sepM2 does not seem to have an Arguments command at the moment):

Arguments big_sepM2 {PROP K _ _ A B} _ !_ !_ /.

Example big_sepM2_simpl Σ (xs ys : gmap nat nat):
  ([∗ map] x;y ∈ xs;ys, ⌜x=y⌝ : iProp Σ)%I.
Proof. simpl. Abort.
(* => ([∗ map] x;y ∈ xs;ys, ⌜x = y⌝)%I *)
Assignee
Assign to
Time tracking