Open Regermeister opened 3 years ago
holdsPrefixing is deprecated, since predicate variable substitution is a much higher performance solution in inference. I recommend running with
holdsPrefixing is deprecated, since predicate variable substitution is a much higher performance solution in inference.
I see. For future reference, is there somewhere I can check for settings being deprecated?
I recommend running with ,
Did you mean to type "running with predicate variable substitution" or is there something else?
oops GitHub removed the XML I included
<preference name="holdsPrefix" value="no" />
I talk about holds prefixing in my book and papers but don't think I have a warning message for it. I'll add that
I see. Thank you
pushed a fix that now prints a warning of holdsPrefix is set to "yes"
Consider the following two formulas from Merge.kif:
From what I can tell,
kb.isFunctional
does explicitly consider the case of a variable in the car position, but the context of the variable's typing gets lost when formulas are examined recursively, which is why callingisFunctional
on the(?FUNCTION ?UNIT)
part will always return false. (At least I think that's what's happening here.)This affects (probably among other things) the translation to TPTP when
holdsPrefix
is turned on, where said sub-formula is translated tos__holds_2__(V__FUNCTION,V__UNIT)
as opposed tos__apply_2__(V__FUNCTION,V__UNIT)
.From what I can tell, these 2 formulas are the only one affected.