Is your question whether you can encode an infinite system of (structured) reactions with Catalyst? If so, unfortunately not at this time. Catalyst currently requires you to be able to enumerate all possible reactions that can occur (as does JumpProcesses’ Gillespie methods).
It sounds like you want something like a “network-free” method (that is the name often used in systems biology), which tracks each individual particle/chemical’s state and dynamical resolves the current set of possible reactions (which are always finite). That is something we’d like to add to both JumpProcesses and Catalyst, but it doesn’t exist as of now unfortunately. (You could probably put a solver together using JumpProcesses though by building custom ConstantRateJump
s to handle the reaction logic, but it doesn’t currently have a solver that can dynamically add / remove reactions from the system.)