[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71RW2PFRVWH24AP25T6AV4E":3,"skill-same:01M71RW2PFRVWH24AP25T6AV4E":62},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":23,"publishedAt":34,"linkOnly":35,"markdownContent":36,"markdownBody":37,"frontMatter":38,"refName":39,"commitSha":40,"skillDirectory":41,"forksCount":42,"repositoryHtmlUrl":43,"repositoryHomepageUrl":6,"ownerHtmlUrl":44,"ownerBlogUrl":45,"ownerDescription":46,"updatedAt":47,"install":48,"resources":61},"01M71RW2PFRVWH24AP25T6AV4E","theorem-search",null,"Use TheoremSearch to find, verify, and cite mathematical theorem statements, named results, proof routes, and literature dependencies.","scaling-group\u002Feve","scaling-group","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F181708022?v=4","01M71RTM8RQW6CX3M1934895JA","Scientific Computing and Intelligence Group","01M71RTM99S28ZTFK9BK17R4GC",66,"Apache-2.0","https:\u002F\u002Fgithub.com\u002Fscaling-group\u002Feve\u002Fblob\u002Fmain\u002Fdocs\u002Fskills\u002Ftheorem-search\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000021","资料检索与研究","SCENARIO","使用场景",[24,25,26,27,28,29,30,31,32,33],"search","theorem search","use","literature","results","verify","find","dependencies","proof","Mathematical","2026-11-10 13:02:02",false,"---\nname: theorem-search\ndescription: \"Use TheoremSearch to find, verify, and cite mathematical theorem statements, named results, proof routes, and literature dependencies.\"\n---\n\n# TheoremSearch Manual\n\nUse this skill when a proof needs:\n\n- a named theorem, lemma, proposition, corollary, definition, or remark;\n- a literature dependency for a proof step;\n- confirmation that a remembered theorem statement has the right hypotheses;\n- leads for an external proof route;\n- paper or theorem provenance for later human review.\n\nTheoremSearch is supporting evidence only. It does not prove that a dependency\nis valid for the current proof. Always compare the returned statement against\nthe exact proof obligation.\n\nOfficial docs:\n\n- Web docs: `https:\u002F\u002Fwww.theoremsearch.com\u002Fdocs`\n- API base: `https:\u002F\u002Fapi.theoremsearch.com`\n- Main search endpoint: `POST https:\u002F\u002Fapi.theoremsearch.com\u002Fsearch`\n- MCP endpoint: `https:\u002F\u002Fapi.theoremsearch.com\u002Fmcp`\n\nDefault to the REST API in this workspace: it is directly callable with `curl`,\nrequires no agent-runtime configuration, and returns the search payload without\nprotocol wrapping. Use MCP when the current agent runtime already has the\nTheoremSearch MCP server configured and tested.\n\n## Mental Model\n\nTheoremSearch indexes theorem-level statements, not just whole papers. A query is\nembedded, matched against theorem slogans, and reranked. The best hit may be:\n\n- the exact result;\n- a nearby theorem with missing or extra hypotheses;\n- a related result in the right paper;\n- a statement whose generated slogan is more relevant than its full body.\n\nTherefore, trust `body` and paper metadata more than `slogan`, `name`, or rank.\n\n## Basic Search\n\nUse natural language, LaTeX, or a mix. Start broad enough to find the theorem,\nthen narrow with filters or a sharper query.\n\n```bash\ncurl -sS https:\u002F\u002Fapi.theoremsearch.com\u002Fsearch \\\n  -H 'Content-Type: application\u002Fjson' \\\n  -d '{\n    \"query\": \"every projective module over a local ring is free\",\n    \"n_results\": 5\n  }'\n```\n\nExpected top-level shape:\n\n```json\n{\n  \"theorems\": [\n    {\n      \"slogan_id\": 7725846,\n      \"theorem_id\": 22812802,\n      \"name\": \"Theorem 5.11\",\n      \"body\": \"If $P$ is a projective module over a local ring $R$, then $P$ is free.\",\n      \"slogan\": \"A projective module over a local ring is free.\",\n      \"theorem_type\": \"theorem\",\n      \"label\": null,\n      \"link\": null,\n      \"paper\": {\n        \"paper_id\": \"1011.0038v1\",\n        \"source\": \"arXiv\",\n        \"title\": \"Faithfully flat descent for projectivity of modules\",\n        \"authors\": [\"Alexander Perry\"],\n        \"link\": \"http:\u002F\u002Farxiv.org\u002Fabs\u002F1011.0038v1\",\n        \"primary_category\": \"math.AC\",\n        \"categories\": [\"math.AC\"],\n        \"citations\": 0,\n        \"year\": 2010,\n        \"journal_published\": false\n      },\n      \"similarity\": 0.9086642212279158,\n      \"score\": 0.9086642212279158,\n      \"has_metadata\": true\n    }\n  ]\n}\n```\n\n## Search Request Fields\n\nRequired:\n\n- `query`: natural-language or LaTeX description of the result.\n\nCommon optional fields:\n\n- `n_results`: number of theorem results to return. Default is `10`.\n- `sources`: source filter. Officially documented examples include `arXiv`,\n  `Stacks Project`, `ProofWiki`, `CRing Project`, `HoTT Book`,\n  `Open Logic Project`, and `An Infinitely Large Napkin`. The live API may\n  expose additional sources over time.\n- `authors`: partial author-name filters.\n- `types`: theorem-like object filters, for example `theorem`, `lemma`,\n  `proposition`, `corollary`, `definition`, or `remark`. Results may preserve\n  source casing inconsistently, so if a type filter misses, retry without it.\n- `tags`: subject tags, especially arXiv categories such as `math.AG`,\n  `math.AC`, `math.NT`, `math.LO`.\n- `paper_filter`: substring filter over paper titles.\n- `year_range`: inclusive `[min_year, max_year]`.\n- `citation_range`: inclusive `[min_citations, max_citations]`.\n- `include_unknown_citations`: when using `citation_range`, keep papers with no\n  citation data. Default is `true`.\n- `citation_weight`: blend citation count into ranking. Use `0.0` for pure\n  semantic search. Increase only when standard\u002Fhigh-citation sources matter.\n- `prompt`: optional instruction prepended before embedding. Use sparingly.\n- `db_top_k`: candidate-pool size before reranking. Defaults to `2 * n_results`.\n  Increase when recall matters more than latency.\n\nFiltered example:\n\n```bash\ncurl -sS https:\u002F\u002Fapi.theoremsearch.com\u002Fsearch \\\n  -H 'Content-Type: application\u002Fjson' \\\n  -d '{\n    \"query\": \"smooth Deligne Mumford stack has a dense open subscheme\",\n    \"n_results\": 8,\n    \"sources\": [\"Stacks Project\", \"arXiv\"],\n    \"tags\": [\"math.AG\"],\n    \"year_range\": [2000, 2026],\n    \"include_unknown_citations\": true,\n    \"db_top_k\": 40\n  }'\n```\n\n## Query Strategy\n\n1. Write the proof obligation as a theorem statement:\n   \"If [hypotheses], then [conclusion].\"\n2. Run an unfiltered search with `n_results` between 5 and 10.\n3. Read `body` for every plausible hit. Ignore hits whose assumptions do not\n   match, even if the slogan looks perfect.\n4. If results are too broad, add one constraint at a time:\n   `sources`, `tags`, `authors`, `paper_filter`, or `types`.\n5. If results are too narrow or empty, remove filters, simplify notation, and\n   search for equivalent phrases.\n6. If a result is close but not exact, search again using distinctive words from\n   the returned `body`, paper title, or named theorem.\n7. Keep at least one exact or near-exact provenance record for every external\n   dependency used in the final proof.\n\nGood query patterns:\n\n- Include the mathematical objects and the conclusion:\n  `\"finite etale morphism is open and closed\"`\n- Include key hypotheses:\n  `\"normal noetherian domain height one localization discrete valuation ring\"`\n- Use standard aliases:\n  `\"Nakayama lemma finitely generated module local ring\"`\n- Search by paper title plus theorem content when you know the source:\n  `\"EGA flat morphism openness theorem\"`\n\nPoor query patterns:\n\n- `\"prove this\"` or `\"main theorem\"`\n- overly local notation without context, such as `\"X is dense in U\"`\n- long proof paragraphs with irrelevant narrative;\n- filter-heavy first attempts that hide useful hits.\n\n## Reading Results\n\nFor each plausible theorem, inspect:\n\n- `body`: exact theorem statement. This is the primary evidence.\n- `name`: local theorem label, for example `Theorem 5.11`.\n- `theorem_type`: theorem, lemma, proposition, corollary, definition, remark.\n- `slogan`: generated natural-language summary. Useful for search, not proof.\n- `link`: statement-level link if available.\n- `paper.source`: corpus\u002Fsource, for example arXiv or Stacks Project.\n- `paper.title`: paper or project title.\n- `paper.authors`: authors, when available.\n- `paper.link`: paper-level URL, often arXiv.\n- `paper.primary_category` and `paper.categories`: subject categories.\n- `paper.year`, `paper.journal_ref`, `paper.journal_published`.\n- `paper.citations`: citation count if known.\n- `similarity`: semantic similarity before citation weighting.\n- `score`: final ranking score after optional weighting.\n- `has_metadata`: whether richer metadata was available.\n\nDo not treat score thresholds as correctness thresholds. A low-scoring exact\nstatement can be useful; a high-scoring result can still have wrong hypotheses.\n\n## Validation Checklist\n\nBefore using a result in a proof, check:\n\n- objects match: rings, schemes, stacks, categories, fields, modules, spaces;\n- hypotheses match: finiteness, noetherian, separated, proper, smooth, local,\n  algebraically closed, characteristic, completeness, boundedness;\n- conclusion matches: existence, uniqueness, equivalence, isomorphism,\n  vanishing, density, openness, freeness, exactness;\n- variance and direction match: source\u002Ftarget, left\u002Fright, covariant\u002F\n  contravariant, injection\u002Fsurjection;\n- base category and notation match the current proof;\n- no hidden condition is buried in surrounding paper notation;\n- the result is appropriate to cite as a theorem rather than as a lead.\n\nIf a dependency is only close, write it as unresolved or as a search lead. Do\nnot silently strengthen or weaken theorem statements.\n\n## Reporting Provenance\n\nWhen a theorem is used, record enough information for audit:\n\n```text\nDependency: projective modules over local rings are free\nTheoremSearch hit: Theorem 5.11\nStatement: If $P$ is a projective module over a local ring $R$, then $P$ is free.\nSource: arXiv, \"Faithfully flat descent for projectivity of modules\"\nAuthors: Alexander Perry\nYear: 2010\nLink: http:\u002F\u002Farxiv.org\u002Fabs\u002F1011.0038v1\nScore: 0.9086642212279158\nAssessment: exact match for the required algebra lemma.\n```\n\nIf the proof only needs a standard result and the search hit is a pointer to a\nsecondary paper, prefer citing the classical theorem name in the proof while\nkeeping the search provenance in notes.\n\n## Paper Search\n\nUse paper search when you know a title fragment or arXiv ID and need a canonical\npaper identifier.\n\n```bash\ncurl -sS 'https:\u002F\u002Fapi.theoremsearch.com\u002Fpaper-search?q=derived%20categories&limit=5'\n```\n\nExpected shape:\n\n```json\n{\n  \"papers\": [\n    {\n      \"paper_id\": \"f23156d8-433b-4f66-8b7b-8b58faabea6d\",\n      \"title\": \"A Course on Derived Categories\",\n      \"external_id\": \"1206.6632\",\n      \"source\": \"arXiv\"\n    }\n  ]\n}\n```\n\nThis endpoint is autocomplete-like. It is useful for locating a paper but does\nnot replace theorem-level search.\n\n## Graph and Detail Endpoints\n\nThe public website documents dependency graph exploration. The live OpenAPI\nschema exposes these graph\u002Fdetail paths:\n\n- `GET \u002Fgraph\u002Fpaper?external_id=\u003Cid>&sources=\u003Csource>`\n- `GET \u002Fgraph\u002Fpaper\u002F{paper_id}`\n- `GET \u002Fgraph\u002Fstatement\u002F{statement_id}`\n- `GET \u002Fgraph\u002Fembedding?query=\u003Cquery>`\n- `GET \u002Fgraph\u002Fpagerank?query=\u003Cquery>`\n- `GET \u002Fstatement\u002F{statement_id}`\n- `GET \u002Fpaper\u002F{paper_id}`\n- `POST \u002Fstatements` with `{\"ids\": [...]}`\n- `POST \u002Fpapers` with `{\"ids\": [...]}`\n\nUse these only as auxiliary tools after search has identified a likely paper or\nstatement. Availability can vary by corpus and deployment; a `404` or empty\ngraph does not invalidate a theorem search hit.\n\nPaper graph example:\n\n```bash\ncurl -sS 'https:\u002F\u002Fapi.theoremsearch.com\u002Fgraph\u002Fpaper?external_id=1011.0038&sources=arXiv&mode=minimal'\n```\n\nStatement graph example:\n\n```bash\ncurl -sS 'https:\u002F\u002Fapi.theoremsearch.com\u002Fgraph\u002Fstatement\u002F\u003Cstatement_id>?direction=src&formality=informal&mode=full'\n```\n\nUse graph output to discover:\n\n- what a theorem depends on;\n- what later statements depend on it;\n- nearby restatements or equivalent results;\n- whether a paper's internal lemmas form a usable proof route.\n\nDo not cite graph edges as mathematical facts unless the corresponding\nstatements are inspected.\n\n## MCP Reference\n\nTheoremSearch also exposes an MCP server at:\n\n```text\nhttps:\u002F\u002Fapi.theoremsearch.com\u002Fmcp\n```\n\nThe MCP server has a single `theorem_search` tool with the same parameters as\n`POST \u002Fsearch`. MCP is useful when the agent runtime is already configured to\ncall MCP tools; REST is simpler for shell-based proof work.\n\nExample MCP JSON-RPC request, for reference only:\n\n```bash\ncurl -sS -X POST https:\u002F\u002Fapi.theoremsearch.com\u002Fmcp \\\n  -H 'Content-Type: application\u002Fjson' \\\n  -d '{\n    \"jsonrpc\": \"2.0\",\n    \"id\": \"1\",\n    \"method\": \"tools\u002Fcall\",\n    \"params\": {\n      \"name\": \"theorem_search\",\n      \"arguments\": {\n        \"query\": \"every projective module over a local ring is free\",\n        \"n_results\": 5\n      }\n    }\n  }'\n```\n\n## Failure Policy\n\nIf search fails:\n\n- Network\u002Fserver\u002FAPI error: report `TheoremSearch unavailable` and include the\n  endpoint and error text.\n- Empty results: retry once with fewer filters and simpler language.\n- Low relevance: report `unresolved`, summarize the closest hit, and explain\n  the mismatch.\n- Conflicting hits: list the competing statements and the hypothesis conflict.\n- Missing links or metadata: use available paper title\u002Fsource\u002Fbody, but say what\n  is missing.\n- Graph endpoint failure: continue with `\u002Fsearch`; graph is auxiliary.\n\nNever fabricate:\n\n- theorem names;\n- statement bodies;\n- authors;\n- links;\n- scores;\n- years;\n- dependency edges;\n- paper metadata.\n\n## Final Answer Pattern\n\nWhen reporting a search to a parent solver, use one of these concise outcomes:\n\n```text\nTheoremSearch: RESOLVED\nNeed: \u003Cproof obligation>\nResult: \u003Cname\u002Ftype>\nStatement: \u003Cexact body>\nSource: \u003Csource>, \u003Cpaper title>, \u003Cauthors>, \u003Cyear>, \u003Clink>\nScore: \u003Cscore>\nUse: \u003Cwhy the hypotheses and conclusion match>\n```\n\n```text\nTheoremSearch: PARTIAL\nNeed: \u003Cproof obligation>\nClosest result: \u003Cname\u002Ftype and exact body>\nSource: \u003Cmetadata>\nMismatch: \u003Cspecific missing\u002Fextra hypothesis or wrong conclusion>\nNext query: \u003Csharper query or filter>\n```\n\n```text\nTheoremSearch: UNRESOLVED\nNeed: \u003Cproof obligation>\nSearches tried: \u003Cqueries\u002Ffilters>\nReason: \u003Cempty, low relevance, inconsistent, unavailable>\n```\n","# TheoremSearch Manual\n\nUse this skill when a proof needs:\n\n- a named theorem, lemma, proposition, corollary, definition, or remark;\n- a literature dependency for a proof step;\n- confirmation that a remembered theorem statement has the right hypotheses;\n- leads for an external proof route;\n- paper or theorem provenance for later human review.\n\nTheoremSearch is supporting evidence only. It does not prove that a dependency\nis valid for the current proof. Always compare the returned statement against\nthe exact proof obligation.\n\nOfficial docs:\n\n- Web docs: `https:\u002F\u002Fwww.theoremsearch.com\u002Fdocs`\n- API base: `https:\u002F\u002Fapi.theoremsearch.com`\n- Main search endpoint: `POST https:\u002F\u002Fapi.theoremsearch.com\u002Fsearch`\n- MCP endpoint: `https:\u002F\u002Fapi.theoremsearch.com\u002Fmcp`\n\nDefault to the REST API in this workspace: it is directly callable with `curl`,\nrequires no agent-runtime configuration, and returns the search payload without\nprotocol wrapping. Use MCP when the current agent runtime already has the\nTheoremSearch MCP server configured and tested.\n\n## Mental Model\n\nTheoremSearch indexes theorem-level statements, not just whole papers. A query is\nembedded, matched against theorem slogans, and reranked. The best hit may be:\n\n- the exact result;\n- a nearby theorem with missing or extra hypotheses;\n- a related result in the right paper;\n- a statement whose generated slogan is more relevant than its full body.\n\nTherefore, trust `body` and paper metadata more than `slogan`, `name`, or rank.\n\n## Basic Search\n\nUse natural language, LaTeX, or a mix. Start broad enough to find the theorem,\nthen narrow with filters or a sharper query.\n\n```bash\ncurl -sS https:\u002F\u002Fapi.theoremsearch.com\u002Fsearch \\\n  -H 'Content-Type: application\u002Fjson' \\\n  -d '{\n    \"query\": \"every projective module over a local ring is free\",\n    \"n_results\": 5\n  }'\n```\n\nExpected top-level shape:\n\n```json\n{\n  \"theorems\": [\n    {\n      \"slogan_id\": 7725846,\n      \"theorem_id\": 22812802,\n      \"name\": \"Theorem 5.11\",\n      \"body\": \"If $P$ is a projective module over a local ring $R$, then $P$ is free.\",\n      \"slogan\": \"A projective module over a local ring is free.\",\n      \"theorem_type\": \"theorem\",\n      \"label\": null,\n      \"link\": null,\n      \"paper\": {\n        \"paper_id\": \"1011.0038v1\",\n        \"source\": \"arXiv\",\n        \"title\": \"Faithfully flat descent for projectivity of modules\",\n        \"authors\": [\"Alexander Perry\"],\n        \"link\": \"http:\u002F\u002Farxiv.org\u002Fabs\u002F1011.0038v1\",\n        \"primary_category\": \"math.AC\",\n        \"categories\": [\"math.AC\"],\n        \"citations\": 0,\n        \"year\": 2010,\n        \"journal_published\": false\n      },\n      \"similarity\": 0.9086642212279158,\n      \"score\": 0.9086642212279158,\n      \"has_metadata\": true\n    }\n  ]\n}\n```\n\n## Search Request Fields\n\nRequired:\n\n- `query`: natural-language or LaTeX description of the result.\n\nCommon optional fields:\n\n- `n_results`: number of theorem results to return. Default is `10`.\n- `sources`: source filter. Officially documented examples include `arXiv`,\n  `Stacks Project`, `ProofWiki`, `CRing Project`, `HoTT Book`,\n  `Open Logic Project`, and `An Infinitely Large Napkin`. The live API may\n  expose additional sources over time.\n- `authors`: partial author-name filters.\n- `types`: theorem-like object filters, for example `theorem`, `lemma`,\n  `proposition`, `corollary`, `definition`, or `remark`. Results may preserve\n  source casing inconsistently, so if a type filter misses, retry without it.\n- `tags`: subject tags, especially arXiv categories such as `math.AG`,\n  `math.AC`, `math.NT`, `math.LO`.\n- `paper_filter`: substring filter over paper titles.\n- `year_range`: inclusive `[min_year, max_year]`.\n- `citation_range`: inclusive `[min_citations, max_citations]`.\n- `include_unknown_citations`: when using `citation_range`, keep papers with no\n  citation data. Default is `true`.\n- `citation_weight`: blend citation count into ranking. Use `0.0` for pure\n  semantic search. Increase only when standard\u002Fhigh-citation sources matter.\n- `prompt`: optional instruction prepended before embedding. Use sparingly.\n- `db_top_k`: candidate-pool size before reranking. Defaults to `2 * n_results`.\n  Increase when recall matters more than latency.\n\nFiltered example:\n\n```bash\ncurl -sS https:\u002F\u002Fapi.theoremsearch.com\u002Fsearch \\\n  -H 'Content-Type: application\u002Fjson' \\\n  -d '{\n    \"query\": \"smooth Deligne Mumford stack has a dense open subscheme\",\n    \"n_results\": 8,\n    \"sources\": [\"Stacks Project\", \"arXiv\"],\n    \"tags\": [\"math.AG\"],\n    \"year_range\": [2000, 2026],\n    \"include_unknown_citations\": true,\n    \"db_top_k\": 40\n  }'\n```\n\n## Query Strategy\n\n1. Write the proof obligation as a theorem statement:\n   \"If [hypotheses], then [conclusion].\"\n2. Run an unfiltered search with `n_results` between 5 and 10.\n3. Read `body` for every plausible hit. Ignore hits whose assumptions do not\n   match, even if the slogan looks perfect.\n4. If results are too broad, add one constraint at a time:\n   `sources`, `tags`, `authors`, `paper_filter`, or `types`.\n5. If results are too narrow or empty, remove filters, simplify notation, and\n   search for equivalent phrases.\n6. If a result is close but not exact, search again using distinctive words from\n   the returned `body`, paper title, or named theorem.\n7. Keep at least one exact or near-exact provenance record for every external\n   dependency used in the final proof.\n\nGood query patterns:\n\n- Include the mathematical objects and the conclusion:\n  `\"finite etale morphism is open and closed\"`\n- Include key hypotheses:\n  `\"normal noetherian domain height one localization discrete valuation ring\"`\n- Use standard aliases:\n  `\"Nakayama lemma finitely generated module local ring\"`\n- Search by paper title plus theorem content when you know the source:\n  `\"EGA flat morphism openness theorem\"`\n\nPoor query patterns:\n\n- `\"prove this\"` or `\"main theorem\"`\n- overly local notation without context, such as `\"X is dense in U\"`\n- long proof paragraphs with irrelevant narrative;\n- filter-heavy first attempts that hide useful hits.\n\n## Reading Results\n\nFor each plausible theorem, inspect:\n\n- `body`: exact theorem statement. This is the primary evidence.\n- `name`: local theorem label, for example `Theorem 5.11`.\n- `theorem_type`: theorem, lemma, proposition, corollary, definition, remark.\n- `slogan`: generated natural-language summary. Useful for search, not proof.\n- `link`: statement-level link if available.\n- `paper.source`: corpus\u002Fsource, for example arXiv or Stacks Project.\n- `paper.title`: paper or project title.\n- `paper.authors`: authors, when available.\n- `paper.link`: paper-level URL, often arXiv.\n- `paper.primary_category` and `paper.categories`: subject categories.\n- `paper.year`, `paper.journal_ref`, `paper.journal_published`.\n- `paper.citations`: citation count if known.\n- `similarity`: semantic similarity before citation weighting.\n- `score`: final ranking score after optional weighting.\n- `has_metadata`: whether richer metadata was available.\n\nDo not treat score thresholds as correctness thresholds. A low-scoring exact\nstatement can be useful; a high-scoring result can still have wrong hypotheses.\n\n## Validation Checklist\n\nBefore using a result in a proof, check:\n\n- objects match: rings, schemes, stacks, categories, fields, modules, spaces;\n- hypotheses match: finiteness, noetherian, separated, proper, smooth, local,\n  algebraically closed, characteristic, completeness, boundedness;\n- conclusion matches: existence, uniqueness, equivalence, isomorphism,\n  vanishing, density, openness, freeness, exactness;\n- variance and direction match: source\u002Ftarget, left\u002Fright, covariant\u002F\n  contravariant, injection\u002Fsurjection;\n- base category and notation match the current proof;\n- no hidden condition is buried in surrounding paper notation;\n- the result is appropriate to cite as a theorem rather than as a lead.\n\nIf a dependency is only close, write it as unresolved or as a search lead. Do\nnot silently strengthen or weaken theorem statements.\n\n## Reporting Provenance\n\nWhen a theorem is used, record enough information for audit:\n\n```text\nDependency: projective modules over local rings are free\nTheoremSearch hit: Theorem 5.11\nStatement: If $P$ is a projective module over a local ring $R$, then $P$ is free.\nSource: arXiv, \"Faithfully flat descent for projectivity of modules\"\nAuthors: Alexander Perry\nYear: 2010\nLink: http:\u002F\u002Farxiv.org\u002Fabs\u002F1011.0038v1\nScore: 0.9086642212279158\nAssessment: exact match for the required algebra lemma.\n```\n\nIf the proof only needs a standard result and the search hit is a pointer to a\nsecondary paper, prefer citing the classical theorem name in the proof while\nkeeping the search provenance in notes.\n\n## Paper Search\n\nUse paper search when you know a title fragment or arXiv ID and need a canonical\npaper identifier.\n\n```bash\ncurl -sS 'https:\u002F\u002Fapi.theoremsearch.com\u002Fpaper-search?q=derived%20categories&limit=5'\n```\n\nExpected shape:\n\n```json\n{\n  \"papers\": [\n    {\n      \"paper_id\": \"f23156d8-433b-4f66-8b7b-8b58faabea6d\",\n      \"title\": \"A Course on Derived Categories\",\n      \"external_id\": \"1206.6632\",\n      \"source\": \"arXiv\"\n    }\n  ]\n}\n```\n\nThis endpoint is autocomplete-like. It is useful for locating a paper but does\nnot replace theorem-level search.\n\n## Graph and Detail Endpoints\n\nThe public website documents dependency graph exploration. The live OpenAPI\nschema exposes these graph\u002Fdetail paths:\n\n- `GET \u002Fgraph\u002Fpaper?external_id=\u003Cid>&sources=\u003Csource>`\n- `GET \u002Fgraph\u002Fpaper\u002F{paper_id}`\n- `GET \u002Fgraph\u002Fstatement\u002F{statement_id}`\n- `GET \u002Fgraph\u002Fembedding?query=\u003Cquery>`\n- `GET \u002Fgraph\u002Fpagerank?query=\u003Cquery>`\n- `GET \u002Fstatement\u002F{statement_id}`\n- `GET \u002Fpaper\u002F{paper_id}`\n- `POST \u002Fstatements` with `{\"ids\": [...]}`\n- `POST \u002Fpapers` with `{\"ids\": [...]}`\n\nUse these only as auxiliary tools after search has identified a likely paper or\nstatement. Availability can vary by corpus and deployment; a `404` or empty\ngraph does not invalidate a theorem search hit.\n\nPaper graph example:\n\n```bash\ncurl -sS 'https:\u002F\u002Fapi.theoremsearch.com\u002Fgraph\u002Fpaper?external_id=1011.0038&sources=arXiv&mode=minimal'\n```\n\nStatement graph example:\n\n```bash\ncurl -sS 'https:\u002F\u002Fapi.theoremsearch.com\u002Fgraph\u002Fstatement\u002F\u003Cstatement_id>?direction=src&formality=informal&mode=full'\n```\n\nUse graph output to discover:\n\n- what a theorem depends on;\n- what later statements depend on it;\n- nearby restatements or equivalent results;\n- whether a paper's internal lemmas form a usable proof route.\n\nDo not cite graph edges as mathematical facts unless the corresponding\nstatements are inspected.\n\n## MCP Reference\n\nTheoremSearch also exposes an MCP server at:\n\n```text\nhttps:\u002F\u002Fapi.theoremsearch.com\u002Fmcp\n```\n\nThe MCP server has a single `theorem_search` tool with the same parameters as\n`POST \u002Fsearch`. MCP is useful when the agent runtime is already configured to\ncall MCP tools; REST is simpler for shell-based proof work.\n\nExample MCP JSON-RPC request, for reference only:\n\n```bash\ncurl -sS -X POST https:\u002F\u002Fapi.theoremsearch.com\u002Fmcp \\\n  -H 'Content-Type: application\u002Fjson' \\\n  -d '{\n    \"jsonrpc\": \"2.0\",\n    \"id\": \"1\",\n    \"method\": \"tools\u002Fcall\",\n    \"params\": {\n      \"name\": \"theorem_search\",\n      \"arguments\": {\n        \"query\": \"every projective module over a local ring is free\",\n        \"n_results\": 5\n      }\n    }\n  }'\n```\n\n## Failure Policy\n\nIf search fails:\n\n- Network\u002Fserver\u002FAPI error: report `TheoremSearch unavailable` and include the\n  endpoint and error text.\n- Empty results: retry once with fewer filters and simpler language.\n- Low relevance: report `unresolved`, summarize the closest hit, and explain\n  the mismatch.\n- Conflicting hits: list the competing statements and the hypothesis conflict.\n- Missing links or metadata: use available paper title\u002Fsource\u002Fbody, but say what\n  is missing.\n- Graph endpoint failure: continue with `\u002Fsearch`; graph is auxiliary.\n\nNever fabricate:\n\n- theorem names;\n- statement bodies;\n- authors;\n- links;\n- scores;\n- years;\n- dependency edges;\n- paper metadata.\n\n## Final Answer Pattern\n\nWhen reporting a search to a parent solver, use one of these concise outcomes:\n\n```text\nTheoremSearch: RESOLVED\nNeed: \u003Cproof obligation>\nResult: \u003Cname\u002Ftype>\nStatement: \u003Cexact body>\nSource: \u003Csource>, \u003Cpaper title>, \u003Cauthors>, \u003Cyear>, \u003Clink>\nScore: \u003Cscore>\nUse: \u003Cwhy the hypotheses and conclusion match>\n```\n\n```text\nTheoremSearch: PARTIAL\nNeed: \u003Cproof obligation>\nClosest result: \u003Cname\u002Ftype and exact body>\nSource: \u003Cmetadata>\nMismatch: \u003Cspecific missing\u002Fextra hypothesis or wrong conclusion>\nNext query: \u003Csharper query or filter>\n```\n\n```text\nTheoremSearch: UNRESOLVED\nNeed: \u003Cproof obligation>\nSearches tried: \u003Cqueries\u002Ffilters>\nReason: \u003Cempty, low relevance, inconsistent, unavailable>\n```\n",{"name":5,"description":7},"main","979065fd2cf1b3be9caf70596478fe27df7815ad","docs\u002Fskills\u002Ftheorem-search",9,"https:\u002F\u002Fgithub.com\u002Fscaling-group\u002Feve","https:\u002F\u002Fgithub.com\u002Fscaling-group","https:\u002F\u002Fscaling-group.github.io\u002F","Department of Mathematics, National University of Singapore","2026-08-20 15:35:50",{"source":8,"skillName":5,"commands":49,"prompt":59,"zipAvailable":60},[50,53,56],{"tool":51,"command":52},"npx","npx skills add scaling-group\u002Feve --skill theorem-search",{"tool":54,"command":55},"bunx","bunx skills add scaling-group\u002Feve --skill theorem-search",{"tool":57,"command":58},"pnpm","pnpm dlx skills add scaling-group\u002Feve --skill theorem-search","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fscaling-group\u002Feve\u002Fblob\u002Fmain\u002Fdocs\u002Fskills\u002Ftheorem-search\u002FSKILL.md",true,[],[63,86,101,120,136,150],{"skillNo":64,"name":65,"nameZh":6,"description":66,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":67,"categories":68,"keywords":77,"publishedAt":34},"01M71RW4VG8A6FFRGT7H41J16J","writing-skills","Use when creating new skills, editing existing skills, or verifying skills work before deployment","https:\u002F\u002Fgithub.com\u002Fscaling-group\u002Feve\u002Fblob\u002Fmain\u002Fdocs\u002Fskills\u002Fwriting-skills\u002FSKILL.md",[69,72],{"categoryNo":70,"categoryName":71,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000018","写作与文案",{"categoryNo":73,"categoryName":74,"taxonomyType":75,"taxonomyTypeDesc":76},"01JBSEEDCAT000000000000036","内容创作者","PROFESSION","适用职业",[78,79,80,81,82,26,83,84,85],"writing","writing skills","editing","deployment","new","Existing","when","work",{"skillNo":87,"name":88,"nameZh":6,"description":89,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":90,"categories":91,"keywords":92,"publishedAt":34},"01M71RW0N0GQR9GW1B3HKBB800","supervise-run","Use when monitoring a running Eve experiment and recovering from problems while it runs","https:\u002F\u002Fgithub.com\u002Fscaling-group\u002Feve\u002Fblob\u002Fmain\u002Fdocs\u002Fskills\u002Fsupervise-run\u002FSKILL.md",[],[93,94,95,96,84,97,26,98,99,100],"supervise run","supervise","run","running","eve","monitoring","experiment","it",{"skillNo":102,"name":103,"nameZh":6,"description":104,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":105,"categories":106,"keywords":107,"publishedAt":34},"01M71RVYA101VVX3CKR2HZHBT3","run-math-proof-quickstart","Use when running a Math Proof quickstart from a user-provided problem: create a local task copy, launch a real EvE attempt, supervise it, and report proof\u002Fevaluation results.","https:\u002F\u002Fgithub.com\u002Fscaling-group\u002Feve\u002Fblob\u002Fmain\u002Fdocs\u002Fskills\u002Frun-math-proof-quickstart\u002FSKILL.md",[],[108,109,110,111,95,32,112,113,114,115,94,28,116,117,84,118,26,96,119,97],"math","math proof","quickstart","run math proof quickstart","copy","launch","Evaluation","report","create","task","local","problem",{"skillNo":121,"name":122,"nameZh":6,"description":123,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":124,"categories":125,"keywords":126,"publishedAt":34},"01M71RVWYKH6TF0WB6X57GMWJ2","run-circle-packing-smoke","Use when a fast end-to-end smoke run is needed for the Eve loop development, will run on circle packing task.","https:\u002F\u002Fgithub.com\u002Fscaling-group\u002Feve\u002Fblob\u002Fmain\u002Fdocs\u002Fskills\u002Frun-circle-packing-smoke\u002FSKILL.md",[],[127,128,95,129,130,131,132,133,134,97,26,84,117,135],"smoke","run circle packing smoke","packing","circle","loop","development","for","end","fast",{"skillNo":137,"name":138,"nameZh":6,"description":139,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":140,"categories":141,"keywords":145,"publishedAt":34},"01M71RVVCE1NEF4ZM405WX815Z","resume-run","Use when continuing an interrupted or paused Eve run from where it stopped (same run, same id), optionally after editing the experiment","https:\u002F\u002Fgithub.com\u002Fscaling-group\u002Feve\u002Fblob\u002Fmain\u002Fdocs\u002Fskills\u002Fresume-run\u002FSKILL.md",[142],{"categoryNo":143,"categoryName":144,"taxonomyType":75,"taxonomyTypeDesc":76},"01JBSEEDCAT000000000000038","人力资源",[95,146,147,97,26,84,148,149,99,100,80],"resume","resume run","id","same",{"skillNo":151,"name":152,"nameZh":6,"description":153,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":154,"categories":155,"keywords":156,"publishedAt":34},"01M71RVSM279Y6VCQV0ZWWTDR0","matlas-search","Use Matlas semantic search over published mathematical literature to find canonical statements, hypotheses, and citation metadata for standard or named results.","https:\u002F\u002Fgithub.com\u002Fscaling-group\u002Feve\u002Fblob\u002Fmain\u002Fdocs\u002Fskills\u002Fmatlas-search\u002FSKILL.md",[],[157,24,26,158,27,133,159,160,161,33,162,163,30,28],"matlas search","standard","Citation","metadata","semantic","canonical","semantic search"]