[−][src]Trait chalk_engine::context::TruncateOps
"Truncation" (called "abstraction" in the papers referenced below) refers to the act of modifying a goal or answer that has become too large in order to guarantee termination.
Currently we don't perform truncation (but it might me readded later).
Citations:
- Terminating Evaluation of Logic Programs with Finite Three-Valued Models
- Riguzzi and Swift; ACM Transactions on Computational Logic 2013
- Radial Restraint
- Grosof and Swift; 2013
Required methods
fn goal_needs_truncation(
&mut self,
interner: &C::Interner,
subgoal: &C::GoalInEnvironment
) -> bool
&mut self,
interner: &C::Interner,
subgoal: &C::GoalInEnvironment
) -> bool
Check if subgoal
is too large
fn answer_needs_truncation(
&mut self,
interner: &C::Interner,
subst: &C::Substitution
) -> bool
&mut self,
interner: &C::Interner,
subst: &C::Substitution
) -> bool
Check if subst
is too large