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 2n+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.