Skip to content
Snippets Groups Projects
Commit 0e3bc878 authored by Ralf Jung's avatar Ralf Jung
Browse files

add 'Proof Using' hints to enable -quick compilation

parent 25a16da6
No related branches found
No related tags found
No related merge requests found
Pipeline #
Showing
with 20 additions and 0 deletions
...@@ -2,6 +2,7 @@ From iris.program_logic Require Export hoare adequacy. ...@@ -2,6 +2,7 @@ From iris.program_logic Require Export hoare adequacy.
From iris.algebra Require Import auth. From iris.algebra Require Import auth.
From lrust.lang Require Export heap. From lrust.lang Require Export heap.
From lrust.lang Require Import proofmode notation. From lrust.lang Require Import proofmode notation.
Set Default Proof Using "Type".
Class heapPreG Σ := HeapPreG { Class heapPreG Σ := HeapPreG {
heap_preG_ownP :> ownPPreG lrust_lang Σ; heap_preG_ownP :> ownPPreG lrust_lang Σ;
......
From lrust.lang Require Export lifting. From lrust.lang Require Export lifting.
From iris.proofmode Require Import tactics. From iris.proofmode Require Import tactics.
From iris.base_logic Require Import big_op. From iris.base_logic Require Import big_op.
Set Default Proof Using "Type".
Import uPred. Import uPred.
(** Define some derived forms, and derived lemmas about them. *) (** Define some derived forms, and derived lemmas about them. *)
......
...@@ -4,6 +4,7 @@ From iris.algebra Require Import csum excl auth. ...@@ -4,6 +4,7 @@ From iris.algebra Require Import csum excl auth.
From iris.base_logic Require Import big_op lib.invariants lib.fractional. From iris.base_logic Require Import big_op lib.invariants lib.fractional.
From iris.proofmode Require Export tactics. From iris.proofmode Require Export tactics.
From lrust.lang Require Export lifting. From lrust.lang Require Export lifting.
Set Default Proof Using "Type".
Import uPred. Import uPred.
Definition heapN : namespace := nroot .@ "heap". Definition heapN : namespace := nroot .@ "heap".
......
From iris.program_logic Require Export language ectx_language ectxi_language. From iris.program_logic Require Export language ectx_language ectxi_language.
From iris.prelude Require Export strings. From iris.prelude Require Export strings.
From iris.prelude Require Import gmap. From iris.prelude Require Import gmap.
Set Default Proof Using "Type".
Open Scope Z_scope. Open Scope Z_scope.
......
...@@ -3,6 +3,7 @@ From iris.program_logic Require Import ectx_lifting. ...@@ -3,6 +3,7 @@ From iris.program_logic Require Import ectx_lifting.
From lrust.lang Require Export lang. From lrust.lang Require Export lang.
From lrust.lang Require Import tactics. From lrust.lang Require Import tactics.
From iris.proofmode Require Import tactics. From iris.proofmode Require Import tactics.
Set Default Proof Using "Type".
Import uPred. Import uPred.
Local Hint Extern 0 (head_reducible _ _) => do_head_step eauto 2. Local Hint Extern 0 (head_reducible _ _) => do_head_step eauto 2.
......
From iris.base_logic.lib Require Import namespaces. From iris.base_logic.lib Require Import namespaces.
From lrust.lang Require Export notation. From lrust.lang Require Export notation.
From lrust.lang Require Import heap proofmode. From lrust.lang Require Import heap proofmode.
Set Default Proof Using "Type".
Definition memcpy : val := Definition memcpy : val :=
rec: "memcpy" ["dst";"len";"src"] := rec: "memcpy" ["dst";"len";"src"] :=
......
From iris.base_logic.lib Require Import namespaces. From iris.base_logic.lib Require Import namespaces.
From lrust.lang Require Export notation. From lrust.lang Require Export notation.
From lrust.lang Require Import heap proofmode memcpy. From lrust.lang Require Import heap proofmode memcpy.
Set Default Proof Using "Type".
Definition new : val := Definition new : val :=
λ: ["n"], λ: ["n"],
......
From lrust.lang Require Export derived. From lrust.lang Require Export derived.
Set Default Proof Using "Type".
Coercion LitInt : Z >-> base_lit. Coercion LitInt : Z >-> base_lit.
Coercion LitLoc : loc >-> base_lit. Coercion LitLoc : loc >-> base_lit.
......
...@@ -2,6 +2,7 @@ From iris.proofmode Require Import coq_tactics. ...@@ -2,6 +2,7 @@ From iris.proofmode Require Import coq_tactics.
From iris.proofmode Require Export tactics. From iris.proofmode Require Export tactics.
From iris.base_logic Require Import namespaces. From iris.base_logic Require Import namespaces.
From lrust.lang Require Export wp_tactics heap. From lrust.lang Require Export wp_tactics heap.
Set Default Proof Using "Type".
Import uPred. Import uPred.
Ltac wp_strip_later ::= iNext. Ltac wp_strip_later ::= iNext.
......
...@@ -2,6 +2,7 @@ From iris.prelude Require Import gmap. ...@@ -2,6 +2,7 @@ From iris.prelude Require Import gmap.
From iris.program_logic Require Export hoare. From iris.program_logic Require Export hoare.
From iris.program_logic Require Import adequacy. From iris.program_logic Require Import adequacy.
From lrust.lang Require Import tactics. From lrust.lang Require Import tactics.
Set Default Proof Using "Type".
Inductive access_kind : Type := ReadAcc | WriteAcc | FreeAcc. Inductive access_kind : Type := ReadAcc | WriteAcc | FreeAcc.
......
From iris.prelude Require Import fin_maps. From iris.prelude Require Import fin_maps.
From lrust.lang Require Export lang. From lrust.lang Require Export lang.
Set Default Proof Using "Type".
(** We define an alternative representation of expressions in which the (** We define an alternative representation of expressions in which the
embedding of values and closed expressions is explicit. By reification of embedding of values and closed expressions is explicit. By reification of
......
From lrust.lang Require Export tactics derived. From lrust.lang Require Export tactics derived.
Set Default Proof Using "Type".
Import uPred. Import uPred.
(** wp-specific helper tactics *) (** wp-specific helper tactics *)
......
...@@ -3,6 +3,7 @@ From iris.proofmode Require Import tactics. ...@@ -3,6 +3,7 @@ From iris.proofmode Require Import tactics.
From iris.algebra Require Import csum auth frac gmap agree gset. From iris.algebra Require Import csum auth frac gmap agree gset.
From iris.base_logic Require Import big_op. From iris.base_logic Require Import big_op.
From iris.base_logic.lib Require Import boxes. From iris.base_logic.lib Require Import boxes.
Set Default Proof Using "Type".
Section accessors. Section accessors.
Context `{invG Σ, lftG Σ}. Context `{invG Σ, lftG Σ}.
......
...@@ -4,6 +4,7 @@ From iris.algebra Require Import csum auth frac gmap agree gset. ...@@ -4,6 +4,7 @@ From iris.algebra Require Import csum auth frac gmap agree gset.
From iris.base_logic Require Import big_op. From iris.base_logic Require Import big_op.
From iris.base_logic.lib Require Import boxes. From iris.base_logic.lib Require Import boxes.
From iris.proofmode Require Import tactics. From iris.proofmode Require Import tactics.
Set Default Proof Using "Type".
Section borrow. Section borrow.
Context `{invG Σ, lftG Σ}. Context `{invG Σ, lftG Σ}.
......
...@@ -4,6 +4,7 @@ From iris.algebra Require Import csum auth frac gmap agree gset. ...@@ -4,6 +4,7 @@ From iris.algebra Require Import csum auth frac gmap agree gset.
From iris.base_logic Require Import big_op. From iris.base_logic Require Import big_op.
From iris.base_logic.lib Require Import boxes. From iris.base_logic.lib Require Import boxes.
From iris.proofmode Require Import tactics. From iris.proofmode Require Import tactics.
Set Default Proof Using "Type".
Section creation. Section creation.
Context `{invG Σ, lftG Σ}. Context `{invG Σ, lftG Σ}.
......
...@@ -3,6 +3,7 @@ From iris.prelude Require Export gmultiset strings. ...@@ -3,6 +3,7 @@ From iris.prelude Require Export gmultiset strings.
From iris.base_logic.lib Require Export invariants. From iris.base_logic.lib Require Export invariants.
From iris.base_logic.lib Require Import boxes. From iris.base_logic.lib Require Import boxes.
From iris.base_logic Require Import big_op. From iris.base_logic Require Import big_op.
Set Default Proof Using "Type".
Import uPred. Import uPred.
Definition lftN : namespace := nroot .@ "lft". Definition lftN : namespace := nroot .@ "lft".
......
From lrust.lifetime Require Export primitive accessors faking. From lrust.lifetime Require Export primitive accessors faking.
From lrust.lifetime Require Export raw_reborrow. From lrust.lifetime Require Export raw_reborrow.
From iris.proofmode Require Import tactics. From iris.proofmode Require Import tactics.
Set Default Proof Using "Type".
(* TODO: the name derived makes no sense: reborrow/bor_unnest, which is proven (* TODO: the name derived makes no sense: reborrow/bor_unnest, which is proven
in the model, depends on this file. *) in the model, depends on this file. *)
......
...@@ -3,6 +3,7 @@ From iris.algebra Require Import csum auth frac gmap agree gset. ...@@ -3,6 +3,7 @@ From iris.algebra Require Import csum auth frac gmap agree gset.
From iris.base_logic Require Import big_op. From iris.base_logic Require Import big_op.
From iris.base_logic.lib Require Import boxes. From iris.base_logic.lib Require Import boxes.
From iris.proofmode Require Import tactics. From iris.proofmode Require Import tactics.
Set Default Proof Using "Type".
Section faking. Section faking.
Context `{invG Σ, lftG Σ}. Context `{invG Σ, lftG Σ}.
......
...@@ -3,6 +3,7 @@ From iris.proofmode Require Import tactics. ...@@ -3,6 +3,7 @@ From iris.proofmode Require Import tactics.
From iris.base_logic Require Import lib.fractional. From iris.base_logic Require Import lib.fractional.
From iris.algebra Require Import frac. From iris.algebra Require Import frac.
From lrust.lifetime Require Export shr_borrow . From lrust.lifetime Require Export shr_borrow .
Set Default Proof Using "Type".
Class frac_borG Σ := frac_borG_inG :> inG Σ fracR. Class frac_borG Σ := frac_borG_inG :> inG Σ fracR.
......
From lrust.lifetime Require Export derived. From lrust.lifetime Require Export derived.
From iris.base_logic.lib Require Export na_invariants. From iris.base_logic.lib Require Export na_invariants.
From iris.proofmode Require Import tactics. From iris.proofmode Require Import tactics.
Set Default Proof Using "Type".
Definition na_bor `{invG Σ, lftG Σ, na_invG Σ} Definition na_bor `{invG Σ, lftG Σ, na_invG Σ}
(κ : lft) (tid : na_inv_pool_name) (N : namespace) (P : iProp Σ) := (κ : lft) (tid : na_inv_pool_name) (N : namespace) (P : iProp Σ) :=
......
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