summaryrefslogtreecommitdiff
path: root/src/theory/arith/kinds
blob: bf5ea24c1e35405b4dd689c47491f7a1321869af (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
# kinds                                                               -*- sh -*-
#
# For documentation on this file format, please refer to
# src/theory/builtin/kinds.
#

theory THEORY_ARITH ::CVC4::theory::arith::TheoryArith "theory/arith/theory_arith.h"
typechecker "theory/arith/theory_arith_type_rules.h"

properties stable-infinite
properties check propagate staticLearning presolve notifyRestart

rewriter ::CVC4::theory::arith::ArithRewriter "theory/arith/arith_rewriter.h"


operator PLUS 2: "arithmetic addition"
operator MULT 2: "arithmetic multiplication"
operator MINUS 2 "arithmetic binary subtraction operator"
operator UMINUS 1 "arithmetic unary negation"
operator DIVISION 2 "arithmetic division"
operator POW 2 "arithmetic power"

sort REAL_TYPE \
    Cardinality::REALS \
    well-founded \
        "NodeManager::currentNM()->mkConst(Rational(0))" \
        "expr/node_manager.h" \
    "Real type"
sort INTEGER_TYPE \
    Cardinality::INTEGERS \
    well-founded \
        "NodeManager::currentNM()->mkConst(Integer(0))" \
        "expr/node_manager.h" \
    "Integer type"
sort PSEUDOBOOLEAN_TYPE \
    2 \
    well-founded \
        "NodeManager::currentNM()->mkConst(Pseudoboolean(0))" \
        "expr/node_manager.h" \
    "Pseudoboolean type"

constant CONST_RATIONAL \
    ::CVC4::Rational \
    ::CVC4::RationalHashStrategy \
    "util/rational.h" \
    "a multiple-precision rational constant"
constant CONST_INTEGER \
    ::CVC4::Integer \
    ::CVC4::IntegerHashStrategy \
    "util/integer.h" \
    "a multiple-precision integer constant"
constant CONST_PSEUDOBOOLEAN \
    ::CVC4::Pseudoboolean \
    ::CVC4::PseudobooleanHashStrategy \
    "util/pseudoboolean.h" \
    "a pseudoboolean constant"

operator LT 2 "less than, x < y"
operator LEQ 2 "less than or equal, x <= y"
operator GT 2 "greater than, x > y"
operator GEQ 2 "greater than or equal, x >= y"

typerule PLUS ::CVC4::theory::arith::ArithOperatorTypeRule
typerule MULT ::CVC4::theory::arith::ArithOperatorTypeRule
typerule MINUS ::CVC4::theory::arith::ArithOperatorTypeRule
typerule UMINUS ::CVC4::theory::arith::ArithOperatorTypeRule
typerule DIVISION ::CVC4::theory::arith::ArithOperatorTypeRule
typerule POW ::CVC4::theory::arith::ArithOperatorTypeRule

typerule CONST_RATIONAL ::CVC4::theory::arith::ArithConstantTypeRule
typerule CONST_INTEGER ::CVC4::theory::arith::ArithConstantTypeRule

typerule LT ::CVC4::theory::arith::ArithPredicateTypeRule
typerule LEQ ::CVC4::theory::arith::ArithPredicateTypeRule
typerule GT ::CVC4::theory::arith::ArithPredicateTypeRule
typerule GEQ ::CVC4::theory::arith::ArithPredicateTypeRule

endtheory
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback