[−][src]Trait chalk_engine::slg::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
pub fn goal_needs_truncation(
&mut self,
interner: &I,
subgoal: &InEnvironment<Goal<I>>
) -> bool
[src]
&mut self,
interner: &I,
subgoal: &InEnvironment<Goal<I>>
) -> bool
Check if subgoal
is too large
pub fn answer_needs_truncation(
&mut self,
interner: &I,
subst: &Substitution<I>
) -> bool
[src]
&mut self,
interner: &I,
subst: &Substitution<I>
) -> bool
Check if subst
is too large
Implementors
impl<I: Interner> TruncateOps<I> for TruncatingInferenceTable<I>
[src]
pub fn goal_needs_truncation(
&mut self,
interner: &I,
subgoal: &InEnvironment<Goal<I>>
) -> bool
[src]
&mut self,
interner: &I,
subgoal: &InEnvironment<Goal<I>>
) -> bool
pub fn answer_needs_truncation(
&mut self,
interner: &I,
subst: &Substitution<I>
) -> bool
[src]
&mut self,
interner: &I,
subst: &Substitution<I>
) -> bool