This thesis is concerned with reasoning by analogy within the context of auto-mated problem solving. In particular, we consider the provision of an analogical reasoning component to a resolution theorem proving system. The framework for reasoning by analogy which we use (called Basic APS) contains three major components -the finding of analogies (analogy matching), the construction of analogical plans, and the application of the plans to guide the search of a theorem prover. We first discuss the relationship of analogy to other machine learning techniques. We then develop programs for each of the component processes of Basic APS.First we consider analogy matching. We reconstruct, analyse and crticise two previous analogy matchers. We i...