// Generic rules for parts .decl part_category(part: symbol, category: symbol) part_category(part, category) :- part_main_category(part, category). part_category(part, parent) :- part_category(part, category), category(category, _, parent, _), parent != "". .output part_category