Commit a27982f7 authored by Ralf Jung's avatar Ralf Jung

move comment up

parent af017171
......@@ -6,24 +6,7 @@ Set Default Proof Using "Type".
base_logic.base_logic; that will also give you all the primitive
and many derived laws for the logic. *)
Record uPred (M : ucmraT) : Type := IProp {
uPred_holds :> nat M Prop;
uPred_mono n1 n2 x1 x2 :
uPred_holds n1 x1 x1 {n1} x2 n2 n1 uPred_holds n2 x2
}.
Arguments uPred_holds {_} _ _ _ : simpl never.
Add Printing Constructor uPred.
Instance: Params (@uPred_holds) 3.
Delimit Scope uPred_scope with I.
Bind Scope uPred_scope with uPred.
Arguments uPred_holds {_} _%I _ _.
Section cofe.
Context {M : ucmraT}.
(* A good way of understanding this definition of the uPred OFE is to
(* A good way of understanding this definition of the uPred OFE is to
consider the OFE uPred0 of monotonous SProp predicates. That is,
uPred0 is the OFE of non-expansive functions from M to SProp that
are monotonous with respect to CMRA inclusion. This notion of
......@@ -57,6 +40,23 @@ Section cofe.
connective.
*)
Record uPred (M : ucmraT) : Type := IProp {
uPred_holds :> nat M Prop;
uPred_mono n1 n2 x1 x2 :
uPred_holds n1 x1 x1 {n1} x2 n2 n1 uPred_holds n2 x2
}.
Arguments uPred_holds {_} _ _ _ : simpl never.
Add Printing Constructor uPred.
Instance: Params (@uPred_holds) 3.
Delimit Scope uPred_scope with I.
Bind Scope uPred_scope with uPred.
Arguments uPred_holds {_} _%I _ _.
Section cofe.
Context {M : ucmraT}.
Inductive uPred_equiv' (P Q : uPred M) : Prop :=
{ uPred_in_equiv : n x, {n} x P n x Q n x }.
Instance uPred_equiv : Equiv (uPred M) := uPred_equiv'.
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment