}
}
// if we solved all arguments
- if (args.empty())
+ if (args.empty() && body.isConst() && !body.getConst<bool>())
{
Trace("cegqi-si-trivial-solve")
<< q << " is trivially solvable by substitution " << vars << " -> "
regress1/sygus/issue3580.sy
regress1/sygus/issue3634.smt2
regress1/sygus/issue3635.smt2
+ regress1/sygus/issue3654.sy
regress1/sygus/large-const-simp.sy
regress1/sygus/let-bug-simp.sy
regress1/sygus/list-head-x.sy
--- /dev/null
+; EXPECT: unknown
+; COMMAND-LINE: --sygus-out=status
+(set-logic ALL)
+(synth-fun inv-fn ((i Int) (x (Array Int Int)) (c Int)) Bool)
+
+(define-fun init-fn ((i Int) (x (Array Int Int)) (c Int)) Bool
+ (and (= i 0)
+ (= (select x 10) c)))
+
+(define-fun post-fn ((i Int) (x (Array Int Int))(c Int)) Bool
+ (exists ((index Int)) (and (= (select x index) c)
+ (forall ((index2 Int)) (=> (< index2 index) (not (= (select x index) c))))
+ )))
+
+(declare-var x (Array Int Int))
+(declare-var x! (Array Int Int))
+(declare-var i Int)
+(declare-var i! Int)
+(declare-var c Int)
+
+
+(constraint (=> (init-fn i x c) (inv-fn i x c)))
+(constraint (=> (inv-fn i x c) (post-fn i x c)))
+(check-synth)