Skip to content

Commit cc1b68d

Browse files
committed
properly fixed
1 parent 280a66b commit cc1b68d

File tree

2 files changed

+9
-9
lines changed

2 files changed

+9
-9
lines changed

popper/gen2.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -210,7 +210,7 @@ def unsat_constraint2(self, body):
210210

211211
def build_generalisation_constraint3(self, prog, size=None):
212212
rule = tuple(prog)[0]
213-
for body in self.find_variants(rule):
213+
for body in self.find_variants(rule, max_rule_vars=True):
214214
body = list(body)
215215
body.append((True, 'body_size', (0, len(body))))
216216
if size:
@@ -228,7 +228,7 @@ def build_specialisation_constraint3(self, prog, size=None):
228228
body.append((True, 'program_size_at_least', (size,)))
229229
yield frozenset(body)
230230

231-
def find_variants(self, rule):
231+
def find_variants(self, rule, max_rule_vars=False):
232232
head, body = rule
233233
body_vars = frozenset(x for literal in body for x in literal.arguments if x >= len(head.arguments))
234234
if max_rule_vars:

popper/gen3.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -431,7 +431,7 @@ def build_generalisation_constraint3(self, prog, size=None):
431431
return
432432

433433
self.new_seen_rules.update(self.build_seen_rule2(rule, False))
434-
for variant in self.find_variants3(rule):
434+
for variant in self.find_variants3(rule, max_rule_vars=True):
435435
con = []
436436
con.extend(variant)
437437
con.append((True, 'body_size', (0, len(body))))
@@ -452,7 +452,7 @@ def build_generalisation_constraint3(self, prog, size=None):
452452
bases.append(frozenset(con))
453453
else:
454454
self.new_seen_rules.update(self.build_seen_rule2(base, False))
455-
for variant in self.find_variants3(base, ruleid=0):
455+
for variant in self.find_variants3(base, ruleid=0, max_rule_vars=True):
456456
con = []
457457
con.extend(variant)
458458
con.append((True, 'body_size', (0, len(base_body))))
@@ -469,7 +469,7 @@ def build_generalisation_constraint3(self, prog, size=None):
469469
bases.append(frozenset(con))
470470
else:
471471
self.new_seen_rules.update(self.build_seen_rule2(rec, True))
472-
for variant in self.find_variants3(rec, ruleid=1):
472+
for variant in self.find_variants3(rec, ruleid=1, max_rule_vars=True):
473473
con = []
474474
con.extend(variant)
475475
con.append((True, 'body_size', (1, len(rec_body))))
@@ -501,7 +501,7 @@ def build_banish_constraint(self, prog):
501501

502502
self.new_seen_rules.update(self.build_seen_rule2(rule, False))
503503

504-
for variant in self.find_variants3(rule):
504+
for variant in self.find_variants3(rule, max_rule_vars=True):
505505
con = []
506506
con.extend(variant)
507507
con.append((True, 'body_size', (0, len(body))))
@@ -521,7 +521,7 @@ def build_banish_constraint(self, prog):
521521
bases.append(frozenset(con))
522522
else:
523523
self.new_seen_rules.update(self.build_seen_rule2(base, False))
524-
for variant in self.find_variants3(base, ruleid=0):
524+
for variant in self.find_variants3(base, ruleid=0, max_rule_vars=True):
525525
con = []
526526
con.extend(variant)
527527
con.append((True, 'body_size', (0, len(base_body))))
@@ -538,7 +538,7 @@ def build_banish_constraint(self, prog):
538538
bases.append(frozenset(con))
539539
else:
540540
self.new_seen_rules.update(self.build_seen_rule2(rec, True))
541-
for variant in self.find_variants3(rec, ruleid=1):
541+
for variant in self.find_variants3(rec, ruleid=1, max_rule_vars=True):
542542
con = []
543543
con.extend(variant)
544544
con.append((True, 'body_size', (1, len(rec_body))))
@@ -548,7 +548,7 @@ def build_banish_constraint(self, prog):
548548
for r2 in recs:
549549
yield r1 | r2
550550

551-
def find_variants3(self, rule, ruleid=0):
551+
def find_variants3(self, rule, ruleid=0, max_rule_vars=False):
552552
head, body = rule
553553
head_arity = len(self.settings.head_literal.arguments)
554554
body_vars = frozenset(x for literal in body for x in literal.arguments if x >= head_arity)

0 commit comments

Comments
 (0)