

Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
Material Type: Lab; Class: Program Verification; Subject: Computer Science; University: University of Illinois - Urbana-Champaign; Term: Fall 2006;
Typology: Lab Reports
1 / 2
This page cannot be seen from the preview
Don't miss anything!


Note: Answers to the exercises listed below should be handed to the instructor in hardcopy and in typewritten form (latex formatting preferred) by the deadline mentioned above. You should also email to ([email protected]) the Maude code for the exercises requiring that.
Use the rules of inference of Lecture 4 to give a detailed formal proof of each of the following theorems of group theory:
fmod NAT-MSET-MIN is sorts Nat NatMSet. subsort Nat < NatMSet. op 0 : -> Nat [ctor]. op s : Nat -> Nat [ctor]. op _ _ : NatMSet NatMSet -> NatMSet [assoc comm ctor]. op < : Nat Nat -> Bool. op min : NatMSet -> Nat. vars N M : Nat. var S : NatMSet. eq 0 < s(N) = true. eq s(N) < 0 = false. eq s(N) < s(M) = N < M. eq min(N N S) = min(N S). ceq min(N M S) = min(N S) if N < M. ceq min(N M) = N if N < M. eq min(N) = N. endfm
This module has two functions that are not completely defined, that is, such that when invoked on some ground terms do not reduce to constructors. (Note: for the sort Bool, the constructors are of course true and false). Do the following:
Include both a screenshot of your evaluation of problematic expressions in the original module as well as the correct specification in your answer. Also, send a file with the correct module to [email protected]. You can retrieve the module itself from the course web page.