Skip to content

DavisPL-Teaching/189c-hw2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Homework 2: Z3 and Satisfiability

Due date: Friday, May 3

Getting started

You will need to have Z3 installed; see Homework 0. To double check, run z3 --version, you should get something like:

Z3 version 4.13.0 - 64 bit

(a different version is probably OK.) You may need to pip3 install z3-solver if you are using codespaces or if you are on a fresh machine.

As with HW1, you will submit your homework through GitHub Classroom. Clone your copy of the repository, then push your changes to GitHub before the deadline. Please see this Piazza post for further instructions.

Assignment

Like HW1, there are three parts to the assignment and a fourth part that is extra credit:

  • Part 1 is a series of mini exercises.
  • Part 2 is a solver for the "four numbers" game that we played on the first day of class.
  • Part 3 explores some of the limitations of Z3.
  • Part 4 (optional) explores an application of Z3 to writing compiler optimizations.

There is also a helper file, helper.py that contains some useful functions when working with Z3.

To continue, open and edit the files part1.py, part2.py, and part3.py.

Getting help

If you get stuck, take a look at the file hints.md for some hints. Please also don't hesitate to ask questions on Piazza or drop by office hours!

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages