From your question I understand that you are trying to make sure that every ApplicationRole of the SuperRole is from a different Application. This is how you do that in microflow:
First create a list of type Application (List > Create). Then loop through the ApplicationRoles (you might need to retrieve them first if you only have the SuperRole object). For each ApplicationRole, retrieve the Application using a retrieve activity (Object > Retrieve). Then, using a list operations (contains) activity (List > List operations) and an exclusive split, check whether the Application is already in the list of Applications. If so, you can break from the loop and return false. Otherwise, add the Application to the list of Applications (List > Change).
If I understand the question correctly, the best thing to do the following in the Iterator (that iterates over Application);
You can retrieve all ApplicationRoles by using a Retrieve activity in the microflow. After that, you can count the number of elements in the resulting list by using an aggregate activity (List > Aggregate). Choose Count as the function in the aggregate. The result is a number that you can compare to 1. This way you do not need to write a loop yourself.