vocabulary Address
;
/*
* Value Types */
City is written as String(64); Company Name is written as String; Family Name is written as String(20); Given Names is written as String(20); Number is written as String(12); Postcode is written as String; Street Line is written as String(64);
/*
* Entity Types */
Company is identified by its Name;
Family is identified by its Name;
Person is identified by Family and Given Names where
Person is of one Family, Family includes Person, Person has one Given Names;
Street is identified by first-Street Line and second-Street Line and third-Street Line where
Street includes one first-Street Line, Street includes at most one second-Street Line, Street includes at most one third-Street Line;
Address
is identified by street-Number and Street and City and Postcode where
Address is at at most one street-Number, Address is at one Street, Address is in one City, Address is in at most one Postcode restricted to {1000..9999}, Postcode is of Address;
Company has head office at at most one Address
; Person lives at at most one Address
;
/*
* Constraints: */
Street includes third Street Line
only if Street includes second Street Line;