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>)).