3 import junit.framework.TestCase
5 import scala.concurrent._
6 import scala.concurrent.ExecutionContext.Implicits.global
7 import scala.concurrent.duration._
8 import java.nio.file.Paths
9 import edu.tum.cs.isabelle._
10 import edu.tum.cs.isabelle.api._
11 import edu.tum.cs.isabelle.japi._
12 import edu.tum.cs.isabelle.pure._
13 import edu.tum.cs.isabelle.hol._
15 class TestTerm extends TestCase {
17 val ReadTerm = Operation.implicitly[(String, Typ, String), Option[Term]]("read_term")
19 val MakeInt = Operation.implicitly[Unit, Term]("make_int")
22 val env = JSetup.makeEnvironment(
23 Paths.get("/usr/local/isabisac"), JPlatform.guess(), new Version("2015"))
24 val config = Configuration.fromBuiltin("libisabelle_Isac")
25 val sys = Await.result(System.create(env, config), 10.seconds)
26 val thy = Theory(sys, "Main")
28 val expr = Await.result(Expr.ofString[scala.math.BigInt](thy, "3"), 10.seconds)
31 val expr2 = Await.result(sys.invoke(ReadTerm)(("3", Type("Int.int", Nil), "Main")), 10.seconds)
34 val expr3 = Await.result(sys.invoke(MakeInt)(()), 10.seconds)
37 val t: Term = Const("HOL.True", Typ.dummyT)