{"id":30852096,"url":"https://github.com/rasheedja/lppaver","last_synced_at":"2025-09-07T08:02:38.671Z","repository":{"id":62052834,"uuid":"506796963","full_name":"rasheedja/LPPaver","owner":"rasheedja","description":"An automated prover targeting problems that involve nonlinear real arithmetic.","archived":false,"fork":false,"pushed_at":"2023-12-06T14:37:43.000Z","size":1703,"stargazers_count":5,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-08-29T05:30:20.457Z","etag":null,"topics":["automatic-theorem-proving","formal-methods","haskell","library","math","mathematics","maths","mpl","program","theorem-prover","theorem-proving","verification"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rasheedja.png","metadata":{"files":{"readme":"README.md","changelog":"ChangeLog.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2022-06-23T21:30:31.000Z","updated_at":"2023-04-11T11:05:20.000Z","dependencies_parsed_at":"2023-02-08T13:46:37.325Z","dependency_job_id":"a2cf0782-c047-4dd8-8b16-400eecc5df8e","html_url":"https://github.com/rasheedja/LPPaver","commit_stats":{"total_commits":40,"total_committers":2,"mean_commits":20.0,"dds":0.09999999999999998,"last_synced_commit":"762ffb1ebdce8e969f49c0e6fdb38c75e04a6263"},"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/rasheedja/LPPaver","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rasheedja%2FLPPaver","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rasheedja%2FLPPaver/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rasheedja%2FLPPaver/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rasheedja%2FLPPaver/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rasheedja","download_url":"https://codeload.github.com/rasheedja/LPPaver/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rasheedja%2FLPPaver/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274010104,"owners_count":25206764,"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","status":"online","status_checked_at":"2025-09-07T02:00:09.463Z","response_time":67,"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":["automatic-theorem-proving","formal-methods","haskell","library","math","mathematics","maths","mpl","program","theorem-prover","theorem-proving","verification"],"created_at":"2025-09-07T08:01:36.768Z","updated_at":"2025-09-07T08:02:38.658Z","avatar_url":"https://github.com/rasheedja.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# LPPaver\n\nLPPaver is an automated prover which targets problems involving nonlinear real arithmetic.\nA paper describing LPPaver in detail is coming soon.\n\n## Documentation\n\n[Haddock](https://haskell-haddock.readthedocs.io/en/latest/) documentation for LPPaver can be found at [Hackage](https://hackage.haskell.org/package/LPPaver).\n\n## Reference\n\nLPPaver understands input that is similar to SMT2.\nLPPaver is designed to work with SMT2 `assert`s.\nIf an `assert` contains anything that LPPaver does not understand, the `assert`ion is (currently) silently dropped.\nThe full list of accepted inputs can be found in [REFERENCE.md](REFERENCE.md)\n\n## Building\n\nLPPaver can be built with either [Stack](https://docs.haskellstack.org/en/stable/) or [Cabal](https://www.haskell.org/cabal/), though officially we only support Stack.\n\n### Stack\n\n```sh\nstack build\n```\n\n### Cabal\n\n```sh\ncabal build\n```\n\n## Examples\n\nExamples can be found in directory [test/testFiles](test/testFiles).\nThe [Place](test/testFiles/Place) directory contains examples that describe the problem of placing circles of a fixed size into a square of a fixed size in such a way that all of the circles are within the square none of the circles are touching each-other or the edges of the square.\nThe problem has also been generalised to higher dimensions.\nA formula describing the problem is shown below:\n\n![Formula describing the Place benchmarks](images/PlaceInstancesFormula.png)\n\nThe [PropaFP](test/testFiles/PropaFP) directory contains examples that came from [PropaFP](https://github.com/rasheedja/PropaFP/).\nThese examples are described in detail in a [preprint of a paper describing PropaFP](https://arxiv.org/abs/2207.00921).\n\nIn both directories, the sat subdirectory holds files which should be satisfiable, the unsat subdirectory holds files which should be unsatisfiable, and the cannotDecide subdirectory holds files which LPPaver could not decide with default parameters.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frasheedja%2Flppaver","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frasheedja%2Flppaver","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frasheedja%2Flppaver/lists"}