Skip to content

smt.phase_selection=5 proof: Model validator gives an error on valid model of QF_NRA formula #3468

@muchang

Description

@muchang

Hi,
For this formula,

(set-option :smt.phase_selection 5)
(set-option :proof true)
(set-option :model_validate true)
(declare-fun a () Real)
(assert (> (/ 2 a) (/ 1 a) 0))
(check-sat)
(check-sat)
(get-model)

The model validator of Z3 gives an error on the valid model, while z3 debug branch works well:


[648] % z3debug small.smt2
sat
sat
(model 
  (define-fun a () Real
    0.0)
  (define-fun /0 ((x!0 Real) (x!1 Real)) Real
    (ite (and (= x!0 2.0) (= x!1 0.0)) 2.0
      1.0))
)
[649] % z3 small.smt2
unknown
sat
(error "line 7 column 10: an invalid model was generated")
(model 
  (define-fun a () Real
    0.0)
)
[650] % 
[650] % cat small.smt2
(set-option :smt.phase_selection 5)
(set-option :proof true)
(set-option :model_validate true)
(declare-fun a () Real)
(assert (> (/ 2 a) (/ 1 a) 0))
(check-sat)
(check-sat)
(get-model)

OS: Ubuntu 18.04
Commit: 8717c7d

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions