Module aya.base

Record Class PathTerm.Cube

java.lang.Object
java.lang.Record
org.aya.core.term.PathTerm.Cube
Record Components:
params - Dimension parameters, never empty.
partial - Partial element carried by this path.
Enclosing class:
PathTerm

public static record PathTerm.Cube(@NotNull kala.collection.immutable.ImmutableSeq<LocalVar> params, @NotNull Term type, @NotNull org.aya.guest0x0.cubical.Partial<Term> partial) extends Record
'Generalized path' syntax.
See Also:
  • Constructor Details

    • Cube

      public Cube(@NotNull @NotNull kala.collection.immutable.ImmutableSeq<LocalVar> params, @NotNull @NotNull Term type, @NotNull @NotNull org.aya.guest0x0.cubical.Partial<Term> partial)
      Creates an instance of a Cube record class.
      Parameters:
      params - the value for the params record component
      type - the value for the type record component
      partial - the value for the partial record component
  • Method Details

    • eta

      @NotNull public @NotNull Term eta(@NotNull @NotNull Term term)
    • computePi

      @NotNull public @NotNull PiTerm computePi()
    • substType

      @NotNull public @NotNull Term substType(@NotNull @NotNull kala.collection.SeqView<Term> dimensions)
    • applyDimsTo

      @NotNull public @NotNull Term applyDimsTo(@NotNull @NotNull Term pLam)
    • map

      @NotNull public @NotNull PathTerm.Cube map(@NotNull @NotNull kala.collection.immutable.ImmutableSeq<LocalVar> params, @NotNull @NotNull Function<Term,Term> mapper)
    • map

      @NotNull public @NotNull PathTerm.Cube map(@NotNull @NotNull Function<Term,Term> mapper)
    • makeApp

      @NotNull public @NotNull Term makeApp(@NotNull @NotNull Term app, @NotNull @NotNull org.aya.util.Arg<Term> arg)
    • etaLam

      @NotNull public @NotNull Term etaLam(@NotNull @NotNull Term term)
      "not really eta". Used together with computePi()
    • toString

      public final String toString()
      Returns a string representation of this record class. The representation contains the name of the class, followed by the name and value of each of the record components.
      Specified by:
      toString in class Record
      Returns:
      a string representation of this object
    • hashCode

      public final int hashCode()
      Returns a hash code value for this object. The value is derived from the hash code of each of the record components.
      Specified by:
      hashCode in class Record
      Returns:
      a hash code value for this object
    • equals

      public final boolean equals(Object o)
      Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. All components in this record class are compared with Objects::equals(Object,Object).
      Specified by:
      equals in class Record
      Parameters:
      o - the object with which to compare
      Returns:
      true if this object is the same as the o argument; false otherwise.
    • params

      @NotNull public @NotNull kala.collection.immutable.ImmutableSeq<LocalVar> params()
      Returns the value of the params record component.
      Returns:
      the value of the params record component
    • type

      @NotNull public @NotNull Term type()
      Returns the value of the type record component.
      Returns:
      the value of the type record component
    • partial

      @NotNull public @NotNull org.aya.guest0x0.cubical.Partial<Term> partial()
      Returns the value of the partial record component.
      Returns:
      the value of the partial record component