sbv-13.6: SBVTestSuite/GoldFiles/adt_nested16.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: Expr
[GOOD] (declare-datatype Expr (
(Val (getVal_1 Int))
(Var (getVar_1 String))
(Add (getAdd_1 Expr) (getAdd_2 Expr))
(Mul (getMul_1 Expr) (getMul_2 Expr))
(Let (getLet_1 String) (getLet_2 Expr) (getLet_3 Expr))
))
[GOOD] ; --- literal constants ---
[GOOD] (define-fun s1 () Expr ((as Add Expr) ((as Val Expr) 3) ((as Val Expr) 4)))
[GOOD] (define-fun s7 () Int 0)
[GOOD] (define-fun s21 () Int 1)
[GOOD] (define-fun s34 () Expr ((as Val Expr) 0))
[GOOD] ; --- top level inputs ---
[GOOD] (declare-fun s0 () Expr)
[GOOD] ; --- constant tables ---
[GOOD] ; --- non-constant tables ---
[GOOD] ; --- uninterpreted constants ---
[GOOD] ; --- user defined functions ---
[GOOD] ; --- assignments ---
[GOOD] (define-fun s2 () Bool (= s0 s1))
[GOOD] (define-fun s3 () Bool ((as is-Add Bool) s0))
[GOOD] (define-fun s4 () Expr (getAdd_1 s0))
[GOOD] (define-fun s5 () Bool ((as is-Val Bool) s4))
[GOOD] (define-fun s6 () Int (getVal_1 s4))
[GOOD] (define-fun s8 () Bool (= s6 s7))
[GOOD] (define-fun s9 () Bool (and s5 s8))
[GOOD] (define-fun s10 () Bool (and s3 s9))
[GOOD] (define-fun s11 () Expr (getAdd_2 s0))
[GOOD] (define-fun s12 () Bool ((as is-Val Bool) s11))
[GOOD] (define-fun s13 () Int (getVal_1 s11))
[GOOD] (define-fun s14 () Bool (= s7 s13))
[GOOD] (define-fun s15 () Bool (and s12 s14))
[GOOD] (define-fun s16 () Bool (and s3 s15))
[GOOD] (define-fun s17 () Bool ((as is-Mul Bool) s0))
[GOOD] (define-fun s18 () Expr (getMul_1 s0))
[GOOD] (define-fun s19 () Bool ((as is-Val Bool) s18))
[GOOD] (define-fun s20 () Int (getVal_1 s18))
[GOOD] (define-fun s22 () Bool (= s20 s21))
[GOOD] (define-fun s23 () Bool (and s19 s22))
[GOOD] (define-fun s24 () Bool (and s17 s23))
[GOOD] (define-fun s25 () Expr (getMul_2 s0))
[GOOD] (define-fun s26 () Bool ((as is-Val Bool) s25))
[GOOD] (define-fun s27 () Int (getVal_1 s25))
[GOOD] (define-fun s28 () Bool (= s21 s27))
[GOOD] (define-fun s29 () Bool (and s26 s28))
[GOOD] (define-fun s30 () Bool (and s17 s29))
[GOOD] (define-fun s31 () Bool (= s7 s20))
[GOOD] (define-fun s32 () Bool (and s19 s31))
[GOOD] (define-fun s33 () Bool (and s17 s32))
[GOOD] (define-fun s35 () Expr (ite s33 s34 s0))
[GOOD] (define-fun s36 () Expr (ite s30 s18 s35))
[GOOD] (define-fun s37 () Expr (ite s24 s25 s36))
[GOOD] (define-fun s38 () Expr (ite s16 s4 s37))
[GOOD] (define-fun s39 () Expr (ite s10 s11 s38))
[GOOD] (define-fun s40 () Bool ((as is-Add Bool) s39))
[GOOD] (define-fun s41 () Expr (getAdd_1 s39))
[GOOD] (define-fun s42 () Bool ((as is-Val Bool) s41))
[GOOD] (define-fun s43 () Int (getVal_1 s41))
[GOOD] (define-fun s44 () Bool (= s7 s43))
[GOOD] (define-fun s45 () Bool (and s42 s44))
[GOOD] (define-fun s46 () Bool (and s40 s45))
[GOOD] (define-fun s47 () Expr (getAdd_2 s39))
[GOOD] (define-fun s48 () Bool ((as is-Val Bool) s47))
[GOOD] (define-fun s49 () Int (getVal_1 s47))
[GOOD] (define-fun s50 () Bool (= s7 s49))
[GOOD] (define-fun s51 () Bool (and s48 s50))
[GOOD] (define-fun s52 () Bool (and s40 s51))
[GOOD] (define-fun s53 () Bool ((as is-Mul Bool) s39))
[GOOD] (define-fun s54 () Expr (getMul_1 s39))
[GOOD] (define-fun s55 () Bool ((as is-Val Bool) s54))
[GOOD] (define-fun s56 () Int (getVal_1 s54))
[GOOD] (define-fun s57 () Bool (= s21 s56))
[GOOD] (define-fun s58 () Bool (and s55 s57))
[GOOD] (define-fun s59 () Bool (and s53 s58))
[GOOD] (define-fun s60 () Expr (getMul_2 s39))
[GOOD] (define-fun s61 () Bool ((as is-Val Bool) s60))
[GOOD] (define-fun s62 () Int (getVal_1 s60))
[GOOD] (define-fun s63 () Bool (= s21 s62))
[GOOD] (define-fun s64 () Bool (and s61 s63))
[GOOD] (define-fun s65 () Bool (and s53 s64))
[GOOD] (define-fun s66 () Bool (= s7 s56))
[GOOD] (define-fun s67 () Bool (and s55 s66))
[GOOD] (define-fun s68 () Bool (and s53 s67))
[GOOD] (define-fun s69 () Expr (ite s68 s34 s39))
[GOOD] (define-fun s70 () Expr (ite s65 s54 s69))
[GOOD] (define-fun s71 () Expr (ite s59 s60 s70))
[GOOD] (define-fun s72 () Expr (ite s52 s41 s71))
[GOOD] (define-fun s73 () Expr (ite s46 s47 s72))
[GOOD] (define-fun s74 () Bool (distinct s1 s73))
[GOOD] ; --- delayedEqualities ---
[GOOD] ; --- formula ---
[GOOD] (assert s2)
[GOOD] (assert s74)
[SEND] (check-sat)
[RECV] unsat
All good.
*** Solver : Z3
*** Exit code: ExitSuccess