--- name: proof-writer description: "數學證明撰寫技能 — 從主張提取到 LaTeX 排版的完整證明工作流。當使用者需要撰寫或驗證數學定理、引理、命題的形式證明,或需要推導公式、整理理論分析時,一定要使用此技能。觸發詞包括:數學證明、prove、theorem、lemma、proposition、推導、理論分析、寫 proof、LaTeX 數學、formal proof。適用於機器學習理論、統計學習理論、最佳化等需要嚴謹數學推導的場景。" license: MIT compatibility: Works with Claude Code, ChatGPT/Codex CLI, and Gemini CLI. metadata: author: weed version: "1.0.0" --- # proof-writer:數學證明撰寫技能 ## 概述 本技能專注於學術論文中的數學證明撰寫。涵蓋從主張提取、策略選擇到完整 LaTeX 排版的端對端工作流程。所有解釋使用繁體中文,數學表達式與 LaTeX 代碼使用英文。 --- ## 流程總覽 證明撰寫分為五個階段,依序執行: ``` 主張提取 → 文獻掃描 → 策略選擇 → 逐步推導 → LaTeX 排版 ``` 每個階段有明確的輸入、輸出與品質檢查點。以下逐一說明。 --- ## 第一階段:主張提取 ### 目的 從論文草稿或用戶輸入中,精確提取需要證明的數學主張。主張必須是形式化的命題, 具備明確的前提條件與結論。 ### 步驟 1. **辨識主張類型**:判斷是定理 (Theorem)、引理 (Lemma)、推論 (Corollary)、 命題 (Proposition),還是聲明 (Claim)。 2. **提取前提條件**:列出所有假設、約束條件與適用範圍。 3. **提取結論**:明確寫出要證明的等式、不等式或性質。 4. **符號確認**:確認所有符號的定義與範圍,參照 [符號慣例](references/notation-conventions.md)。 5. **形式化陳述**:將主張寫成標準的數學陳述格式。 ### 輸出格式 ``` 主張類型:[Theorem | Lemma | Corollary | Proposition | Claim] 前提條件: - 條件 1 - 條件 2 - ... 結論:[形式化的數學陳述] 相關符號:[符號清單及定義] ``` ### 常見問題 - 前提條件不完整:回頭檢查論文中的假設段落。 - 符號未定義:查閱論文的 notation section 或向用戶確認。 - 主張過於模糊:要求用戶提供更精確的形式化陳述。 ### 品質檢查 - [ ] 主張是否為可判定的數學命題? - [ ] 所有符號是否已定義? - [ ] 前提條件是否足以推導結論? - [ ] 主張類型是否正確分類? --- ## 第二階段:文獻掃描 ### 目的 查找與主張相關的已知定理、引理和結果,為證明建立基礎。這一步決定了我們可以 「站在哪些巨人的肩膀上」。 ### 步驟 1. **關鍵詞提取**:從主張中提取數學關鍵詞(如 convergence、bound、 concentration inequality 等)。 2. **定理匹配**:在已知定理庫中搜索相關結果,參照 [定理連結方法](references/theorem-connection.md)。 3. **相關性評估**:評估每個找到的定理與當前主張的相關程度。 4. **依賴關係建立**:確定哪些定理可以直接使用,哪些需要適度修改。 5. **缺口分析**:找出已知結果與目標主張之間的差距。 ### 常用定理來源 - 論文自身前文已證明的引理 - 論文引用的參考文獻 - 領域內的經典結果(如 Cauchy-Schwarz, Jensen's inequality 等) - 標準教科書中的基礎定理 ### 輸出格式 ``` 相關定理: 1. [定理名稱] — [簡述] — 相關度:[高|中|低] 2. ... 可直接引用:[定理列表] 需要修改後使用:[定理列表及修改方向] 證明缺口:[需要自行推導的部分] ``` ### 品質檢查 - [ ] 是否遺漏了重要的已知結果? - [ ] 引用的定理前提條件是否滿足? - [ ] 定理的版本是否正確(有些定理有多個變體)? --- ## 第三階段:策略選擇 ### 目的 根據主張的結構和可用的已知結果,選擇最合適的證明策略。策略的選擇直接影響 證明的清晰度和長度。 ### 可用策略 本技能支援以下八種證明策略,每種策略的詳細說明見 [證明策略參考](references/proof-strategies.md)。 #### 1. 直接證明 (Direct Proof) 從前提條件出發,通過一系列邏輯推導直接到達結論。適用於結構清晰、推導路徑 明確的主張。 **適用場景**:等式證明、不等式推導、集合包含關係。 #### 2. 反證法 (Proof by Contradiction) 假設結論不成立,推導出矛盾。適用於直接證明困難或結論為否定形式的主張。 **適用場景**:存在性的否定、唯一性證明、不可能性結果。 #### 3. 數學歸納法 (Mathematical Induction) 對自然數或可良序化的結構進行歸納。包括弱歸納、強歸納和結構歸納。 **適用場景**:遞迴結構、序列性質、離散數學中的命題。 #### 4. 構造性證明 (Constructive Proof) 明確構造出滿足條件的對象,從而證明存在性。比純存在性證明提供更多資訊。 **適用場景**:存在性命題、算法正確性、具體界的建立。 #### 5. 歸約法 (Proof by Reduction) 將要證明的問題歸約為已知的問題。常用於計算複雜度和決策問題。 **適用場景**:NP-hardness 證明、下界證明、等價性證明。 #### 6. 機率法 (Probabilistic Method) 通過證明隨機選擇滿足條件的機率大於零,從而證明滿足條件的對象存在。 **適用場景**:組合數學、圖論、隨機化算法分析。 #### 7. 凸性論證 (Convexity Arguments) 利用凸函數或凸集的性質進行推導。在最佳化和機器學習理論中尤其常見。 **適用場景**:最佳化問題、Jensen's inequality 的應用、凸鬆弛。 #### 8. 資訊論方法 (Information-theoretic Methods) 使用熵、互資訊、KL 散度等資訊論工具進行推導。 **適用場景**:通訊理論、學習理論下界、隱私分析。 ### 策略選擇決策樹 ``` 主張結構分析 ├─ 等式或不等式? │ ├─ 是 → 考慮直接證明、凸性論證 │ └─ 否 → 繼續 ├─ 存在性命題? │ ├─ 是 → 考慮構造性證明、機率法 │ └─ 否 → 繼續 ├─ 涉及遞迴或序列? │ ├─ 是 → 考慮數學歸納法 │ └─ 否 → 繼續 ├─ 可歸約為已知問題? │ ├─ 是 → 考慮歸約法 │ └─ 否 → 繼續 ├─ 涉及資訊量度? │ ├─ 是 → 考慮資訊論方法 │ └─ 否 → 繼續 └─ 直接證明困難? ├─ 是 → 考慮反證法 └─ 否 → 使用直接證明 ``` ### 複合策略 許多複雜的證明需要組合多種策略。常見的組合包括: - **歸納 + 直接**:歸納步驟中使用直接證明 - **反證 + 構造**:假設不存在,然後構造出矛盾的對象 - **歸約 + 資訊論**:歸約到資訊論問題後使用資訊論工具 ### 輸出格式 ``` 選擇策略:[主要策略名稱] 輔助策略:[如有] 選擇理由:[為什麼這個策略最適合] 預期證明結構:[大綱] 預期難度:[低|中|高] ``` --- ## 第四階段:逐步推導 ### 目的 根據選定的策略,撰寫完整、嚴謹的證明過程。每一步都必須有明確的邏輯依據。 ### 原則 1. **完整性**:不跳過任何非顯而易見的步驟。 2. **嚴謹性**:每一步推導必須有明確的數學依據。 3. **可讀性**:使用清晰的語言引導讀者。 4. **模組化**:複雜的證明應拆分為多個引理。 ### 撰寫規範 #### 推導步驟格式 每一步推導應包含: - **陳述**:本步驟要建立的中間結論 - **推導**:具體的數學推導過程 - **依據**:引用的定理、引理或之前的步驟 #### 過渡語句 在步驟之間使用適當的過渡語句,引導讀者理解證明的邏輯流程: - "By assumption, ..." - "It follows from Theorem X that ..." - "Combining (1) and (2), we obtain ..." - "Without loss of generality, ..." - "By the definition of ..., we have ..." #### 常見警告 - 避免使用 "clearly"、"obviously"、"trivially" 來跳過步驟。 - 如果一個步驟需要超過三行的推導,考慮將其提取為獨立的引理。 - 確保所有變數在使用前已定義。 - 確保量詞 (for all, there exists) 的作用域明確。 ### 品質檢查 - [ ] 每一步推導是否都有明確的邏輯依據? - [ ] 是否有未說明的假設? - [ ] 量詞的使用是否正確? - [ ] 符號是否與論文其餘部分一致? - [ ] 證明是否完整(以 QED 或 $\square$ 結尾)? --- ## 第五階段:LaTeX 排版 ### 目的 將證明轉換為可直接插入論文的 LaTeX 代碼。排版應符合學術論文的標準格式。 ### 排版規範 詳細的 LaTeX 排版模式見 [LaTeX 數學排版參考](references/latex-math-patterns.md)。 #### 基本環境 ```latex \begin{theorem}[Theorem Name] \label{thm:theorem-label} Statement of the theorem. \end{theorem} \begin{proof} Proof content here. \qed \end{proof} ``` #### 編號與引用 - 所有定理、引理、推論都必須有 `\label`。 - 使用 `\ref` 或 `\eqref` 進行交叉引用。 - 等式編號使用 `equation` 或 `align` 環境。 #### 排版風格 - 行內公式使用 `$...$`。 - 展示公式使用 `\[...\]` 或有編號的環境。 - 多行對齊使用 `align` 環境。 - 分情況討論使用 `cases` 環境。 ### 輸出格式 最終輸出應包含: 1. 完整的 LaTeX 代碼片段(可直接複製貼上) 2. 所需的額外套件列表(如 `amsthm`, `amsmath` 等) 3. 如需自定義命令,附上 `\newcommand` 定義 ### 品質檢查 - [ ] LaTeX 代碼是否可以成功編譯? - [ ] 數學符號是否正確呈現? - [ ] 編號和引用是否正確? - [ ] 排版是否美觀(對齊、間距等)? - [ ] 是否符合目標期刊的格式要求? --- ## 符號與排版參考 - [證明策略詳細說明](references/proof-strategies.md) - [定理連結方法](references/theorem-connection.md) - [符號慣例](references/notation-conventions.md) - [LaTeX 數學排版模式](references/latex-math-patterns.md) --- ## 使用範例 ### 範例一:簡單不等式證明 **輸入**:證明對所有 $x > 0$,有 $e^x \geq 1 + x$。 **第一階段輸出**: ``` 主張類型:Proposition 前提條件: - x > 0, x ∈ ℝ 結論:e^x ≥ 1 + x 相關符號:e 為自然對數的底 ``` **第三階段輸出**: ``` 選擇策略:直接證明 選擇理由:可通過分析 f(x) = e^x - 1 - x 的性質直接推導 預期證明結構: 1. 定義 f(x) = e^x - 1 - x 2. 計算 f'(x) = e^x - 1 3. 分析 f 的單調性 4. 利用 f(0) = 0 得出結論 預期難度:低 ``` **第五階段輸出**: ```latex \begin{proposition} \label{prop:exp-lower-bound} For all $x > 0$, we have $e^x \geq 1 + x$. \end{proposition} \begin{proof} Define $f(x) = e^x - 1 - x$. We have $f(0) = 0$ and $f'(x) = e^x - 1 > 0$ for all $x > 0$. Therefore, $f$ is strictly increasing on $(0, \infty)$, which implies $f(x) > f(0) = 0$ for all $x > 0$. That is, $e^x > 1 + x$. \qed \end{proof} ``` ### 範例二:機器學習中的泛化界 **輸入**:證明 PAC learning 框架下,有限假設類的樣本複雜度上界。 **第一階段輸出**: ``` 主張類型:Theorem 前提條件: - H 為有限假設類,|H| < ∞ - 樣本 S 由分布 D 上的 m 個 i.i.d. 樣本組成 - ε > 0, δ > 0 結論:若 m ≥ (1/ε)(ln|H| + ln(1/δ)),則以機率至少 1-δ, 對所有 h ∈ H 有 |R(h) - R̂(h)| ≤ ε 相關符號:R(h) 為真實風險,R̂(h) 為經驗風險 ``` **第三階段輸出**: ``` 選擇策略:直接證明 + 機率法 輔助策略:歸約到 Hoeffding's inequality 選擇理由:經典的 union bound + concentration inequality 組合 預期證明結構: 1. 對單一假設 h 應用 Hoeffding's inequality 2. 對所有假設取 union bound 3. 解出 m 的下界 預期難度:中 ``` --- ## 常見工作模式 ### 模式一:完整證明撰寫 用戶提供主張,系統執行完整的五階段流程,輸出可直接使用的 LaTeX 代碼。 ### 模式二:證明修復 用戶提供有問題的證明,系統診斷問題所在並修復。常見問題包括: - 邏輯跳躍(缺少中間步驟) - 量詞錯誤 - 邊界情況未處理 - 引用的定理前提條件不滿足 ### 模式三:證明翻譯 將非形式化的直覺論證轉換為嚴謹的數學證明。 ### 模式四:策略諮詢 用戶描述要證明的目標,系統建議可能的證明策略和思路,但不撰寫完整證明。 --- ## 注意事項 1. **嚴謹性優先**:寧可冗長也不要跳步。讀者可以略過顯然的步驟,但無法填補 缺失的步驟。 2. **符號一致性**:所有符號必須與論文其餘部分一致。如有衝突,在證明開頭明確 說明。參照 [符號慣例](references/notation-conventions.md)。 3. **可編譯性**:輸出的 LaTeX 必須可以直接編譯,不能有語法錯誤。 4. **學術語調**:使用正式的學術英文撰寫數學部分,避免口語化表達。 5. **引用規範**:使用的所有非本文證明的結果,都必須提供引用。