This document discusses procedures in Scheme. It defines procedures as descriptions of processes that take inputs, carry out actions, and produce outputs. The document explains that Scheme allows users to define their own procedures using the lambda special form. It provides examples of simple procedures that take inputs and return outputs. The document also discusses how procedures differ from mathematical functions in their ability to access and modify state. It introduces the concept of higher-order procedures that can take or return other procedures. Finally, it explains Scheme's substitution model for evaluating procedure applications by substituting parameter names with operand values.