aboutsummaryrefslogtreecommitdiff
path: root/theories/micromega/Lia.v
diff options
context:
space:
mode:
authorEmilio Jesus Gallego Arias2020-02-05 17:46:07 +0100
committerEmilio Jesus Gallego Arias2020-02-13 21:12:03 +0100
commit9193769161e1f06b371eed99dfe9e90fec9a14a6 (patch)
treee16e5f60ce6a88656ccd802d232cde6171be927d /theories/micromega/Lia.v
parenteb83c142eb33de18e3bfdd7c32ecfb797a640c38 (diff)
[build] Consolidate stdlib's .v files under a single directory.
Currently, `.v` under the `Coq.` prefix are found in both `theories` and `plugins`. Usually these two directories are merged by special loadpath code that allows double-binding of the prefix. This adds some complexity to the build and loadpath system; and in particular, it prevents from handling the `Coq.*` prefix in the simple, `-R theories Coq` standard way. We thus move all `.v` files to theories, leaving `plugins` as an OCaml-only directory, and modify accordingly the loadpath / build infrastructure. Note that in general `plugins/foo/Foo.v` was not self-contained, in the sense that it depended on files in `theories` and files in `theories` depended on it; moreover, Coq saw all these files as belonging to the same namespace so it didn't really care where they lived. This could also imply a performance gain as we now effectively traverse less directories when locating a library. See also discussion in #10003
Diffstat (limited to 'theories/micromega/Lia.v')
-rw-r--r--theories/micromega/Lia.v39
1 files changed, 39 insertions, 0 deletions
diff --git a/theories/micromega/Lia.v b/theories/micromega/Lia.v
new file mode 100644
index 0000000000..e53800d07d
--- /dev/null
+++ b/theories/micromega/Lia.v
@@ -0,0 +1,39 @@
+(************************************************************************)
+(* * The Coq Proof Assistant / The Coq Development Team *)
+(* v * INRIA, CNRS and contributors - Copyright 1999-2019 *)
+(* <O___,, * (see CREDITS file for the list of authors) *)
+(* \VV/ **************************************************************)
+(* // * This file is distributed under the terms of the *)
+(* * GNU Lesser General Public License Version 2.1 *)
+(* * (see LICENSE file for the text of the license) *)
+(************************************************************************)
+(* *)
+(* Micromega: A reflexive tactic using the Positivstellensatz *)
+(* *)
+(* Frédéric Besson (Irisa/Inria) 2013-2016 *)
+(* *)
+(************************************************************************)
+
+Require Import ZMicromega.
+Require Import ZArith_base.
+Require Import RingMicromega.
+Require Import VarMap.
+Require Import DeclConstant.
+Require Coq.micromega.Tauto.
+Declare ML Module "micromega_plugin".
+
+
+Ltac zchecker :=
+ intros __wit __varmap __ff ;
+ exact (ZTautoChecker_sound __ff __wit
+ (@eq_refl bool true <: @eq bool (ZTautoChecker __ff __wit) true)
+ (@find Z Z0 __varmap)).
+
+Ltac lia := PreOmega.zify; xlia zchecker.
+
+Ltac nia := PreOmega.zify; xnlia zchecker.
+
+
+(* Local Variables: *)
+(* coding: utf-8 *)
+(* End: *)