smithery/hinsley

reduce-crack-basics

Use when solving overdetermined algebraic/ODE/PDE systems with the CRACK package in REDUCE, especially for Lie symmetry determining equations; covers crack() usage, dependency declarations, batch vs interactive control, and interpreting solutions and case splits.

Installation

$ npx skills add smithery/hinsley --skill reduce-crack-basics

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 3,051 B
  • docs SUMMARY.md 290 B

History

  1. First recorded snapshot · 0 installs

SKILL.md

CRACK workflows in REDUCE

Docker readiness (when running in containers)

  • Confirm the CLI and daemon: docker --version then docker info.
  • If the daemon is down, start Docker Desktop (macOS: open -a Docker) and wait for docker info to succeed.
  • If you use Colima instead of Docker Desktop, start it with colima start and re-check docker info.
  • If you see permission denied ... docker.sock, rerun with elevated permissions or fix socket access.

Quick start (batch mode)

% Declare dependencies for all unknown functions

depend f, x, y;
depend g, x;

% Call crack with equations, inequalities, unknowns, extra vars
crack({eq1, eq2}, {}, {f, g}, {});

Before you call CRACK

  • Always declare functional dependence with depend for every unknown function.
  • Unknown functions must appear polynomially in the equations.
  • Keep parametric functions out of the {fun1,...} list; declare their dependencies and include any extra independent variables in the 4th argument.
  • If you need interactive control, set off batch_mode; before calling crack.

Batch vs interactive control

  • Batch mode runs modules in proc_list automatically.
  • Interactive mode lets you inspect, choose equations, and run modules step by step.
  • A hybrid approach is to insert stop batch into proc_list so you can switch to interactive once safe steps are done.

Always explain results in natural language

After any CRACK run, summarize the output clearly:

  • State what CRACK was solving (e.g., determining equations for Lie symmetries).
  • Report the number of solutions returned and whether there were case splits.
  • For each solution, list:

- remaining conditions, - solved assignments for functions, - remaining free functions/constants, - nonzero assumptions.

  • Explain what free functions mean (underdetermined/infinite-dimensional families).
  • If CRACK returns {} or contradictions, say that no solutions exist under the given assumptions.
  • Connect to PDE theory: these solutions typically determine infinitesimals of symmetry generators, which enable similarity reduction, invariant solutions, and conservation-law derivations.

Use the reference guide for details

Open resources/crackmanualsynopsis.md for:

  • the full interactive command set,
  • module numbers and behavior,
  • strategy notes and troubleshooting,
  • global flags and tuning parameters.

When CRACK is used inside ReLie

ReLie calls CRACK inside reliesolve(). If ReLie stalls or returns partial solutions:

  • enable CRACK verbosity in ReLie (onprintcrack()),
  • run the staged pipeline (relieinit, relieinv, reliedet) and inspect the determining equations,
  • then solve interactively with CRACK if needed.