While the semantics of 'pure' lisp is well understood, the same cannot be said for the lisp that people actually use, due to the presence of so-called 'destructive operations' in programs, operations like RPLACA and RPLACD that destructively manipulate data. Such destructive operations have caused considerable difficulty in bridging the gap between theory program verification, and program transformation. In this book, Ian A. Mason aims at squaring theory with practice by first developing a theory that respects practice and then improving practice within this theory. Mason's theory is based on a new notion of memory structure that is adequate to model such destructive operations. Within this framework, he investigates various equivalence relations between expressions in first order lisp. This fragment of lisp includes the destructive operations of RPLACA and RPLACD. Mason then defines some important equivalence relations in lisp programs within this model theoretic framework. Throughout the work, Mason makes a distinction between intensional relations and extensional relations.