abstract 0 .. * c1_date : string 0 .. * { [this != 0] } abstract 0 .. * c5_NorthAmericanCountry : clafer 0 .. * {} 0 .. * c6_Canada : c5_NorthAmericanCountry 1 .. 1 {} 0 .. * c7_USA : c5_NorthAmericanCountry 1 .. 1 {} 0 .. * c8_Mexico : c5_NorthAmericanCountry 1 .. 1 { abstract 0 .. * c9_Person : clafer 0 .. * { 0 .. * c10_Name : string 1 .. 1 {} 0 .. * c11_Surname : string 1 .. 1 {} 0 .. * c12_DateOfBirth : c1_date 1 .. 1 {} 1 .. * c13_Gender : clafer 1 .. 1 { 0 .. * c14_Male : clafer 0 .. 1 {} 0 .. * c15_Female : clafer 0 .. 1 {} } 1 .. 1 c16_MaritalStatus : clafer 1 .. 1 { 0 .. * c17_NeverMarried : clafer 0 .. 1 {} 0 .. * c18_Married : clafer 0 .. 1 {} 0 .. * c19_Divorced : clafer 0 .. 1 {} } 0 .. * c20_Address : clafer 1 .. 1 { 0 .. * c21_Street : string 1 .. 1 { 0 .. * c22_UnitNo : string 0 .. 1 {} } 0 .. * c23_City : string 1 .. 1 {} 0 .. * c24_Country -> c5_NorthAmericanCountry 1 .. 1 {} 0 .. * c25_PostalCode : string 1 .. 1 {} } } 0 .. * c26_JohnDoe : c9_Person 1 .. 1 { [this . c10_Name = 1 && this . c11_Surname = 2 && this . c12_DateOfBirth = 3 && some this . c13_Gender . c14_Male && some this . c16_MaritalStatus . c18_Married && this . c20_Address . c21_Street = 4 && this . c20_Address . c23_City = 5 && this . c20_Address . c24_Country = c6_Canada && this . c20_Address . c25_PostalCode = 6] } abstract 0 .. * c60_Student : c9_Person 0 .. * { 0 .. * c61_StudentId : string 1 .. 1 { } } abstract 0 .. * c62_WaitingLine : clafer 0 .. * { 0 .. * c63_participants -> c9_Person 0 .. * { } } 0 .. * c64_MaryJane : c60_Student 1 .. 1 { [this . c61_StudentId = 7] } 0 .. * c68_BusLine : c62_WaitingLine 1 .. 1 { [c26_JohnDoe in this . c63_participants && c64_MaryJane in this . c63_participants] } 0 .. * c76_JohnAndMaryLine : c62_WaitingLine 1 .. 1 { [this . c63_participants = c26_JohnDoe ++ c64_MaryJane] } 0 .. * c82_TwoPersonLine : c62_WaitingLine 1 .. 1 { [# this . c63_participants = 2] } 0 .. * c87_OneToTenPersonLine : c62_WaitingLine 1 .. 1 { [# this . c63_participants >= 1 && # this . c63_participants <= 7] }