TheoryPartitioner
The partitions of a theory, for the workers of a distributed solver: each worker owns the rules of its partition, and builds on the arguments of the others as well (see it.unibo.tuprolog.argumentation.parallel.node.Catalog). The rules and premises that support one another (a premise of one unifies with the conclusion of another) are kept together as far as the number of partitions allows, so that fewer arguments travel between workers.
The rules are those the theory converts to (see the module parser): with their identifiers, their transpositions (autoTransposition), and the Prolog clauses argued (prologStrictCompatibility), each written back as a rule of arg2p. Everything else in the theory is shared by every partition (flags, preferences, conflicts, burdens, the Prolog predicates the rules check), but the flags of the conversion, already applied (the workers are told to apply them no further, whatever the profile). A theory with naturalTerms is left whole, in a single partition.
Functions
The partitions of theory, converted with flags and the flags of the theory: the groups of rules that support one another, or, given parts, that many partitions of about the same number of rules. A group larger than its share is first split where it joins parts that support nothing of one another (see joined), so that they are explored side by side; the groups are then packed together, and the largest partitions split in halves if there are still fewer than parts.