Cleanup in transcendental solver, add ApproximationBounds struct. (#5945)
[cvc5.git] / src / theory / booleans / kinds
index ac6b058816a97015b9ae4c7f7f1061411a1d7962..9d7b3fbd605d5e35e2449695ad655ffecd3d6786 100644 (file)
@@ -4,18 +4,44 @@
 # src/theory/builtin/kinds.
 #
 
-theory ::CVC4::theory::booleans::TheoryBool "theory_bool.h"
+theory THEORY_BOOL ::CVC4::theory::booleans::TheoryBool "theory/booleans/theory_bool.h"
+typechecker "theory/booleans/theory_bool_type_rules.h"
+
+properties finite
+
+rewriter ::CVC4::theory::booleans::TheoryBoolRewriter "theory/booleans/theory_bool_rewriter.h"
+
+sort BOOLEAN_TYPE \
+    2 \
+    well-founded \
+        "NodeManager::currentNM()->mkConst(false)" \
+        "expr/node_manager.h" \
+    "Boolean type"
 
 constant CONST_BOOLEAN \
     bool \
-    ::CVC4::BoolHashStrategy \
+    ::CVC4::BoolHashFunction \
     "util/bool.h" \
-    "truth and falsity"
+    "truth and falsity; payload is a (C++) bool"
+
+enumerator BOOLEAN_TYPE \
+    "::CVC4::theory::booleans::BooleanEnumerator" \
+    "theory/booleans/type_enumerator.h"
 
 operator NOT 1 "logical not"
-operator AND 2: "logical and"
-operator IFF 2 "logical equivalence"
-operator IMPLIES 2 "logical implication"
-operator OR 2: "logical or"
-operator XOR 2 "exclusive or"
-operator ITE 3 "if-then-else"
+operator AND 2: "logical and (N-ary)"
+operator IMPLIES 2 "logical implication (exactly two parameters)"
+operator OR 2: "logical or (N-ary)"
+operator XOR 2 "exclusive or (exactly two parameters)"
+operator ITE 3 "if-then-else, used for both Boolean and term ITE constructs; first parameter is (Boolean-sorted) condition, second is 'then', third is 'else' and these two parameters must have same base sort"
+
+typerule CONST_BOOLEAN ::CVC4::theory::boolean::BooleanTypeRule
+
+typerule NOT ::CVC4::theory::boolean::BooleanTypeRule
+typerule AND ::CVC4::theory::boolean::BooleanTypeRule
+typerule IMPLIES ::CVC4::theory::boolean::BooleanTypeRule
+typerule OR ::CVC4::theory::boolean::BooleanTypeRule
+typerule XOR ::CVC4::theory::boolean::BooleanTypeRule
+typerule ITE ::CVC4::theory::boolean::IteTypeRule
+
+endtheory