スキル一覧に戻る

evaluate-boolean-expression

pjt222
更新日 Yesterday
2 閲覧
17
2
17
GitHubで表示
デザインaidesign

について

このClaudeスキルは、真理値表、代数法則、カルノー図(最大6変数まで)を用いて論理式を評価・簡略化します。式を最小SOP/POS形式に縮約し、2つの式の論理等価性を検証します。主に、ゲートレベル実装やデジタル論理設計タスクに向けた最小化関数の作成にご利用ください。

クイックインストール

Claude Code

推奨
メイン
npx skills add pjt222/agent-almanac -a claude-code
プラグインコマンド代替
/plugin add https://github.com/pjt222/agent-almanac
Git クローン代替
git clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/evaluate-boolean-expression

このコマンドをClaude Codeにコピー&ペーストしてスキルをインストールします

ドキュメント

評布爾式

化布爾式為最簡:解為範式、造真值表、施代數簡化律、行 K 圖最簡(至六變)、驗簡式與原式等價。

用時

  • 映邏輯閘前簡布爾式
  • 驗二布爾式邏輯等價
  • 生最簡和積式(SOP)或積和式(POS)
  • 授或復布爾代數恆等與化約
  • 備 design-logic-circuit 之入

  • 必要:布爾式(任常記,如 A AND (B OR NOT C)A * (B + C')A & (B | ~C)
  • 必要:目標式——最簡 SOP、最簡 POS、或二者
  • 可選:K 圖變序之偏
  • 可選:無關條件(未定之 minterm 或 maxterm)
  • 可選:欲對之第二式以驗等價

第一步:解析化範

轉入式為標準內表:

  1. 分詞:識變(單字母或短名)、運符(AND、OR、NOT、XOR、NAND、NOR)、組(括號)
  2. 立運符記:通用一式——* 為 AND,+ 為 OR,' 為 NOT(補),^ 為 XOR
  3. 定變數:列諸獨變。各分位(默 A = MSB, ... Z = LSB,或用所供序)
  4. 展為範 SOP:引 X = X*(Y + Y') 填缺變,展為諸 minterm 之和
  5. 展為範 POS:或以 X = X + Y*Y' 展為諸 maxterm 之積
## Normalized Expression
- **Variables**: [A, B, C, ...]
- **Variable count**: [n]
- **Original expression**: [as given]
- **Canonical SOP (minterms)**: Sigma m(i, j, k, ...)
- **Canonical POS (maxterms)**: Pi M(i, j, k, ...)
- **Don't-care set**: d(i, j, ...) [if any]

得: 式轉為範 SOP 及/或 POS,諸 minterm/maxterm 明列,無關條件分置。

敗則: 若式有語誤或運符優先模糊,請澄。標優先為:NOT(最高)> AND > XOR > OR(最低)。若變逾 6,K 圖步須改 Quine-McCluskey 算法。

第二步:造真值表

造全真值表以立函於諸入組合之行:

  1. 列行:生 2^n 諸入組合,按二進計序(000、001、010……)
  2. 算出:各行代入原式算出(0 或 1)
  3. 標無關:若供無關條件,記彼行 X 而非 0 或 1
  4. 與 minterm 對:驗出 1 之行合第一步 minterm 列
## Truth Table
| A | B | C | F |
|---|---|---|---|
| 0 | 0 | 0 | _ |
| 0 | 0 | 1 | _ |
| ... | ... | ... | ... |

得: 全真值表 2^n 行,出合範式,無關正標。

敗則: 若真值表與範式不合,復察第一步之展。常誤於展中誤用 De Morgan 律——各展步獨驗。

第三步:施代數簡化

以布爾代數恆等化約:

  1. 恆等與空律A + 0 = AA * 1 = AA + 1 = 1A * 0 = 0
  2. 冪等律A + A = AA * A = A
  3. 補律A + A' = 1A * A' = 0
  4. 吸收律A + A*B = AA * (A + B) = A
  5. De Morgan 定理(A * B)' = A' + B'(A + B)' = A' * B'
  6. 分配律A * (B + C) = A*B + A*CA + B*C = (A + B) * (A + C)
  7. 共識定理A*B + A'*C + B*C = A*B + A'*C(B*C 冗)
  8. XOR 簡化:識 A*B' + A'*B = A ^ B 之模
  9. 各步記:每律後書式,引所用之律
## Algebraic Simplification Trace
1. Original: [expression]
2. Apply [law name]: [result]
3. Apply [law name]: [result]
...
n. Final algebraic form: [simplified expression]

得: 逐步化約,各律明引,收斂於簡式。跡供等價可驗之證。

敗則: 若無法再簡而非最簡,進第四步(K 圖)。代數法不保全局最小——賴律施之序。

第四步:以 K 圖最簡

用 K 圖以求可證之最簡 SOP 或 POS(至六變):

  1. 畫 K 圖:軸以 Gray 碼排
    • 2 變:2x2 格
    • 3 變:2x4 格
    • 4 變:4x4 格
    • 5 變:二 4x4 格(疊)
    • 6 變:四 4x4 格(疊)
  2. 填格:於相應格置 1(minterm)、0(maxterm)、X(無關)
  3. 聚鄰 1:造 1、2、4、8、16、32 鄰格之矩形組(唯 2 之冪)。組可繞邊。含無關於組若能大之
  4. 取主質涵:各組得一積項。組中常變留,變者去
  5. 擇要主質涵:識唯一主涵覆之 minterm——彼涵為要
  6. 覆餘 minterm:用最少主涵覆未覆者(若需 Petrick 法)
  7. 書最簡式:合所擇主涵為最簡 SOP。最簡 POS 則聚 0
## K-map Result
- **Prime implicants**: [list with covered minterms]
- **Essential prime implicants**: [list]
- **Minimal SOP**: [expression]
- **Minimal POS**: [expression, if requested]
- **Literal count**: [number of literals in minimal form]

得: 最簡 SOP(及/或 POS)字數至少,諸主質涵與要主涵皆記。

敗則: 若聚模糊(多最簡覆),列諸等價最簡式。若變逾 6,轉 Quine-McCluskey 表法或 Espresso 啟發,並記法之變。

第五步:驗簡式合原

確簡與原邏輯等價:

  1. 真值表較:算簡式於諸 2^n 入組合,較第二步真值表。諸非無關行必合
  2. 代數證(可選):以第三步律自簡導原(或反之)
  3. 要例察:驗全零入、全一入、及涉巧步之入
  4. 記結:明是否等價,記末最簡式
## Equivalence Verification
- **Method**: [truth table comparison / algebraic proof / both]
- **Mismatched rows**: [none, or list row numbers]
- **Verdict**: [Equivalent / Not equivalent]
- **Final minimal expression**: [the verified result]

得: 簡式於諸非無關入合原。末最簡式明列。

敗則: 若有行不合,循第三、四步追誤。常因:K 圖聚不正(非矩或非 2 冪)、忘繞邊鄰、誤聚 0 格。

  • 原式諸變皆錄
  • 範 SOP/POS 列正 minterm/maxterm
  • 真值表恰 2^n 行出正
  • 無關條件處正(含於組而不求於覆)
  • 代數諸步各引具體律而可獨驗
  • K 圖二軸皆用 Gray 碼
  • K 圖諸組皆矩且大為 2 冪
  • 要主質涵正識
  • 簡式於諸非無關入合原
  • 末式字數最少

  • K 圖鄰誤:忘 K 圖最左與最右列(及上下行)相鄰。繞邊於求最大組要
  • 非 2 冪組:聚 3 或 5 格。每 K 圖組必含 1、2、4、8、16、32 格。不規之組不對應有效積項
  • 略無關:視無關為 0 而不用其擴組。無關於能簡式時納組,然不可必於覆
  • 運符優先誤:視 AND 與 OR 優先同。標布爾優先為 NOT > AND > OR。誤讀 A + B * C(A + B) * C 而非 A + (B * C),函全易
  • 止於代數簡:代數法或得局部最小,非全局。必以 K 圖(或 >6 變之 Quine-McCluskey)對以確最簡
  • 混 minterm 與 maxterm:minterm 乃 AND 項(積項),見於 SOP;maxterm 乃 OR 項(和項),見於 POS。三變之 m3 為 A'BC;M3 為 A+B'+C'

  • design-logic-circuit — 映最簡式為閘級電路
  • argumentation — 結構邏輯推理,共形邏基

GitHub リポジトリ

pjt222/agent-almanac
パス: i18n/wenyan/skills/evaluate-boolean-expression
0
agentsagentskillsai-assisted-developmentclaude-codeskillsteams

関連スキル

executing-plans

デザイン

executing-plansスキルは、完全な実装計画があり、それを管理されたバッチでレビューチェックポイントを設けながら実行する場合に使用します。このスキルは計画を読み込んで批判的にレビューした後、小さなバッチ(デフォルトは3タスク)でタスクを実行し、各バッチの間に進捗状況を報告してアーキテクトのレビューを受けます。これにより、品質管理チェックポイントが組み込まれた体系的な実装が保証されます。

スキルを見る

requesting-code-review

デザイン

このスキルは、コードレビュアーサブエージェントを起動し、処理を進める前に要件に対してコード変更を分析します。タスク完了後、主要な機能の実装後、またはmainブランチへのマージ前などに使用すべきです。このレビューは、現在の実装と元の計画を比較することで、問題を早期に発見するのに役立ちます。

スキルを見る

connect-mcp-server

デザイン

このスキルは、開発者がHTTP、stdio、またはSSEトランスポートを使用してMCPサーバーをClaude Codeに接続するための包括的なガイドを提供します。GitHub、Notion、カスタムAPIなどの外部サービスを統合するためのインストール、設定、認証、セキュリティについて解説しています。MCP統合のセットアップ、外部ツールの設定、またはClaudeのModel Context Protocolを扱う際にご利用ください。

スキルを見る

web-cli-teleport

デザイン

このスキルは、タスク分析に基づいて開発者がClaude Code WebとCLIインターフェースの選択を支援し、これらの環境間でのシームレスなセッションテレポーテーションを可能にします。Web、CLI、モバイル環境を切り替える際のセッション状態とコンテキストを管理することで、ワークフローを最適化します。様々な段階で異なるツールを必要とする複雑なプロジェクトにご活用ください。

スキルを見る