Skip to content

Strenghten `cmra_valid_elim` and derive `cmra_valid_discrete`.

Robbert Krebbers requested to merge robbert/cmra_valid_elim into master

Old:

Lemma cmra_valid_elim {A : cmra} (a : A) : ¬ {0} a   a  False.

New:

Lemma cmra_valid_elim {A : cmra} (a : A) :  a   {0} a ⌝.

The old version is rather weak because it is impossible to derive positive information from it. It seems it is also not used.

I noticed that Perennial has the new version already: https://github.com/mit-pdos/perennial/blob/master/src/algebra/own_discrete.v#L7

Other advantage: We can derive cmra_discrete now, it no longer needs to be primitive.

Edited by Robbert Krebbers

Merge request reports