Question: For this assignment you will implement a number of Boolean functions, such as implies, nand, etc. In this assignment you will implement several Boolean


For this assignment you will implement a number of Boolean functions, such as implies, nand, etc. In this assignment you will implement several Boolean functions that will later enable you to compute their truth tables. In addition, you will implement a function that creates all combinations of Boolean values for n variables. a) Boolean functions You are provided with a set of Boolean functions to implement. You will create the bodies for these 2 parameter functions, such that they return the appropriate Boolean value (True or False). The formal parameters are always p and q (in that order). The code provides the specification of the Boolean functions that need to be implemented. b) Truth-table inputs The function make_tt_ins (n) will create all combination of Boolean values for n variables, which is the input that needs to be provided for a truth table with n variables. For example make_tt_ins (2) needs to return [[False, False], [False, True], [True, False], [True, True]] Note that we do not care about the order, so [[True, True], [False, False], [False, True], [True, False]] is also valid output. Since the input for a truth table has 2^n entries, the output for this function is a list with 2^n elements, each of which is a list of n Boolean values. We suggest to solve this problem recursively: use the list generated by makettins(n-1) and update it accordingly by appending True/False to each row. For the base case (n=-1) you should return [[False], [True]] Two functions are provided: run(f) and main, so that you can test your code. python3 PA2.py tests your Boolean function python3 PA2.py tt tests your function make_tt_ins ( ) 485062.3373508.xxy7 PA2: Boolean functions and truth-table inputs For PA2 you will implememnt a number of Boolean functions, such as implies, nand, etc. a) Boolean functions You are provided with a set of Boolean functions to implement. You will create the bodies for these 2 parameter functions, such that they return the appropriate Boolean value (True or False). The formal parameters are always p and q (in that order) Notice the difference between nIMPnq and nqIMPnP: In npIMPnQ you return not p implies not q (not first param implies not second param), for example npIMPnQ (True, False) returns True. In nqIMPnp you return not q implies not p (not second param implies not first param), for example nqIMPnp (True, False) returns False. b) Truth-table inputs The function make_tt_ins (n) will create all combinations of n Boolean variables. The output is in the form of a list, each element of which is a list with n Boolean values. For example, make_tt_ins (2) should return [[False, False], [False, True], [True, False], [True, True]] Two functions are provided: run(f) and main, so that you can test your code. python3 PA2.py tests your Boolean function python3 PA2.p=y tt tests your function make_tt_ins( )
Step by Step Solution
3.45 Rating (158 Votes )
There are 3 Steps involved in it
To implement the Boolean functions and the truth table input generator in Python you can follow the ... View full answer
Get step-by-step solutions from verified subject matter experts
