if(d_logic.areIntegersUsed()) {
defineType("Int", d_solver->getIntegerSort(), true, true);
addArithmeticOperators();
- addOperator(api::INTS_DIVISION, "div");
- addOperator(api::INTS_MODULUS, "mod");
- addOperator(api::ABS, "abs");
+ if (!d_logic.isLinear())
+ {
+ addOperator(api::INTS_DIVISION, "div");
+ addOperator(api::INTS_MODULUS, "mod");
+ addOperator(api::ABS, "abs");
+ }
addIndexedOperator(api::DIVISIBLE, api::DIVISIBLE, "divisible");
}
regress0/parser/force_logic_set_logic.smt2
regress0/parser/force_logic_success.smt2
regress0/parser/issue5163.smt2
+ regress0/parser/linear_arithmetic_err1.smt2
+ regress0/parser/linear_arithmetic_err2.smt2
+ regress0/parser/linear_arithmetic_err3.smt2
regress0/parser/shadow_fun_symbol_all.smt2
regress0/parser/shadow_fun_symbol_nirat.smt2
regress0/parser/strings20.smt2
; COMMAND-LINE: -q
; EXPECT: sat
-(set-logic QF_LIA)
+(set-logic QF_NIA)
(set-info :status sat)
(declare-fun x () Int)
-(set-logic LIA)
+(set-logic NIA)
(set-info :status sat)
(define-fun findIdx ((y1 Int)(y2 Int)(k1 Int)) Int (div (* (- 7) (mod y1 (- 5))) 2))
-(set-logic QF_LIA)
+(set-logic QF_NIA)
(set-info :status unsat)
(declare-fun x () Int)
; COMMAND-LINE: --tlimit 1000
; EXPECT: unknown
-(set-logic AUFLIA)
+(set-logic AUFNIA)
(declare-fun f (Int) Int)
+; REQUIRES: no-competition
; COMMAND-LINE: --lang=sygus2 --sygus-si=all --sygus-out=status --no-sygus-repair-const
-; SCRUBBER: sed -e 's/The fact in question: .*$/The fact in question: TERM/'
-; EXPECT: (error "A non-linear fact was asserted to arithmetic in a linear logic.
-; EXPECT: The fact in question: TERM
-; EXPECT: ")
+; ERROR-SCRUBBER: grep -o "Symbol 'div' not declared as a variable"
+; EXPECT-ERROR: Symbol 'div' not declared as a variable
; EXIT: 1
(set-logic LIA)
(declare-var n Int)
--- /dev/null
+; REQUIRES: no-competition
+; SCRUBBER: grep -o "Symbol 'div' not declared as a variable"
+; EXPECT: Symbol 'div' not declared as a variable
+; EXIT: 1
+(set-option :incremental false)
+(set-info :status sat)
+(set-logic QF_LIA)
+(declare-fun x () Int)
+(declare-fun y () Int)
+(declare-fun z () Int)
+(check-sat-assuming ( (and (= z 0) (>= (+ (- (div 2 x) (* 2 y)) z) 1)) ))
--- /dev/null
+; REQUIRES: no-competition
+; SCRUBBER: grep -o "Symbol 'mod' not declared as a variable"
+; EXPECT: Symbol 'mod' not declared as a variable
+; EXIT: 1
+(set-option :incremental false)
+(set-info :status sat)
+(set-logic QF_LIA)
+(declare-fun x () Int)
+(declare-fun y () Int)
+(declare-fun z () Int)
+(check-sat-assuming ( (and (= z 0) (>= (+ (- (mod 2 x) (* 2 y)) z) 1)) ))
--- /dev/null
+; REQUIRES: no-competition
+; SCRUBBER: grep -o "Symbol 'abs' not declared as a variable"
+; EXPECT: Symbol 'abs' not declared as a variable
+; EXIT: 1
+(set-option :incremental false)
+(set-info :status sat)
+(set-logic QF_LIA)
+(declare-fun x () Int)
+(declare-fun y () Int)
+(declare-fun z () Int)
+(check-sat-assuming ( (and (= z 0) (>= (+ (- (abs 2 x) (* 2 y)) z) 1)) ))
; COMMAND-LINE: --fmf-fun --no-check-models
; EXPECT: sat
-(set-logic UFLIA)
+(set-logic UFNIA)
(set-info :status sat)
(define-fun-rec int-and ((n Int) (n1 Int) (n2 Int)) Bool (
or
; COMMAND-LINE: --fmf-fun --no-check-models
; EXPECT: sat
-(set-logic UFLIA)
+(set-logic UFNIA)
(set-info :status sat)
(define-fun-rec int-and ((n Int) (n1 Int) (n2 Int)) Bool (
or
+; COMMAND-LINE: -q
; SCRUBBER: sed 's/(.*)/()/g'
; EXPECT: ()
; EXIT: 0
-(set-logic LIA)
+(set-logic NIA)
(declare-fun v9 () Bool)
(declare-fun v18 () Bool)
(declare-fun i2 () Int)
+; COMMAND-LINE: -q
; SCRUBBER: sed 's/(.*)/()/g'
; EXPECT: ()
; EXIT: 0
-(set-logic LIA)
+(set-logic NIA)
(declare-fun v0 () Bool)
(declare-fun v1 () Bool)
(declare-fun v2 () Bool)
(set-info :smt-lib-version 2.6)
-(set-logic LIA)
+(set-logic NIA)
(set-info :status unsat)
(declare-fun c_main_~x~0 () Int)
(declare-fun c_main_~y~0 () Int)
; EXPECT: unsat
; COMMAND-LINE: --lang=sygus2 --sygus-out=status
-(set-logic LIA)
+(set-logic NIA)
(synth-fun f ((x Int)) Int
((Start Int))