0

I am trying to get z3 to simplify the formula ∃u.(u=x)∧(u=y) to (x=y). I tried:

(declare-sort A)
(declare-const x A)
(declare-const y A)
(assert (exists ((u A)) (and (= u x) (= u y))))
(apply (then ctx-solver-simplify qe))

but this does not simplify the formula. Why? And how should I simplify this formula?

szymtor
  • 167
  • 1
  • 7

1 Answers1

0

Z3 is unable to make such quantifier elimination. Using Redlog of Reduce we obtain:

enter image description here

Juan Ospina
  • 1,317
  • 1
  • 7
  • 15