solve

override fun solve(goal: Struct, options: SolveOptions): Sequence<Solution>

Solves goal, returning a (possibly infinite) Sequence of Solutions, computed according to options.

Whether solutions are computed as the sequence is consumed, or eagerly ahead of time, depends on SolveOptions.isLazy; how many solutions are produced is capped by SolveOptions.limit, and the overall resolution process is capped in time by SolveOptions.timeout.