From 382f1a2f9652f79b44851aa4c97c5c0582e5013f Mon Sep 17 00:00:00 2001
From: Nicolas Voirol <voirol.nicolas@gmail.com>
Date: Wed, 30 Nov 2016 13:16:53 +0100
Subject: [PATCH] Extend supported fragment in AbstractPrincessSolver

---
 .../inox/solvers/princess/AbstractPrincessSolver.scala     | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/src/main/scala/inox/solvers/princess/AbstractPrincessSolver.scala b/src/main/scala/inox/solvers/princess/AbstractPrincessSolver.scala
index 0ea14f242..48b4008fc 100644
--- a/src/main/scala/inox/solvers/princess/AbstractPrincessSolver.scala
+++ b/src/main/scala/inox/solvers/princess/AbstractPrincessSolver.scala
@@ -216,6 +216,9 @@ trait AbstractPrincessSolver extends AbstractSolver with ADTManagers {
       case AsInstanceOf(expr, tpe) =>
         parseTerm(expr)
 
+      case BooleanLiteral(true) => i(0)
+      case BooleanLiteral(false) => i(1)
+
       // @nv: this MUST come at least after having dealt with FunctionInvocation,
       //      Application and ADTSelectors which can return booleans
       case IsTyped(_, BooleanType) =>
@@ -252,14 +255,14 @@ trait AbstractPrincessSolver extends AbstractSolver with ADTManagers {
       case Times(lhs, rhs) => {
         val pLhs = parseTerm(lhs)
         val pRhs = parseTerm(rhs)
-        pLhs * pRhs
+        p.mult(pLhs, pRhs)
       }
 
       case UMinus(e) =>
         - parseTerm(e)
 
       case Division(lhs, rhs) =>
-        p.mulTheory.eDiv(parseTerm(lhs), parseTerm(rhs))
+        p.mulTheory.tDiv(parseTerm(lhs), parseTerm(rhs))
 
       case Remainder(lhs, rhs) =>
         val q = parseTerm(Division(lhs, rhs))
-- 
GitLab