From f4954e9d7ff40c2199c18bcf4d9a6bd886fefdf1 Mon Sep 17 00:00:00 2001
From: Nikolaj Bjorner <nbjorner@microsoft.com>
Date: Tue, 13 Oct 2015 09:24:02 -0700
Subject: [PATCH] fix for fixed size rational difference logic

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
---
 src/smt/theory_diff_logic.h | 13 +++++--------
 1 file changed, 5 insertions(+), 8 deletions(-)

diff --git a/src/smt/theory_diff_logic.h b/src/smt/theory_diff_logic.h
index cb86e6679..ed96d050e 100644
--- a/src/smt/theory_diff_logic.h
+++ b/src/smt/theory_diff_logic.h
@@ -399,7 +399,6 @@ namespace smt {
     };
 
     struct sidl_ext {
-        // TODO: It doesn't need to be a rational, but a bignum integer.
         static const bool m_int_theory = true;
         typedef s_integer numeral;
         typedef s_integer fin_numeral;
@@ -415,13 +414,11 @@ namespace smt {
         rdl_ext() : m_epsilon(rational(), true) {}
     };
 
-    struct srdl_ext {
-        static const bool m_int_theory = false;
-        typedef inf_s_integer numeral;
-        typedef s_integer fin_numeral;
-        numeral m_epsilon;
-        srdl_ext() : m_epsilon(s_integer(0),true) {}
-    };
+    //
+    // there is no s_rational class, so 
+    // instead we use multi-precision rationals.
+    //
+    struct srdl_ext : public rdl_ext {};
 
     typedef theory_diff_logic<idl_ext>  theory_idl;
     typedef theory_diff_logic<sidl_ext> theory_fidl;