Now that I know how the hell these work, we should add these. Will essentially mean switching to an INDEXED_OPERATOR signature, as follows:
signature INDEXED_OPERATOR =
sig
include OPERATOR
type symbol
type renaming (* injective maps of finite sets of symbols *)
val rename : renaming -> operator -> operator
val freeSymbols : operator -> symbol list
end
Then, valences will be changed to have two zones, and the abstractor will likewise be changed to have two zones.
It won't be possible to have a "locally nameless" style representation for parameters.
Now that I know how the hell these work, we should add these. Will essentially mean switching to an
INDEXED_OPERATOR
signature, as follows:Then, valences will be changed to have two zones, and the abstractor will likewise be changed to have two zones.
It won't be possible to have a "locally nameless" style representation for parameters.