Causal theories are default theories which explicitly accommodate a distinction between 'explained' and 'unexplained' propositions. This is accomplished by means of an operator 'C in the language for which propositions α are assumed explained when literals of the form Cα hold. The behavior of causal theories is determined by a preference relation on models based on the minimization of unexplained abnormality. We show that causal networks, general logic programs and theories for reasoning about change can be all naturally expressed as causal theories. We also develop a prooftheory for causal theories and discuss how they relate to autoepistemic theories, prioritized circumscription, and Pearl's C-E calculus.