Definitions are valid in some, but not all, contexts where expressions are allowed. They are valid only at the top level of a <program> and at the beginning of a <body>.
A definition should have one of the following forms:
(define <variable>
(lambda (<formals>) <body>)).
(define <variable>
(lambda <formal> <body>)).