Drop positivity axiom of the BI canonical structure.
The absence of this axiom has two consequences: - We no longer have `■ (P ∗ Q) ⊢ ■ P ∗ ■ Q` and `□ (P ∗ Q) ⊢ □ P ∗ □ Q`, and as a result, separating conjunctions in the unrestricted/persistent context cannot be eliminated. - When having `(P -∗ ⬕ Q) ∗ P`, we do not get `⬕ Q ∗ P`. In the proof mode this means when having: H1 : P -∗ ⬕ Q H2 : P We cannot say `iDestruct ("H1" with "H2") as "#H1"` and keep `H2`. However, there is now a type class `PositiveBI PROP`, and when there is an instance of this type class, one gets the above reasoning principle back. TODO: Can we describe positivity of individual propositions instead of the whole BI? That way, we would get the above reasoning principles even when the BI is not positive, but the propositions involved are.
Showing
- theories/base_logic/lib/own.v 2 additions, 2 deletionstheories/base_logic/lib/own.v
- theories/base_logic/proofmode.v 2 additions, 2 deletionstheories/base_logic/proofmode.v
- theories/base_logic/upred.v 0 additions, 3 deletionstheories/base_logic/upred.v
- theories/bi/derived.v 78 additions, 71 deletionstheories/bi/derived.v
- theories/bi/fractional.v 4 additions, 4 deletionstheories/bi/fractional.v
- theories/bi/interface.v 0 additions, 5 deletionstheories/bi/interface.v
- theories/proofmode/class_instances.v 40 additions, 60 deletionstheories/proofmode/class_instances.v
- theories/proofmode/classes.v 5 additions, 5 deletionstheories/proofmode/classes.v
- theories/proofmode/coq_tactics.v 144 additions, 88 deletionstheories/proofmode/coq_tactics.v
- theories/proofmode/tactics.v 3 additions, 2 deletionstheories/proofmode/tactics.v
- theories/tests/proofmode.v 2 additions, 2 deletionstheories/tests/proofmode.v
Loading
Please register or sign in to comment