{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/using-smt-solvers-to-validate-models-for-ai","title":"Using SMT Solvers to Validate Models for AI Problems","arxiv_id":"1903.09475","date":"2019-03-22","proceeding":null,"authors":["Andrei Arusoaie","Ionut Pistol"],"abstract":"Artificial Intelligence problems, ranging form planning/scheduling up to game\ncontrol, include an essential crucial step: describing a model which accurately\ndefines the problem's required data, requirements, allowed transitions and\nestablished goals. The ways in which a model can fail are numerous and often\nlead to a failure of search strategies to provide a quick, optimal, or even any\nsolution. This paper proposes using SMT (Satisfiability Modulo Theories)\nsolvers, such as Z3, to check the validity of a model. We propose two tests:\nchecking whether a final(goal) state exists in the model's described problem\nspace and checking whether the transitions described can provide a path from\nthe identified initial states to any the goal states (meaning a solution has\nbeen found). The advantage of using an SMT solver for AI model checking is that\nthey substitute actual search strategies and they work over an abstract\nrepresentation of the model, that is, a set of logical formulas. Reasoning at\nan abstract level is not as expensive as exploring the entire solution space.\nSMT solvers use efficient decision procedures which provide proofs for the\nlogical formulas corresponding to the AI model. A recent addition to Z3 allowed\nus to describe sequences of transitions as a recursive function, thus we can\ncheck if a solution can be found in the defined model.","url_abs":"http://arxiv.org/abs/1903.09475v1","url_pdf":"http://arxiv.org/pdf/1903.09475v1.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"using-smt-solvers-to-validate-models-for-ai","repo_url":"https://github.com/andreiarusoaie/z3-ai-model-verification","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"none","reach":null}],"tasks":[{"task_slug":"scheduling","task_name":"Scheduling"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":null,"atlas_url":null,"mcp":null,"developers":"https://syntology.ai/developers"},"arxiv_metadata":null,"syntology_extracted_results":null}