  Automated legal reasoning and its application in smart contracts and
automated decisions are increasingly attracting interest. In this context,
ethical and legal concerns make it necessary for automated reasoners to justify
in human-understandable terms the advice given. Logic Programming, specially
Answer Set Programming, has a rich semantics and has been used to very
concisely express complex knowledge. However, modelling discretionality to act
and other vague concepts such as ambiguity cannot be expressed in top-down
execution models based on Prolog, and in bottom-up execution models based on
ASP the justifications are incomplete and/or not scalable. We propose to use
s(CASP), a top-down execution model for predicate ASP, to model vague concepts
following a set of patterns. We have implemented a framework, called s(LAW), to
model, reason, and justify the applicable legislation and validate it by
translating (and benchmarking) a representative use case, the criteria for the
admission of students in the "Comunidad de Madrid".
