Before a larger run, this is to test the use of variables in a LocalProver
to export.
import $cp.bin.`provingground-core-jvm-dbd333bd25.fat.jar`
import provingground._ , interface._, HoTT._, learning._
repl.pprinter() = {
val p = repl.pprinter()
p.copy(
additionalHandlers = p.additionalHandlers.orElse {
translation.FansiShow.fansiHandler
}
)
}
val A = "A" :: Type
val B = "B" :: Type
val ts = TermState(FiniteDistribution.unif(A, B), FiniteDistribution.unif(A, B), vars = Vector(A, B))
val lp = LocalProver(ts, relativeEval = true).sharpen(10)
import monix.execution.Scheduler.Implicits.global
val nsT = lp.nextState
val nsF = nsT.runToFuture
val MPAB = A ->: (A ->: B) ->: B
val MP = A ~>: (B ~>: MPAB)
val evT = lp.expressionEval
val evF = evT.runToFuture
evT.map(_.finalTyps(MP)).runToFuture
evT.map(_.finalTyps.entropyVec).runToFuture
evT.map(_.finalTyps.entropy(MP)).runToFuture
MP
val lp1 = LocalProver(ts, tg = TermGenParams(sigmaW = 0), relativeEval = true).sharpen(10)
val nsT1 = lp1.nextState
val nsF1 = nsT1.runToFuture
val evT1 = lp1.expressionEval
evT1.map(_.finalTyps(MP)).runToFuture
evT1.map(_.finalTyps.entropyVec).runToFuture
evT1.map(_.finalTyps.entropy(MP)).runToFuture
evT1.map(_.finalTerms.filter(_.typ == MP)).runToFuture