Skip to content
Snippets Groups Projects
Commit b3c56843 authored by Robbert Krebbers's avatar Robbert Krebbers
Browse files

Comments on valid timeless.

parent 19802e32
No related branches found
No related tags found
No related merge requests found
......@@ -83,7 +83,9 @@ Definition cmra_update `{Op A, ValidN A} (x y : A) := ∀ z n,
Infix "⇝" := cmra_update (at level 70).
Instance: Params (@cmra_update) 3.
(** Timeless elements *)
(** Timeless validity *)
(* Not sure whether this is useful, see the rule [uPred_valid_elim_timeless]
in logic.v *)
Class ValidTimeless `{Valid A, ValidN A} (x : A) :=
valid_timeless : validN 1 x valid x.
Arguments valid_timeless {_ _ _} _ {_} _.
......@@ -128,7 +130,7 @@ Qed.
Lemma cmra_unit_valid x n : {n} x {n} (unit x).
Proof. rewrite <-(cmra_unit_l x) at 1; apply cmra_valid_op_l. Qed.
(* Timeless *)
(** * Timeless *)
Lemma cmra_timeless_included_l `{!CMRAExtend A} x y :
Timeless x {1} y x {1} y x y.
Proof.
......
......@@ -694,7 +694,7 @@ Proof.
Qed.
Lemma uPred_valid_intro (a : M) : a True%I ( a)%I.
Proof. by intros ? x n ? _; simpl; apply cmra_valid_validN. Qed.
Lemma uPred_valid_elim_timess (a : M) :
Lemma uPred_valid_elim_timeless (a : M) :
ValidTimeless a ¬ a ( a)%I False%I.
Proof.
intros ? Hvalid x [|n] ??; [done|apply Hvalid].
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment