case class OccConnector[+A](lowerSequent: Sequent[A], upperSequent: Sequent[A], parentsSequent: Sequent[Seq[SequentIndex]]) extends Product with Serializable
This class models the connection of formula occurrences between two sequents in a proof.
The most basic use case is that of connecting the conclusion of an LK inference with one of the premises. This is the origin of the names "lowerSequent" and "upperSequent".
- A
The type of sequents that this connects.
- lowerSequent
One of the two sequents to be connected.
- upperSequent
The other of the two sequents to be connected.
- parentsSequent
A sequent of lists of indices such that for each index i of lowerSequent, parentsSequent(i) is the list of indices of the parents of i in upperSequent.
- Source
- OccConnector.scala
- Alphabetic
- By Inheritance
- OccConnector
- Serializable
- Serializable
- Product
- Equals
- AnyRef
- Any
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- All
Instance Constructors
-
new
OccConnector(lowerSequent: Sequent[A], upperSequent: Sequent[A], parentsSequent: Sequent[Seq[SequentIndex]])
- lowerSequent
One of the two sequents to be connected.
- upperSequent
The other of the two sequents to be connected.
- parentsSequent
A sequent of lists of indices such that for each index i of lowerSequent, parentsSequent(i) is the list of indices of the parents of i in upperSequent.
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
def
*[B >: A](that: OccConnector[B]): OccConnector[B]
Concatenates two OccConnectors.
Concatenates two OccConnectors.
- B
The type of that.
- that
An OccConnector. upperSequent of this must have the same dimensions as lowerSequent of that.
- returns
An OccConnector that connects the lower sequent of this with the upper sequent of that.
-
def
+(child: SequentIndex, parent: SequentIndex): OccConnector[A]
Adds a child/parent pair to an OccConnector.
Adds a child/parent pair to an OccConnector.
- child
An index of lowerSequent.
- parent
An index of upperSequent.
- returns
A new OccConnector in which parents(child) contains parent.
-
def
+[B >: A](that: OccConnector[B]): OccConnector[A]
Forms the union of two OccConnectors.
Forms the union of two OccConnectors.
- B
The type of B.
- that
An OccConnector. Must have the same upper and lower sequent as this.
- returns
A new OccConnector o such that for any i, o.parents(i) = this.parents(i) ∪ that.parents(i).
-
def
-(child: SequentIndex, parent: SequentIndex): OccConnector[A]
Removes a child/parent pair from an OccConnector.
Removes a child/parent pair from an OccConnector.
- child
An index of lowerSequent.
- parent
An index of upperSequent. Must be a parent of child.
- returns
A new OccConnector in which parents(child) no longer contains parent.
-
def
->[B](y: B): (OccConnector[A], B)
- Implicit
- This member is added by an implicit conversion from OccConnector[A] to ArrowAssoc[OccConnector[A]] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc
- Annotations
- @inline()
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
child(idx: SequentIndex): SequentIndex
Given a SequentIndex for the upper sequent, this returns the child of that occurrence in the lower sequent (if there is exactly one).
Given a SequentIndex for the upper sequent, this returns the child of that occurrence in the lower sequent (if there is exactly one).
- idx
An index of upperSequent.
- returns
The unique child of idx.
-
def
children(idx: SequentIndex): Seq[SequentIndex]
Given a SequentIndex for the upper sequent, this returns the list of children of that occurrence in the lower sequent (if defined).
Given a SequentIndex for the upper sequent, this returns the list of children of that occurrence in the lower sequent (if defined).
- idx
An index of upperSequent.
- returns
The list of children of idx.
-
def
childrenSequent: Sequent[Seq[SequentIndex]]
Analogous to parentsSequent, but in the other direction.
Analogous to parentsSequent, but in the other direction.
- returns
A sequent of lists of indices such that for each index i of upperSequent, childrenSequent(i) is the list of indices of the children of i in lowerSequent.
-
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
def
ensuring(cond: (OccConnector[A]) ⇒ Boolean, msg: ⇒ Any): OccConnector[A]
- Implicit
- This member is added by an implicit conversion from OccConnector[A] to Ensuring[OccConnector[A]] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
-
def
ensuring(cond: (OccConnector[A]) ⇒ Boolean): OccConnector[A]
- Implicit
- This member is added by an implicit conversion from OccConnector[A] to Ensuring[OccConnector[A]] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
-
def
ensuring(cond: Boolean, msg: ⇒ Any): OccConnector[A]
- Implicit
- This member is added by an implicit conversion from OccConnector[A] to Ensuring[OccConnector[A]] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
-
def
ensuring(cond: Boolean): OccConnector[A]
- Implicit
- This member is added by an implicit conversion from OccConnector[A] to Ensuring[OccConnector[A]] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
def
formatted(fmtstr: String): String
- Implicit
- This member is added by an implicit conversion from OccConnector[A] to StringFormat[OccConnector[A]] performed by method StringFormat in scala.Predef.
- Definition Classes
- StringFormat
- Annotations
- @inline()
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
-
def
inv: OccConnector[A]
Inverts an OccConnector.
Inverts an OccConnector.
- returns
This OccConnector with its lower and upper sequents (and parents and children methods) switched around.
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- val lowerSequent: Sequent[A]
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
-
def
parent[T](lowerTs: Sequent[T], default: ⇒ T = ???): Sequent[T]
Given a sequent lowerTs of the same size as the lower sequent, return a sequent of the same size as the upper sequent that contains the unique parent of the Ts in lowerTs, or default otherwise.
-
def
parent(idx: SequentIndex): SequentIndex
Given a SequentIndex for the lower sequent, this returns the parent of that occurrence in the upper sequent (if there is exactly one).
Given a SequentIndex for the lower sequent, this returns the parent of that occurrence in the upper sequent (if there is exactly one).
- idx
An index of lowerSequent.
- returns
The unique parent of idx.
-
def
parents[T](lowerTs: Sequent[T]): Sequent[Seq[T]]
Given a sequent lowerTs of the same size as the lower sequent, return a sequent of the same size as the upper sequent that contains the parents of the Ts in lowerTs.
Given a sequent lowerTs of the same size as the lower sequent, return a sequent of the same size as the upper sequent that contains the parents of the Ts in lowerTs.
If we call the returned sequent upperTs, then lowerTs(i) in upperTs(j) for all j in parents(i).
The intended use-case is that lowerTs is a sequent of labels for the formulas in the lower sequent. parents(lowerTs) will then contain the correct labels for the formulas in the upper sequent.
-
def
parents(idx: SequentIndex): Seq[SequentIndex]
Given a SequentIndex for the lower sequent, this returns the list of parents of that occurrence in the upper sequent (if defined).
Given a SequentIndex for the lower sequent, this returns the list of parents of that occurrence in the upper sequent (if defined).
- idx
An index of lowerSequent.
- returns
The list of parents of idx.
- val parentsSequent: Sequent[Seq[SequentIndex]]
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
- val upperSequent: Sequent[A]
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
def
→[B](y: B): (OccConnector[A], B)
- Implicit
- This member is added by an implicit conversion from OccConnector[A] to ArrowAssoc[OccConnector[A]] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc
Shadowed Implicit Value Members
-
def
+(other: String): String
- Implicit
- This member is added by an implicit conversion from OccConnector[A] to any2stringadd[OccConnector[A]] performed by method any2stringadd in scala.Predef.
- Shadowing
- This implicitly inherited member is shadowed by one or more members in this class.
To access this member you can use a type ascription:(occConnector: any2stringadd[OccConnector[A]]).+(other)
- Definition Classes
- any2stringadd