Commit 24710264 by Ralf Jung

### changelog and comments

parent f5a5f1f1
 ... ... @@ -7,6 +7,7 @@ Coq development, but not every API-breaking change is listed. Changes marked Changes in and extensions of the theory: * [#] Add new modality: ■ ("plainly"). * [#] Camera morphisms have to be homomorphisms, not just monotone functions. * [#] A proof that `f` has a fixed point if `f^k` is contractive. * Constructions for least and greatest fixed points over monotone predicates ... ...
 ... ... @@ -97,6 +97,9 @@ Definition uPred_wand {M} := unseal uPred_wand_aux M. Definition uPred_wand_eq : @uPred_wand = @uPred_wand_def := seal_eq uPred_wand_aux. (* Equivalently, this could be `∀ y, P n y`. That's closer to the intuition of "embedding the step-indexed logic in Iris", but the two are equivalent because Iris is afine. The following is easier to work with. *) Program Definition uPred_plainly_def {M} (P : uPred M) : uPred M := {| uPred_holds n x := P n ε |}. Solve Obligations with naive_solver eauto using uPred_closed, ucmra_unit_validN. ... ... @@ -480,6 +483,8 @@ Proof. by rewrite cmra_core_l cmra_core_idemp. Qed. (* The following two laws are very similar, and indeed they hold not just for □ and ■, but for any modality defined as `M P n x := ∀ y, R x y → P n y`. *) Lemma persistently_impl_plainly P Q : (■ P → □ Q) ⊢ □ (■ P → Q). Proof. unseal; split=> /= n x ? HPQ n' x' ????. ... ...
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