SE424: Worksheet 1- Semantic Algebras
- Given the algebras of natural numbers and truth values (from lecture notes), simplify the following expressions, showing all steps in your simplification.
- ((six equals (two plus one)) ®
one  minus(three minus one)) plus two
- (two equals (true ®
one  two )) and true
- not (false) ®
not(true)  not (true)
- Complete the definition of the algebra for the payroll domain (page 3 of section 3 lecture notes) by defining these operations:
- Update-payrate: Rat x payroll ®
- Update-hours: Rat x payroll ®
Use the completed algebra to define a payroll stating that:
- Jane Doe has been assigned on payroll
- She is moved to the night shift
- She works 38 hours that week
- Use the algebra of dynamic array (with curried operators) and the algebra of payroll records to derive an algebra describing databases of payroll records. A database indexes employees by identity numbers. Operations should include ones for :
- Adding a new employee to a database
- Updating an employees statistics
- Producing a list of employee paychecks for all the employees of the database.
- Given the Domain Unit (lectures notes page 2 section 3) define an algebra for finite lists D* where Unit represents list of length zero, D represents a list of one element, DxD represents a list of length zero, D represents a list of one element and operations cons: D x D* ®
D*, hd: D* ®
D, tl: D* ®
D*, null: D* ®
Tr are defined.