This makes two changes which hopefully tighten the CTerm abstraction slightly by reducing the places where CTerm.kast is used:
Places that were doing get_cell(CTerm.kast, CELL_NAME) now say CTerm.cell(CELL_NAME). There are no more uses of get_cell here or in downstream repos, so it's removed.
A new @cached_property CTerm.free_vars is added, which is used to replace the pattern free_vars(CTerm.kast).
This means that the remaining uses of CTerm.kast are doing something weird with the resulting kast, or printing it, or converting it to Kore.
Inspired while reviewing: https://github.com/runtimeverification/pyk/pull/1009/
This makes two changes which hopefully tighten the
CTerm
abstraction slightly by reducing the places whereCTerm.kast
is used:get_cell(CTerm.kast, CELL_NAME)
now sayCTerm.cell(CELL_NAME)
. There are no more uses ofget_cell
here or in downstream repos, so it's removed.@cached_property CTerm.free_vars
is added, which is used to replace the patternfree_vars(CTerm.kast)
.This means that the remaining uses of
CTerm.kast
are doing something weird with the resulting kast, or printing it, or converting it to Kore.