{"id":25954028,"url":"https://github.com/delcypher/smt2coral","last_synced_at":"2026-05-28T20:31:33.947Z","repository":{"id":71961211,"uuid":"115366949","full_name":"delcypher/smt2coral","owner":"delcypher","description":null,"archived":false,"fork":false,"pushed_at":"2018-08-09T14:34:01.000Z","size":74,"stargazers_count":1,"open_issues_count":8,"forks_count":0,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-03-04T15:48:45.916Z","etag":null,"topics":["constraint-solver","floating-point","smtlib"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/delcypher.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","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":"2017-12-25T22:48:43.000Z","updated_at":"2018-08-09T14:34:03.000Z","dependencies_parsed_at":"2024-07-14T15:02:00.449Z","dependency_job_id":null,"html_url":"https://github.com/delcypher/smt2coral","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/delcypher/smt2coral","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/delcypher%2Fsmt2coral","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/delcypher%2Fsmt2coral/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/delcypher%2Fsmt2coral/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/delcypher%2Fsmt2coral/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/delcypher","download_url":"https://codeload.github.com/delcypher/smt2coral/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/delcypher%2Fsmt2coral/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33626137,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-05-28T02:00:06.440Z","response_time":99,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["constraint-solver","floating-point","smtlib"],"created_at":"2025-03-04T15:48:43.408Z","updated_at":"2026-05-28T20:31:33.939Z","avatar_url":"https://github.com/delcypher.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# smt2coral\n\n`smt2coral` is a small python module and set of command line tools that take\nconstraints in the [SMT-LIBv2 format](http://smtlib.cs.uiowa.edu/) and converts\nthem into the [constraint language](http://pan.cin.ufpe.br/coral/InputLanguage.html) understood by the\n[Coral](http://pan.cin.ufpe.br/coral/index.html) constraint solver.\n\nNote that the constraint langauges of Coral and SMT-LIBv2 only partially\noverlap in terms of capability. Therefore only a subset of SMT-LIBv2 is supported.\n\nThere are several known restrictions due Coral's language constraint being very crude.\n\n* Only constraints in `QF_FP` logic are supported.\n* The following operations are not supported: `ite`, `fp.abs`, `fp.fma`,\n  `fp.roundToIntegral`, `fp.min`, `fp.max`, and conversion between\n  all sorts (e.g. conversion between Float32 and Float64).\n* Only Bool, Float32, and Float32 sorts are supported.\n* Several translation of SMT-LIBv2 operators are unsound. smt2coral will\n  warn when this occurs.\n\nIn addition to the above issues, coral itself (well at least version 0.7)\nis very buggy and frequently crashes. This will likely limit the use of this\nproject, however it was quite fun to write so I can't complain too much ;).\n\n## Tools\n\n## `dump.py`\n\nThis tool parses SMT-LIBv2 constraints and then dumps the converted constraints\nas text. This is useful for debugging/testing. An error will be raised if\nthe translation cannot be performed.\n\n## `coral.py`\n\nThis is a wrapper for Coral that parses SMT-LIBv2 constraints, invokes coral\nand responds in a \"mostly\" SMT-LIBv2 compliant manner.\n\nNote you need to place `coral.jar` in the same directory as `coral.py`. `coral.jar`\nis available at http://pan.cin.ufpe.br/coral/Download.html .\n\nNote that the `coral.py` script will ignore command line arguments it doesn't recognise\nand will pass them directly to Coral. This is for using Coral's various solver options.\n\n# Dependencies\n\n* Coral \u003e= 0.7 and its dependencies (e.g. Java).\n* Z3 4.6.0 and its python bindings.\n\nFor testing\n\n* lit (availabel by running `pip install lit`)\n* FileCheck\n\n## Testing\n\nRun\n\n```\nlit -vs tests/\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdelcypher%2Fsmt2coral","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdelcypher%2Fsmt2coral","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdelcypher%2Fsmt2coral/lists"}