Commit d6b49ab2 authored by Ralf Jung's avatar Ralf Jung
Browse files

more restrictive Proof Using hints in base_logic, algebra

parent 60d82286
From iris.algebra Require Export cmra.
Set Default Proof Using "Type*".
Set Default Proof Using "Type".
(** * Frame preserving updates *)
(* This quantifies over [option A] for the frame. That is necessary to
......@@ -86,6 +86,7 @@ Qed.
(** ** Frame preserving updates for total CMRAs *)
Section total_updates.
Set Default Proof Using "Type*".
Context `{CMRATotal A}.
Lemma cmra_total_updateP x (P : A Prop) :
......
From iris.prelude Require Export vector.
From iris.algebra Require Export ofe.
From iris.algebra Require Import list.
Set Default Proof Using "Type*".
Set Default Proof Using "Type".
Section ofe.
Context {A : ofeT}.
......
From iris.base_logic Require Export derived.
Set Default Proof Using "Type*".
Set Default Proof Using "Type".
Module Import uPred.
Export upred.uPred.
......
From iris.algebra Require Export list cmra_big_op.
From iris.base_logic Require Export base_logic.
From iris.prelude Require Import gmap fin_collections gmultiset functions.
Set Default Proof Using "Type*".
Set Default Proof Using "Type".
Import uPred.
(* We make use of the bigops on CMRAs, so we first define a (somewhat ad-hoc)
......
From iris.base_logic Require Import primitive.
Set Default Proof Using "Type*".
Set Default Proof Using "Type".
(* Deprecated 2016-11-22. Use ⌜φ⌝ instead. *)
Notation "■ φ" := (uPred_pure φ%C%type)
......
From iris.base_logic Require Export primitive.
Set Default Proof Using "Type*".
Set Default Proof Using "Type".
Import upred.uPred primitive.uPred.
Definition uPred_iff {M} (P Q : uPred M) : uPred M := ((P Q) (Q P))%I.
......
From iris.base_logic Require Import base_logic.
Set Default Proof Using "Type*".
Set Default Proof Using "Type".
(* In this file we show that the bupd can be thought of a kind of
step-indexed double-negation when our meta-logic is classical *)
......@@ -274,7 +274,7 @@ Qed.
Section classical.
Context (not_all_not_ex: (P : M Prop), ¬ ( n : M, ¬ P n) n : M, P n).
Lemma nnupd_bupd P: (|=n=> P) (|==> P).
Proof.
Proof using Type*.
rewrite /uPred_nnupd.
split. uPred.unseal; red; rewrite //=.
intros n x ? Hforall k yf Hle ?.
......
From iris.prelude Require Export hlist.
From iris.base_logic Require Export base_logic.
Set Default Proof Using "Type*".
Set Default Proof Using "Type".
Import uPred.
Fixpoint uPred_hexist {M As} : himpl As (uPred M) uPred M :=
......
......@@ -3,7 +3,7 @@ From iris.algebra Require Export auth.
From iris.algebra Require Import gmap.
From iris.base_logic Require Import big_op.
From iris.proofmode Require Import tactics.
Set Default Proof Using "Type*".
Set Default Proof Using "Type".
Import uPred.
(* The CMRA we need. *)
......@@ -117,7 +117,7 @@ Section auth.
auth_inv γ f φ auth_own γ a ={E}= t,
a f t φ t u b,
(f t, a) ~l~> (f u, b) φ u ={E}= auth_inv γ f φ auth_own γ b.
Proof.
Proof using Type*.
iIntros "[Hinv Hγf]". rewrite /auth_inv /auth_own.
iDestruct "Hinv" as (t) "[>Hγa Hφ]".
iModIntro. iExists t.
......@@ -133,7 +133,7 @@ Section auth.
auth_ctx γ N f φ auth_own γ a ={E,E∖↑N}= t,
a f t φ t u b,
(f t, a) ~l~> (f u, b) φ u ={E∖↑N,E}= auth_own γ b.
Proof.
Proof using Type*.
iIntros (?) "[#? Hγf]". rewrite /auth_ctx. iInv N as "Hinv" "Hclose".
(* The following is essentially a very trivial composition of the accessors
[auth_acc] and [inv_open] -- but since we don't have any good support
......
......@@ -2,7 +2,7 @@ From iris.base_logic.lib Require Export invariants.
From iris.algebra Require Import auth gmap agree.
From iris.base_logic Require Import big_op.
From iris.proofmode Require Import tactics.
Set Default Proof Using "Type*".
Set Default Proof Using "Type".
Import uPred.
(** The CMRAs we need. *)
......
From iris.base_logic.lib Require Export invariants fractional.
From iris.algebra Require Export frac.
From iris.proofmode Require Import tactics.
Set Default Proof Using "Type*".
Set Default Proof Using "Type".
Import uPred.
Class cinvG Σ := cinv_inG :> inG Σ fracR.
......
From iris.base_logic Require Import base_logic.
From iris.proofmode Require Import tactics.
Set Default Proof Using "Type*".
Set Default Proof Using "Type".
Import uPred.
(** The "core" of an assertion is its maximal persistent part.
......
From iris.base_logic Require Import base_logic soundness.
From iris.proofmode Require Import tactics.
Set Default Proof Using "All".
Set Default Proof Using "Type*".
(** This proves that we need the ▷ in a "Saved Proposition" construction with
name-dependent allocation. *)
......@@ -39,7 +39,7 @@ Module savedprop. Section savedprop.
Qed.
Lemma contradiction : False.
Proof.
Proof using All.
apply (@soundness M False 1); simpl.
iIntros "". iMod A_alloc as (i) "#H".
iPoseProof (saved_NA with "H") as "HN".
......@@ -186,7 +186,7 @@ Module inv. Section inv.
Qed.
Lemma contradiction : False.
Proof.
Proof using All.
apply consistency. iIntros "".
iMod A_alloc as (i) "#H".
iPoseProof (saved_NA with "H") as "HN".
......
......@@ -4,7 +4,7 @@ From iris.base_logic.lib Require Import wsat.
From iris.algebra Require Import gmap.
From iris.base_logic Require Import big_op.
From iris.proofmode Require Import tactics classes.
Set Default Proof Using "Type*".
Set Default Proof Using "Type".
Export invG.
Import uPred.
......
......@@ -2,7 +2,7 @@ From iris.prelude Require Import gmap gmultiset.
From iris.base_logic Require Export derived.
From iris.base_logic Require Import big_op.
From iris.proofmode Require Import classes class_instances.
Set Default Proof Using "Type*".
Set Default Proof Using "Type".
Class Fractional {M} (Φ : Qp uPred M) :=
fractional p q : Φ (p + q)%Qp Φ p Φ q.
......
......@@ -2,7 +2,7 @@ From iris.algebra Require Import auth gmap frac agree.
From iris.base_logic.lib Require Export own.
From iris.base_logic.lib Require Import fractional.
From iris.proofmode Require Import tactics.
Set Default Proof Using "Type*".
Set Default Proof Using "Type".
Import uPred.
Definition gen_heapUR (L V : Type) `{Countable L} : ucmraT :=
......
......@@ -2,7 +2,7 @@ From iris.base_logic.lib Require Export fancy_updates namespaces.
From iris.base_logic.lib Require Import wsat.
From iris.algebra Require Import gmap.
From iris.proofmode Require Import tactics coq_tactics intro_patterns.
Set Default Proof Using "Type*".
Set Default Proof Using "Type".
Import uPred.
(** Derived forms and lemmas about them. *)
......
From iris.base_logic Require Export base_logic.
From iris.algebra Require Import iprod gmap.
From iris.algebra Require cofe_solver.
Set Default Proof Using "Type*".
Set Default Proof Using "Type".
(** In this file we construct the type [iProp] of propositions of the Iris
logic. This is done by solving the following recursive domain equation:
......
From iris.base_logic.lib Require Export invariants.
From iris.algebra Require Export gmap gset coPset.
From iris.proofmode Require Import tactics.
Set Default Proof Using "Type*".
Set Default Proof Using "Type".
Import uPred.
(* Non-atomic ("thread-local") invariants. *)
......
From iris.prelude Require Export countable coPset.
From iris.algebra Require Export base.
Set Default Proof Using "Type*".
Set Default Proof Using "Type".
Definition namespace := list positive.
Instance namespace_eq_dec : EqDecision namespace := _.
......
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