#lang plait
N[v/x] = N
{+ E1 E2}[v/x] = {+ E1[v/x] E2[v/x]}
;; -, *, /...
y[v/x] = y
x[v/x] = v
{let1 {y E1} E2}[v/x] = {let1 {y E1[v/x]} E2[v/x]}
{let1 {x E1} E2}[v/x] = {let1 {x E1[v/x]} E2}
#lang plait
N[v/x] = N
{+ E1 E2}[v/x] = {+ E1[v/x] E2[v/x]}
;; -, *, /...
y[v/x] = y
x[v/x] = v
{let1 {y E1} E2}[v/x] = {let1 {y E1[v/x]} E2[v/x]}
{let1 {x E1} E2}[v/x] = {let1 {x E1[v/x]} E2}