All the rules we have seen so far maintain connectedness. It is, however, straightforward to set up rules that do not. An obvious example is:

{{x, y}} -> {{y, y}, {x, z}}

RulePlot[ResourceFunction[
"WolframModel"][{{x, y}} -> {{x, z}, {y, y}}]]

Framed[#, FrameStyle -> LightGray] & /@
ResourceFunction[
"WolframModel"][{{x, y}} -> {{x, z}, {y, y}}, {{1, 2}}, 5,
"StatesPlotsList"]

At step *n*, there are 2^{n+1} components altogether, with the largest component having *n* + 1 relations.

Rules that are themselves connected can produce disconnected results:

{{x, y}} -> {{x, x}, {z, x}}

RulePlot[ResourceFunction[
"WolframModel"][{{x, y}} -> {{x, x}, {z, x}}]]

Framed[#, FrameStyle -> LightGray] & /@
ResourceFunction[
"WolframModel"][{{x, y}} -> {{x, x}, {z, x}}, {{1, 2}}, 3,
"StatesPlotsList"]

Rules whose left-hand sides are connected in a sense operate locally on hypergraphs. But rules with disconnected left-hand sides (such as {{*x*},{*y*}}→{{*x*,*y*}}) can operate non-locally and in effect knit together elements from anywhere—though such a process is almost inevitably rife with ambiguity.