Skip to content

Understanding user_propagator_base’s propagate method #5644

Answered by NikolajBjorner
wbthomason asked this question in Q&A
Discussion options

You must be logged in to vote

I haven't tried the user propagator with too many different scenarios. The idea with conseq argument is that you can propagate an arbitrary formula. So if you want to instantiate a quantifier yourself you could track the quantifier (forall x phi(x)), which is a Boolean, and whenever it is assigned to true have the option to generate an instance phi(t). You set conseq to phi(t) and use the identifier from the quantified formula as a premise for the propagation.
In practice there are going to be some limitations for what works with propagation. Formulas with existential quantifiers don't work with the current setup. It can be fixed, but I am not sure how important it is to change the code w…

Replies: 2 comments 4 replies

Comment options

You must be logged in to vote
3 replies
@wbthomason
Comment options

@NikolajBjorner
Comment options

@wbthomason
Comment options

Answer selected by wbthomason
Comment options

You must be logged in to vote
1 reply
@wbthomason
Comment options

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
None yet
2 participants