How to build recursive predicates/functions in Alloy
问题 I am trying to generate in Alloy two sets of classes, for instance, classes before a refactoring application and classes after a refactoring application. Suppose in the first set we have the following classes: ALeft -> BLeft -> CLeft Class1 Class2 -> Class3 -> Class4 meaning that ALeft is the parent of BLeft which in turn is the parent of CLeft, Class1 and Class2, which in turn is the parent of Class3 and Class4. On the other hand, following the same reasoning, we have in the second set the