{"id":16312163,"url":"https://github.com/namin/leantap","last_synced_at":"2026-03-04T07:01:47.766Z","repository":{"id":6277109,"uuid":"7510912","full_name":"namin/leanTAP","owner":"namin","description":"A Declarative Theorem Prover for First-Order Classical Logic","archived":false,"fork":false,"pushed_at":"2024-06-14T20:57:03.000Z","size":22,"stargazers_count":28,"open_issues_count":0,"forks_count":2,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-10-10T19:25:40.561Z","etag":null,"topics":["clojure","minikanren","scheme","theorem-prover"],"latest_commit_sha":null,"homepage":"","language":"Scheme","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/namin.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":"2013-01-08T22:53:08.000Z","updated_at":"2024-07-17T20:53:31.000Z","dependencies_parsed_at":"2024-10-27T10:53:43.627Z","dependency_job_id":"f983f1f1-66fe-4f81-998f-5ecd52e61610","html_url":"https://github.com/namin/leanTAP","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/namin/leanTAP","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/namin%2FleanTAP","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/namin%2FleanTAP/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/namin%2FleanTAP/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/namin%2FleanTAP/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/namin","download_url":"https://codeload.github.com/namin/leanTAP/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/namin%2FleanTAP/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30075425,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-04T05:31:57.858Z","status":"ssl_error","status_checked_at":"2026-03-04T05:31:38.462Z","response_time":59,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["clojure","minikanren","scheme","theorem-prover"],"created_at":"2024-10-10T21:47:12.525Z","updated_at":"2026-03-04T07:01:47.730Z","avatar_url":"https://github.com/namin.png","language":"Scheme","funding_links":[],"categories":[],"sub_categories":[],"readme":"leanTAP: A Theorem Prover for First-Order Classical Logic\n=========================================================\n\nThis project implements leanTAP in clojure.core.logic.nominal closely\nfollowing the alphaleanTAP implementation described in\n_alphaleanTAP: A Declarative Theorem Prover for First-Order Classical Logic_\n([PDF](http://webyrd.net/alphaleantap/alphatap.pdf))\nand chapter of 10 of\n[William E. Byrd](http://webyrd.net/)'s thesis\n([PDF](https://search.proquest.com/docview/304903505)).\n\nThe\n[`alphaleantap`](https://github.com/namin/leantap/tree/master/alphaleantap)\ndirectory contains the original implementation in Scheme.\n\nThe [`cljtap`](https://github.com/namin/leantap/tree/master/cljtap)\ndirectory contains the implementation in Clojure, using\n[core.logic.nominal](https://github.com/namin/minikanren-confo).\n\nStatistics\n-----------------------------------\n\nOn the Pelletier problems, the Clojure implementation is roughly 1/3\nfaster on average than the original implementation tested with Petite\nChez Scheme.\n\n[![Chart with Clojure and Scheme results on Pelletier Problems](https://docs.google.com/spreadsheet/oimg?key=0Aq6lPvMWlyvwdGRtbDRYZGpmcXI1OG9RM2swNWxyc1E\u0026oid=2\u0026zx=oejhl3v763go)](https://docs.google.com/spreadsheet/ccc?key=0Aq6lPvMWlyvwdGRtbDRYZGpmcXI1OG9RM2swNWxyc1E\u0026hl=en#gid=1)\n\nWarning: the results in the\n[spreadsheet](https://docs.google.com/spreadsheet/ccc?key=0Aq6lPvMWlyvwdGRtbDRYZGpmcXI1OG9RM2swNWxyc1E\u0026hl=en#gid=0)\nare based on a single run of each implementation. It would still be\ninteresting for core.logic's sake to understand why the implementation\nin Clojure performs much worse on Problem 20 than the original one in\nPetite Chez Scheme.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnamin%2Fleantap","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnamin%2Fleantap","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnamin%2Fleantap/lists"}