c

info.kwarc.mmt.sequences

SequenceEqualityCheck

class SequenceEqualityCheck extends ExtensionalityRule

component-wise equality-checking of sequences

|s| = |t| = |a| |- s.i = t.i : a.i for all i=1,...,n-1 -------------------------------------- |- s=t : a

applicable only if |a| simplifies to a literal

Source
Rules.scala
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. SequenceEqualityCheck
  2. ExtensionalityRule
  3. TypeBasedEqualityRule
  4. ApplicableUnder
  5. SingleTermBasedCheckingRule
  6. CheckingRule
  7. SyntaxDrivenRule
  8. Rule
  9. SemanticObject
  10. AnyRef
  11. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new SequenceEqualityCheck(op: GlobalName)

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

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(tm: Term): Boolean
  6. def applicableToTerm(solver: Solver, tm: Term): Boolean

    type-based equality reasoning often uses extensionality, which can be inefficient or even lead to cycles.

    type-based equality reasoning often uses extensionality, which can be inefficient or even lead to cycles. Therefore, these rules are only applied to tm1 = tm2 : tp if tm1 or tm2 satisfies this predicate.

    Definition Classes
    ExtensionalityRuleTypeBasedEqualityRule
  7. def apply(solver: Solver)(tm1: Term, tm2: Term, tp: Term)(implicit stack: Stack, history: History): Option[Boolean]

    solver

    provides callbacks to the currently solved system of judgments

    tm1

    the first term

    tm2

    the second term

    tp

    their type

    stack

    their context

    returns

    true iff the judgment holds; None if the solver should proceed with term-based equality checking

    Definition Classes
    SequenceEqualityCheckTypeBasedEqualityRule
  8. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  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
    TypeBasedEqualityRuleSyntaxDrivenRule
  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. val introForm: AnyRef { def unapply(tm: info.kwarc.mmt.api.objects.Term): Option[info.kwarc.mmt.api.objects.Term] }
  19. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  20. 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
  21. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  22. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  23. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  24. 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
  25. 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
  26. 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
  27. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  28. def toString(): String
    Definition Classes
    SyntaxDrivenRuleRule → AnyRef → Any
  29. val under: List[GlobalName]
    Definition Classes
    TypeBasedEqualityRuleApplicableUnder
  30. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  31. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  32. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()

Inherited from ExtensionalityRule

Inherited from TypeBasedEqualityRule

Inherited from ApplicableUnder

Inherited from CheckingRule

Inherited from SyntaxDrivenRule

Inherited from Rule

Inherited from SemanticObject

Inherited from AnyRef

Inherited from Any

Ungrouped