MCP HubMCP Hub
Retour aux compétences

evaluate-boolean-expression

pjt222
Mis à jour 2 days ago
8 vues
17
2
17
Voir sur GitHub
Designaidesign

À propos

Cette compétence évalue et simplifie les expressions booléennes en utilisant des tables de vérité, des lois algébriques et des tableaux de Karnaugh pour jusqu'à six variables. Elle réduit les expressions à des formes minimales de sommes de produits ou de produits de sommes et vérifie l'équivalence logique. Utilisez-la pour préparer des fonctions minimisées pour une implémentation au niveau des portes logiques ou pour analyser des circuits logiques numériques.

Installation rapide

Claude Code

Recommandé
Principal
npx skills add pjt222/agent-almanac -a claude-code
Commande PluginAlternatif
/plugin add https://github.com/pjt222/agent-almanac
Git CloneAlternatif
git clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/evaluate-boolean-expression

Copiez et collez cette commande dans Claude Code pour installer cette compétence

Documentation

Evaluate Boolean Expression

Reduce Boolean expr → minimal form. Parse → canonical, truth table, algebraic laws, K-map (≤6 vars), verify equivalent to original.

Use When

  • Simplify before map to gates
  • Verify 2 exprs equivalent
  • Generate minimal SOP or POS
  • Teach/review Boolean algebra
  • Prep for design-logic-circuit

