Commit 8dc73363 authored by Robbert Krebbers's avatar Robbert Krebbers

Use qualified module names and coqc -Q instead of -R.

parent 19cca411
......@@ -3,7 +3,7 @@
import os, glob, string
modules = ["prelude", "iris"]
Rs = '-R . iris'
Rs = ' '.join(['-Q ' + x + ' ' + x for x in modules])
env = DefaultEnvironment(ENV = os.environ,tools=['default', 'Coq'], COQFLAGS=Rs)
# Coq dependencies
......@@ -15,4 +15,4 @@ ParseDepends('deps')
for v in vs: env.Coq(v)
# Coqidescript
env.CoqIdeScript('coqidescript', [])
env.CoqIdeScript('coqidescript', [], COQFLAGS=Rs)
Require Export cmra.
Require Export iris.cmra.
Local Hint Extern 10 (_ _) => omega.
Record agree A `{Dist A} := Agree {
......
Require Export excl.
Require Export iris.excl.
Local Arguments disjoint _ _ !_ !_ /.
Local Arguments included _ _ !_ !_ /.
......
Require Export ra cofe cofe_instances.
Require Export iris.ra iris.cofe.
Class ValidN (A : Type) := validN : nat A Prop.
Instance: Params (@validN) 3.
......
Require Export prelude.
Require Export prelude.prelude.
Obligation Tactic := idtac.
(** Unbundeled version *)
......
Require Export cofe.
Require Import fin_maps pmap nmap zmap stringmap.
Require Export iris.cofe.
Require Import prelude.fin_maps prelude.pmap prelude.nmap prelude.zmap prelude.stringmap.
(** Discrete cofe *)
Section discrete_cofe.
......
Require Export cofe.
Require Export iris.cofe.
Section solver.
Context (F : cofeT cofeT cofeT).
......
Require Export ra.
Require Export iris.ra.
(** From disjoint pcm *)
Record validity {A} (P : A Prop) : Type := Validity {
......
Require Export cmra.
Require Export iris.cmra.
Local Arguments disjoint _ _ !_ !_ /.
Local Arguments included _ _ !_ !_ /.
......
Require Import cmra cofe_instances.
Require Import iris.cmra.
Local Hint Extern 1 (_ _) => etransitivity; [eassumption|].
Local Hint Extern 1 (_ _) => etransitivity; [|eassumption].
Local Hint Extern 10 (_ _) => omega.
......
Require Export collections relations.
Require Export prelude.collections prelude.relations.
Class Valid (A : Type) := valid : A Prop.
Instance: Params (@valid) 2.
......
Require Export ra.
Require Import sets stringmap dra.
Require Export iris.ra.
Require Import prelude.sets prelude.stringmap iris.dra.
Local Arguments valid _ _ !_ /.
Local Arguments op _ _ !_ !_ /.
Local Arguments unit _ _ !_ /.
......
......@@ -6,8 +6,8 @@ main advantage of these association lists compared to search trees, is that it
has canonical representatives and thus extensional Leibniz equality. Compared
to a naive unordered association list, the merge operation (used for unions,
intersections, and difference) is also linear-time. *)
Require Import mapset.
Require Export fin_maps.
Require Import prelude.mapset.
Require Export prelude.fin_maps.
(** Because the association list is sorted using [strict lexico] instead of
[lexico], it automatically guarantees that no duplicates exist. *)
......
......@@ -3,7 +3,7 @@
(** This file collects definitions and theorems on collections. Most
importantly, it implements some tactics to automatically solve goals involving
collections. *)
Require Export base tactics orders.
Require Export prelude.base prelude.tactics prelude.orders.
Instance collection_subseteq `{ElemOf A C} : SubsetEq C := λ X Y,
x, x X x Y.
......
(* Copyright (c) 2012-2015, Robbert Krebbers. *)
(* This file is distributed under the terms of the BSD license. *)
Require Export list.
Require Export prelude.list.
Local Obligation Tactic := idtac.
Local Open Scope positive.
......
......@@ -3,7 +3,7 @@
(** This file collects theorems, definitions, tactics, related to propositions
with a decidable equality. Such propositions are collected by the [Decision]
type class. *)
Require Export proof_irrel.
Require Export prelude.proof_irrel.
Hint Extern 200 (Decision _) => progress (lazy beta) : typeclass_instances.
......
(* Copyright (c) 2012-2015, Robbert Krebbers. *)
(* This file is distributed under the terms of the BSD license. *)
Require Export list.
Require Export prelude.list.
Definition error (S E A : Type) : Type := S E + (A * S).
......
......@@ -3,8 +3,8 @@
(** This file collects definitions and theorems on finite collections. Most
importantly, it implements a fold and size function and some useful induction
principles on finite collections . *)
Require Import Permutation relations listset.
Require Export numbers collections.
Require Import Permutation prelude.relations prelude.listset.
Require Export prelude.numbers prelude.collections.
Instance collection_size `{Elements A C} : Size C := length elements.
Definition collection_fold `{Elements A C} {B}
......
......@@ -3,7 +3,7 @@
(** This file provides an axiomatization of the domain function of finite
maps. We provide such an axiomatization, instead of implementing the domain
function in a generic way, to allow more efficient implementations. *)
Require Export collections fin_maps.
Require Export prelude.collections prelude.fin_maps.
Class FinMapDom K M D `{FMap M,
A, Lookup K A (M A), A, Empty (M A), A, PartialAlter K A (M A),
......
......@@ -5,7 +5,7 @@ finite maps and collects some theory on it. Most importantly, it proves useful
induction principles for finite maps and implements the tactic
[simplify_map_equality] to simplify goals involving finite maps. *)
Require Import Permutation.
Require Export relations vector orders.
Require Export prelude.relations prelude.vector prelude.orders.
(** * Axiomatization of finite maps *)
(** We require Leibniz equality to be extensional on finite maps. This of
......
(* Copyright (c) 2012-2015, Robbert Krebbers. *)
(* This file is distributed under the terms of the BSD license. *)
Require Export countable list.
Require Export prelude.countable prelude.list.
Obligation Tactic := idtac.
Class Finite A `{ x y : A, Decision (x = y)} := {
......
......@@ -3,8 +3,8 @@
(** This file implements finite set using hash maps. Hash sets are represented
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. *)
Require Export fin_maps listset.
Require Import zmap.
Require Export prelude.fin_maps prelude.listset.
Require Import prelude.zmap.
Record hashset {A} (hash : A Z) := Hashset {
hashset_car : Zmap (list A);
......
......@@ -2,7 +2,7 @@
(* This file is distributed under the terms of the BSD license. *)
(** 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. *)
Require Import numbers.
Require Import prelude.numbers.
Notation cast_trichotomy T :=
match T with
......
......@@ -3,7 +3,7 @@
(** This file collects general purpose definitions and theorems on lists that
are not in the Coq standard library. *)
Require Export Permutation.
Require Export numbers base decidable option.
Require Export prelude.numbers prelude.base prelude.decidable prelude.option.
Arguments length {_} _.
Arguments cons {_} _ _.
......
......@@ -2,7 +2,7 @@
(* This file is distributed under the terms of the BSD license. *)
(** This file implements finite set as unordered lists without duplicates
removed. This implementation forms a monad. *)
Require Export base decidable collections list.
Require Export prelude.base prelude.decidable prelude.collections prelude.list.
Record listset A := Listset { listset_car: list A }.
Arguments listset_car {_} _.
......
......@@ -3,7 +3,7 @@
(** This file implements finite as unordered lists without duplicates.
Although this implementation is slow, it is very useful as decidable equality
is the only constraint on the carrier set. *)
Require Export base decidable collections list.
Require Export prelude.base prelude.decidable prelude.collections prelude.list.
Record listset_nodup A := ListsetNoDup {
listset_nodup_car : list A; listset_nodup_prf : NoDup listset_nodup_car
......
......@@ -3,7 +3,7 @@
(** This files gives an implementation of finite sets using finite maps with
elements of the unit type. Since maps enjoy extensional equality, the
constructed finite sets do so as well. *)
Require Export fin_map_dom.
Require Export prelude.fin_map_dom.
Record mapset (M : Type Type) : Type :=
Mapset { mapset_car: M (unit : Type) }.
......
......@@ -3,7 +3,7 @@
(** This files implements a type [natmap A] of finite maps whose keys range
over Coq's data type of unary natural numbers [nat]. The implementation equips
a list with a proof of canonicity. *)
Require Import fin_maps mapset.
Require Import prelude.fin_maps prelude.mapset.
Notation natmap_raw A := (list (option A)).
Definition natmap_wf {A} (l : natmap_raw A) :=
......
......@@ -2,8 +2,8 @@
(* This file is distributed under the terms of the BSD license. *)
(** This files extends the implementation of finite over [positive] to finite
maps whose keys range over Coq's data type of binary naturals [N]. *)
Require Import pmap mapset.
Require Export prelude fin_maps.
Require Import prelude.pmap prelude.mapset.
Require Export prelude.prelude prelude.fin_maps.
Local Open Scope N_scope.
......
......@@ -5,7 +5,7 @@ natural numbers, and the type [Z] for integers. It also declares some useful
notations. *)
Require Export Eqdep PArith NArith ZArith NPeano.
Require Import QArith Qcanon.
Require Export base decidable.
Require Export prelude.base prelude.decidable.
Open Scope nat_scope.
Coercion Z.of_nat : nat >-> Z.
......
......@@ -2,7 +2,7 @@
(* This file is distributed under the terms of the BSD license. *)
(** This file collects general purpose definitions and theorems on the option
data type that are not in the Coq standard library. *)
Require Export base tactics decidable.
Require Export prelude.base prelude.tactics prelude.decidable.
Inductive option_reflect {A} (P : A Prop) (Q : Prop) : option A Type :=
| ReflectSome x : P x option_reflect P Q (Some x)
......
(* Copyright (c) 2012-2015, Robbert Krebbers. *)
(* This file is distributed under the terms of the BSD license. *)
Require Import mapset.
Require Export prelude fin_maps.
Require Import prelude.mapset.
Require Export prelude.prelude prelude.fin_maps.
Record optionmap (M : Type Type) (A : Type) : Type :=
OptionMap { optionmap_None : option A; optionmap_Some : M A }.
......
......@@ -3,7 +3,7 @@
(** This file collects common properties of pre-orders and semi lattices. This
theory will mainly be used for the theory on collections and finite maps. *)
Require Export Sorted.
Require Export base decidable tactics list.
Require Export prelude.base prelude.decidable prelude.tactics prelude.list.
(** * Arbitrary pre-, parial and total orders *)
(** Properties about arbitrary pre-, partial, and total orders. We do not use
......
......@@ -7,8 +7,8 @@ trees (uncompressed Patricia trees) and guarantees logarithmic-time operations.
However, we extend Leroy's implementation by packing the trees into a Sigma
type such that canonicity of representation is ensured. This is necesarry for
Leibniz equality to become extensional. *)
Require Import PArith mapset.
Require Export fin_maps.
Require Import PArith prelude.mapset.
Require Export prelude.fin_maps.
Local Open Scope positive_scope.
Local Hint Extern 0 (@eq positive _ _) => congruence.
......
(* Copyright (c) 2012-2015, Robbert Krebbers. *)
(* This file is distributed under the terms of the BSD license. *)
Require Export
base
tactics
decidable
orders
option
vector
numbers
relations
collections
fin_collections
listset
list
lexico.
prelude.base
prelude.tactics
prelude.decidable
prelude.orders
prelude.option
prelude.vector
prelude.numbers
prelude.relations
prelude.collections
prelude.fin_collections
prelude.listset
prelude.list
prelude.lexico.
(* Copyright (c) 2012-2015, Robbert Krebbers. *)
(* This file is distributed under the terms of the BSD license. *)
Require Export numbers option.
Require Import Ascii String relations.
Require Export prelude.numbers prelude.option.
Require Import Ascii String prelude.relations.
Infix "+:+" := String.append (at level 60, right associativity) : C_scope.
Arguments String.append _ _ : simpl never.
......
(* Copyright (c) 2012-2015, Robbert Krebbers. *)
(* This file is distributed under the terms of the BSD license. *)
(** This file collects facts on proof irrelevant types/propositions. *)
Require Export Eqdep_dec tactics.
Require Export Eqdep_dec prelude.tactics.
Hint Extern 200 (ProofIrrel _) => progress (lazy beta) : typeclass_instances.
......
......@@ -5,7 +5,7 @@ These are particularly useful as we define the operational semantics as a
small step semantics. This file defines a hint database [ars] containing
some theorems on abstract rewriting systems. *)
Require Import Wf_nat.
Require Export tactics base.
Require Export prelude.tactics prelude.base.
(** * Definitions *)
Section definitions.
......
(* Copyright (c) 2012-2015, Robbert Krebbers. *)
(* This file is distributed under the terms of the BSD license. *)
(** This file implements sets as functions into Prop. *)
Require Export prelude.
Require Export prelude.prelude.
Record set (A : Type) : Type := mkSet { set_car : A Prop }.
Arguments mkSet {_} _.
......@@ -28,4 +28,4 @@ Instance set_join : MJoin set := λ A (XX : set (set A)),
Instance set_collection_monad : CollectionMonad set.
Proof. by split; try apply _. Qed.
Global Opaque set_union set_intersection.
\ No newline at end of file
Global Opaque set_union set_intersection.
(* Copyright (c) 2012-2015, Robbert Krebbers. *)
(* This file is distributed under the terms of the BSD license. *)
Require Export tactics.
Require Export prelude.tactics.
CoInductive stream (A : Type) : Type := scons : A stream A stream A.
Arguments scons {_} _ _.
......
......@@ -4,8 +4,8 @@
range over Coq's data type of strings [string]. The implementation uses radix-2
search trees (uncompressed Patricia trees) as implemented in the file [pmap]
and guarantees logarithmic-time operations. *)
Require Export fin_maps pretty.
Require Import Ascii String list pmap mapset.
Require Export prelude.fin_maps prelude.pretty.
Require Import Ascii String prelude.list prelude.pmap prelude.mapset.
(** * Encoding and decoding *)
(** In order to reuse or existing implementation of radix-2 search trees over
......
......@@ -3,7 +3,7 @@
(** This file collects general purpose tactics that are used throughout
the development. *)
Require Export Psatz.
Require Export base.
Require Export prelude.base.
Lemma f_equal_dep {A B} (f g : x : A, B x) x : f = g f x = g x.
Proof. intros ->; reflexivity. Qed.
......
......@@ -5,7 +5,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. *)
Require Import list finite.
Require Import prelude.list prelude.finite.
Open Scope vector_scope.
(** * The fin type *)
......
......@@ -2,8 +2,8 @@
(* This file is distributed under the terms of the BSD license. *)
(** This files extends the implementation of finite over [positive] to finite
maps whose keys range over Coq's data type of binary naturals [Z]. *)
Require Import pmap mapset.
Require Export prelude fin_maps.
Require Import prelude.pmap prelude.mapset.
Require Export prelude.prelude prelude.fin_maps.
Local Open Scope Z_scope.
Record Zmap (A : Type) : Type :=
......
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