# and

`(`and` EXPRESSION EXPRESSION EXPRESSION ...)`
An `and` expression contains two or more expressions. They are evaluated from left to right. If the first expression evaluates to false, the `and` expression immediately evaluates to false. If the first expression evaluates to true, the next expression is considered. If all expressions evaluate to true, the `and` expression evaluates to true. If any of the expressions evaluate to a value other than true or false, it is an error.
Reductions:
`(and true ... false e ...)``-->` false
`(and true ...)``-->` true
`(and true ... v_1 e ...)``e-->` `and: question result is not true or false`
where `v_1` is not `true`, and `v_1` is not `false`

Beginning Student Language