Chase (algorithm)¶
Rule-saturation procedure for reasoning about relational data dependencies.
Core Idea¶
The chase is database dependency reasoning by repeated rule application. From a relational instance or tableau, it finds an unsatisfied dependency premise, adds the tuple or equality that the rule requires, and continues until a fixed point, contradiction or appropriately qualified stopping state. The result can test dependency implication or lossless decomposition and can construct data-exchange or cleaning outcomes.
The canonical tableau calculation demonstrates why an equality dependency can turn a projection row into an all-distinguished row. LLUNATIC demonstrates a published implemented chase engine for tgds and egds. Neither case licenses a claim that every dependency set terminates or every database product uses the same variant.
How would you explain it like I'm…
Keep Fixing Until Happy
Rule-Fixing Loop
Dependency Chase Procedure
Scope of Application¶
This is the database-theory chase, not any recursive query or automated data edit.
- Schema design. Test lossless decompositions under dependencies.
- Dependency implication. Determine whether constraints force another constraint.
- Data exchange. Populate targets from source-to-target rules.
- Data cleaning. Find and repair constraint violations under a chosen semantics.
Clarity¶
The chase starts with relational data or a tableau, finds a dependency violation, applies the required equality or tuple step, and repeats under a named variant. A simple functional-dependency tableau proves a lossless join; LLUNATIC implements chase variants for data exchange and cleaning. No universal termination claim follows.
Manages Complexity¶
Rule saturation turns many interacting dependencies into a trace of justified local updates. The trace can certify a structural property when the variant's conditions hold; unrestricted cases can generate new witnesses indefinitely or several repair alternatives, so stopping and result semantics must be stated.
Abstract Reasoning¶
Specify state and rules, match a violated premise, apply the warranted update, iterate with an explicit stopping policy, then interpret only the conclusion that the variant supports.
Knowledge Transfer¶
Rule-saturation algorithms recur in logic and verification, but the database chase specifically operates over relational instances/tableaux and dependencies. A generic fixed-point iteration transfers the skeleton without becoming this algorithm.
Neighborhood in Abstraction Space¶
Chase (algorithm) sits in a crowded region of the domain-specific corpus (39th percentile for distinctiveness): several abstractions share nearly its structure, so a description that fits it tends to fit its neighbors too.
Family — Formal Systems & Discrete Structures (18 abstractions)
Nearest neighbors
- Double-Pushout Graph Rewriting — 0.89
- Generalized Büchi Automaton — 0.87
- Discrete system — 0.87
- Inference Rule — 0.87
- Constraint Grammar — 0.87
Computed from structural-signature embeddings · 2026-10-08