LOCAL
x : SET OF Representation_relationship;
END_LOCAL;
IF relation.rep_1 IN relatives THEN
RETURN (FALSE);
END_IF;
x := QUERY(r <* bag_to_set(USEDIN(relation.rep_1, 'AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.' + 'REPRESENTATION_RELATIONSHIP.' + 'REP_2')) | specific_relation IN TYPEOF(r));
REPEAT i := 1 TO HIINDEX(x);
IF NOT acyclic_representation_relationship(x[i], relatives + relation.rep_1, specific_relation) THEN
RETURN (FALSE);
END_IF;
END_REPEAT;
RETURN (TRUE);
LOCAL
the_set : SET OF GENERIC:intype := [];
i : INTEGER;
END_LOCAL;
IF SIZEOF(the_bag) > 0 THEN
REPEAT i := 1 TO HIINDEX(the_bag);
the_set := the_set + the_bag[i];
END_REPEAT;
END_IF;
RETURN (the_set);
IF ('AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.VIEW_DEFINITION_USAGE' IN TYPEOF(input\Item_shape.described_element)) THEN
RETURN (input\Item_shape.described_element\View_definition_relationship.related_view);
END_IF;
IF ('AP239_PRODUCT_LIFE_CYCLE_SUPPORT_ARM_LF.PRODUCT_OCCURRENCE_DEFINITION_RELATIONSHIP' IN TYPEOF(input\Item_shape.described_element)) THEN
RETURN (input\Item_shape.described_element\Product_occurrence_definition_relationship.related_view);
END_IF;
RETURN (?);