  Explaining opaque Machine Learning (ML) models is an increasingly relevant
problem. Current explanation in AI (XAI) methods suffer several shortcomings,
among others an insufficient incorporation of background knowledge, and a lack
of abstraction and interactivity with the user. We propose REASONX, an
explanation method based on Constraint Logic Programming (CLP). REASONX can
provide declarative, interactive explanations for decision trees, which can be
the ML models under analysis or global/local surrogate models of any black-box
model. Users can express background or common sense knowledge using linear
constraints and MILP optimization over features of factual and contrastive
instances, and interact with the answer constraints at different levels of
abstraction through constraint projection. We present here the architecture of
REASONX, which consists of a Python layer, closer to the user, and a CLP layer.
REASONX's core execution engine is a Prolog meta-program with declarative
semantics in terms of logic theories.
