TYPE COUNTRY POSSREP { Country CHAR }; TYPE CITY UNION; TYPE CITYNAME IS { CITY POSSREP { City CHAR } }; TYPE NOCITY IS { CITY POSSREP {} }; TYPE PROVINCE UNION; TYPE PROVINCENAME IS { PROVINCE POSSREP { Province CHAR } }; TYPE NOPROVINCE IS { PROVINCE POSSREP {} }; TYPE RATIONALTYPE UNION; TYPE RATDATA IS { RATIONALTYPE POSSREP { Data RATIONAL } }; TYPE NORATDATA IS { RATIONALTYPE POSSREP {} }; TYPE INTEGERTYPE UNION; TYPE INTDATA IS { INTEGERTYPE POSSREP { Number INTEGER } }; TYPE NOINTDATA IS { INTEGERTYPE POSSREP {} }; VAR Country REAL RELATION { Country COUNTRY, Name CHAR, Capital CITY, Province PROVINCE, Area RATIONALTYPE, Population INTEGERTYPE } KEY {Country}; VAR Province REAL RELATION { Province PROVINCE, Country COUNTRY, Population INTEGERTYPE, Area INTEGERTYPE, Capital CITY, CapProv PROVINCE } KEY {Province, Country}; CONSTRAINT PROVINCE_FKEY1 Province {Country} <= Country {Country};