[Iris-Club] Frame-preserving update and double-negation
Ralf Jung
jung at mpi-sws.org
Wed Aug 24 12:49:05 CEST 2016
Hi,
> Fun observation! I think Ralf answered most of your questions, but let
> me remark that another property will break when using your definition,
> namely adequacy (which is crucial to prove adequacy of weakest pre):
>
> Lemma adequacy φ n : (True ⊢ Nat.iter n (λ P, |=r=> ▷ P) (■ φ)) → φ.
Yeah, I remembered adequacy as we were walking up to Mensa, and that
would definitely at least need excluded middle.
> It is not to difficult to prove that the following is vacuously true:
>
> (▷ P -★ False) -★ False
Wait, what?^^
Oh, you went into the model for this proof. Yeah, this makes sense.
> Goal ∀ P : uPred M, True ⊢ (▷ P -★ False) -★ False.
> Proof.
> unseal=> P; split=> n x /= ? _ n' x' ?? H.
> eapply (H 0 x); auto. rewrite comm. eauto using cmra_validN_le.
> Qed.
I suggest we add this to the derived rules about \later ? (Not doing it
myself in order to avoid merge conflicts with your rename branch.)
Kind regards,
Ralf
More information about the Iris-Club
mailing list