R/tsqca_core.R
collect_unique_i_sol.RdWhen dir.exp is specified and the minimization produces more than
one prime implicant chart (QCA's own C1, C2, ... indexing,
visible as "From C1P1, C2P1:" in print()), sol$i.sol
contains one list entry per chart/path combination (e.g. C1P1,
C2P1). Each entry's own $solution field is computed
independently by QCA::minimize() (via its internal
getSolution() call) and is NOT guaranteed to hold only that chart's
own model: depending on the data, it may already enumerate the full,
cross-chart set of tied minimal models. Concatenating every chart's
$solution list (the previous approach used here and in
generate_report()) therefore risks double- or N-fold counting the
same model, inflating the reported number of solutions.
collect_unique_i_sol(sol)A solution object returned by QCA::minimize().
A list of unique solution term-vectors, or NULL if none
were found.
This helper performs the same enumeration, then deduplicates by comparing each model's term set (order-independent), so structurally identical models are counted once regardless of which chart(s) produced them. This mirrors the manual "remove duplicate Boolean expressions" step that is standard practice when reporting multiple minimal solutions by hand.
When dir.exp is specified, the true Intermediate solution is stored in sol$i.sol, not sol$solution (which contains the Parsimonious solution).