1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
|
% minimal + latex + comments
metavar termvar, x ::=
{{ tex \mathit{[[termvar]]} }}
grammar
t :: 't_' ::= {{ com term }}
| x :: :: Var {{ com variable}}
| \ x . t :: :: Lam {{ com lambda }}
| t t' :: :: App {{ com app }}
| ( t ) :: S:: Paren
| { t / x } t' :: M:: Tsub
v :: 'v_' ::= {{ com value }}
| \ x . t :: :: Lam {{ com lambda }}
terminals :: 'terminals_' ::=
| \ :: :: lambda {{ tex \lambda }}
| --> :: :: red {{ tex \longrightarrow }}
subrules
v <:: t
defns
Jop :: '' ::=
defn
t1 --> t2 :: ::reduce::'' {{ com $[[t1]]$ reduces to $[[t2]]$}} by
-------------------------- :: ax_app
(\x.t12) v2 --> {v2/x}t12
t1 --> t1'
-------------- :: ctx_app_fun
t1 t --> t1' t
t1 --> t1'
-------------- :: ctx_app_arg
v t1 --> v t1'
|