Alphabet

0:real
1:real
-:[real] ⟶ real
sin:[real] ⟶ real
cos:[real] ⟶ real
ln:[real] ⟶ real
+:[real × real] ⟶ real
*:[real × real] ⟶ real
/:[real × real] ⟶ real
der:[real → real] ⟶ real → real

Variables

y:real
F:real → real
G:real → real

Rules

derx:real.y)λx:real.0
derx:real.x)λx:real.1
derx:real.sin(x))λx:real.cos(x)
derx:real.cos(x))λx:real.-(sin(x))
derx:real.+(F · x, G · x))λx:real.+(der(F) · x, der(G) · x)
derx:real.*(F · x, G · x))λx:real.+(*(der(F) · x, G · x), *(F · x, der(G) · x))
derx:real.ln(F · x))λx:real./(der(F) · x, F · x)