Cleanup in transcendental solver, add ApproximationBounds struct. (#5945)
[cvc5.git] / src / theory / booleans / kinds
index f70876ac55f22dceb21ca43bcb41d40427afce80..9d7b3fbd605d5e35e2449695ad655ffecd3d6786 100644 (file)
@@ -1,14 +1,47 @@
 # kinds                                                               -*- sh -*-
 #
 # For documentation on this file format, please refer to
-# src/expr/builtin_kinds.
+# src/theory/builtin/kinds.
 #
 
-operator FALSE "falsity"
-operator TRUE "truth"
-operator NOT "logical not"
-operator AND "logical and"
-operator IFF "logical equivalence"
-operator IMPLIES "logical implication"
-operator OR "logical or"
-operator XOR "exclusive or"
+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::BoolHashFunction \
+    "util/bool.h" \
+    "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 (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