Support HORN logic string (#1849)
authorAndrew Reynolds <andrew.j.reynolds@gmail.com>
Thu, 3 May 2018 02:27:53 +0000 (21:27 -0500)
committerGitHub <noreply@github.com>
Thu, 3 May 2018 02:27:53 +0000 (21:27 -0500)
src/parser/smt1/smt1.cpp
src/theory/logic_info.cpp

index c3365eb132bf88a2cc932a64f49a367e9af519c2..04737343690dda3bbdee19a7b694ca105080eda1 100644 (file)
@@ -61,6 +61,7 @@ std::unordered_map<std::string, Smt1::Logic> Smt1::newLogicMap() {
   logicMap["ALL_SUPPORTED"] = ALL_SUPPORTED;
   logicMap["QF_ALL"] = QF_ALL_SUPPORTED;
   logicMap["ALL"] = ALL_SUPPORTED;
+  logicMap["HORN"] = ALL_SUPPORTED;
   return logicMap;
 }
 
index 9fe3b713f027a0df75543262dd7438ebd4a4d602..41d74b4a0f79b358dbd0b6fbee749125bdc1a213 100644 (file)
@@ -377,6 +377,14 @@ void LogicInfo::setLogicString(std::string logicString)
     enableQuantifiers();
     arithNonLinear();
     p += 3;
+  }
+  else if (!strcmp(p, "HORN"))
+  {
+    // the HORN logic
+    enableEverything();
+    enableQuantifiers();
+    arithNonLinear();
+    p += 4;
   } else {
     if(!strncmp(p, "QF_", 3)) {
       disableQuantifiers();