  The paper studies defeasible reasoning in rule-based systems, in particular
about legal norms and contracts. We identify rule modifiers that specify how
rules interact and how they can be overridden. We then define rule
transformations that eliminate these modifiers, leading in the end to a
translation of rules to formulas. For reasoning with and about rules, we
contrast two approaches, one in a classical logic with SMT solvers as proof
engines, one in a non-monotonic logic with Answer Set Programming solvers.
