packages feed

sbv-14.7: SBVTestSuite/GoldFiles/adt08.gold

** 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] ; --- sums ---
[GOOD] ; --- ADTs  --- 
[GOOD] ; User defined ADT: Probe
[GOOD] (declare-datatype Probe (
           (PSet (getPSet_1 (Array Int Bool)))
           (PArr (getPArr_1 (Array Int Bool)))
           (PInt (getPInt_1 Int))
       ))
[GOOD] ; --- literal constants ---
[GOOD] (define-fun s4 () (Array Int Bool) (store ((as const (Array Int Bool)) false) 2 true))
[GOOD] (define-fun s9 () Int 3)
[GOOD] ; --- top level inputs ---
[GOOD] (declare-fun s0 () Probe) ; tracks user variable "a"
[GOOD] (declare-fun s1 () Probe) ; tracks user variable "b"
[GOOD] ; --- constant tables ---
[GOOD] ; --- non-constant tables ---
[GOOD] ; --- uninterpreted constants ---
[GOOD] ; --- user defined functions ---
[GOOD] ; --- assignments ---
[GOOD] (define-fun s2 () Bool ((as is-PSet Bool) s0))
[GOOD] (define-fun s3 () (Array Int Bool) (getPSet_1 s0))
[GOOD] (define-fun s5 () Bool (= s3 s4))
[GOOD] (define-fun s6 () Bool (and s2 s5))
[GOOD] (define-fun s7 () Bool ((as is-PArr Bool) s1))
[GOOD] (define-fun s8 () (Array Int Bool) (getPArr_1 s1))
[GOOD] (define-fun s10 () Bool (select s8 s9))
[GOOD] (define-fun s11 () Bool (and s7 s10))
[GOOD] ; --- delayedEqualities ---
[GOOD] ; --- formula ---
[GOOD] (assert s6)
[GOOD] (assert s11)
[SEND] (check-sat)
[RECV] sat
[SEND] (get-value (s0))
[RECV] ((s0 (PSet (store ((as const (Array Int Bool)) false) 2 true))))
[SEND] (get-value (s1))
[RECV] ((s1 (PArr ((as const (Array Int Bool)) true))))

getValue a: PSet {2}
getValue b: PArr (ArrayModel [] True)
DONE
*** Solver   : Z3
*** Exit code: ExitSuccess