원클릭으로
mcp-logic
Formal reasoning via FOL theorem proving, model finding, and categorical logic
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Formal reasoning via FOL theorem proving, model finding, and categorical logic
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Use modern, token-efficient command-line tools (fd, ripgrep, ast-grep, bat, sd, jq, yq, tokei, eza, dust, procs, delta, hyperfine, just) instead of legacy coreutils (find, grep, cat, sed, ls, du, ps) for any shell, file, or codebase task — on any platform (Linux/macOS/Windows) and through any executor (a terminal, Claude Code's bash tool, Desktop Commander, or an MCP shell bridge). Trigger whenever you are about to search files, grep for text, read or inspect files, find-and-replace, refactor code, traverse a repository, process JSON/YAML, or inspect disk usage or processes — even if the user did not name a specific tool. These tools are faster, .gitignore-aware, and emit clean structured output that protects the context window. For installation across operating systems and platform-specific quirks, see references/. If you run commands specifically through the LocalREPL MCP bridge, also consult the local-repl-cli skill for environment-specific gotchas.
Operating guide for the AGEM reasoning engine: native tools, honest metric interpretation, formal-logic verification via mcp-logic, and the meta-tool MCP interface.
Use when the user wants to design, redesign, shape, critique, audit, polish, clarify, distill, harden, optimize, adapt, animate, colorize, extract, or otherwise improve a frontend interface. Covers websites, landing pages, dashboards, product UI, app shells, components, forms, settings, onboarding, and empty states. Handles UX review, visual hierarchy, information architecture, cognitive load, accessibility, performance, responsive behavior, theming, anti-patterns, typography, fonts, spacing, layout, alignment, color, motion, micro-interactions, UX copy, error states, edge cases, i18n, and reusable design systems or tokens. Also use for bland designs that need to become bolder or more delightful, loud designs that should become quieter, live browser iteration on UI elements, or ambitious visual effects that should feel technically extraordinary. Not for backend-only or non-UI tasks.
Master orchestrator for the five-question decision tree that selects the right agentic pattern from Sequential, ReAct, Planning, Reflection, or Multi-Agent.
Multi-agent pattern for tasks requiring specialization or scale beyond single-agent capacity. Covers topology, routing, and coordination design.
Planning pattern for structurally articulable tasks. Planner defines stages and dependencies upfront; ReAct handles local uncertainty within each step.
| name | mcp-logic |
| description | Formal reasoning via FOL theorem proving, model finding, and categorical logic |
You are equipped with mcp-logic, a high-fidelity formal reasoning engine. It exposes the power of First-Order Logic (FOL) theorem proving, finite model finding, and categorical reasoning to your conversational interface.
prove — Theorem Proving (Prover9)Purpose: Rigorously prove that a conclusion follows from a set of premises.
premises (Array of Strings): FOL formulas representing assumptions.conclusion (String): The statement to be proven.human(socrates)).all x (P(x) -> Q(x)).all x (man(x) -> (exists y (father(y,x)))).exists x (X(x)). Bare conditionals are vacuously true over an empty domain — see 🕳️ The Empty-World Trap.find_model — Consistency & Exploration (Mace4)Purpose: Find a finite model (interpretation) where all premises are TRUE.
premises (Array of Strings): FOL axioms to satisfy.domain_size (Integer, Optional): Fixed size of the domain. Omit to auto-scan sizes 2–10.verbose (Boolean, Optional): Include the raw Mace4 interpretation — set true to inspect the model.[0,0,0]), the consistency is vacuous: the empty world satisfies almost anything. See 🕳️ The Empty-World Trap below — this is the #1 way find_model misleads.find_counterexample — Disproving Claims (Mace4)Purpose: Show that a conclusion does NOT follow from premises by finding a "counter-model."
prove fails, use this to understand why. It finds a world where premises are true but the conclusion is false.premises (Array of Strings): Logical assumptions.conclusion (String): The statement to disprove.domain_size (Integer, Optional): Domain limit. Omit to auto-scan 2–10.verbose (Boolean, Optional): Include the raw Mace4 counter-model.check_well_formed — Syntax GuardPurpose: Validate formula syntax and get detailed error/warning feedback.
prove or find_model for complex or user-provided formulas.check_contingency — Propositional Fast-Path (HCC)Purpose: Instantly check if a propositional formula is a tautology, contradiction, or contingent.
abductive_explain — Inference to the Best Explanation (VFE)Purpose: Select the "best" explanation for an observation from a list of candidates.
get_category_axioms — Structural FoundationsPurpose: Retrieve pre-defined FOL axioms for standard mathematical structures.
category, functor, natural-transformation, monoid, group.verify_commutativity — Diagram VerificationPurpose: Map path equality in a categorical diagram to a FOL proof problem.
path_a, path_b (Arrays of morphism names), object_start, object_end.prove to finalize the verification.Read this before reporting any "consistent" / "H¹ = 0" / "no contradiction" result.
The most common way a formal check misleads: a universal conditional all x (P(x) -> Q(x)) is vacuously true when nothing is a P. Mace4 will satisfy an entire theory with an empty or uniform world, and find_model will return a model in which every predicate is false. That model is "consistent" the way an empty room is "tidy" — it tells you almost nothing.
Symptoms you are looking at vacuous consistency
find_model returns a model whose predicates are all-empty or uniform (e.g. every relation [0,0,0]).consistent, with no frustrated triples and H¹ = 0.find_model flips to no_model_found only after you add a strong extra axiom — meaning the earlier satisfying model was the empty one.The rule: assert existence for what your conditionals quantify over. If the content means "X's exist and are Y," do not encode only all x (X(x) -> Y(x)) — also add exists x (X(x)). "Consistent" should mean co-satisfiable by a non-empty world, not vacuously dodged.
To test whether two blocks genuinely conflict (instead of letting the empty world hide it):
exists x (organism(x)).prove(premises, "$F"). If ⊥ is proved, the conflict is real. If unprovable, call find_model and inspect the model for non-triviality (verbose: true).Worked example (real AGEM run — biosemiotics corpus). Two blocks:
organism → machine → ¬sign_interpreting → ¬semiosis ⟹ organism → ¬semiosisorganism → autonomous_agent → self_interpreting → semiosis ⟹ organism → semiosisThe pairwise check returned consistent (H¹ = 0) — but only because no block asserted an organism exists; Mace4's satisfying model had organism = [0,0,0]. Adding exists x (organism(x)) and re-running the same engine:
find_model → no_model_foundprove(..., "$F") → proved in 27 steps (the organism is forced to be both semiosis and ¬semiosis).The contradiction was real all along; the empty domain had hidden it. Reporting the first result as "the theory is consistent" would have been a false clean bill of health — and would have wrongly judged the corpus's central claim "logically under-determined" when it was the encoding that was under-committed.
This is the logic-layer form of self-consistency masquerading as world-consistency. A consistency verdict reaches reality only as far as your encoding's existence commitments do. An empty or uniform model is the system reassuring itself about a world with nothing in it.
exists x ...), or only conditionals about them?find_model returned a model, is it non-trivial (predicates not all-empty/uniform)? Inspect with verbose: true.prove(..., "$F") with existence asserted — not just find_model on the bare conditionals?prove(premises, conclusion).find_counterexample(premises, conclusion).domain_size (or omit it to auto-scan 2–10). If a model was found, inspect it for vacuity (see 🕳️ The Empty-World Trap) before concluding the theory is consistent.get_category_axioms("category").morphism(f), compose(f, id, f)).prove(...) to verify properties like identity laws or associativity.| Name | Symbol | Example |
|---|---|---|
| Universal | all | all x (human(x) -> mortal(x)) |
| Existential | exists | exists x (prime(x) & even(x)) |
| Negation | - | -cold(water) |
| Conjunction | & | P & Q |
| Disjunction | | | P | Q |
| Implication | -> | P -> Q |
| Equivalence | <-> | P <-> Q |
| Equality | = | x = y |
x, y, z.