propagators

Propagate monotone values across interdependent cells until fixpoint convergence.

60|13|Updated Dec 22, 2025
One-click install
npx skills add https://github.com/plurigrid/asi --skill propagators
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: propagators
Source: https://github.com/plurigrid/asi/tree/main/skills/propagators
Command: npx skills add https://github.com/plurigrid/asi --skill propagators

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Presents Sussman/Radul propagator networks for constraint propagation and bidirectional dataflow, enabling fixpoint computation without explicit control flow.

Core Features & Use Cases

  • Watch, compute, and propagate values until a fixpoint
  • Bidirectional constraints with monotonic updates
  • Examples in Python and Julia for educational and practical use

Quick Start

Create a small propagator network and run until no new information arises, following the patterns described in the SKILL.md.

Frequently Asked Questions about propagators

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do constraint propagators work for bidirectional dataflow?

Constraint propagators apply monotonic updates across interdependent cells until reaching a fixpoint. They watch cells, compute derived values, and push updates to neighbors automatically, eliminating explicit control flow. This enables bidirectional dataflow where information flows in both directions to resolve constraints.

When should I use propagators instead of building dataflow manually?

Use propagators when you have networks of interdependent values that must merge information and converge automatically. They handle concurrent, mergeable, and backtracking behavior without manual orchestration, making them ideal for constraint systems, numeric intervals, and symbolic reasoning.

What types of constraints can propagators handle?

Propagators solve constraints over monotone join-semilattice values, including numeric addition, symbolic intervals, and modular arithmetic constraints like GF(3). Any constraint system where values only increase or merge through a combining operation fits the propagator model.

Do I need specific mathematical background to use propagators?

Understanding monotonic updates and fixpoint computation helps, but the propagator framework handles the mechanics. Start with simple numeric or interval constraints; the provided Python and Julia examples demonstrate patterns without requiring deep theoretical knowledge.

How do propagators differ from traditional dependency graphs?

Propagators compute bidirectionally and reach fixpoint automatically without explicit scheduling. Traditional dependency graphs require manual topological sorting and control flow; propagators merge information from all directions until convergence, handling cycles and concurrent updates naturally.

Can propagators handle constraints that update in real time?

Yes, propagators support concurrent, mergeable updates. New information automatically triggers recomputation and propagation to dependent cells, making them suitable for live constraint systems where values change dynamically.