model InvariantExample class Ingredient attributes isVegan: Boolean isVegetarian: Boolean end class Meal attributes isVegan: Boolean isVegetarian: Boolean constraints inv VeganFoodIsAlsoVegetarian: self.isVegan implies self.isVegetarian inv VeganMealOnlyHasVeganIngredients: self.isVegan implies self.ingredient->forAll(i | i.isVegan) inv VegetarianMealOnlyHasVegetarianIngredients: self.isVegetarian implies self.ingredient->forAll(i | i.isVegetarian) end association partOf between Meal [0..1] Ingredient [1..*] end