ResiduatedGoal (API documentation of hlt.language packages)
Date: 2013-01-30

hlt.language.design.types

## Class ResiduatedGoal

- java.lang.Object
- - hlt.language.design.types.TimeStamp
  - - hlt.language.design.types.Goal
    - - hlt.language.design.types.ResiduatedGoal

-     public class ResiduatedGoal
      extends Goal

  An `ResiduatedGoal` is a wrapper for a goal goal that is effectively proven only when it contains no unbound type parameters.

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `ResiduatedGoal(Goal goal)` Constructs a residuation with the specified goal.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addTrigger(Type type)` Installs a trigger link to this residuation from each unbound type parameter that occurs in the specified type.
    `int` | `refCount()` Returns the number of unbound type parameters in this residuation.
    `void` | `release(Type type, GoalProver prover)` Releases this residuation for the specified type in the context of the specified goal prover.
    `ResiduatedGoal` | `setGoal(Goal goal)` Sets the goal controlled by this residuation to be the specified goal, and returns this residuation.
    `void` | `setRefCount(int n)` Sets the number of unbound type parameters in this residuation.
    `java.lang.String` | `toString()` Returns a printable form for this residuation.
    `void` | `trigger(GoalProver prover)` Triggers this residuation in the context of the specified goal prover.

    - ### Methods inherited from class hlt.language.design.types.TimeStamp

      `setTimeStamp, setTimeStamp, timeStamp`

    - ### Methods inherited from class java.lang.Object

      `equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### ResiduatedGoal

          public ResiduatedGoal(Goal goal)

      Constructs a residuation with the specified goal.

  - ### Method Detail

    - #### refCount

          public final int refCount()

      Returns the number of unbound type parameters in this residuation.

    - #### setGoal

          public final ResiduatedGoal setGoal(Goal goal)

      Sets the goal controlled by this residuation to be the specified goal, and returns this residuation. Also ensures that the specified goal will not be trailed.

    - #### setRefCount

          public final void setRefCount(int n)

      Sets the number of unbound type parameters in this residuation.

    - #### addTrigger

          public final void addTrigger(Type type)

      Installs a trigger link to this residuation from each unbound type parameter that occurs in the specified type.

    - #### release

          public final void release(Type type,
                     GoalProver prover)
                             throws FailedUnificationException

      Releases this residuation for the specified type in the context of the specified goal prover.
      Throws:
        `FailedUnificationException`

    - #### trigger

          public final void trigger(GoalProver prover)
                             throws FailedUnificationException

      Triggers this residuation in the context of the specified goal prover.
      Throws:
        `FailedUnificationException`

    - #### toString

          public java.lang.String toString()

      Returns a printable form for this residuation.
      Overrides:
        `toString` in class `Goal`