{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/differentiable-inductive-logic-programming","title":"Differentiable Inductive Logic Programming for Structured Examples","arxiv_id":"2103.01719","date":"2021-03-02","proceeding":null,"authors":["Hikaru Shindo","Masaaki Nishino","Akihiro Yamamoto"],"abstract":"The differentiable implementation of logic yields a seamless combination of symbolic reasoning and deep neural networks. Recent research, which has developed a differentiable framework to learn logic programs from examples, can even acquire reasonable solutions from noisy datasets. However, this framework severely limits expressions for solutions, e.g., no function symbols are allowed, and the shapes of clauses are fixed. As a result, the framework cannot deal with structured examples. Therefore we propose a new framework to learn logic programs from noisy and structured examples, including the following contributions. First, we propose an adaptive clause search method by looking through structured space, which is defined by the generality of the clauses, to yield an efficient search space for differentiable solvers. Second, we propose for ground atoms an enumeration algorithm, which determines a necessary and sufficient set of ground atoms to perform differentiable inference functions. Finally, we propose a new method to compose logic programs softly, enabling the system to deal with complex programs consisting of several clauses. Our experiments show that our new framework can learn logic programs from noisy and structured examples, such as sequences or trees. Our framework can be scaled to deal with complex programs that consist of several clauses with function symbols.","url_abs":"https://arxiv.org/abs/2103.01719v1","url_pdf":"https://arxiv.org/pdf/2103.01719v1.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"differentiable-inductive-logic-programming","repo_url":"https://github.com/hkrsnd/dilp-st","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"none","reach":null}],"tasks":[{"task_slug":"inductive-logic-programming","task_name":"Inductive logic programming"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2103.01719","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2103.01719"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-24T18:15:14+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/hkrsnd/dilp-st","reach":null}],"summary":{"ran":5,"ran_draft_wrong":2,"ran_honours":1,"ran_violates":1,"unverified":14},"by_repo_kind":{"official":{"samples":23,"ran":9,"repositories":1}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":0,"samples":[{"code_sha256_prefix":"acd256902db3d7da","entry":"Atom","repo":"hkrsnd/dilp-st","repo_kind":"official","path":"src/clause_generator.py","file_url":"https://github.com/hkrsnd/dilp-st/blob/HEAD/src/clause_generator.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"acd256902db3d7da"}},{"code_sha256_prefix":"79758a0df2fbb970","entry":"Const","repo":"hkrsnd/dilp-st","repo_kind":"official","path":"src/clause_generator.py","file_url":"https://github.com/hkrsnd/dilp-st/blob/HEAD/src/clause_generator.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"79758a0df2fbb970"}},{"code_sha256_prefix":"8e94a3fefda05ceb","entry":"Predicate","repo":"hkrsnd/dilp-st","repo_kind":"official","path":"src/clause_generator.py","file_url":"https://github.com/hkrsnd/dilp-st/blob/HEAD/src/clause_generator.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"8e94a3fefda05ceb"}},{"code_sha256_prefix":"00a5b4ee11ed489c","entry":"Term","repo":"hkrsnd/dilp-st","repo_kind":"official","path":"src/clause_generator.py","file_url":"https://github.com/hkrsnd/dilp-st/blob/HEAD/src/clause_generator.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"00a5b4ee11ed489c"}},{"code_sha256_prefix":"db81a46d2b6706f8","entry":"Var","repo":"hkrsnd/dilp-st","repo_kind":"official","path":"src/clause_generator.py","file_url":"https://github.com/hkrsnd/dilp-st/blob/HEAD/src/clause_generator.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"db81a46d2b6706f8"}},{"code_sha256_prefix":"1a922e4a8a94dba9","entry":"flatten","repo":"hkrsnd/dilp-st","repo_kind":"official","path":"src/clause_generator.py","file_url":"https://github.com/hkrsnd/dilp-st/blob/HEAD/src/clause_generator.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"1a922e4a8a94dba9"}},{"code_sha256_prefix":"88d01be925b6598e","entry":"get_disagree_index","repo":"hkrsnd/dilp-st","repo_kind":"official","path":"src/clause_generator.py","file_url":"https://github.com/hkrsnd/dilp-st/blob/HEAD/src/clause_generator.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"88d01be925b6598e"}},{"code_sha256_prefix":"1307503a0ca46e08","entry":"get_disagreements","repo":"hkrsnd/dilp-st","repo_kind":"official","path":"src/clause_generator.py","file_url":"https://github.com/hkrsnd/dilp-st/blob/HEAD/src/clause_generator.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"1307503a0ca46e08"}},{"code_sha256_prefix":"74560ac0380fb5b5","entry":"is_singleton","repo":"hkrsnd/dilp-st","repo_kind":"official","path":"src/clause_generator.py","file_url":"https://github.com/hkrsnd/dilp-st/blob/HEAD/src/clause_generator.py","link_basis":"first_harvest_node","language":"python","status":"ran_violates","verification_level":1,"contract_check":"VIOLATES","metamorphic_tier":"deterministic","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"74560ac0380fb5b5"}},{"code_sha256_prefix":"3613026564e05b5e","entry":"Clause","repo":"hkrsnd/dilp-st","repo_kind":"official","path":"src/clause_generator.py","file_url":"https://github.com/hkrsnd/dilp-st/blob/HEAD/src/clause_generator.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"3613026564e05b5e"}},{"code_sha256_prefix":"190a226af393125b","entry":"ClauseGenerator","repo":"hkrsnd/dilp-st","repo_kind":"official","path":"src/clause_generator.py","file_url":"https://github.com/hkrsnd/dilp-st/blob/HEAD/src/clause_generator.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"190a226af393125b"}},{"code_sha256_prefix":"d817dcd7835646fc","entry":"FuncTerm","repo":"hkrsnd/dilp-st","repo_kind":"official","path":"src/clause_generator.py","file_url":"https://github.com/hkrsnd/dilp-st/blob/HEAD/src/clause_generator.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"d817dcd7835646fc"}},{"code_sha256_prefix":"ab2f061a519c64f0","entry":"InferModule","repo":"hkrsnd/dilp-st","repo_kind":"official","path":"src/clause_generator.py","file_url":"https://github.com/hkrsnd/dilp-st/blob/HEAD/src/clause_generator.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"ab2f061a519c64f0"}},{"code_sha256_prefix":"fda81194aa3906d6","entry":"RefinementGenerator","repo":"hkrsnd/dilp-st","repo_kind":"official","path":"src/clause_generator.py","file_url":"https://github.com/hkrsnd/dilp-st/blob/HEAD/src/clause_generator.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"fda81194aa3906d6"}},{"code_sha256_prefix":"ece9dfa2bd12d452","entry":"convert","repo":"hkrsnd/dilp-st","repo_kind":"official","path":"src/clause_generator.py","file_url":"https://github.com/hkrsnd/dilp-st/blob/HEAD/src/clause_generator.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"ece9dfa2bd12d452"}},{"code_sha256_prefix":"e28c5695ccf75788","entry":"find_subs_term","repo":"hkrsnd/dilp-st","repo_kind":"official","path":"src/clause_generator.py","file_url":"https://github.com/hkrsnd/dilp-st/blob/HEAD/src/clause_generator.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"e28c5695ccf75788"}},{"code_sha256_prefix":"dc2069a3e3e2350f","entry":"is_entailed","repo":"hkrsnd/dilp-st","repo_kind":"official","path":"src/clause_generator.py","file_url":"https://github.com/hkrsnd/dilp-st/blob/HEAD/src/clause_generator.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"dc2069a3e3e2350f"}},{"code_sha256_prefix":"8434df103dd0829e","entry":"occur_check","repo":"hkrsnd/dilp-st","repo_kind":"official","path":"src/clause_generator.py","file_url":"https://github.com/hkrsnd/dilp-st/blob/HEAD/src/clause_generator.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"8434df103dd0829e"}},{"code_sha256_prefix":"13939b1b9513f421","entry":"subs","repo":"hkrsnd/dilp-st","repo_kind":"official","path":"src/clause_generator.py","file_url":"https://github.com/hkrsnd/dilp-st/blob/HEAD/src/clause_generator.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"13939b1b9513f421"}},{"code_sha256_prefix":"8d19b6fe8156a952","entry":"subs_list","repo":"hkrsnd/dilp-st","repo_kind":"official","path":"src/clause_generator.py","file_url":"https://github.com/hkrsnd/dilp-st/blob/HEAD/src/clause_generator.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"8d19b6fe8156a952"}},{"code_sha256_prefix":"a48cee9bec30434c","entry":"t_p","repo":"hkrsnd/dilp-st","repo_kind":"official","path":"src/clause_generator.py","file_url":"https://github.com/hkrsnd/dilp-st/blob/HEAD/src/clause_generator.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"a48cee9bec30434c"}},{"code_sha256_prefix":"552c5aa6d7f3973d","entry":"t_p_n","repo":"hkrsnd/dilp-st","repo_kind":"official","path":"src/clause_generator.py","file_url":"https://github.com/hkrsnd/dilp-st/blob/HEAD/src/clause_generator.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"552c5aa6d7f3973d"}},{"code_sha256_prefix":"221082e2e2fad2e6","entry":"unify","repo":"hkrsnd/dilp-st","repo_kind":"official","path":"src/clause_generator.py","file_url":"https://github.com/hkrsnd/dilp-st/blob/HEAD/src/clause_generator.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"221082e2e2fad2e6"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}