Skip to content

Is there a way to combine QF_BV and QF_IDL? #8940

@ThomasHaas

Description

@ThomasHaas

In concurrent program verification, we generate formulas involving QF_BV for the data flow and QF_IDL to specify ordering constraints.
However, SMTLIB2 does not specify a common logic fragment (except ALL) nor does it specify a way to combine individual theories.
Now, I have the strong suspicion that Z3 never uses the dedicated QF_IDL solver (with (set-logic ALL)) for our queries, judging from its output statistics:

 :arith-bound-propagations-lp 756994
 :arith-conflicts             3928
 :arith-fixed-eqs             36
 :arith-lower                 1261061
 :arith-make-feasible         101219
 :arith-max-columns           7358
 :arith-max-rows              6788
 :arith-upper                 1202740

Is there a way to specify QF_BV + QF_IDL in Z3? Maybe a command-line option or a custom extension of the SMTLIB2 spec (e.g. multiple (set-logic) commands?)

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