Nonmonotonic causal logic can be used to represent properties of actions, including actions with conditional and indirect effects, nondeterministic actions, and concurrently executed actions. The definite fragment of causal logic can be mapped to propositional logic by the process of completion, and this idea has led to the development of the Causal Calculator. In this note, we show how to turn arbitrary causal theories into definite theories without changing the sets of models. The translation consists of two parts: one is a set of definite rules which is obtained from the given theory by translating each rule one by one, in a modular way, and the other is a set of constraints similar to loop formulas for logic programs. Our result characterizes the semantics of causal logic in terms of propositional logic and tells us that an essential difference between the semantics of causal logic and the answer set semantics is related to the definition of a loop in each.