sbv-14.0: SBVTestSuite/GoldFiles/recursive21_allSelfBadCross.gold
[MEASURE] Verifying termination measures for: bf21 @(SBV Integer -> SBV Integer), bf21 @(SBV Integer -> SBV Integer), bg21 @(SBV Integer -> SBV Integer), bg21 @(SBV Integer -> SBV Integer)
[MEASURE] Checking: bf21 @(SBV Integer -> SBV Integer)
[MEASURE] Checking mutual recursion group: {bf21 :: SBV Integer -> SBV Integer, bg21 :: SBV Integer -> SBV Integer}
[MEASURE] Mutual group: trying measure abs arg1 for all members
[MEASURE] replayDAG {bf21 @(SBV Integer -> SBV Integer), bg21 @(SBV Integer -> SBV Integer)}: replaying 7 node(s)
** Calling: z3 -nw -in -smt2
[GOOD] ; Automatically generated by SBV. Do not edit.
[GOOD] (set-option :print-success true)
[GOOD] (set-option :global-declarations true)
[GOOD] (set-option :smtlib2_compliant true)
[GOOD] (set-option :diagnostic-output-channel "stdout")
[GOOD] (set-option :produce-models true)
[GOOD] (set-logic ALL) ; has unbounded values, using catch-all.
[GOOD] ; --- tuples ---
[GOOD] ; --- sums ---
[GOOD] ; --- literal constants ---
[GOOD] (define-fun s1 () Int 0)
[GOOD] (define-fun s2 () Int 1)
[GOOD] ; --- top level inputs ---
[GOOD] (declare-fun s0 () Int) ; tracks user variable "arg"
[GOOD] (declare-fun s5 () Int) ; tracks user variable "__internal_sbv_s5"
[GOOD] (declare-fun s7 () Int) ; tracks user variable "__internal_sbv_s7"
[GOOD] ; --- constant tables ---
[GOOD] ; --- non-constant tables ---
[GOOD] ; --- uninterpreted constants ---
[GOOD] ; --- user defined functions ---
[GOOD] ; --- assignments ---
[GOOD] (define-fun s3 () Bool (<= s0 s1))
[GOOD] (define-fun s4 () Int (- s0 s2))
[GOOD] (define-fun s6 () Int (+ s0 s2))
[GOOD] (define-fun s8 () Int (+ s5 s7))
[GOOD] (define-fun s9 () Int (ite s3 s1 s8))
[GOOD] (define-fun s10 () Int (abs s0))
[GOOD] (define-fun s11 () Bool (>= s10 s1))
[GOOD] ; --- delayedEqualities ---
[GOOD] ; --- formula ---
[GOOD] (assert (not s11))
[SEND] (check-sat)
[RECV] unsat
*** Solver : Z3
*** Exit code: ExitSuccess
[MEASURE] replayDAG {bf21 @(SBV Integer -> SBV Integer), bg21 @(SBV Integer -> SBV Integer)}: replaying 7 node(s)
** Calling: z3 -nw -in -smt2
[GOOD] ; Automatically generated by SBV. Do not edit.
[GOOD] (set-option :print-success true)
[GOOD] (set-option :global-declarations true)
[GOOD] (set-option :smtlib2_compliant true)
[GOOD] (set-option :diagnostic-output-channel "stdout")
[GOOD] (set-option :produce-models true)
[GOOD] (set-logic ALL) ; has unbounded values, using catch-all.
[GOOD] ; --- tuples ---
[GOOD] ; --- sums ---
[GOOD] ; --- literal constants ---
[GOOD] (define-fun s1 () Int 0)
[GOOD] (define-fun s2 () Int 1)
[GOOD] ; --- top level inputs ---
[GOOD] (declare-fun s0 () Int) ; tracks user variable "arg"
[GOOD] (declare-fun s5 () Int) ; tracks user variable "__internal_sbv_s5"
[GOOD] (declare-fun s7 () Int) ; tracks user variable "__internal_sbv_s7"
[GOOD] ; --- constant tables ---
[GOOD] ; --- non-constant tables ---
[GOOD] ; --- uninterpreted constants ---
[GOOD] ; --- user defined functions ---
[GOOD] ; --- assignments ---
[GOOD] (define-fun s3 () Bool (<= s0 s1))
[GOOD] (define-fun s4 () Int (- s0 s2))
[GOOD] (define-fun s6 () Int (+ s0 s2))
[GOOD] (define-fun s8 () Int (+ s5 s7))
[GOOD] (define-fun s9 () Int (ite s3 s1 s8))
[GOOD] (define-fun s10 () Int (abs s0))
[GOOD] (define-fun s11 () Int (abs s4))
[GOOD] (define-fun s12 () Int (abs s6))
[GOOD] (define-fun s13 () Bool (not s3))
[GOOD] (define-fun s14 () Bool (> s10 s11))
[GOOD] (define-fun s15 () Bool (=> s13 s14))
[GOOD] (define-fun s16 () Bool (> s10 s12))
[GOOD] (define-fun s17 () Bool (=> s13 s16))
[GOOD] (define-fun s18 () Bool (and s15 s17))
[GOOD] ; --- delayedEqualities ---
[GOOD] ; --- formula ---
[GOOD] (assert (not s18))
[SEND] (check-sat)
[RECV] sat
[SEND] (get-value (s10))
[RECV] ((s10 2))
[SEND] (get-value (s11))
[RECV] ((s11 1))
[SEND] (get-value (s12))
[RECV] ((s12 3))
[SEND] (get-value (s0))
[RECV] ((s0 2))
[SEND] (get-value (s5))
[RECV] ((s5 0))
[SEND] (get-value (s7))
[RECV] ((s7 0))
*** Solver : Z3
*** Exit code: ExitSuccess
[MEASURE] Mutual group: decrease failed for bf21 @(SBV Integer -> SBV Integer): Falsifiable. Counter-example:
arg = 2 :: Integer
before = 2 :: Integer
then[1] = 1 :: Integer
then[2] = 3 :: Integer
[MEASURE] Mutual group: measure abs arg1 failed, trying next
[MEASURE] Mutual group: trying measure smax 0 arg1 for all members
[MEASURE] replayDAG {bf21 @(SBV Integer -> SBV Integer), bg21 @(SBV Integer -> SBV Integer)}: replaying 7 node(s)
** Calling: z3 -nw -in -smt2
[GOOD] ; Automatically generated by SBV. Do not edit.
[GOOD] (set-option :print-success true)
[GOOD] (set-option :global-declarations true)
[GOOD] (set-option :smtlib2_compliant true)
[GOOD] (set-option :diagnostic-output-channel "stdout")
[GOOD] (set-option :produce-models true)
[GOOD] (set-logic ALL) ; has unbounded values, using catch-all.
[GOOD] ; --- tuples ---
[GOOD] ; --- sums ---
[GOOD] ; --- literal constants ---
[GOOD] (define-fun s1 () Int 0)
[GOOD] (define-fun s2 () Int 1)
[GOOD] ; --- top level inputs ---
[GOOD] (declare-fun s0 () Int) ; tracks user variable "arg"
[GOOD] (declare-fun s5 () Int) ; tracks user variable "__internal_sbv_s5"
[GOOD] (declare-fun s7 () Int) ; tracks user variable "__internal_sbv_s7"
[GOOD] ; --- constant tables ---
[GOOD] ; --- non-constant tables ---
[GOOD] ; --- uninterpreted constants ---
[GOOD] ; --- user defined functions ---
[GOOD] ; --- assignments ---
[GOOD] (define-fun s3 () Bool (<= s0 s1))
[GOOD] (define-fun s4 () Int (- s0 s2))
[GOOD] (define-fun s6 () Int (+ s0 s2))
[GOOD] (define-fun s8 () Int (+ s5 s7))
[GOOD] (define-fun s9 () Int (ite s3 s1 s8))
[GOOD] (define-fun s10 () Bool (<= s1 s0))
[GOOD] (define-fun s11 () Int (ite s10 s0 s1))
[GOOD] (define-fun s12 () Bool (>= s11 s1))
[GOOD] ; --- delayedEqualities ---
[GOOD] ; --- formula ---
[GOOD] (assert (not s12))
[SEND] (check-sat)
[RECV] unsat
*** Solver : Z3
*** Exit code: ExitSuccess
[MEASURE] replayDAG {bf21 @(SBV Integer -> SBV Integer), bg21 @(SBV Integer -> SBV Integer)}: replaying 7 node(s)
** Calling: z3 -nw -in -smt2
[GOOD] ; Automatically generated by SBV. Do not edit.
[GOOD] (set-option :print-success true)
[GOOD] (set-option :global-declarations true)
[GOOD] (set-option :smtlib2_compliant true)
[GOOD] (set-option :diagnostic-output-channel "stdout")
[GOOD] (set-option :produce-models true)
[GOOD] (set-logic ALL) ; has unbounded values, using catch-all.
[GOOD] ; --- tuples ---
[GOOD] ; --- sums ---
[GOOD] ; --- literal constants ---
[GOOD] (define-fun s1 () Int 0)
[GOOD] (define-fun s2 () Int 1)
[GOOD] ; --- top level inputs ---
[GOOD] (declare-fun s0 () Int) ; tracks user variable "arg"
[GOOD] (declare-fun s5 () Int) ; tracks user variable "__internal_sbv_s5"
[GOOD] (declare-fun s7 () Int) ; tracks user variable "__internal_sbv_s7"
[GOOD] ; --- constant tables ---
[GOOD] ; --- non-constant tables ---
[GOOD] ; --- uninterpreted constants ---
[GOOD] ; --- user defined functions ---
[GOOD] ; --- assignments ---
[GOOD] (define-fun s3 () Bool (<= s0 s1))
[GOOD] (define-fun s4 () Int (- s0 s2))
[GOOD] (define-fun s6 () Int (+ s0 s2))
[GOOD] (define-fun s8 () Int (+ s5 s7))
[GOOD] (define-fun s9 () Int (ite s3 s1 s8))
[GOOD] (define-fun s10 () Bool (<= s1 s0))
[GOOD] (define-fun s11 () Int (ite s10 s0 s1))
[GOOD] (define-fun s12 () Bool (<= s1 s4))
[GOOD] (define-fun s13 () Int (ite s12 s4 s1))
[GOOD] (define-fun s14 () Bool (<= s1 s6))
[GOOD] (define-fun s15 () Int (ite s14 s6 s1))
[GOOD] (define-fun s16 () Bool (not s3))
[GOOD] (define-fun s17 () Bool (> s11 s13))
[GOOD] (define-fun s18 () Bool (=> s16 s17))
[GOOD] (define-fun s19 () Bool (> s11 s15))
[GOOD] (define-fun s20 () Bool (=> s16 s19))
[GOOD] (define-fun s21 () Bool (and s18 s20))
[GOOD] ; --- delayedEqualities ---
[GOOD] ; --- formula ---
[GOOD] (assert (not s21))
[SEND] (check-sat)
[RECV] sat
[SEND] (get-value (s11))
[RECV] ((s11 2))
[SEND] (get-value (s13))
[RECV] ((s13 1))
[SEND] (get-value (s15))
[RECV] ((s15 3))
[SEND] (get-value (s0))
[RECV] ((s0 2))
[SEND] (get-value (s5))
[RECV] ((s5 0))
[SEND] (get-value (s7))
[RECV] ((s7 0))
*** Solver : Z3
*** Exit code: ExitSuccess
[MEASURE] Mutual group: decrease failed for bf21 @(SBV Integer -> SBV Integer): Falsifiable. Counter-example:
arg = 2 :: Integer
before = 2 :: Integer
then[1] = 1 :: Integer
then[2] = 3 :: Integer
[MEASURE] Mutual group: measure smax 0 arg1 failed, trying next
[MEASURE] Mutual group: trying measure abs arg1 + smax 0 arg1 for all members
[MEASURE] replayDAG {bf21 @(SBV Integer -> SBV Integer), bg21 @(SBV Integer -> SBV Integer)}: replaying 7 node(s)
** Calling: z3 -nw -in -smt2
[GOOD] ; Automatically generated by SBV. Do not edit.
[GOOD] (set-option :print-success true)
[GOOD] (set-option :global-declarations true)
[GOOD] (set-option :smtlib2_compliant true)
[GOOD] (set-option :diagnostic-output-channel "stdout")
[GOOD] (set-option :produce-models true)
[GOOD] (set-logic ALL) ; has unbounded values, using catch-all.
[GOOD] ; --- tuples ---
[GOOD] ; --- sums ---
[GOOD] ; --- literal constants ---
[GOOD] (define-fun s1 () Int 0)
[GOOD] (define-fun s2 () Int 1)
[GOOD] ; --- top level inputs ---
[GOOD] (declare-fun s0 () Int) ; tracks user variable "arg"
[GOOD] (declare-fun s5 () Int) ; tracks user variable "__internal_sbv_s5"
[GOOD] (declare-fun s7 () Int) ; tracks user variable "__internal_sbv_s7"
[GOOD] ; --- constant tables ---
[GOOD] ; --- non-constant tables ---
[GOOD] ; --- uninterpreted constants ---
[GOOD] ; --- user defined functions ---
[GOOD] ; --- assignments ---
[GOOD] (define-fun s3 () Bool (<= s0 s1))
[GOOD] (define-fun s4 () Int (- s0 s2))
[GOOD] (define-fun s6 () Int (+ s0 s2))
[GOOD] (define-fun s8 () Int (+ s5 s7))
[GOOD] (define-fun s9 () Int (ite s3 s1 s8))
[GOOD] (define-fun s10 () Int (abs s0))
[GOOD] (define-fun s11 () Bool (<= s1 s0))
[GOOD] (define-fun s12 () Int (ite s11 s0 s1))
[GOOD] (define-fun s13 () Int (+ s10 s12))
[GOOD] (define-fun s14 () Bool (>= s13 s1))
[GOOD] ; --- delayedEqualities ---
[GOOD] ; --- formula ---
[GOOD] (assert (not s14))
[SEND] (check-sat)
[RECV] unsat
*** Solver : Z3
*** Exit code: ExitSuccess
[MEASURE] replayDAG {bf21 @(SBV Integer -> SBV Integer), bg21 @(SBV Integer -> SBV Integer)}: replaying 7 node(s)
** Calling: z3 -nw -in -smt2
[GOOD] ; Automatically generated by SBV. Do not edit.
[GOOD] (set-option :print-success true)
[GOOD] (set-option :global-declarations true)
[GOOD] (set-option :smtlib2_compliant true)
[GOOD] (set-option :diagnostic-output-channel "stdout")
[GOOD] (set-option :produce-models true)
[GOOD] (set-logic ALL) ; has unbounded values, using catch-all.
[GOOD] ; --- tuples ---
[GOOD] ; --- sums ---
[GOOD] ; --- literal constants ---
[GOOD] (define-fun s1 () Int 0)
[GOOD] (define-fun s2 () Int 1)
[GOOD] ; --- top level inputs ---
[GOOD] (declare-fun s0 () Int) ; tracks user variable "arg"
[GOOD] (declare-fun s5 () Int) ; tracks user variable "__internal_sbv_s5"
[GOOD] (declare-fun s7 () Int) ; tracks user variable "__internal_sbv_s7"
[GOOD] ; --- constant tables ---
[GOOD] ; --- non-constant tables ---
[GOOD] ; --- uninterpreted constants ---
[GOOD] ; --- user defined functions ---
[GOOD] ; --- assignments ---
[GOOD] (define-fun s3 () Bool (<= s0 s1))
[GOOD] (define-fun s4 () Int (- s0 s2))
[GOOD] (define-fun s6 () Int (+ s0 s2))
[GOOD] (define-fun s8 () Int (+ s5 s7))
[GOOD] (define-fun s9 () Int (ite s3 s1 s8))
[GOOD] (define-fun s10 () Int (abs s0))
[GOOD] (define-fun s11 () Bool (<= s1 s0))
[GOOD] (define-fun s12 () Int (ite s11 s0 s1))
[GOOD] (define-fun s13 () Int (+ s10 s12))
[GOOD] (define-fun s14 () Int (abs s4))
[GOOD] (define-fun s15 () Bool (<= s1 s4))
[GOOD] (define-fun s16 () Int (ite s15 s4 s1))
[GOOD] (define-fun s17 () Int (+ s14 s16))
[GOOD] (define-fun s18 () Int (abs s6))
[GOOD] (define-fun s19 () Bool (<= s1 s6))
[GOOD] (define-fun s20 () Int (ite s19 s6 s1))
[GOOD] (define-fun s21 () Int (+ s18 s20))
[GOOD] (define-fun s22 () Bool (not s3))
[GOOD] (define-fun s23 () Bool (> s13 s17))
[GOOD] (define-fun s24 () Bool (=> s22 s23))
[GOOD] (define-fun s25 () Bool (> s13 s21))
[GOOD] (define-fun s26 () Bool (=> s22 s25))
[GOOD] (define-fun s27 () Bool (and s24 s26))
[GOOD] ; --- delayedEqualities ---
[GOOD] ; --- formula ---
[GOOD] (assert (not s27))
[SEND] (check-sat)
[RECV] sat
[SEND] (get-value (s13))
[RECV] ((s13 4))
[SEND] (get-value (s17))
[RECV] ((s17 2))
[SEND] (get-value (s21))
[RECV] ((s21 6))
[SEND] (get-value (s0))
[RECV] ((s0 2))
[SEND] (get-value (s5))
[RECV] ((s5 0))
[SEND] (get-value (s7))
[RECV] ((s7 0))
*** Solver : Z3
*** Exit code: ExitSuccess
[MEASURE] Mutual group: decrease failed for bf21 @(SBV Integer -> SBV Integer): Falsifiable. Counter-example:
arg = 2 :: Integer
before = 4 :: Integer
then[1] = 2 :: Integer
then[2] = 6 :: Integer
[MEASURE] Mutual group: measure abs arg1 + smax 0 arg1 failed, trying next
[MEASURE] Mutual group: trying measure (abs arg1, smax 0 arg1) for all members
[MEASURE] replayDAG {bf21 @(SBV Integer -> SBV Integer), bg21 @(SBV Integer -> SBV Integer)}: replaying 7 node(s)
** Calling: z3 -nw -in -smt2
[GOOD] ; Automatically generated by SBV. Do not edit.
[GOOD] (set-option :print-success true)
[GOOD] (set-option :global-declarations true)
[GOOD] (set-option :smtlib2_compliant true)
[GOOD] (set-option :diagnostic-output-channel "stdout")
[GOOD] (set-option :produce-models true)
[GOOD] (set-option :pp.max_depth 4294967295)
[GOOD] (set-option :pp.min_alias_size 4294967295)
[GOOD] (set-option :model.inline_def true )
[GOOD] (set-logic ALL) ; has unbounded values, using catch-all.
[GOOD] ; --- tuples ---
[GOOD] (declare-datatypes ((SBVTuple2 2)) ((par (T1 T2)
((mkSBVTuple2 (proj_1_SBVTuple2 T1)
(proj_2_SBVTuple2 T2))))))
[GOOD] ; --- sums ---
[GOOD] ; --- literal constants ---
[GOOD] (define-fun s1 () Int 0)
[GOOD] (define-fun s2 () Int 1)
[GOOD] ; --- top level inputs ---
[GOOD] (declare-fun s0 () Int) ; tracks user variable "arg"
[GOOD] (declare-fun s5 () Int) ; tracks user variable "__internal_sbv_s5"
[GOOD] (declare-fun s7 () Int) ; tracks user variable "__internal_sbv_s7"
[GOOD] ; --- constant tables ---
[GOOD] ; --- non-constant tables ---
[GOOD] ; --- uninterpreted constants ---
[GOOD] ; --- user defined functions ---
[GOOD] ; --- assignments ---
[GOOD] (define-fun s3 () Bool (<= s0 s1))
[GOOD] (define-fun s4 () Int (- s0 s2))
[GOOD] (define-fun s6 () Int (+ s0 s2))
[GOOD] (define-fun s8 () Int (+ s5 s7))
[GOOD] (define-fun s9 () Int (ite s3 s1 s8))
[GOOD] (define-fun s10 () Int (abs s0))
[GOOD] (define-fun s11 () Bool (<= s1 s0))
[GOOD] (define-fun s12 () Int (ite s11 s0 s1))
[GOOD] (define-fun s13 () (SBVTuple2 Int Int) ((as mkSBVTuple2 (SBVTuple2 Int Int)) s10 s12))
[GOOD] (define-fun s14 () Int (proj_1_SBVTuple2 s13))
[GOOD] (define-fun s15 () Bool (>= s14 s1))
[GOOD] (define-fun s16 () Int (proj_2_SBVTuple2 s13))
[GOOD] (define-fun s17 () Bool (>= s16 s1))
[GOOD] (define-fun s18 () Bool (and s15 s17))
[GOOD] ; --- delayedEqualities ---
[GOOD] ; --- formula ---
[GOOD] (assert (not s18))
[SEND] (check-sat)
[RECV] unsat
*** Solver : Z3
*** Exit code: ExitSuccess
[MEASURE] replayDAG {bf21 @(SBV Integer -> SBV Integer), bg21 @(SBV Integer -> SBV Integer)}: replaying 7 node(s)
** Calling: z3 -nw -in -smt2
[GOOD] ; Automatically generated by SBV. Do not edit.
[GOOD] (set-option :print-success true)
[GOOD] (set-option :global-declarations true)
[GOOD] (set-option :smtlib2_compliant true)
[GOOD] (set-option :diagnostic-output-channel "stdout")
[GOOD] (set-option :produce-models true)
[GOOD] (set-option :pp.max_depth 4294967295)
[GOOD] (set-option :pp.min_alias_size 4294967295)
[GOOD] (set-option :model.inline_def true )
[GOOD] (set-logic ALL) ; has unbounded values, using catch-all.
[GOOD] ; --- tuples ---
[GOOD] (declare-datatypes ((SBVTuple2 2)) ((par (T1 T2)
((mkSBVTuple2 (proj_1_SBVTuple2 T1)
(proj_2_SBVTuple2 T2))))))
[GOOD] ; --- sums ---
[GOOD] ; --- literal constants ---
[GOOD] (define-fun s1 () Int 0)
[GOOD] (define-fun s2 () Int 1)
[GOOD] ; --- top level inputs ---
[GOOD] (declare-fun s0 () Int) ; tracks user variable "arg"
[GOOD] (declare-fun s5 () Int) ; tracks user variable "__internal_sbv_s5"
[GOOD] (declare-fun s7 () Int) ; tracks user variable "__internal_sbv_s7"
[GOOD] ; --- constant tables ---
[GOOD] ; --- non-constant tables ---
[GOOD] ; --- uninterpreted constants ---
[GOOD] ; --- user defined functions ---
[GOOD] ; --- assignments ---
[GOOD] (define-fun s3 () Bool (<= s0 s1))
[GOOD] (define-fun s4 () Int (- s0 s2))
[GOOD] (define-fun s6 () Int (+ s0 s2))
[GOOD] (define-fun s8 () Int (+ s5 s7))
[GOOD] (define-fun s9 () Int (ite s3 s1 s8))
[GOOD] (define-fun s10 () Int (abs s0))
[GOOD] (define-fun s11 () Bool (<= s1 s0))
[GOOD] (define-fun s12 () Int (ite s11 s0 s1))
[GOOD] (define-fun s13 () (SBVTuple2 Int Int) ((as mkSBVTuple2 (SBVTuple2 Int Int)) s10 s12))
[GOOD] (define-fun s14 () Int (abs s4))
[GOOD] (define-fun s15 () Bool (<= s1 s4))
[GOOD] (define-fun s16 () Int (ite s15 s4 s1))
[GOOD] (define-fun s17 () (SBVTuple2 Int Int) ((as mkSBVTuple2 (SBVTuple2 Int Int)) s14 s16))
[GOOD] (define-fun s18 () Int (abs s6))
[GOOD] (define-fun s19 () Bool (<= s1 s6))
[GOOD] (define-fun s20 () Int (ite s19 s6 s1))
[GOOD] (define-fun s21 () (SBVTuple2 Int Int) ((as mkSBVTuple2 (SBVTuple2 Int Int)) s18 s20))
[GOOD] (define-fun s22 () Bool (not s3))
[GOOD] (define-fun s23 () Int (proj_1_SBVTuple2 s17))
[GOOD] (define-fun s24 () Int (proj_1_SBVTuple2 s13))
[GOOD] (define-fun s25 () Bool (< s23 s24))
[GOOD] (define-fun s26 () Bool (= s23 s24))
[GOOD] (define-fun s27 () Int (proj_2_SBVTuple2 s17))
[GOOD] (define-fun s28 () Int (proj_2_SBVTuple2 s13))
[GOOD] (define-fun s29 () Bool (< s27 s28))
[GOOD] (define-fun s30 () Bool (and s26 s29))
[GOOD] (define-fun s31 () Bool (or s25 s30))
[GOOD] (define-fun s32 () Bool (=> s22 s31))
[GOOD] (define-fun s33 () Int (proj_1_SBVTuple2 s21))
[GOOD] (define-fun s34 () Bool (< s33 s24))
[GOOD] (define-fun s35 () Bool (= s24 s33))
[GOOD] (define-fun s36 () Int (proj_2_SBVTuple2 s21))
[GOOD] (define-fun s37 () Bool (< s36 s28))
[GOOD] (define-fun s38 () Bool (and s35 s37))
[GOOD] (define-fun s39 () Bool (or s34 s38))
[GOOD] (define-fun s40 () Bool (=> s22 s39))
[GOOD] (define-fun s41 () Bool (and s32 s40))
[GOOD] ; --- delayedEqualities ---
[GOOD] ; --- formula ---
[GOOD] (assert (not s41))
[SEND] (check-sat)
[RECV] sat
[SEND] (get-value (s13))
[RECV] ((s13 (mkSBVTuple2 2 2)))
[SEND] (get-value (s17))
[RECV] ((s17 (mkSBVTuple2 1 1)))
[SEND] (get-value (s21))
[RECV] ((s21 (mkSBVTuple2 3 3)))
[SEND] (get-value (s0))
[RECV] ((s0 2))
[SEND] (get-value (s5))
[RECV] ((s5 0))
[SEND] (get-value (s7))
[RECV] ((s7 0))
*** Solver : Z3
*** Exit code: ExitSuccess
[MEASURE] Mutual group: decrease failed for bf21 @(SBV Integer -> SBV Integer): Falsifiable. Counter-example:
arg = 2 :: Integer
before = (2,2) :: (Integer, Integer)
then[1] = (1,1) :: (Integer, Integer)
then[2] = (3,3) :: (Integer, Integer)
[MEASURE] Mutual group: measure (abs arg1, smax 0 arg1) failed, trying next
[MEASURE] Mutual group: trying measure (smax 0 arg1, abs arg1) for all members
[MEASURE] replayDAG {bf21 @(SBV Integer -> SBV Integer), bg21 @(SBV Integer -> SBV Integer)}: replaying 7 node(s)
** Calling: z3 -nw -in -smt2
[GOOD] ; Automatically generated by SBV. Do not edit.
[GOOD] (set-option :print-success true)
[GOOD] (set-option :global-declarations true)
[GOOD] (set-option :smtlib2_compliant true)
[GOOD] (set-option :diagnostic-output-channel "stdout")
[GOOD] (set-option :produce-models true)
[GOOD] (set-option :pp.max_depth 4294967295)
[GOOD] (set-option :pp.min_alias_size 4294967295)
[GOOD] (set-option :model.inline_def true )
[GOOD] (set-logic ALL) ; has unbounded values, using catch-all.
[GOOD] ; --- tuples ---
[GOOD] (declare-datatypes ((SBVTuple2 2)) ((par (T1 T2)
((mkSBVTuple2 (proj_1_SBVTuple2 T1)
(proj_2_SBVTuple2 T2))))))
[GOOD] ; --- sums ---
[GOOD] ; --- literal constants ---
[GOOD] (define-fun s1 () Int 0)
[GOOD] (define-fun s2 () Int 1)
[GOOD] ; --- top level inputs ---
[GOOD] (declare-fun s0 () Int) ; tracks user variable "arg"
[GOOD] (declare-fun s5 () Int) ; tracks user variable "__internal_sbv_s5"
[GOOD] (declare-fun s7 () Int) ; tracks user variable "__internal_sbv_s7"
[GOOD] ; --- constant tables ---
[GOOD] ; --- non-constant tables ---
[GOOD] ; --- uninterpreted constants ---
[GOOD] ; --- user defined functions ---
[GOOD] ; --- assignments ---
[GOOD] (define-fun s3 () Bool (<= s0 s1))
[GOOD] (define-fun s4 () Int (- s0 s2))
[GOOD] (define-fun s6 () Int (+ s0 s2))
[GOOD] (define-fun s8 () Int (+ s5 s7))
[GOOD] (define-fun s9 () Int (ite s3 s1 s8))
[GOOD] (define-fun s10 () Bool (<= s1 s0))
[GOOD] (define-fun s11 () Int (ite s10 s0 s1))
[GOOD] (define-fun s12 () Int (abs s0))
[GOOD] (define-fun s13 () (SBVTuple2 Int Int) ((as mkSBVTuple2 (SBVTuple2 Int Int)) s11 s12))
[GOOD] (define-fun s14 () Int (proj_1_SBVTuple2 s13))
[GOOD] (define-fun s15 () Bool (>= s14 s1))
[GOOD] (define-fun s16 () Int (proj_2_SBVTuple2 s13))
[GOOD] (define-fun s17 () Bool (>= s16 s1))
[GOOD] (define-fun s18 () Bool (and s15 s17))
[GOOD] ; --- delayedEqualities ---
[GOOD] ; --- formula ---
[GOOD] (assert (not s18))
[SEND] (check-sat)
[RECV] unsat
*** Solver : Z3
*** Exit code: ExitSuccess
[MEASURE] replayDAG {bf21 @(SBV Integer -> SBV Integer), bg21 @(SBV Integer -> SBV Integer)}: replaying 7 node(s)
** Calling: z3 -nw -in -smt2
[GOOD] ; Automatically generated by SBV. Do not edit.
[GOOD] (set-option :print-success true)
[GOOD] (set-option :global-declarations true)
[GOOD] (set-option :smtlib2_compliant true)
[GOOD] (set-option :diagnostic-output-channel "stdout")
[GOOD] (set-option :produce-models true)
[GOOD] (set-option :pp.max_depth 4294967295)
[GOOD] (set-option :pp.min_alias_size 4294967295)
[GOOD] (set-option :model.inline_def true )
[GOOD] (set-logic ALL) ; has unbounded values, using catch-all.
[GOOD] ; --- tuples ---
[GOOD] (declare-datatypes ((SBVTuple2 2)) ((par (T1 T2)
((mkSBVTuple2 (proj_1_SBVTuple2 T1)
(proj_2_SBVTuple2 T2))))))
[GOOD] ; --- sums ---
[GOOD] ; --- literal constants ---
[GOOD] (define-fun s1 () Int 0)
[GOOD] (define-fun s2 () Int 1)
[GOOD] ; --- top level inputs ---
[GOOD] (declare-fun s0 () Int) ; tracks user variable "arg"
[GOOD] (declare-fun s5 () Int) ; tracks user variable "__internal_sbv_s5"
[GOOD] (declare-fun s7 () Int) ; tracks user variable "__internal_sbv_s7"
[GOOD] ; --- constant tables ---
[GOOD] ; --- non-constant tables ---
[GOOD] ; --- uninterpreted constants ---
[GOOD] ; --- user defined functions ---
[GOOD] ; --- assignments ---
[GOOD] (define-fun s3 () Bool (<= s0 s1))
[GOOD] (define-fun s4 () Int (- s0 s2))
[GOOD] (define-fun s6 () Int (+ s0 s2))
[GOOD] (define-fun s8 () Int (+ s5 s7))
[GOOD] (define-fun s9 () Int (ite s3 s1 s8))
[GOOD] (define-fun s10 () Bool (<= s1 s0))
[GOOD] (define-fun s11 () Int (ite s10 s0 s1))
[GOOD] (define-fun s12 () Int (abs s0))
[GOOD] (define-fun s13 () (SBVTuple2 Int Int) ((as mkSBVTuple2 (SBVTuple2 Int Int)) s11 s12))
[GOOD] (define-fun s14 () Bool (<= s1 s4))
[GOOD] (define-fun s15 () Int (ite s14 s4 s1))
[GOOD] (define-fun s16 () Int (abs s4))
[GOOD] (define-fun s17 () (SBVTuple2 Int Int) ((as mkSBVTuple2 (SBVTuple2 Int Int)) s15 s16))
[GOOD] (define-fun s18 () Bool (<= s1 s6))
[GOOD] (define-fun s19 () Int (ite s18 s6 s1))
[GOOD] (define-fun s20 () Int (abs s6))
[GOOD] (define-fun s21 () (SBVTuple2 Int Int) ((as mkSBVTuple2 (SBVTuple2 Int Int)) s19 s20))
[GOOD] (define-fun s22 () Bool (not s3))
[GOOD] (define-fun s23 () Int (proj_1_SBVTuple2 s17))
[GOOD] (define-fun s24 () Int (proj_1_SBVTuple2 s13))
[GOOD] (define-fun s25 () Bool (< s23 s24))
[GOOD] (define-fun s26 () Bool (= s23 s24))
[GOOD] (define-fun s27 () Int (proj_2_SBVTuple2 s17))
[GOOD] (define-fun s28 () Int (proj_2_SBVTuple2 s13))
[GOOD] (define-fun s29 () Bool (< s27 s28))
[GOOD] (define-fun s30 () Bool (and s26 s29))
[GOOD] (define-fun s31 () Bool (or s25 s30))
[GOOD] (define-fun s32 () Bool (=> s22 s31))
[GOOD] (define-fun s33 () Int (proj_1_SBVTuple2 s21))
[GOOD] (define-fun s34 () Bool (< s33 s24))
[GOOD] (define-fun s35 () Bool (= s24 s33))
[GOOD] (define-fun s36 () Int (proj_2_SBVTuple2 s21))
[GOOD] (define-fun s37 () Bool (< s36 s28))
[GOOD] (define-fun s38 () Bool (and s35 s37))
[GOOD] (define-fun s39 () Bool (or s34 s38))
[GOOD] (define-fun s40 () Bool (=> s22 s39))
[GOOD] (define-fun s41 () Bool (and s32 s40))
[GOOD] ; --- delayedEqualities ---
[GOOD] ; --- formula ---
[GOOD] (assert (not s41))
[SEND] (check-sat)
[RECV] sat
[SEND] (get-value (s13))
[RECV] ((s13 (mkSBVTuple2 2 2)))
[SEND] (get-value (s17))
[RECV] ((s17 (mkSBVTuple2 1 1)))
[SEND] (get-value (s21))
[RECV] ((s21 (mkSBVTuple2 3 3)))
[SEND] (get-value (s0))
[RECV] ((s0 2))
[SEND] (get-value (s5))
[RECV] ((s5 0))
[SEND] (get-value (s7))
[RECV] ((s7 0))
*** Solver : Z3
*** Exit code: ExitSuccess
[MEASURE] Mutual group: decrease failed for bf21 @(SBV Integer -> SBV Integer): Falsifiable. Counter-example:
arg = 2 :: Integer
before = (2,2) :: (Integer, Integer)
then[1] = (1,1) :: (Integer, Integer)
then[2] = (3,3) :: (Integer, Integer)
[MEASURE] Mutual group: measure (smax 0 arg1, abs arg1) failed, trying next
EXCEPTION:
*** Data.SBV: Cannot determine a termination measure for mutual recursion group.
***
*** bf21 :: SBV Integer -> SBV Integer
*** bg21 :: SBV Integer -> SBV Integer
***
*** Please use 'smtFunctionWithMeasure' to provide explicit measures.