
gapt.expr.formula.fol.FOLAtomConst.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.expr.formula.fol
import gapt.expr.App
import gapt.expr.Expr
import gapt.expr.formula.constants.EqC
import gapt.expr.formula.hol.HOLAtomConst
import gapt.expr.ty.Ti
import gapt.expr.ty.To
trait FOLAtomConst extends HOLAtomConst with FOLPartialAtom {
def apply(that: FOLTerm*)(implicit dummyImplicit: DummyImplicit): FOLAtom = App(this, that).asInstanceOf[FOLAtom]
}
object FOLAtomConst extends FOLHead(To) {
override def apply(sym: String, arity: Int): FOLAtomConst =
if (sym == "=" && arity == 2) EqC(Ti).asInstanceOf[FOLAtomConst]
else
super.apply(sym, arity).asInstanceOf[FOLAtomConst]
override def unapply(e: Expr): Option[(String, Int)] = e match {
case EqC(Ti) => Some("=", 2)
case _ => super.unapply(e)
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy