[SBV] tests/T18.hs:11:1 Proving "f", using Z3. ** Starting symbolic simulation.. ** Generated symbolic trace: SORTS Age INPUTS s0 :: Age, aliasing "a" s1 :: Age, aliasing "b" CONSTANTS s_2 = False :: Bool s_1 = True :: Bool TABLES ARRAYS UNINTERPRETED CONSTANTS USER GIVEN CODE SEGMENTS AXIOMS DEFINE s2 :: SBool = s0 == s1 CONSTRAINTS ASSERTIONS OUTPUTS s2 ** Translating to SMT-Lib.. ** Checking Theoremhood.. ** Generated SMTLib program: ; Automatically generated by SBV. Do not edit. (set-option :produce-models true) ; has user-defined sorts, no logic specified. ; --- uninterpreted sorts --- (declare-sort Age 0) ; N.B. Uninterpreted: originating from sbvPlugin: tests/T18.hs:11:3 ; --- literal constants --- (define-fun s_2 () Bool false) (define-fun s_1 () Bool true) ; --- skolem constants --- (declare-fun s0 () Age) ; tracks user variable "a" (declare-fun s1 () Age) ; tracks user variable "b" ; --- constant tables --- ; --- skolemized tables --- ; --- arrays --- ; --- uninterpreted constants --- ; --- user given axioms --- ; --- formula --- (assert ; no quantifiers (let ((s2 (= s0 s1))) (not s2))) ** Calling: "z3 -nw -in -smt2" ** Sending the following model extraction commands: (get-value (s0)) (get-value (s1)) ** Z3 output: sat ((s0 Age!val!0)) ((s1 Age!val!1)) ** Done.. [Z3] Falsifiable. Counter-example: a = Age!val!0 :: Age b = Age!val!1 :: Age [SBV] Failed. (Use option 'IgnoreFailure' to continue.)