diff --git a/_CoqProject b/_CoqProject
index 05c4e0532cc5c43a3bafef31511923257c0e76dc..903bf1256eaec95e48fafb2ab4ad636b113d96f8 100644
--- a/_CoqProject
+++ b/_CoqProject
@@ -21,6 +21,7 @@ prelude/listset.v
 prelude/streams.v
 prelude/gmap.v
 prelude/base.v
+prelude/psatz_axiomfree.v
 prelude/tactics.v
 prelude/prelude.v
 prelude/listset_nodup.v
diff --git a/prelude/psatz_axiomfree.v b/prelude/psatz_axiomfree.v
new file mode 100644
index 0000000000000000000000000000000000000000..9b1d430e972ab1d850cd71c15bce7ffae7415c70
--- /dev/null
+++ b/prelude/psatz_axiomfree.v
@@ -0,0 +1,39 @@
+(** This file is a hack that lets us use Psatz without importing all sorts of
+    axioms about real numbers.  It has been created by copying the file
+    Psatz.v from the Coq distribution, removing everything defined after the lia
+    tactic, and removing the two lines importing RMicromega and Rdefinitions.
+    The original license header follows. *)
+
+(************************************************************************)
+(*  v      *   The Coq Proof Assistant  /  The Coq Development Team     *)
+(* <O___,, *   INRIA - CNRS - LIX - LRI - PPS - Copyright 1999-2016     *)
+(*   \VV/  **************************************************************)
+(*    //   *      This file is distributed under the terms of the       *)
+(*         *       GNU Lesser General Public License Version 2.1        *)
+(************************************************************************)
+(*                                                                      *)
+(* Micromega: A reflexive tactic using the Positivstellensatz           *)
+(*                                                                      *)
+(*  Frédéric Besson (Irisa/Inria) 2006-2008                             *)
+(*                                                                      *)
+(************************************************************************)
+
+From Coq Require Import ZMicromega.
+From Coq Require Import QMicromega.
+From Coq Require Import QArith.
+From Coq Require Import ZArith.
+From Coq Require Import RingMicromega.
+From Coq Require Import VarMap.
+From Coq Require Tauto.
+Declare ML Module "micromega_plugin".
+
+Ltac preprocess := 
+    zify ; unfold Z.succ in * ; unfold Z.pred in *.
+
+Ltac lia :=
+  preprocess;
+  xlia ;
+  abstract (
+  intros __wit __varmap __ff ;
+    change (Tauto.eval_f (Zeval_formula (@find Z Z0 __varmap)) __ff) ;
+      apply (ZTautoChecker_sound __ff __wit); vm_cast_no_check (eq_refl true)).
diff --git a/prelude/tactics.v b/prelude/tactics.v
index 246e51cdec2fcc46fe7b553e6460cdadcedec623..2a41f76463b9857868fd74f0ac708bfedf514298 100644
--- a/prelude/tactics.v
+++ b/prelude/tactics.v
@@ -3,7 +3,7 @@
 (** This file collects general purpose tactics that are used throughout
 the development. *)
 From Coq Require Import Omega.
-From Coq Require Export Psatz.
+From iris.prelude Require Export psatz_axiomfree.
 From iris.prelude Require Export decidable.
 
 Lemma f_equal_dep {A B} (f g : ∀ x : A, B x) x : f = g → f x = g x.