Unfortunately commit 13f8c40ab184bf0d2208b70288095825edb4fccc part of d79ddb0 introduced a bug to class Inhibitor.
In case where a place is unmarked the example Inhibitor(Variable("x")).check(Substitution(x=1), MultiSet([1, 2, 3])) becomes Inhibitor(Variable("x")).check(Substitution(), MultiSet([])) and class Variable throws an exception inside its method bind because the parameter binding does not include self.name.
This might be a quick fix inspired by the modes method:
Unfortunately commit 13f8c40ab184bf0d2208b70288095825edb4fccc part of d79ddb0 introduced a bug to
class Inhibitor
.In case where a place is unmarked the example
Inhibitor(Variable("x")).check(Substitution(x=1), MultiSet([1, 2, 3]))
becomesInhibitor(Variable("x")).check(Substitution(), MultiSet([]))
andclass Variable
throws an exception inside its methodbind
because the parameterbinding
does not includeself.name
.This might be a quick fix inspired by the
modes
method: