From 66c3aff9c298ad033b77eaa53cc49e04c7a4115e Mon Sep 17 00:00:00 2001 From: Ralf Jung <jung@mpi-sws.org> Date: Thu, 5 Jan 2017 19:39:47 +0100 Subject: [PATCH] more restrictive Proof Using hints in (most files of the) prelude --- theories/prelude/base.v | 2 +- theories/prelude/bset.v | 2 +- theories/prelude/coPset.v | 2 +- theories/prelude/countable.v | 2 +- theories/prelude/finite.v | 6 +++--- theories/prelude/functions.v | 2 +- theories/prelude/gmap.v | 2 +- theories/prelude/gmultiset.v | 2 +- theories/prelude/hashset.v | 2 +- theories/prelude/hlist.v | 2 +- theories/prelude/lexico.v | 2 +- theories/prelude/listset.v | 2 +- theories/prelude/listset_nodup.v | 2 +- theories/prelude/natmap.v | 2 +- theories/prelude/nmap.v | 2 +- theories/prelude/numbers.v | 2 +- theories/prelude/option.v | 2 +- theories/prelude/orders.v | 2 +- theories/prelude/pmap.v | 2 +- theories/prelude/pretty.v | 2 +- theories/prelude/proof_irrel.v | 2 +- theories/prelude/relations.v | 2 +- theories/prelude/set.v | 2 +- theories/prelude/sorting.v | 2 +- theories/prelude/streams.v | 2 +- theories/prelude/stringmap.v | 2 +- theories/prelude/strings.v | 2 +- theories/prelude/tactics.v | 2 +- theories/prelude/vector.v | 2 +- theories/prelude/zmap.v | 2 +- 30 files changed, 32 insertions(+), 32 deletions(-) diff --git a/theories/prelude/base.v b/theories/prelude/base.v index 859c6f009..92606a94b 100644 --- a/theories/prelude/base.v +++ b/theories/prelude/base.v @@ -9,7 +9,7 @@ Global Set Automatic Coercions Import. Global Set Asymmetric Patterns. Global Unset Transparent Obligations. From Coq Require Export Morphisms RelationClasses List Bool Utf8 Setoid. -Set Default Proof Using "Type*". +Set Default Proof Using "Type". Export ListNotations. From Coq.Program Require Export Basics Syntax. Obligation Tactic := idtac. diff --git a/theories/prelude/bset.v b/theories/prelude/bset.v index a431ca3cf..e384b05c5 100644 --- a/theories/prelude/bset.v +++ b/theories/prelude/bset.v @@ -2,7 +2,7 @@ (* This file is distributed under the terms of the BSD license. *) (** This file implements bsets as functions into Prop. *) From iris.prelude Require Export prelude. -Set Default Proof Using "Type*". +Set Default Proof Using "Type". Record bset (A : Type) : Type := mkBSet { bset_car : A → bool }. Arguments mkBSet {_} _. diff --git a/theories/prelude/coPset.v b/theories/prelude/coPset.v index 0ad02732d..63be7ed49 100644 --- a/theories/prelude/coPset.v +++ b/theories/prelude/coPset.v @@ -13,7 +13,7 @@ Since [positive]s are bitstrings, we encode [coPset]s as trees that correspond to the decision function that map bitstrings to bools. *) From iris.prelude Require Export collections. From iris.prelude Require Import pmap gmap mapset. -Set Default Proof Using "Type*". +Set Default Proof Using "Type". Local Open Scope positive_scope. (** * The tree data structure *) diff --git a/theories/prelude/countable.v b/theories/prelude/countable.v index 37f0d922d..ac733dac2 100644 --- a/theories/prelude/countable.v +++ b/theories/prelude/countable.v @@ -1,7 +1,7 @@ (* Copyright (c) 2012-2015, Robbert Krebbers. *) (* This file is distributed under the terms of the BSD license. *) From iris.prelude Require Export list. -Set Default Proof Using "Type*". +Set Default Proof Using "Type". Local Open Scope positive. Class Countable A `{EqDecision A} := { diff --git a/theories/prelude/finite.v b/theories/prelude/finite.v index 9c51d7cbf..041e3b4b0 100644 --- a/theories/prelude/finite.v +++ b/theories/prelude/finite.v @@ -1,7 +1,7 @@ (* Copyright (c) 2012-2015, Robbert Krebbers. *) (* This file is distributed under the terms of the BSD license. *) From iris.prelude Require Export countable vector. -Set Default Proof Using "Type*". +Set Default Proof Using "Type". Class Finite A `{EqDecision A} := { enum : list A; @@ -181,12 +181,12 @@ Section forall_exists. Context `{∀ x, Decision (P x)}. Global Instance forall_dec: Decision (∀ x, P x). - Proof. + Proof using Type*. refine (cast_if (decide (Forall P (enum A)))); abstract by rewrite <-Forall_finite. Defined. Global Instance exists_dec: Decision (∃ x, P x). - Proof. + Proof using Type*. refine (cast_if (decide (Exists P (enum A)))); abstract by rewrite <-Exists_finite. Defined. diff --git a/theories/prelude/functions.v b/theories/prelude/functions.v index da46a43a4..901a3dbca 100644 --- a/theories/prelude/functions.v +++ b/theories/prelude/functions.v @@ -1,5 +1,5 @@ From iris.prelude Require Export base tactics. -Set Default Proof Using "Type*". +Set Default Proof Using "Type". Section definitions. Context {A T : Type} `{EqDecision A}. diff --git a/theories/prelude/gmap.v b/theories/prelude/gmap.v index 4e5d2f774..c47984417 100644 --- a/theories/prelude/gmap.v +++ b/theories/prelude/gmap.v @@ -4,7 +4,7 @@ type. The implementation is based on [Pmap]s, radix-2 search trees. *) From iris.prelude Require Export countable fin_maps fin_map_dom. From iris.prelude Require Import pmap mapset set. -Set Default Proof Using "Type*". +Set Default Proof Using "Type". (** * The data structure *) (** We pack a [Pmap] together with a proof that ensures that all keys correspond diff --git a/theories/prelude/gmultiset.v b/theories/prelude/gmultiset.v index 7782da245..25eb03ae0 100644 --- a/theories/prelude/gmultiset.v +++ b/theories/prelude/gmultiset.v @@ -1,7 +1,7 @@ (* Copyright (c) 2012-2016, Robbert Krebbers. *) (* This file is distributed under the terms of the BSD license. *) From iris.prelude Require Import gmap. -Set Default Proof Using "Type*". +Set Default Proof Using "Type". Record gmultiset A `{Countable A} := GMultiSet { gmultiset_car : gmap A nat }. Arguments GMultiSet {_ _ _} _. diff --git a/theories/prelude/hashset.v b/theories/prelude/hashset.v index dcfd1dfe3..bfa30fe7c 100644 --- a/theories/prelude/hashset.v +++ b/theories/prelude/hashset.v @@ -5,7 +5,7 @@ using radix-2 search trees. Each hash bucket is thus indexed using an binary integer of type [Z], and contains an unordered list without duplicates. *) From iris.prelude Require Export fin_maps listset. From iris.prelude Require Import zmap. -Set Default Proof Using "Type*". +Set Default Proof Using "Type". Record hashset {A} (hash : A → Z) := Hashset { hashset_car : Zmap (list A); diff --git a/theories/prelude/hlist.v b/theories/prelude/hlist.v index 907864fef..26077a1d5 100644 --- a/theories/prelude/hlist.v +++ b/theories/prelude/hlist.v @@ -1,5 +1,5 @@ From iris.prelude Require Import tactics. -Set Default Proof Using "Type*". +Set Default Proof Using "Type". Local Set Universe Polymorphism. (* Not using [list Type] in order to avoid universe inconsistencies *) diff --git a/theories/prelude/lexico.v b/theories/prelude/lexico.v index 6a7b868a3..2d836a85f 100644 --- a/theories/prelude/lexico.v +++ b/theories/prelude/lexico.v @@ -3,7 +3,7 @@ (** This files defines a lexicographic order on various common data structures and proves that it is a partial order having a strong variant of trichotomy. *) From iris.prelude Require Import numbers. -Set Default Proof Using "Type*". +Set Default Proof Using "Type". Notation cast_trichotomy T := match T with diff --git a/theories/prelude/listset.v b/theories/prelude/listset.v index a3fa10bad..88bda4f61 100644 --- a/theories/prelude/listset.v +++ b/theories/prelude/listset.v @@ -3,7 +3,7 @@ (** This file implements finite set as unordered lists without duplicates removed. This implementation forms a monad. *) From iris.prelude Require Export collections list. -Set Default Proof Using "Type*". +Set Default Proof Using "Type". Record listset A := Listset { listset_car: list A }. Arguments listset_car {_} _. diff --git a/theories/prelude/listset_nodup.v b/theories/prelude/listset_nodup.v index b9aedede3..960f39b63 100644 --- a/theories/prelude/listset_nodup.v +++ b/theories/prelude/listset_nodup.v @@ -4,7 +4,7 @@ Although this implementation is slow, it is very useful as decidable equality is the only constraint on the carrier set. *) From iris.prelude Require Export collections list. -Set Default Proof Using "Type*". +Set Default Proof Using "Type". Record listset_nodup A := ListsetNoDup { listset_nodup_car : list A; listset_nodup_prf : NoDup listset_nodup_car diff --git a/theories/prelude/natmap.v b/theories/prelude/natmap.v index b6e78446d..2bf78d1ea 100644 --- a/theories/prelude/natmap.v +++ b/theories/prelude/natmap.v @@ -4,7 +4,7 @@ over Coq's data type of unary natural numbers [nat]. The implementation equips a list with a proof of canonicity. *) From iris.prelude Require Import fin_maps mapset. -Set Default Proof Using "Type*". +Set Default Proof Using "Type". Notation natmap_raw A := (list (option A)). Definition natmap_wf {A} (l : natmap_raw A) := diff --git a/theories/prelude/nmap.v b/theories/prelude/nmap.v index 0c965df3c..7957b666c 100644 --- a/theories/prelude/nmap.v +++ b/theories/prelude/nmap.v @@ -4,7 +4,7 @@ maps whose keys range over Coq's data type of binary naturals [N]. *) From iris.prelude Require Import pmap mapset. From iris.prelude Require Export prelude fin_maps. -Set Default Proof Using "Type*". +Set Default Proof Using "Type". Local Open Scope N_scope. diff --git a/theories/prelude/numbers.v b/theories/prelude/numbers.v index c8eacf886..e26e0e73a 100644 --- a/theories/prelude/numbers.v +++ b/theories/prelude/numbers.v @@ -6,7 +6,7 @@ notations. *) From Coq Require Export EqdepFacts PArith NArith ZArith NPeano. From Coq Require Import QArith Qcanon. From iris.prelude Require Export base decidable option. -Set Default Proof Using "Type*". +Set Default Proof Using "Type". Open Scope nat_scope. Coercion Z.of_nat : nat >-> Z. diff --git a/theories/prelude/option.v b/theories/prelude/option.v index f6cc09cc5..76f72c912 100644 --- a/theories/prelude/option.v +++ b/theories/prelude/option.v @@ -3,7 +3,7 @@ (** This file collects general purpose definitions and theorems on the option data type that are not in the Coq standard library. *) From iris.prelude Require Export tactics. -Set Default Proof Using "Type*". +Set Default Proof Using "Type". Inductive option_reflect {A} (P : A → Prop) (Q : Prop) : option A → Type := | ReflectSome x : P x → option_reflect P Q (Some x) diff --git a/theories/prelude/orders.v b/theories/prelude/orders.v index 9e6e2ca20..a28f3ed55 100644 --- a/theories/prelude/orders.v +++ b/theories/prelude/orders.v @@ -3,7 +3,7 @@ (** Properties about arbitrary pre-, partial, and total orders. We do not use the relation [⊆] because we often have multiple orders on the same structure *) From iris.prelude Require Export tactics. -Set Default Proof Using "Type*". +Set Default Proof Using "Type". Section orders. Context {A} {R : relation A}. diff --git a/theories/prelude/pmap.v b/theories/prelude/pmap.v index 60ded55a1..4d56bc259 100644 --- a/theories/prelude/pmap.v +++ b/theories/prelude/pmap.v @@ -10,7 +10,7 @@ Leibniz equality to become extensional. *) From Coq Require Import PArith. From iris.prelude Require Import mapset countable. From iris.prelude Require Export fin_maps. -Set Default Proof Using "Type*". +Set Default Proof Using "Type". Local Open Scope positive_scope. Local Hint Extern 0 (@eq positive _ _) => congruence. diff --git a/theories/prelude/pretty.v b/theories/prelude/pretty.v index 06924729b..61dddb240 100644 --- a/theories/prelude/pretty.v +++ b/theories/prelude/pretty.v @@ -3,7 +3,7 @@ From iris.prelude Require Export strings. From iris.prelude Require Import relations. From Coq Require Import Ascii. -Set Default Proof Using "Type*". +Set Default Proof Using "Type". Class Pretty A := pretty : A → string. Definition pretty_N_char (x : N) : ascii := diff --git a/theories/prelude/proof_irrel.v b/theories/prelude/proof_irrel.v index b40985462..6b785c8de 100644 --- a/theories/prelude/proof_irrel.v +++ b/theories/prelude/proof_irrel.v @@ -2,7 +2,7 @@ (* This file is distributed under the terms of the BSD license. *) (** This file collects facts on proof irrelevant types/propositions. *) From iris.prelude Require Export base. -Set Default Proof Using "Type*". +Set Default Proof Using "Type". Hint Extern 200 (ProofIrrel _) => progress (lazy beta) : typeclass_instances. diff --git a/theories/prelude/relations.v b/theories/prelude/relations.v index 798245df8..9984fe671 100644 --- a/theories/prelude/relations.v +++ b/theories/prelude/relations.v @@ -6,7 +6,7 @@ small step semantics. This file defines a hint database [ars] containing some theorems on abstract rewriting systems. *) From Coq Require Import Wf_nat. From iris.prelude Require Export tactics base. -Set Default Proof Using "Type*". +Set Default Proof Using "Type". (** * Definitions *) Section definitions. diff --git a/theories/prelude/set.v b/theories/prelude/set.v index 7e9385e80..22e8278f8 100644 --- a/theories/prelude/set.v +++ b/theories/prelude/set.v @@ -2,7 +2,7 @@ (* This file is distributed under the terms of the BSD license. *) (** This file implements sets as functions into Prop. *) From iris.prelude Require Export collections. -Set Default Proof Using "Type*". +Set Default Proof Using "Type". Record set (A : Type) : Type := mkSet { set_car : A → Prop }. Add Printing Constructor set. diff --git a/theories/prelude/sorting.v b/theories/prelude/sorting.v index 2048c3017..4ae478e01 100644 --- a/theories/prelude/sorting.v +++ b/theories/prelude/sorting.v @@ -4,7 +4,7 @@ standard library, but without using the module system. *) From Coq Require Export Sorted. From iris.prelude Require Export orders list. -Set Default Proof Using "Type*". +Set Default Proof Using "Type". Section merge_sort. Context {A} (R : relation A) `{∀ x y, Decision (R x y)}. diff --git a/theories/prelude/streams.v b/theories/prelude/streams.v index 1c9ef9aa9..2b56722d8 100644 --- a/theories/prelude/streams.v +++ b/theories/prelude/streams.v @@ -1,7 +1,7 @@ (* Copyright (c) 2012-2015, Robbert Krebbers. *) (* This file is distributed under the terms of the BSD license. *) From iris.prelude Require Export tactics. -Set Default Proof Using "Type*". +Set Default Proof Using "Type". CoInductive stream (A : Type) : Type := scons : A → stream A → stream A. Arguments scons {_} _ _. diff --git a/theories/prelude/stringmap.v b/theories/prelude/stringmap.v index 41fc9b8cb..909b65b5b 100644 --- a/theories/prelude/stringmap.v +++ b/theories/prelude/stringmap.v @@ -6,7 +6,7 @@ search trees (uncompressed Patricia trees) as implemented in the file [pmap] and guarantees logarithmic-time operations. *) From iris.prelude Require Export fin_maps pretty. From iris.prelude Require Import gmap. -Set Default Proof Using "Type*". +Set Default Proof Using "Type". Notation stringmap := (gmap string). Notation stringset := (gset string). diff --git a/theories/prelude/strings.v b/theories/prelude/strings.v index dca3404c1..3c72afe6a 100644 --- a/theories/prelude/strings.v +++ b/theories/prelude/strings.v @@ -4,7 +4,7 @@ From Coq Require Import Ascii. From Coq Require Export String. From iris.prelude Require Export list. From iris.prelude Require Import countable. -Set Default Proof Using "Type*". +Set Default Proof Using "Type". (* To avoid randomly ending up with String.length because this module is imported hereditarily somewhere. *) diff --git a/theories/prelude/tactics.v b/theories/prelude/tactics.v index 21d0122a1..7133ba584 100644 --- a/theories/prelude/tactics.v +++ b/theories/prelude/tactics.v @@ -5,7 +5,7 @@ the development. *) From Coq Require Import Omega. From Coq Require Export Lia. From iris.prelude Require Export decidable. -Set Default Proof Using "Type*". +Set Default Proof Using "Type". Lemma f_equal_dep {A B} (f g : ∀ x : A, B x) x : f = g → f x = g x. Proof. intros ->; reflexivity. Qed. diff --git a/theories/prelude/vector.v b/theories/prelude/vector.v index 4b3426458..6eb2cadab 100644 --- a/theories/prelude/vector.v +++ b/theories/prelude/vector.v @@ -6,7 +6,7 @@ definitions from the standard library, but renames or changes their notations, so that it becomes more consistent with the naming conventions in this development. *) From iris.prelude Require Export list. -Set Default Proof Using "Type*". +Set Default Proof Using "Type". Open Scope vector_scope. (** * The fin type *) diff --git a/theories/prelude/zmap.v b/theories/prelude/zmap.v index c9c175919..cffb198ab 100644 --- a/theories/prelude/zmap.v +++ b/theories/prelude/zmap.v @@ -4,7 +4,7 @@ maps whose keys range over Coq's data type of binary naturals [Z]. *) From iris.prelude Require Import pmap mapset. From iris.prelude Require Export prelude fin_maps. -Set Default Proof Using "Type*". +Set Default Proof Using "Type". Local Open Scope Z_scope. Record Zmap (A : Type) : Type := -- GitLab