
gapt.proofs.lk.package.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
import gapt.expr.VarOrConst
import gapt.expr.{ClosedUnderReplacement, Expr, containedNames}
import gapt.proofs.lk.rules.EqualityRule
import gapt.proofs.lk.rules.SkolemQuantifierRule
package object lk {
implicit object LKProofSubstitutableDefault extends LKProofSubstitutable(false)
implicit object lkProofReplaceable extends ClosedUnderReplacement[LKProof] {
override def replace(proof: LKProof, p: PartialFunction[Expr, Expr]): LKProof =
new LKProofReplacer(p).apply(proof)
def names(proof: LKProof): Set[VarOrConst] =
proof.subProofs.flatMap {
case p: EqualityRule => containedNames(p.endSequent) ++ containedNames(p.replacementContext)
case p: SkolemQuantifierRule => containedNames(p.endSequent) ++ containedNames(p.skolemTerm)
case p => containedNames(p.endSequent)
}
}
object normalizeLKt extends gapt.proofs.lkt.normalize
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy