Abstrakt. Vi beskriver ett system som integrerar SMT-lösaren Z3 med programmeringsspråket Scala. Systemet stöder användningen av SMT-lösaren för att kontrollera tillfredsställande, otillfredsställande och lösningsuppräkning. Inbäddning av formelträd i Scala använder värd typ systemet i Scala för att förhindra byggandet av vissa illvilliga begränsningar. Lösningen räkning funktionen integreras i iteration konstruktioner av Scala och stöder skriva icke-deterministiska program. Med hjälp av Z3:s mekanism för teoriförlängningar hjälper vårt system också användare att konstruera anpassade begränsningslösare där tolkningen av predikat och funktioner ges som Scala-kod. Det resulterande systemet bevarar produktivitetsfördelarna med Scala samtidigt som man förenklar uppgifter som kombinatorisk sökning.
al REF integrerar Z3 SMT-lösaren i Scala.
Scala to the Power of Z3 Integrating SMT and Programming
{'venue': 'CADE', 'journal': None, 'mag_field_of_study': ['Computer Science']}