static L ai_triples_multi(Collection a, Collection b, Collection c, AbstractThoughtSpace ts) { new LinkedHashSet l; if (!empty(a) && !empty(b) && !empty(c)) for (Symbol _a : a) for (Symbol _b : b) for (Symbol _c : c) l.addAll(ai_triples(_a, _b, _c, ts)); ret cloneList(l); } static L ai_triples_multi(Symbol a, Collection b, Symbol c, AbstractThoughtSpace ts) { ret ai_triples_multi(ll(a), b, ll(c), ts); } static L ai_triples_multi(Collection a, Collection b, Symbol c, AbstractThoughtSpace ts) { ret ai_triples_multi(a, b, ll(c), ts); } static L ai_triples_multi(Collection a, Symbol b, Symbol c, AbstractThoughtSpace ts) { ret ai_triples_multi(a, ll(b), ll(c), ts); } static L ai_triples_multi(Symbol a, Symbol b, Collection c, AbstractThoughtSpace ts) { ret ai_triples_multi(ll(a), ll(b), c, ts); }