sbv-14.0: SBVTestSuite/GoldFiles/lambda56.gold
[MEASURE] Verifying termination measures for: foo @(SBV Integer -> SBV Integer), bar @(SBV Integer -> SBV Integer)
[MEASURE] Checking: foo @(SBV Integer -> SBV Integer)
[MEASURE] Checking mutual recursion group: {bar :: SBV Integer -> SBV Integer, foo :: SBV Integer -> SBV Integer}
[MEASURE] Mutual group: trying measure abs arg1 for all members
[MEASURE] replayDAG {bar @(SBV Integer -> SBV Integer), foo @(SBV Integer -> SBV Integer)}: replaying 2 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 1)
[GOOD] (define-fun s5 () Int 0)
[GOOD] ; --- top level inputs ---
[GOOD] (declare-fun s0 () Int) ; tracks user variable "arg"
[GOOD] (declare-fun s2 () Int) ; tracks user variable "__internal_sbv_s2"
[GOOD] ; --- constant tables ---
[GOOD] ; --- non-constant tables ---
[GOOD] ; --- uninterpreted constants ---
[GOOD] ; --- user defined functions ---
[GOOD] ; --- assignments ---
[GOOD] (define-fun s3 () Int (+ s1 s2))
[GOOD] (define-fun s4 () Int (abs s0))
[GOOD] (define-fun s6 () Bool (>= s4 s5))
[GOOD] ; --- delayedEqualities ---
[GOOD] ; --- formula ---
[GOOD] (assert (not s6))
[SEND] (check-sat)
[RECV] unsat
*** Solver : Z3
*** Exit code: ExitSuccess
[MEASURE] replayDAG {bar @(SBV Integer -> SBV Integer), foo @(SBV Integer -> SBV Integer)}: replaying 2 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 1)
[GOOD] ; --- top level inputs ---
[GOOD] (declare-fun s0 () Int) ; tracks user variable "arg"
[GOOD] (declare-fun s2 () Int) ; tracks user variable "__internal_sbv_s2"
[GOOD] ; --- constant tables ---
[GOOD] ; --- non-constant tables ---
[GOOD] ; --- uninterpreted constants ---
[GOOD] ; --- user defined functions ---
[GOOD] ; --- assignments ---
[GOOD] (define-fun s3 () Int (+ s1 s2))
[GOOD] (define-fun s4 () Int (abs s0))
[GOOD] (define-fun s5 () Bool (=> true false))
[GOOD] ; --- delayedEqualities ---
[GOOD] ; --- formula ---
[GOOD] (assert (not s5))
[SEND] (check-sat)
[RECV] sat
[SEND] (get-value (s4))
[RECV] ((s4 0))
[SEND] (get-value (s4))
[RECV] ((s4 0))
[SEND] (get-value (s0))
[RECV] ((s0 0))
[SEND] (get-value (s2))
[RECV] ((s2 0))
*** Solver : Z3
*** Exit code: ExitSuccess
[MEASURE] Mutual group: decrease failed for bar @(SBV Integer -> SBV Integer): Falsifiable. Counter-example:
arg = 0 :: Integer
before = 0 :: Integer
then = 0 :: Integer
[MEASURE] Mutual group: measure abs arg1 failed, trying next
[MEASURE] Mutual group: trying measure smax 0 arg1 for all members
[MEASURE] replayDAG {bar @(SBV Integer -> SBV Integer), foo @(SBV Integer -> SBV Integer)}: replaying 2 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 1)
[GOOD] (define-fun s4 () Int 0)
[GOOD] ; --- top level inputs ---
[GOOD] (declare-fun s0 () Int) ; tracks user variable "arg"
[GOOD] (declare-fun s2 () Int) ; tracks user variable "__internal_sbv_s2"
[GOOD] ; --- constant tables ---
[GOOD] ; --- non-constant tables ---
[GOOD] ; --- uninterpreted constants ---
[GOOD] ; --- user defined functions ---
[GOOD] ; --- assignments ---
[GOOD] (define-fun s3 () Int (+ s1 s2))
[GOOD] (define-fun s5 () Bool (<= s4 s0))
[GOOD] (define-fun s6 () Int (ite s5 s0 s4))
[GOOD] (define-fun s7 () Bool (>= s6 s4))
[GOOD] ; --- delayedEqualities ---
[GOOD] ; --- formula ---
[GOOD] (assert (not s7))
[SEND] (check-sat)
[RECV] unsat
*** Solver : Z3
*** Exit code: ExitSuccess
[MEASURE] replayDAG {bar @(SBV Integer -> SBV Integer), foo @(SBV Integer -> SBV Integer)}: replaying 2 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 1)
[GOOD] (define-fun s4 () Int 0)
[GOOD] ; --- top level inputs ---
[GOOD] (declare-fun s0 () Int) ; tracks user variable "arg"
[GOOD] (declare-fun s2 () Int) ; tracks user variable "__internal_sbv_s2"
[GOOD] ; --- constant tables ---
[GOOD] ; --- non-constant tables ---
[GOOD] ; --- uninterpreted constants ---
[GOOD] ; --- user defined functions ---
[GOOD] ; --- assignments ---
[GOOD] (define-fun s3 () Int (+ s1 s2))
[GOOD] (define-fun s5 () Bool (<= s4 s0))
[GOOD] (define-fun s6 () Int (ite s5 s0 s4))
[GOOD] (define-fun s7 () Bool (=> true false))
[GOOD] ; --- delayedEqualities ---
[GOOD] ; --- formula ---
[GOOD] (assert (not s7))
[SEND] (check-sat)
[RECV] sat
[SEND] (get-value (s6))
[RECV] ((s6 0))
[SEND] (get-value (s6))
[RECV] ((s6 0))
[SEND] (get-value (s0))
[RECV] ((s0 0))
[SEND] (get-value (s2))
[RECV] ((s2 0))
*** Solver : Z3
*** Exit code: ExitSuccess
[MEASURE] Mutual group: decrease failed for bar @(SBV Integer -> SBV Integer): Falsifiable. Counter-example:
arg = 0 :: Integer
before = 0 :: Integer
then = 0 :: 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 {bar @(SBV Integer -> SBV Integer), foo @(SBV Integer -> SBV Integer)}: replaying 2 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 1)
[GOOD] (define-fun s5 () Int 0)
[GOOD] ; --- top level inputs ---
[GOOD] (declare-fun s0 () Int) ; tracks user variable "arg"
[GOOD] (declare-fun s2 () Int) ; tracks user variable "__internal_sbv_s2"
[GOOD] ; --- constant tables ---
[GOOD] ; --- non-constant tables ---
[GOOD] ; --- uninterpreted constants ---
[GOOD] ; --- user defined functions ---
[GOOD] ; --- assignments ---
[GOOD] (define-fun s3 () Int (+ s1 s2))
[GOOD] (define-fun s4 () Int (abs s0))
[GOOD] (define-fun s6 () Bool (<= s5 s0))
[GOOD] (define-fun s7 () Int (ite s6 s0 s5))
[GOOD] (define-fun s8 () Int (+ s4 s7))
[GOOD] (define-fun s9 () Bool (>= s8 s5))
[GOOD] ; --- delayedEqualities ---
[GOOD] ; --- formula ---
[GOOD] (assert (not s9))
[SEND] (check-sat)
[RECV] unsat
*** Solver : Z3
*** Exit code: ExitSuccess
[MEASURE] replayDAG {bar @(SBV Integer -> SBV Integer), foo @(SBV Integer -> SBV Integer)}: replaying 2 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 1)
[GOOD] (define-fun s5 () Int 0)
[GOOD] ; --- top level inputs ---
[GOOD] (declare-fun s0 () Int) ; tracks user variable "arg"
[GOOD] (declare-fun s2 () Int) ; tracks user variable "__internal_sbv_s2"
[GOOD] ; --- constant tables ---
[GOOD] ; --- non-constant tables ---
[GOOD] ; --- uninterpreted constants ---
[GOOD] ; --- user defined functions ---
[GOOD] ; --- assignments ---
[GOOD] (define-fun s3 () Int (+ s1 s2))
[GOOD] (define-fun s4 () Int (abs s0))
[GOOD] (define-fun s6 () Bool (<= s5 s0))
[GOOD] (define-fun s7 () Int (ite s6 s0 s5))
[GOOD] (define-fun s8 () Int (+ s4 s7))
[GOOD] (define-fun s9 () Bool (=> true false))
[GOOD] ; --- delayedEqualities ---
[GOOD] ; --- formula ---
[GOOD] (assert (not s9))
[SEND] (check-sat)
[RECV] sat
[SEND] (get-value (s8))
[RECV] ((s8 0))
[SEND] (get-value (s8))
[RECV] ((s8 0))
[SEND] (get-value (s0))
[RECV] ((s0 0))
[SEND] (get-value (s2))
[RECV] ((s2 0))
*** Solver : Z3
*** Exit code: ExitSuccess
[MEASURE] Mutual group: decrease failed for bar @(SBV Integer -> SBV Integer): Falsifiable. Counter-example:
arg = 0 :: Integer
before = 0 :: Integer
then = 0 :: 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 {bar @(SBV Integer -> SBV Integer), foo @(SBV Integer -> SBV Integer)}: replaying 2 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 1)
[GOOD] (define-fun s5 () Int 0)
[GOOD] ; --- top level inputs ---
[GOOD] (declare-fun s0 () Int) ; tracks user variable "arg"
[GOOD] (declare-fun s2 () Int) ; tracks user variable "__internal_sbv_s2"
[GOOD] ; --- constant tables ---
[GOOD] ; --- non-constant tables ---
[GOOD] ; --- uninterpreted constants ---
[GOOD] ; --- user defined functions ---
[GOOD] ; --- assignments ---
[GOOD] (define-fun s3 () Int (+ s1 s2))
[GOOD] (define-fun s4 () Int (abs s0))
[GOOD] (define-fun s6 () Bool (<= s5 s0))
[GOOD] (define-fun s7 () Int (ite s6 s0 s5))
[GOOD] (define-fun s8 () (SBVTuple2 Int Int) ((as mkSBVTuple2 (SBVTuple2 Int Int)) s4 s7))
[GOOD] (define-fun s9 () Int (proj_1_SBVTuple2 s8))
[GOOD] (define-fun s10 () Bool (>= s9 s5))
[GOOD] (define-fun s11 () Int (proj_2_SBVTuple2 s8))
[GOOD] (define-fun s12 () Bool (>= s11 s5))
[GOOD] (define-fun s13 () Bool (and s10 s12))
[GOOD] ; --- delayedEqualities ---
[GOOD] ; --- formula ---
[GOOD] (assert (not s13))
[SEND] (check-sat)
[RECV] unsat
*** Solver : Z3
*** Exit code: ExitSuccess
[MEASURE] replayDAG {bar @(SBV Integer -> SBV Integer), foo @(SBV Integer -> SBV Integer)}: replaying 2 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 1)
[GOOD] (define-fun s5 () Int 0)
[GOOD] ; --- top level inputs ---
[GOOD] (declare-fun s0 () Int) ; tracks user variable "arg"
[GOOD] (declare-fun s2 () Int) ; tracks user variable "__internal_sbv_s2"
[GOOD] ; --- constant tables ---
[GOOD] ; --- non-constant tables ---
[GOOD] ; --- uninterpreted constants ---
[GOOD] ; --- user defined functions ---
[GOOD] ; --- assignments ---
[GOOD] (define-fun s3 () Int (+ s1 s2))
[GOOD] (define-fun s4 () Int (abs s0))
[GOOD] (define-fun s6 () Bool (<= s5 s0))
[GOOD] (define-fun s7 () Int (ite s6 s0 s5))
[GOOD] (define-fun s8 () (SBVTuple2 Int Int) ((as mkSBVTuple2 (SBVTuple2 Int Int)) s4 s7))
[GOOD] (define-fun s9 () Int (proj_1_SBVTuple2 s8))
[GOOD] (define-fun s10 () Int (proj_2_SBVTuple2 s8))
[GOOD] (define-fun s11 () Bool (=> true false))
[GOOD] ; --- delayedEqualities ---
[GOOD] ; --- formula ---
[GOOD] (assert (not s11))
[SEND] (check-sat)
[RECV] sat
[SEND] (get-value (s8))
[RECV] ((s8 (mkSBVTuple2 0 0)))
[SEND] (get-value (s8))
[RECV] ((s8 (mkSBVTuple2 0 0)))
[SEND] (get-value (s0))
[RECV] ((s0 0))
[SEND] (get-value (s2))
[RECV] ((s2 0))
*** Solver : Z3
*** Exit code: ExitSuccess
[MEASURE] Mutual group: decrease failed for bar @(SBV Integer -> SBV Integer): Falsifiable. Counter-example:
arg = 0 :: Integer
before = (0,0) :: (Integer, Integer)
then = (0,0) :: (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 {bar @(SBV Integer -> SBV Integer), foo @(SBV Integer -> SBV Integer)}: replaying 2 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 1)
[GOOD] (define-fun s4 () Int 0)
[GOOD] ; --- top level inputs ---
[GOOD] (declare-fun s0 () Int) ; tracks user variable "arg"
[GOOD] (declare-fun s2 () Int) ; tracks user variable "__internal_sbv_s2"
[GOOD] ; --- constant tables ---
[GOOD] ; --- non-constant tables ---
[GOOD] ; --- uninterpreted constants ---
[GOOD] ; --- user defined functions ---
[GOOD] ; --- assignments ---
[GOOD] (define-fun s3 () Int (+ s1 s2))
[GOOD] (define-fun s5 () Bool (<= s4 s0))
[GOOD] (define-fun s6 () Int (ite s5 s0 s4))
[GOOD] (define-fun s7 () Int (abs s0))
[GOOD] (define-fun s8 () (SBVTuple2 Int Int) ((as mkSBVTuple2 (SBVTuple2 Int Int)) s6 s7))
[GOOD] (define-fun s9 () Int (proj_1_SBVTuple2 s8))
[GOOD] (define-fun s10 () Bool (>= s9 s4))
[GOOD] (define-fun s11 () Int (proj_2_SBVTuple2 s8))
[GOOD] (define-fun s12 () Bool (>= s11 s4))
[GOOD] (define-fun s13 () Bool (and s10 s12))
[GOOD] ; --- delayedEqualities ---
[GOOD] ; --- formula ---
[GOOD] (assert (not s13))
[SEND] (check-sat)
[RECV] unsat
*** Solver : Z3
*** Exit code: ExitSuccess
[MEASURE] replayDAG {bar @(SBV Integer -> SBV Integer), foo @(SBV Integer -> SBV Integer)}: replaying 2 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 1)
[GOOD] (define-fun s4 () Int 0)
[GOOD] ; --- top level inputs ---
[GOOD] (declare-fun s0 () Int) ; tracks user variable "arg"
[GOOD] (declare-fun s2 () Int) ; tracks user variable "__internal_sbv_s2"
[GOOD] ; --- constant tables ---
[GOOD] ; --- non-constant tables ---
[GOOD] ; --- uninterpreted constants ---
[GOOD] ; --- user defined functions ---
[GOOD] ; --- assignments ---
[GOOD] (define-fun s3 () Int (+ s1 s2))
[GOOD] (define-fun s5 () Bool (<= s4 s0))
[GOOD] (define-fun s6 () Int (ite s5 s0 s4))
[GOOD] (define-fun s7 () Int (abs s0))
[GOOD] (define-fun s8 () (SBVTuple2 Int Int) ((as mkSBVTuple2 (SBVTuple2 Int Int)) s6 s7))
[GOOD] (define-fun s9 () Int (proj_1_SBVTuple2 s8))
[GOOD] (define-fun s10 () Int (proj_2_SBVTuple2 s8))
[GOOD] (define-fun s11 () Bool (=> true false))
[GOOD] ; --- delayedEqualities ---
[GOOD] ; --- formula ---
[GOOD] (assert (not s11))
[SEND] (check-sat)
[RECV] sat
[SEND] (get-value (s8))
[RECV] ((s8 (mkSBVTuple2 0 0)))
[SEND] (get-value (s8))
[RECV] ((s8 (mkSBVTuple2 0 0)))
[SEND] (get-value (s0))
[RECV] ((s0 0))
[SEND] (get-value (s2))
[RECV] ((s2 0))
*** Solver : Z3
*** Exit code: ExitSuccess
[MEASURE] Mutual group: decrease failed for bar @(SBV Integer -> SBV Integer): Falsifiable. Counter-example:
arg = 0 :: Integer
before = (0,0) :: (Integer, Integer)
then = (0,0) :: (Integer, Integer)
[MEASURE] Mutual group: measure (smax 0 arg1, abs arg1) failed, trying next
EXCEPTION CAUGHT:
*** Data.SBV: Cannot determine a termination measure for mutual recursion group.
***
*** bar :: SBV Integer -> SBV Integer
*** foo :: SBV Integer -> SBV Integer
***
*** Please use 'smtFunctionWithMeasure' to provide explicit measures.