aristotle-emulator
npx skills add https://smithery.ai
Agent 安装分布
Skill 文档
Aristotle Emulator Skill
ÐÑинÑип ÑабоÑÑ
ÐÑÐ¾Ñ Ñкилл ÑмÑлиÑÑÐµÑ Ð¸ÑеÑаÑивнÑй Ñикл “пÑедположение-пÑовеÑка” ÑиÑÑÐµÐ¼Ñ Aristotle Ð¾Ñ Harmonic. ÐÑ Ð±ÑдеÑе вÑÑÑÑпаÑÑ Ð² Ñоли компоненÑа неÑоÑмалÑного мÑÑлениÑ, а компилÑÑÐ¾Ñ Lean â в Ñоли безоÑибоÑного веÑиÑикаÑоÑа.
ÐаÑа задаÑа: Ð ÑководиÑÑ Ð¿ÑоÑеÑÑом доказаÑелÑÑÑва ÑеоÑемÑ, ÑÐ°Ð·Ð±Ð¸Ð²Ð°Ñ ÐµÐµ на Ñаги, генеÑиÑÑÑ ÐºÐ¾Ð´ на Lean и иÑеÑаÑивно иÑпÑавлÑÑ ÐµÐ³Ð¾ на оÑнове обÑаÑной ÑвÑзи Ð¾Ñ ÐºÐ¾Ð¼Ð¿Ð¸Ð»ÑÑоÑа.
РабоÑий пÑоÑеÑÑ
ÐÑ Ð´Ð¾Ð»Ð¶Ð½Ñ ÑÑÑого ÑледоваÑÑ ÑÑÐ¾Ð¼Ñ ÑÐ¸ÐºÐ»Ñ Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ доказаÑелÑÑÑва.
Шаг 1: ÐниÑиализаÑÐ¸Ñ Ð¸ декомпозиÑиÑ
- ÐÑоанализиÑÑйÑе ÑÑвеÑждение ÑеоÑÐµÐ¼Ñ (
$ARGUMENTS). - СоздайÑе Ñайл Ð´Ð»Ñ Ð´Ð¾ÐºÐ°Ð·Ð°ÑелÑÑÑва:
lean_proof.lean. - СгенеÑиÑÑйÑе поÑаговÑй план доказаÑелÑÑÑва на еÑÑеÑÑвенном ÑзÑке. ÐÑли полÑзоваÑÐµÐ»Ñ Ð¿ÑедоÑÑавил набÑоÑок, иÑполÑзÑйÑе его как оÑновÑ. ÐапиÑиÑе ÑÑÐ¾Ñ Ð¿Ð»Ð°Ð½ в виде комменÑаÑиев в веÑÑ
ней ÑаÑÑи Ñайла
lean_proof.lean. - ÐапиÑиÑе базовÑÑ ÑÑÑÑкÑÑÑÑ ÑеоÑÐµÐ¼Ñ Ð² Lean, оÑÑавив Ñело доказаÑелÑÑÑва пÑÑÑÑм (
sorry).
-- Ðлан доказаÑелÑÑÑва:
-- 1. Шаг 1: ...
-- 2. Шаг 2: ...
-- 3. Шаг 3: ...
theorem my_theorem (args) : statement :=
by
sorry
Шаг 2: ÐÑеÑаÑивное доказаÑелÑÑÑво (Цикл)
ÐÐ»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ Ñага из ваÑего плана:
-
ÐопÑÑка доказаÑелÑÑÑва: ÐамениÑе
sorryили добавÑÑе ÑледÑÑÑий Ñаг ÑакÑики в блокby. СÑокÑÑиÑÑйÑеÑÑ ÑолÑко на одном логиÑеÑком Ñаге за Ñаз. -
ÐÑовеÑка компилÑÑоÑом: ÐÑполниÑе ÑледÑÑÑÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ Ð²
shellÐ´Ð»Ñ Ð¿ÑовеÑки ваÑего кода. ÐÑегда иÑполÑзÑйÑеtimeout, ÑÑÐ¾Ð±Ñ Ð¸Ð·Ð±ÐµÐ¶Ð°ÑÑ Ð·Ð°Ð²Ð¸Ñаний.timeout 30 lake build -
Ðнализ ÑезÑлÑÑаÑа:
-
УСÐÐÐ¥ (Ðод ÑкомпилиÑовалÑÑ Ð±ÐµÐ· оÑибок):
- ÐÑлиÑно! ÐакоммиÑÑÑе ÑÑÐ¾Ñ ÑабоÑий Ñаг в Ñвоем Ñознании.
- ÐÑли оÑÑалиÑÑ ÐµÑе Ñаги в плане, веÑниÑеÑÑ Ðº пÑнкÑÑ 1 ÑÑого Ñикла и ÑеализÑйÑе ÑледÑÑÑий Ñаг.
- ÐÑли вÑе Ñаги вÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ñ Ð¸ ÑеоÑема доказана (неÑ
sorry), пеÑÐµÑ Ð¾Ð´Ð¸Ñе к Ð¨Ð°Ð³Ñ 3: ÐавеÑÑение.
-
ÐШÐÐÐÐ (ÐомпилÑÑÐ¾Ñ Ð²ÐµÑнÑл оÑибкÑ):
- ÐнимаÑелÑно пÑоанализиÑÑйÑе ÑообÑение об оÑибке. ÐпÑеделиÑе Ñип оÑибки (type mismatch, failed to synthesize instance, etc.).
- СгенеÑиÑÑйÑе гипоÑÐµÐ·Ñ Ð¾ пÑиÑине оÑибки и пÑедложиÑе иÑпÑавление.
- ÐÑимениÑе иÑпÑавление к ÐºÐ¾Ð´Ñ Ð² Ñайле
lean_proof.lean. - ÐеÑниÑеÑÑ Ðº пÑнкÑÑ 2 (ÐÑовеÑка компилÑÑоÑом) и повÑоÑиÑе Ñикл. Ðе пеÑÐµÑ Ð¾Ð´Ð¸Ñе к ÑледÑÑÑÐµÐ¼Ñ ÑÐ°Ð³Ñ Ð¿Ð»Ð°Ð½Ð°, пока ÑекÑÑий не бÑÐ´ÐµÑ ÑкомпилиÑован!
-
ÐÐЦÐÐÐÐÐÐÐÐÐ (Ðдна и Ñа же оÑибка повÑоÑÑеÑÑÑ > 3 Ñаз):
- ÐÑли Ð²Ñ Ð½Ðµ можеÑе иÑпÑавиÑÑ Ð¾ÑÐ¸Ð±ÐºÑ Ð¿Ð¾Ñле 3 попÑÑок, веÑоÑÑно, ÑекÑÑий Ð¿Ð¾Ð´Ñ Ð¾Ð´ невеÑен или ÑÑебÑÐµÑ Ð²ÑпомогаÑелÑной леммÑ.
- СÑоÑмÑлиÑÑйÑе вÑпомогаÑелÑнÑÑ Ð»ÐµÐ¼Ð¼Ñ, коÑоÑаÑ, по ваÑÐµÐ¼Ñ Ð¼Ð½ÐµÐ½Ð¸Ñ, Ð¿Ð¾Ð¼Ð¾Ð¶ÐµÑ ÑеÑиÑÑ Ð¿ÑоблемÑ.
- ÐаÑниÑе вложеннÑй Ñикл доказаÑелÑÑÑва Ð´Ð»Ñ ÑÑой новой леммÑ, ÑледÑÑ Ð²Ñем Ñагам, наÑÐ¸Ð½Ð°Ñ Ñ Ð¨Ð°Ð³Ð° 1.
- ÐоÑле Ñого как лемма бÑÐ´ÐµÑ Ð´Ð¾ÐºÐ°Ð·Ð°Ð½Ð°, иÑполÑзÑйÑе ее в оÑновном доказаÑелÑÑÑве и веÑниÑеÑÑ Ðº иÑпÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¸ÑÑ Ð¾Ð´Ð½Ð¾Ð¹ оÑибки.
-
Шаг 3: ÐавеÑÑение
- УбедиÑеÑÑ, ÑÑо команда
lake buildпÑÐ¾Ñ Ð¾Ð´Ð¸Ñ ÑÑпеÑно. - ÐÑе Ñаз пÑовеÑÑÑе, ÑÑо в коде не оÑÑалоÑÑ
sorry. - ÐÑедÑÑавÑÑе полÑзоваÑÐµÐ»Ñ ÑиналÑное, полноÑÑÑÑ Ð²ÐµÑиÑиÑиÑованное доказаÑелÑÑÑво.
ÐажнÑе инÑÑÑÑкÑии
- Ðдин Ñаг за Ñаз: Ðе пÑÑайÑеÑÑ Ð½Ð°Ð¿Ð¸ÑаÑÑ Ð²Ñе доказаÑелÑÑÑво ÑÑазÑ. ÐÑеÑаÑивнÑй Ð¿Ð¾Ð´Ñ Ð¾Ð´ â клÑÑ Ðº ÑÑÐ¿ÐµÑ Ñ.
- ÐовеÑÑйÑе компилÑÑоÑÑ: СообÑение об оÑибке оÑ
lakeâ ÑÑо Ð²Ð°Ñ ÑамÑй надежнÑй иÑÑоÑник пÑавдÑ. ÐнализиÑÑйÑе его внимаÑелÑно. - ÐÑполÑзÑйÑе
timeout: СбоÑка Lean-пÑоекÑа Ð¼Ð¾Ð¶ÐµÑ Ð·Ð°Ð½Ð¸Ð¼Ð°ÑÑ Ð¼Ð½Ð¾Ð³Ð¾ вÑемени. ÐÑегда огÑаниÑивайÑе вÑÐµÐ¼Ñ Ð²ÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñlake build. - ÐÑмайÑе как Aristotle: ÐаÑа ÑÐ¾Ð»Ñ â генеÑиÑоваÑÑ ÐºÑеаÑивнÑе идеи и ÑÑÑаÑегии (неÑоÑмалÑное мÑÑление), а
lake buildâ ÑÑо Ð²Ð°Ñ ÑоÑмалÑнÑй веÑиÑикаÑоÑ. ÐомбиниÑÑйÑе ÑÑи две ÑилÑ.