Packages

case class SymbObj[+U <: Term with Subs[U]](name: AnySym, typ: Typ[U]) extends Term with Symbolic with Product with Serializable

symbolic objects that are Terms but no more refined ie, not pairs, formal functions etc.

Linear Supertypes
Serializable, Product, Equals, Symbolic, Term, Subs[Term], AnyRef, Any
Type Hierarchy
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. SymbObj
  2. Serializable
  3. Product
  4. Equals
  5. Symbolic
  6. Term
  7. Subs
  8. AnyRef
  9. Any
Implicitly
  1. by any2stringadd
  2. by StringFormat
  3. by Ensuring
  4. by ArrowAssoc
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new SymbObj(name: AnySym, typ: Typ[U])

Value Members

  1. def dependsOn(that: Term): Boolean

    returns whether this depends on that

    returns whether this depends on that

    Definition Classes
    Term
  2. def equals(that: Any): Boolean
    Definition Classes
    Symbolic → AnyRef → Any
  3. lazy val hashCode: Int
    Definition Classes
    Symbolic → AnyRef → Any
  4. def indepOf(that: Term): Boolean

    returns whether this is independent of that.

    returns whether this is independent of that.

    Definition Classes
    Term
  5. val name: AnySym
    Definition Classes
    SymbObjSymbolic
  6. def newobj: SymbObj[U]

    A new object with the same type, to be used in place of a variable to avoid name clashes.

    A new object with the same type, to be used in place of a variable to avoid name clashes. Should throw exception when invoked for constants.

    Definition Classes
    SymbObjSubs
  7. def productElementNames: Iterator[String]
    Definition Classes
    Product
  8. def replace(x: Term, y: Term): Term with Subs[Term]

    refine substitution so if x and y are both of certain forms such as pairs or formal applications, components are substituted.

    refine substitution so if x and y are both of certain forms such as pairs or formal applications, components are substituted.

    Definition Classes
    Subs
  9. def subs(x: Term, y: Term): Term

    substitute x by y recursively in this.

    substitute x by y recursively in this.

    Definition Classes
    SymbObjSubs
  10. def toString(): String
    Definition Classes
    Symbolic → AnyRef → Any
  11. val typ: Typ[U]

    the HoTT-type of the term

    the HoTT-type of the term

    Definition Classes
    SymbObjTerm
  12. def usesVar(t: Term): Boolean

    returns whether the variable t is used as a variable in a lambda definition.

    returns whether the variable t is used as a variable in a lambda definition.

    Definition Classes
    Term