packages feed

sbvPlugin-0.1: tests/GoldFiles/T22.hs.golden

[SBV] tests/T22.hs:9:1 Proving "f", using Z3.
** Starting symbolic simulation..
** Generated symbolic trace:
SORTS
  String
INPUTS
  s0 :: String, aliasing "s"
CONSTANTS
  s_2 = False :: Bool
  s_1 = True :: Bool
TABLES
ARRAYS
UNINTERPRETED CONSTANTS
  [uninterpreted] reverse :: String -> String
  [uninterpreted] |==| :: String -> String -> SBool
USER GIVEN CODE SEGMENTS
AXIOMS
DEFINE
  s1 :: String = [uninterpreted] reverse s0
  s2 :: String = [uninterpreted] reverse s1
  s3 :: SBool = s2 [uninterpreted] |==| s0
CONSTRAINTS
ASSERTIONS
OUTPUTS
  s3
** 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 String 0)  ; N.B. Uninterpreted: originating from sbvPlugin: tests/T22.hs:9:3
; --- literal constants ---
(define-fun s_2 () Bool false)
(define-fun s_1 () Bool true)
; --- skolem constants ---
(declare-fun s0 () String) ; tracks user variable "s"
; --- constant tables ---
; --- skolemized tables ---
; --- arrays ---
; --- uninterpreted constants ---
(declare-fun reverse (String) String)
(declare-fun |==| (String String) Bool)
; --- user given axioms ---
; --- formula ---
(assert ; no quantifiers
   (let ((s1 (reverse s0)))
   (let ((s2 (reverse s1)))
   (let ((s3 (|==| s2 s0)))
   (not s3)))))
** Calling: "z3 -nw -in -smt2"
** Sending the following model extraction commands:
(get-value (s0))
** Z3 output:
sat
((s0 String!val!0))
** Done..
[Z3] Falsifiable. Counter-example:
  s = String!val!0 :: String
[SBV] Counter-example might be bogus due to uninterpreted constants:
  [<no location info>] ==      :: [Char] -> [Char] -> Bool
  [<no location info>] reverse :: [Char] -> [Char]
[SBV] Failed. (Use option 'IgnoreFailure' to continue.)