PQ

powergiant/qmd-prover

Developer tools

Эта страница переведена автоматически. Технические детали смотрите в оригинале. Открыть оригинал

84 stars Качество 66 Тренд 19MIT

qmd-prover - это дополнение для вашего помощника по кодированию ИИ, которое помогает ему писать и проверять реальную математику.

Обзор

qmd-prover - это дополнение для вашего помощника по кодированию ИИ, которое помогает ему писать и проверять реальную математику. Он устанавливает дисциплину для написания доказательств, а затем проверяет, соблюдалась ли дисциплина. Ваша математика написана в текстовых файлах .qmd. Файл .qmd - это обычный текстовый файл (который вы можете открыть в любом редакторе), написанный в формате Quarto Markdown. Внутри него каждое определение, лемма, теорема и доказательство находится в своем собственном. Блок открывается и закрывается линией из трех колонок, и его первая линия дает ему короткий ярлык и говорит, что это такое. Вот полный, крошечный пример — одно определение, одна теорема и ее доказательство: - заборы в одном квартале от остальной части текста. Все, что находится между двумя линиями толстой кишки, принадлежит этому блоку. ($...$ посередине - это то, как пишется математическая нотация; позже она отображается как реальные символы.) - это блок - его короткое название, его идентификатор.

Обзор (машинный перевод)

qmd-prover - это дополнение для вашего помощника по кодированию ИИ - * *Claude Code * * или * *Codex * * - которое помогает ему Напишите и проверьте настоящую математику. Он устанавливает дисциплину для написания доказательств, а затем проверяет, соблюдалась ли дисциплина.

** Дисциплина.** Ваша математика написана простым текстом .qmd файлов. .qmd файл - это просто обычный текстовый файл (вид, который вы можете открыть в любом редакторе), написанный в формате Quarto разметка. Внутри него каждое определение, лемма, теорема и доказательство находится в своем собственном блоке. Блок. Он открывается и закрывается линией из трех толстых кистей, :::, и его первая линия дает ему короткую этикетку и Он говорит, что это за штука. Вот полный, крошечный пример — одно определение, одна теорема, и Его доказательство:

Прочитав это из кусочков:

:::…::: ограждает один блок от остальной части текста. Все между двумя линиями Колонны принадлежат этому блоку. [[Т5]] посередине — это как раз то, как математическая нотация В дальнейшем он становится реальным символом. #def-even — знак блока **** — его короткое название, его @id. Каждое утверждение имеет одно и Он уникален во всем проекте. **.definition /.theorem/.

Эта страница переведена автоматически. Технические детали смотрите в оригинале.

README

Показан фрагмент оригинального README. Открыть оригинал.

qmd-prover

qmd-prover is an add-on for your AI coding assistant — Claude Code or Codex — that helps it write and check real mathematics. It sets up a discipline for writing proofs, and then checks that the discipline was followed.

The discipline. Your mathematics is written in plain-text .qmd files. A .qmd file is just an ordinary text file (the kind you can open in any editor) written in a format called Quarto markdown. Inside it, every definition, lemma, theorem, and proof sits in its own block. A block is opened and closed by a line of three colons, :::, and its first line gives it a short label and says what kind of thing it is. Here is a complete, tiny example — one definition, one theorem, and its proof:

::: {#def-even .definition name="Even number"}
An integer $n$ is **even** when $n = 2k$ for some integer $k$.
:::

::: {#thm-sum-even .theorem name="Sum of two even numbers"}
If $a$ and $b$ are even, then $a + b$ is even.
:::

::: {.proof of="thm-sum-even"}
By @def-even, write $a = 2k$ and $b = 2m$. Then $a + b = 2(k + m)$,
which is even by @def-even.
:::

Reading that from the pieces:

  • ::: … ::: fences one block off from the rest of the text. Everything between the two lines of colons belongs to that block. (The $…$ in the middle is just how mathematical notation is written; it renders as real symbols later.)
  • #def-even is the block’s label — its short name, its @id. Every statement has one, and it is unique across the whole project.
  • .definition / .theorem / .proof says what kind of block it is. name="…" is the plain title a reader sees.
  • The proof is its own separate block, and of="thm-sum-even" links it to the statement it proves. A statement and its proof are never mixed together.
  • @def-even inside the proof is a pointer: it says “this step uses the definition labeled def-even.” Every time a proof leans on another result, it names that result this way, right at the spot where it uses it. Those pointers are what make every assumption visible.

You never type any of this — the assistant writes it. What matters is that the discipline is fixed, so the assistant (and the checks) can always tell which result depends on which.

Among all the results you build, one theorem is the one you ultimately want proved — that theorem is your goal. In the example above, the theorem thm-sum-even would be the goal, and the definition exists only to support it.

How the discipline is checked. Because every proof follows the discipline, the work can be checked in two layers:

  • Mechanical checks (no AI). A plain program reads all the references @id and confirms the wiring is sound: every block has a unique label, every proof links to a real statement, every @id points at a result that actually exists, and no chain of citations loops back on itself. This
Открыть полный README на GitHub

Рекомендуемые инструменты

Попробуйте другой запрос или уберите фильтр.

Установка

npx skillfish add powergiant/qmd-prover
Новичок в MCP? Начните с руководства на mcpskill.org →