In

  • Required: Boolean expr any common notation (e.g., A AND (B OR NOT C), A * (B + C'), A & (B | ~C))
  • Required: Target form — minimal SOP, POS, or both
  • Optional: Variable ordering preference for K-map
  • Optional: Don't-care conditions (minterms/maxterms unspecified)
  • Optional: Second expr for equivalence check

Do

Step 1: Parse + Canonical

Convert to standard internal rep.

  1. Tokenize: Vars (letters/short names), ops (AND, OR, NOT, XOR, NAND, NOR), parens.
  2. Op notation: Consistent — * AND, + OR, ' NOT, ^ XOR.
  3. Var count: Unique vars. Assign bit (A=MSB, ... Z=LSB default or provided).
  4. Canonical SOP: Expand → sum of all minterms via X = X*(Y + Y').
  5. Canonical POS: Alt → product of all maxterms via X = X + Y*Y'.
## 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]

→ Expr converted canonical SOP/POS w/ all min/maxterms listed, don't-cares separated.

If err: syntax/precedence ambiguous → clarify. Standard: NOT (highest) > AND > XOR > OR (lowest). >6 vars → K-map needs Quine-McCluskey.

Step 2: Truth Table

Build complete table for behavior over all inputs.

  1. Rows: All 2^n combos binary order (000, 001, 010, ...).
  2. Eval: Sub values → compute output (0/1).
  3. Don't-cares: Mark X instead of 0/1.
  4. Cross-check minterms: Rows w/ output 1 match minterm list Step 1.
## Truth Table
| A | B | C | F |
|---|---|---|---|
| 0 | 0 | 0 | _ |
| 0 | 0 | 1 | _ |
| ... | ... | ... | ... |

→ Complete 2^n rows, outputs match canonical, don't-cares marked.

If err: table disagrees w/ canonical → recheck Step 1 expansion. Common: misapply De Morgan during canonical → verify each step.

Step 3: Algebraic Simplify

Reduce via Boolean identities.

  1. Identity/null: A + 0 = A, A * 1 = A, A + 1 = 1, A * 0 = 0.
  2. Idempotent: A + A = A, A * A = A.
  3. Complement: A + A' = 1, A * A' = 0.
  4. Absorption: A + A*B = A, A * (A + B) = A.
  5. De Morgan: (A * B)' = A' + B', (A + B)' = A' * B'.
  6. Distributive: A * (B + C) = A*B + A*C, A + B*C = (A + B) * (A + C).
  7. Consensus: A*B + A'*C + B*C = A*B + A'*C (B*C redundant).
  8. XOR: A*B' + A'*B = A ^ B.
  9. Document each step: Expr after each law, cite law.
## Algebraic Simplification Trace
1. Original: [expression]
2. Apply [law name]: [result]
3. Apply [law name]: [result]
...
n. Final algebraic form: [simplified expression]

→ Step-by-step reduction w/ law citations, converging simpler. Trace = verifiable proof.

If err: no further simplify but non-minimal → Step 4 (K-map). Algebraic ≠ guaranteed global min — depends on order.

Step 4: K-map Minimize

Provably minimal SOP/POS (≤6 vars).

  1. Draw: Gray code on axes.
    • 2 vars: 2x2
    • 3 vars: 2x4
    • 4 vars: 4x4
    • 5 vars: two 4x4 stacked
    • 6 vars: four 4x4 stacked
  2. Fill: 1s (minterms), 0s (maxterms), Xs (don't-cares).
  3. Group adj 1s: Rectangular groups of 1, 2, 4, 8, 16, 32 (powers of 2). Wrap edges. Include don't-cares if enlarge.
  4. Prime implicants: Each group → product term. Constant vars appear, changing eliminated.
  5. Essential prime implicants: Minterms covered by only 1 PI → essential.
  6. Cover remaining: Fewest additional PIs (Petrick's if needed).
  7. Minimal expr: Combine selected PIs → minimal SOP. For POS group 0s.
## 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]

→ Minimal SOP/POS fewest literals, all PIs documented.

If err: ambiguous (multiple minimal covers) → list all equivalent. >6 vars → Quine-McCluskey tabular or Espresso heuristic, note change.

Step 5: Verify

Confirm logical equivalence simplified vs original.

  1. Truth table compare: Eval simplified all 2^n → compare Step 2. Every non-don't-care row must match.
  2. Algebraic proof (optional): Derive original from simplified (vice versa) via Step 3 laws.
  3. Spot-check: All-zeros, all-ones, tricky simplification inputs.
  4. Document: Equivalence holds? Final minimal form.
## 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]

→ Simplified matches original all non-don't-care. Final min form clear.

If err: mismatch → trace Steps 3-4. Common: incorrect K-map grouping (non-rect / non-power-of-2), forget wrap, group 0 cell.

Check

  • All vars accounted for
  • Canonical SOP/POS lists correct min/maxterms
  • Truth table 2^n rows correct outputs
  • Don't-cares handled (in groups, not coverage req)
  • Algebraic steps cite law + verifiable
  • K-map Gray code both axes
  • All groups rect + power-of-2
  • Essential PIs identified
  • Simplified matches on non-don't-care
  • Final = min literals

Traps

  • K-map adjacency: Leftmost/rightmost cols + top/bottom rows adjacent (wrap). Essential for largest groups.
  • Non-power-of-2 groups: 3 or 5 cells. Must be 1, 2, 4, 8, 16, 32. Irregular ≠ valid product.
  • Ignore don't-cares: Treating as 0s not using to enlarge. Include when reduces, but not required for coverage.
  • Precedence err: Assuming AND/OR equal. Standard: NOT > AND > OR. A + B * C(A + B) * C.
  • Stop at algebraic: Local min not global. Cross-check K-map (Quine-McCluskey >6 vars) to confirm.
  • Min vs maxterm: Minterms = AND (products) in SOP. Maxterms = OR (sums) in POS. m3 3 vars = A'BC; M3 = A+B'+C'.

  • design-logic-circuit — map minimized expr → gate-level
  • argumentation — structured logical reasoning, shares formal logic

Dépôt GitHub

pjt222/agent-almanac
Chemin: i18n/caveman-ultra/skills/evaluate-boolean-expression
0
agentsagentskillsai-assisted-developmentclaude-codeskillsteams

Compétences associées

executing-plans

Design

Utilisez la compétence executing-plans lorsque vous disposez d'un plan de mise en œuvre complet à exécuter par lots contrôlés avec des points de contrôle de revue. Elle charge et examine le plan de manière critique, puis exécute les tâches par petits lots (3 tâches par défaut) tout en rapportant la progression entre chaque lot pour une revue par l'architecte. Cela garantit une mise en œuvre systématique avec des points de contrôle de qualité intégrés.

Voir la compétence

requesting-code-review

Design

Cette compétence délègue un sous-agent réviseur de code pour analyser les modifications apportées au code par rapport aux exigences avant de poursuivre. Elle doit être utilisée après avoir terminé des tâches, implémenté des fonctionnalités majeures, ou avant une fusion vers la branche principale. La revue aide à détecter précocement les problèmes en comparant l'implémentation actuelle avec le plan initial.

Voir la compétence

connect-mcp-server

Design

Cette compétence fournit un guide complet permettant aux développeurs de connecter des serveurs MCP à Claude Code via les transports HTTP, stdio ou SSE. Elle couvre l'installation, la configuration, l'authentification et la sécurité pour intégrer des services externes tels que GitHub, Notion et des API personnalisées. Utilisez-la lors de la configuration d'intégrations MCP, de la configuration d'outils externes ou du travail avec le Protocole de Contexte de Modèle de Claude.

Voir la compétence

web-cli-teleport

Design

Cette compétence aide les développeurs à choisir entre les interfaces Web et CLI de Claude Code en fonction de l'analyse des tâches, puis permet une téléportation transparente des sessions entre ces environnements. Elle optimise le flux de travail en gérant l'état et le contexte de la session lors du passage entre le web, la CLI ou le mobile. Utilisez-la pour des projets complexes nécessitant différents outils à diverses étapes.

Voir la compétence