Much work on legal knowledge systems treats legal reasoning as arguments that lead from a description of the law and the facts of a case, to the legal conclusion for the case. The reasoning steps of the inference engine parallel the logical steps by means of which the legal conclusion is derived from the factual and legal premises. In short, the relation between the input and the output of a legal inference engine is a logical one. The truth of the conclusion only depends on the premises, and is independent of the argument that leads to the conclusion. This paper opposes the logical approach, and defends a procedural approach to legal reasoning. Legal conclusions are not true or false independent of the reasoning process that ended in these conclusions. In critical cases this reasoning process consists of an adversarial procedure in which several parties are involved. The course of the argument determines whether the conclusion is true or false. The phenomenon of hard cases is used to demonstrate this essential procedural nature of legal reasoning. Dialogical Reason Based Logic offers a framework that makes it possible to model legal dialogues. We use Dialogical Reason Based Logic to specify hard cases in dialogical terms. Moreover, we analyse an actual Dutch hard case in terms of Dialogical Reason Based Logic, to demonstrate both the possibilities and the shortcomings of this approach. It turns out that there is no one set of rational dialogue rules. There are many concurring sets of rules that govern particular types of dialogues. The rules for legal procedures are as much part of the law as the more substantial rules. As a consequence, it is not possible to offer an universal set of dialogue rules. Dialogical Reason Based Logic rather provides a framework which can be filled with dialogue rules that determine which dialogues are valid and which ones are invalid.