From b6df05346a3bd8c1c68ef74635711ff3e6bd5791 Mon Sep 17 00:00:00 2001 From: Andrew Reynolds Date: Wed, 10 Feb 2021 10:27:44 -0600 Subject: Fix open proof for factoring lemma (#5885) We need to add to the current proof, regardless of whether we have used the factor skolem previously. Fixes bugs found by @HanielB on SMT-LIB runs. --- test/regress/regress1/nl/ufnia-factor-open-proof.smt2 | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 test/regress/regress1/nl/ufnia-factor-open-proof.smt2 (limited to 'test/regress/regress1') diff --git a/test/regress/regress1/nl/ufnia-factor-open-proof.smt2 b/test/regress/regress1/nl/ufnia-factor-open-proof.smt2 new file mode 100644 index 000000000..bcb077f4f --- /dev/null +++ b/test/regress/regress1/nl/ufnia-factor-open-proof.smt2 @@ -0,0 +1,14 @@ +(set-logic QF_UFNIA) +(set-info :status unsat) +(declare-fun pow2 (Int) Int) +(define-fun intmax ((k Int)) Int (- (pow2 k) 1)) +(define-fun intmodtotal ((pow2 Int) (a Int) (b Int)) Int (mod a b)) +(define-fun intneg ((k Int) (a Int)) Int 1) +(define-fun intmul ((k Int) (a Int) (b Int)) Int (mod (* a b) (pow2 k))) +(declare-fun k () Int) +(assert (> k 0)) +(assert (= 1 (pow2 1))) +(declare-fun %x () Int) +(assert (> %x 0)) +(assert (not (= (intmul k %x (intmax k)) (mod (- (pow2 k) %x) (pow2 k))))) +(check-sat) -- cgit v1.2.3