Skip to content

Commit db556c8

Browse files
authored
Generate binders for variables in definedness constraints (#4751)
This PR fixes a bug in the generator where a variable is not declared in the signature of a `Rewrites` constructor if it only occurs in a definedness constraint.
1 parent 4f12b28 commit db556c8

File tree

1 file changed

+3
-1
lines changed

1 file changed

+3
-1
lines changed

pyk/src/pyk/klean/k2lean4.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -326,7 +326,9 @@ def _rewrite_ctor(self, rule: RewriteRule) -> Ctor:
326326

327327
# Step 3: create binders
328328
binders: list[Binder] = []
329-
binders.extend(self._free_binders(pattern)) # Binders of the form {x y : SortInt}
329+
binders.extend(
330+
self._free_binders(And(SortApp('Foo'), (pattern,) + tuple(defs.values())))
331+
) # Binders of the form {x y : SortInt}
330332
binders.extend(self._def_binders(defs)) # Binders of the form (def_y : foo x = some y)
331333

332334
# Step 4: transform patterns

0 commit comments

Comments
 (0)