Packages

object Solve extends ValueSolutionRule with ApplySolutionRule

solution: This rule tries to solve for an unknown by applying lambda-abstraction on both sides and eta-reduction on the left. Its effect is, for example, that X x = t is reduced to X = lambda x.t where X is a meta- and x an object variable.

Source
Rules.scala
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Solve
  2. ApplySolutionRule
  3. ValueSolutionRule
  4. SolutionRule
  5. CheckingRule
  6. SyntaxDrivenRule
  7. Rule
  8. SemanticObject
  9. AnyRef
  10. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. case class DelayJudgment(msg: String) extends Throwable with Product with Serializable

    may be thrown to indicate that the judgment that the rules was called on should be delayed

    may be thrown to indicate that the judgment that the rules was called on should be delayed

    Definition Classes
    CheckingRule
  2. case class Isolation(newContext: Context, bound: LocalName, boundTp: Term, rest: Term) extends Product with Serializable
    Attributes
    protected
    Definition Classes
    ApplySolutionRule

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. def alternativeHeads: List[GlobalName]

    additional heads that can trigger the rule, e.g., arrow for a rule with head Pi

    additional heads that can trigger the rule, e.g., arrow for a rule with head Pi

    Definition Classes
    CheckingRule
  5. def applicable(t: Term): Option[Int]

    returns

    Some(i) if the rule is applicable to t1 in the judgment t1=t2, in that case, i is the position of the argument of t1 (starting from 0) that the rule will try to isolate this is about spotting unknowns, not predicting whether the isolation will succeed

    Definition Classes
    ApplySolutionRuleSolutionRule
  6. def apply(j: Equality): Option[(Equality, String)]

    j

    the equality in which to isolate a variable on the left side

    returns

    the transformed equality and a log message if a step towards isolation was possible

    Definition Classes
    SolveValueSolutionRule
  7. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  8. def bind(context: Context, tm: Term, other: Term): Option[Isolation]

    returns Isolation(c, x, a, r) such that c, x:a |- tm = r x and x not occurring in c, r

    returns Isolation(c, x, a, r) such that c, x:a |- tm = r x and x not occurring in c, r

    Attributes
    protected
    Definition Classes
    ApplySolutionRule
  9. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  10. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  11. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  12. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  13. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  14. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  15. val head: GlobalName

    an MMT URI that is used to indicate when the Rule is applicable

    an MMT URI that is used to indicate when the Rule is applicable

    Definition Classes
    ValueSolutionRuleSyntaxDrivenRule
  16. def heads: List[GlobalName]
    Definition Classes
    CheckingRule
  17. def init: Unit

    errors in Java initializers are hard to debug; therefore, objects should put initialization code here, which will be called by MMT empty by default, may throw errors

    errors in Java initializers are hard to debug; therefore, objects should put initialization code here, which will be called by MMT empty by default, may throw errors

    Definition Classes
    SemanticObject
  18. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  19. lazy val mpath: MPath

    the MMT URI of this object, derived from its Scala name: scala://package?name

    the MMT URI of this object, derived from its Scala name: scala://package?name

    Definition Classes
    SemanticObject
  20. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  21. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  22. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  23. def priority: Int

    when multiple rules are applicable, rules with higher priorities are preferred

    when multiple rules are applicable, rules with higher priorities are preferred

    creating a new rule with higher priority can be used to effectively drop imported rules

    Definition Classes
    Rule
  24. def providedRules: List[Rule]

    normally the singleton list of this rule; but rules may bundle additional rules as well

    normally the singleton list of this rule; but rules may bundle additional rules as well

    Definition Classes
    Rule
  25. def shadowedRules: List[Rule]

    normally the empty list; but rules may list rules here that should be removed from the context this can be used to override imported rules

    normally the empty list; but rules may list rules here that should be removed from the context this can be used to override imported rules

    Definition Classes
    Rule
  26. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  27. def toString(): String
    Definition Classes
    SyntaxDrivenRuleRule → AnyRef → Any
  28. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  29. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  30. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()

Inherited from ApplySolutionRule

Inherited from ValueSolutionRule

Inherited from SolutionRule

Inherited from CheckingRule

Inherited from SyntaxDrivenRule

Inherited from Rule

Inherited from SemanticObject

Inherited from AnyRef

Inherited from Any

Ungrouped