1. Given a student registration system for the University of ABC. The university has Fall, Spring and Summer semesters for undergraduate and graduate classes. The student can register or drop any course before the deadline. Late registration and drop will be penalized by a certain amount of payment. Each undergraduate student can register at most 5 courses and minimum 3 courses. Each graduate student can register at most 3 courses and minimum 2 courses. All of the courses can be registered online. Each course has certain capacity (you can assume any number, e.g., 30). Your task is to model this simple registration system using correct Z notation. You need to define data, two operations (*register* and *drop*) and corresponding schemas.

Note: Some Symbols that may be useful for this assignment:

Power set: Ã

Change/update of database: D book

No update of database: Xbook

First Order Logic:

Quantifiers:

There is at least one element p in the set of patron: $ p Î patron.

For all elements b in the set of book: ” b Î book.

Schema:

D patron

{< “Prof.”, Yujian Fu, 10111111, l, 0, l>, … }

/* set declaration is here */

/* constraints are defined here */

X ¹ ∆ ” $ Î £ ³ Ù Ú

1. Given a student registration system for the University of ABC. The university has Fall, Spring and Summer semesters for undergraduate and graduate classes. The student can register or drop any course before the deadline. Late registration and drop will be penalized by a certain amount of payment. Each undergraduate student can register at most 5 courses and minimum 3 courses. Each graduate student can register at most 3 courses and minimum 2 courses. All of the courses can be registered online. Each course has certain capacity (you can assume any number, e.g., 30). Your task is to model this simple registration system using correct Z notation. You need to define data, two operations (*register* and *drop*) and corresponding schemas.

Note: Some Symbols that may be useful for this assignment:

Power set:

Change/update of database: book

No update of database: book

First Order Logic:

Quantifiers:

There is at least one element p in the set of patron: p patron.

For all elements b in the set of book: b book.

Schema:

( Borrow-Success )

patron |

{< “Prof.”, Yujian Fu, 10111111, , 0, >, … } |

/* set declaration is here */ |

/* constraints are defined here */ |

∆