# MATH demonstrate existence of memory
[hear] (define forty-something 42);

[hear] (= 42 (forty-something));

       # now introduce a function
[hear] (assign square (? x / * (x) (x)) /
         = 0 (square 0));

[hear] (assign square (? x / * (x) (x)) /
         = 16 (square 4));

[hear] (assign square (? x / * (x) (x)) /
         = 64 (square 8));

[hear] (assign square (? x / * (x) (x)) /
         = 9 (square 3));

       # show that functions can be remembered across statements
[hear] (define square / ? x / * (x) (x));

[hear] (= (square 5) 25);

[hear] (= (square 0) 0);

[hear] (= (square 1) 1);

[hear] (= (square 9) 81);

[hear] (define plusone / ? x / + (x) 1);

[hear] (= (plusone 7) 8);

[hear] (= (plusone 3) 4);

[hear] (= (plusone 3) 4);

[hear] (= (plusone 5) 6);

       # This could all be simplified or removed
       # once the handling of true / false stabilizes