{"id":18013075,"url":"https://github.com/sim642/algosmt","last_synced_at":"2025-04-04T14:20:49.995Z","repository":{"id":141777092,"uuid":"159212764","full_name":"sim642/algosmt","owner":"sim642","description":"SMT solver project for Advanced Algorithmics course at University of Tartu","archived":false,"fork":false,"pushed_at":"2019-01-20T11:34:52.000Z","size":390,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-09T23:49:50.104Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Scala","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sim642.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-11-26T18:13:58.000Z","updated_at":"2019-01-20T11:34:53.000Z","dependencies_parsed_at":null,"dependency_job_id":"bc813ebd-32d0-40c4-a47c-f3e637aa7c2d","html_url":"https://github.com/sim642/algosmt","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sim642%2Falgosmt","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sim642%2Falgosmt/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sim642%2Falgosmt/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sim642%2Falgosmt/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sim642","download_url":"https://codeload.github.com/sim642/algosmt/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247190251,"owners_count":20898711,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-30T03:19:47.048Z","updated_at":"2025-04-04T14:20:49.977Z","avatar_url":"https://github.com/sim642.png","language":"Scala","funding_links":[],"categories":[],"sub_categories":[],"readme":"# algosmt\nSMT solver project for Advanced Algorithmics course at University of Tartu.\n\n## Team\n* Simmo Saan\n\n## Satisfiability Modulo Integer Difference Logic\n### Description\nBoolean satisfiability (SAT) problems, which consist of purely boolean algebra expressions, can be solved by SAT solvers. Satisfiability modulo theories (SMT) problems are a generalization of SAT, where the logical expressions may, besides boolean variables, contain for example integer variables and conditions between them. Such problems are solved by SMT solvers.\n\t\nInteger difference logic (IDL) in particular is a very small subset of integer conditions that are allowed to be used. In IDL, all the conditions have the form x-y≤n, where x, y are integer variables and n an integer constant. This very limited integer logic also has very simple decision procedure, yet is expressive enough for many problems.\n\n### Motivation\nWhile many complicated problems can be described as SAT problems, which can be given to SAT solvers to solve, describing the problem purely with booleans and constructing the respective conjunctive normal form (CNF) can be difficult. Being able to use integer variables and integer conditions, makes modeling of many problems (e.g. in scheduling) as SMT problems much easier and intuitive.\n\n### Main challenge\nThe biggest challenge and goal is to understand is to understand how SAT solving and IDL solving is interleaved to get a combined SMT solver.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsim642%2Falgosmt","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsim642%2Falgosmt","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsim642%2Falgosmt/lists"}