Terence Parsons presents a new study of the development and logical complexity of medieval logic. Basic principles of logic were used by Aristotle to prove conversion principles and reduce syllogisms. Medieval logicians expanded Aristotle's notation in several ways, such as quantifying predicate terms, as in 'No donkey is every animal', and allowing singular terms to appear in predicate position, as in 'Not every donkey is Brownie'; with the enlarged notation come additional logical principles. The resulting system of logic is able to deal with relational expressions, as in De Morgan's puzzles about heads of horses. A crucial issue is a mechanism for dealing with anaphoric pronouns, as in 'Every woman loves her mother'. Parsons illuminates the ways in which medieval logic is as rich as contemporary first-order symbolic logic, though its full potential was not envisaged at the time. Along the way, he provides a detailed exposition and examination of the theory of modes of common personal supposition, and the useful principles of logic included with it. An appendix discusses the artificial signs introduced in the fifteenth century to alter quantifier scope.