packages feed

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

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