git-subtree-dir: golang-lean git-subtree-mainline:6487c7046fgit-subtree-split:f5f1701922
17 lines
505 B
Text
17 lines
505 B
Text
import GolangLean.PureEval
|
|
import GolangLean.BigStep
|
|
|
|
namespace GolangLean
|
|
|
|
/-! # Equivalence between evaluators.
|
|
|
|
Mirror of octive-lean's `ValueEquiv`. The theorem to prove is:
|
|
|
|
`evalExprP fuel env e = some (v, env') ↔ BigStepExpr env e v env'`
|
|
(modulo fuel being large enough)
|
|
|
|
This bridge is what lets us *use* the executable evaluator inside proofs:
|
|
once `evalExprP` is shown to compute the same relation as `BigStepExpr`,
|
|
running the interpreter is itself a proof. Stub. -/
|
|
|
|
end GolangLean
|