Eliminate Boolean term conversion. Generalizes removeITE pass to remove Boolean terms...
[cvc5.git] / src / theory / booleans / kinds
1 # kinds -*- sh -*-
2 #
3 # For documentation on this file format, please refer to
4 # src/theory/builtin/kinds.
5 #
6
7 theory THEORY_BOOL ::CVC4::theory::booleans::TheoryBool "theory/booleans/theory_bool.h"
8 typechecker "theory/booleans/theory_bool_type_rules.h"
9
10 properties finite
11
12 rewriter ::CVC4::theory::booleans::TheoryBoolRewriter "theory/booleans/theory_bool_rewriter.h"
13
14 sort BOOLEAN_TYPE \
15 2 \
16 well-founded \
17 "NodeManager::currentNM()->mkConst(false)" \
18 "expr/node_manager.h" \
19 "Boolean type"
20
21 constant CONST_BOOLEAN \
22 bool \
23 ::CVC4::BoolHashFunction \
24 "util/bool.h" \
25 "truth and falsity; payload is a (C++) bool"
26
27 enumerator BOOLEAN_TYPE \
28 "::CVC4::theory::booleans::BooleanEnumerator" \
29 "theory/booleans/type_enumerator.h"
30
31 operator NOT 1 "logical not"
32 operator AND 2: "logical and (N-ary)"
33 operator IMPLIES 2 "logical implication (exactly two parameters)"
34 operator OR 2: "logical or (N-ary)"
35 operator XOR 2 "exclusive or (exactly two parameters)"
36 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"
37
38 typerule CONST_BOOLEAN ::CVC4::theory::boolean::BooleanTypeRule
39
40 typerule NOT ::CVC4::theory::boolean::BooleanTypeRule
41 typerule AND ::CVC4::theory::boolean::BooleanTypeRule
42 typerule IMPLIES ::CVC4::theory::boolean::BooleanTypeRule
43 typerule OR ::CVC4::theory::boolean::BooleanTypeRule
44 typerule XOR ::CVC4::theory::boolean::BooleanTypeRule
45 typerule ITE ::CVC4::theory::boolean::IteTypeRule
46
47 endtheory