Recent improvements in the efficiency of solving computationally complex problems has led to the development of declarative languages in which solving is achieved through reducing problems to instances of computationally complex problems. These languages are well-suited for solving industrial problems because they offer a great flexibility as well as a fast underlying engine for solving problems. However, currently, the underlying solving engine of these languages works as a black-box and its performance cannot be fine-tuned for the specific problem that is being solved.
My research is concerned with extending an existing declarative language (FO-MX) with constructs that enable programmers to fine-tune the behavior of its underlying solver through specifying problem-specific reasoning mechanisms that the underlying solver may use. Such problem-specific reasoning mechanisms lead to a faster underlying solver as well as a more controlled solving process.