Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

strategy for evaluating relevant sequents #67

Open
salmans opened this issue Nov 21, 2019 · 0 comments
Open

strategy for evaluating relevant sequents #67

salmans opened this issue Nov 21, 2019 · 0 comments
Labels
to investigate To learn about the root cause of the behavior

Comments

@salmans
Copy link
Owner

salmans commented Nov 21, 2019

The existing implementations of StrategyTrait do not take advantage of information about the previously evaluated sequents.

Definitions

Unbalanced Sequent: is a sequent whose body is true in the model evaluated by the chase step but its head is false in the model.

Consider the following example:

(1) P('a);
(2) Q(x) -> R(x);
(3) P(x) -> Q(x);

After evaluating (1), the only unbalanced sequent that should be processed by the consequent chase step is (3).
A more efficient instance of StrategyTrait should skip (2) since it can never be unbalanced after running a chase step on (1).

In general, the evaluation strategy should always schedule (syntactically) relevant sequents. Considering the expensive cost of evaluating sequents in models, this evaluation strategy is expected to dramatically improve performance.

Disadvantage

This approach is inherently in conflict with congruence closure for equality reasoning as unified elements might unbalance sequents that are not syntactically relevant:

(1) P(`a);
(2) Q(`b);
(3) `a = `b;
(4) Q(x) -> R(x);

After evaluating (1) and (2) followed by (3), sequent (4) should be processed, although it is not syntactically relevant to (3).

Due to complications arising from congruence closure for equality reasoning, equality must be evaluated as a unique first-order predicate (namely =) in presence of equality axioms, processed as sequents.

With this disadvantage, it's not clear under what conditions, the suggested solution improves the performance of the chase.

@salmans salmans added the to investigate To learn about the root cause of the behavior label Nov 21, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
to investigate To learn about the root cause of the behavior
Projects
None yet
Development

No branches or pull requests

1 participant