fn pending_ex_clause(
        &mut self,
        goal_depth: StackIndex,
        ex_clause: &ExClause,
        selected_goal: &InEnvironment<Goal>,
    ) -> CanonicalPendingExClause {
        let parts = (
            &ex_clause.subst,
            &selected_goal,
            &ex_clause.delayed_literals,
            &ex_clause.constraints,
            &ex_clause.subgoals,
        );
        let canonical_parts = self.infer.canonicalize(&parts).quantified;
        canonical_parts.map(
            |(subst, selected_goal, delayed_literals, constraints, subgoals)| {
                PendingExClause {
                    goal_depth,
                    subst,
                    selected_goal,
                    delayed_literals,
                    constraints,
                    subgoals,
                }
            },
        )
    }
/// Creates a `PendingExClause` representing the current node in the forest.
///
/// # Parameters
///
/// - `goal_depth` -- the depth of the suspended goal in the stack
/// - `ex_clause` -- the thing we are trying to prove (`A |- G` in EWFS),
///   but with selected literal popped
/// - `selected_goal` -- the selected literal. This could be either positive
///   or negative depending on context.
Creates a `PendingExClause` representing the current node in the forest.
Creates a ` PendingExClause ` representing the current node in the forest .
fn pending_ex_clause(
        &mut self,
        goal_depth: StackIndex,
        ex_clause: &ExClause,
        selected_goal: &InEnvironment<Goal>,
    ) -> CanonicalPendingExClause {
        let parts = (
            &ex_clause.subst,
            &selected_goal,
            &ex_clause.delayed_literals,
            &ex_clause.constraints,
            &ex_clause.subgoals,
        );
        let canonical_parts = self.infer.canonicalize(&parts).quantified;
        canonical_parts.map(
            |(subst, selected_goal, delayed_literals, constraints, subgoals)| {
                PendingExClause {
                    goal_depth,
                    subst,
                    selected_goal,
                    delayed_literals,
                    constraints,
                    subgoals,
                }
            },
        )
    }
fn pending_ex_clause ( & mut self , goal_depth : StackIndex , ex_clause : & ExClause , selected_goal : & InEnvironment < Goal > , ) -> CanonicalPendingExClause { let parts = ( & ex_clause . subst , & selected_goal , & ex_clause . delayed_literals , & ex_clause . constraints , & ex_clause . subgoals , ) ; let canonical_parts = self . infer . canonicalize ( & parts ) . quantified ; canonical_parts . map ( | ( subst , selected_goal , delayed_literals , constraints , subgoals ) | { PendingExClause { goal_depth , subst , selected_goal , delayed_literals , constraints , subgoals , } } , ) }
Creates a `PendingExClause` representing the current node in the forest.
Creates a ` PendingExClause ` representing the current node in the forest .
&mut self
goal_depth
StackIndex
the depth of the suspended goal in the stack
the depth of the suspended goal in the stack
ex_clause
&ExClause
the thing we are trying to prove (`A |- G` in EWFS),
but with selected literal popped
the thing we are trying to prove ( ` A | - G ` in EWFS ) but with selected literal popped
selected_goal
&InEnvironment<Goal>
the selected literal. This could be either positive
or negative depending on context.
the selected literal . This could be either positive or negative depending on context .