git-subtree-dir: golang-lean git-subtree-mainline:6487c7046fgit-subtree-split:f5f1701922
21 lines
753 B
Text
21 lines
753 B
Text
import GolangLean.PureEval
|
|
|
|
namespace GolangLean
|
|
|
|
/-! # Big-step operational semantics.
|
|
|
|
Mirror of octive-lean's `BigStep`. An inductive relation
|
|
`BigStepExpr : Env → Expr → Value → Env → Prop` that serves as the formal
|
|
specification of Go semantics, independent of the executable evaluator.
|
|
|
|
This is the layer where cross-language proof becomes possible: theorems
|
|
stated about `BigStepExpr` for Go should look identical in shape to the
|
|
Octave version. The shared shape is the candidate for a language-generic
|
|
core.
|
|
|
|
Stub. Constructors will be added one syntactic form at a time. -/
|
|
|
|
inductive BigStepExpr : Env → Expr → Value → Env → Prop where
|
|
| placeholder : BigStepExpr env e v env -- delete once real rules exist
|
|
|
|
end GolangLean
|