Skip to content

Commit

Permalink
revisited issue #64 and #98, for termination properties of the restri…
Browse files Browse the repository at this point in the history
…cted chase
  • Loading branch information
CerielJacobs committed Nov 23, 2022
1 parent cfc7b0d commit cbdf98b
Showing 1 changed file with 5 additions and 0 deletions.
5 changes: 5 additions & 0 deletions src/vlog/common/concepts.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1471,6 +1471,11 @@ void Program::rewriteRule(std::vector<Literal> &lHeads, std::vector<Literal> &lB
std::vector<Literal> nh;
nh.push_back(newHead);
addRule(nh, lBody);
if (allrules[allrules.size() - 1].isExistential()) {
// if the rule just added is existential, also add "2-way atomic decomposition", to fix termination
// properties of the restricted chase.
addRule(nh, lHeads);
}

// Then, for each original head, create a rule with the generated head as body.
for (auto h : lHeads) {
Expand Down

0 comments on commit cbdf98b

Please sign in to comment.