crosslang/golang-lean/GolangLean/ValueEquiv.lean
Maximus Gorog fd3d42ae33 Add 'golang-lean/' from commit 'f5f17019224c6a6c319387214ceb8e29d09251c6'
git-subtree-dir: golang-lean
git-subtree-mainline: 6487c7046f
git-subtree-split: f5f1701922
2026-05-12 02:59:14 -06:00

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