gapt.proofs.lk.rules.UnaryLKProof.scala Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of gapt_3 Show documentation
Show all versions of gapt_3 Show documentation
General Architecture for Proof Theory
The newest version!
package gapt.proofs.lk.rules
import gapt.proofs.HOLSequent
import gapt.proofs.SequentConnector
import gapt.proofs.lk.LKProof
/**
* An LKProof deriving a sequent from another sequent:
*
* (π)
* Γ :- Δ
* ----------
* Γ' :- Δ'
*
*/
abstract class UnaryLKProof extends LKProof {
/**
* The immediate subproof of the rule.
*
* @return
*/
def subProof: LKProof
/**
* The object connecting the lower and upper sequents.auxFormulas
*
* @return
*/
def getSequentConnector: SequentConnector = occConnectors.head
/**
* The upper sequent of the rule.
*
* @return
*/
def premise: HOLSequent = subProof.endSequent
override def immediateSubProofs: Seq[LKProof] = Seq(subProof)
}
object UnaryLKProof {
def unapply(p: UnaryLKProof): Some[(HOLSequent, LKProof)] = Some(p.endSequent, p.subProof)
}