Skip to content

Support for special Z3 relations #667

Open
@fpoli

Description

@fpoli

With Z3 it's possible to declare special relations such as partial order, linear order, etc. The documentation explains that the decision procedure is efficient and avoids the quadratic number of quantifier instantiations of a naive axiomatization. These special relations would be very convenient in our axiomatization of mathematical data types (subset relations, contains relations, probably even equality relations etc).

With Z3 there is even a way to declare a "transitive closure" relation, which is not first-order axiomatizable.

I'm not sure what the limitations of these special relations are, but the potential benefits sound great.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions