Boolean reasoning appears to get much less attention than Boolean minimization in system design work. Are there any standard, classical examples of Boolean reasoning that are used to show their application in system and logic design?
Depends what you mean by "Boolean reasoning". The satisfiability community have a long tradition of benchmarking: see e.g. http://www.cril.univ-artois.fr/SAT11/bench
Books on mathematical logic and books with chapters on mathematical logic contain simple classical examples of “Boolean reasoning”.
If you are looking for a variety of more extensive examples, I suggest the following.
Chapters 2 and 8 of my book “The Language of Mathematics: Utilizing Math in Practice” contain a number of examples of various degrees of complexity and dealing with different application areas such as planning the digging of a canal, puzzles, comparing the energy in reflected sunlight and in excavated crude oil, playing a card game, designing controllers for a shopping mall door, a water reservoir and the locks on a canal, etc. Some are simple examples; some illustrate “application in system and logic design”. For a list of these examples, go to http://Language-of-Mathematics.eu. (1) Then go to the “publisher’s web page* for this book” and there, click on “Read an excerpt” and then “Table of Contents”. Then scroll to the entries for chapters 2 and 8. Alternatively, the table of contents can be accessed from the Amazon entry for the book (click on “Look inside”). (2) Go to “View comments and additional notes** on topics in this book”. There you will see an interesting example not in the book of translating two sentences in English into a Boolean mathematical expression.
Earlier I wrote 4 books on mathematically rigorous software design. They contain a number of examples of Boolean algebra applied to the specification, design and analysis of computer programs and subprograms for various tasks such as searching, sorting, merging, printing a report, playing a management game, etc. These books are out of print but available free of charge in pdf files. Go to http://home.rlbaber.de/books/books.html for more information and to download these books.
Thanks for the information and pointers to relevant work..
My question is embedded in a context that is a bit more constrained than the expansive references provided in your response.
As with all things, it might be better explained as a story.. a journey so to speak..
Much of my current focus is on how people approached computing and complex systems before the wide spread use of computers... prior to 1975 or 1980.
One individual that contributed to this subject area at this period of time was John N. Warfield. John's work was in analog computer, digital computer logic, complex system analysis and complexity control.
John did a significant amount of his mathematics work by hand using manual methods, no computer support. Boolean analysis is at the core of his research and publications. I have been creating computer programs and computer based approaches to duplicate, reproduce and validate some of his published work.
So the main focus of my current question is aimed specifically at specific types of Boolean reasoning.
I agree that Boolean reasoning is not well understood...
However, Boolean reasoning may have some advantages over predicate logic which is unguided and is not guaranteed to terminate in a forward chaining application...
I have downloaded the books and will take a look when I get a chance.
My specific interest at this time is the evaluation and exploration of Boolean functional consequents. This type of Boolean reasoning has received very little attention in the past.
It appears to me that some techniques for Boolean reasoning that were used in a manual process may be converted over to a computer based application.
Further, my current research indicates that the this type of logic may be applied with out computer languages designed specifically for logic computation (Prolog) or the use of rule based engines written in Lisp, Scheme, or other language.
This approach makes Boolean reasoning computing feasible with standard computing tools.
I am using SAGE math and Javascript at this time for the calculations and the initial results are good.
Joe: I do not really and fully understand what you mean by "Boolean reasoning" as opposed to "Boolean minimization" and predicate logic, etc. Perhaps a small example would help me to understand.
I view mathematical logic as just a part of normal mathematical expressions, e.g. common infix notation. Logic enters via logical functions such as and, or, negation, implication as well as the relational functions , =, etc., just as arithmetic enters via the functions sum, product, etc. Logic comes into mathematical notation simply via a few additional functions -- nothing more, nothing less.
There are two books that contain most of this material.
The first book is, "Boolean Reasoning: The logic of Boolean Equations," by Frank Markham Brown, Second Edition, 2003, Dover edition.
The second book is "Societal Systems: Planning, Policy, and Complexity," by John N. Warfield, 1976, John Wiley and Sons. Chapters 8 through 15 cover the mathematics of system structure.
Examples appear to be few and far between in this area... that is why I asked the original question.
However, Brown provides an example in Chapter 6 of his book that addresses deduction by consensus. The basis of this approach is taken from Blake's work in 1937, where he developed the theory of syllogistic Boolean formulas. The core of this work is the identification of the prime implicant set and the elimination of “opposing” implicant terms. Given a Boolean formula in Blake Canonical Form (BCF), then the terms of a sum of products (SOP) formula like: w'x'yz + xy'z + wy'z + wyz + xyz' + wxz + wx'z + wx would be reduced to:
w'x'yz + xyz' + xyz' + wx
Anyway I suggest Boolean Reasoning book by Brown.
I am looking for and preparing to create a simple set of examples.
If w and z are both true (1), then the first expression above is true for all x, but the second expression is not. The second expression is false if w is true and x is false (0). The term wz seems to me to be missing from the second expression above.
I will look into Brown's book on Boolean Reasoning if I can find the book in my vicinity.
I see that the expressions you have written contain Boolean variables only. In practical examples of designing systems, one must include other variables, also, such as variables whose values are states of the system or parts thereof, and often also numerical variables. One needs the complete range of types of variables and values, not just Boolean. Ultimately, the expressions are typically Boolean in the end, but not all subexpressions are Boolean.
Please refer the Chapter-8 (Boolean Algebras) in the book entitled DISCRETE MATHEMATICS AND GRAPH THEORY (authored by Satyanarayana and Syam Prasad) published by PHI (PRINTICE HALL OF INDIA), New Delhi 2009. You can find many problems and results with explanation
It is clear to me that you understand the Boolean operations presented in this case.
I also agree that systems design needs more than Boolean variables.
Classical systems engineering design methods like N-Squared Charts, Design Structure Matrices and Interpretative Structural Modeling use a matrix representation that represent a system structural connection with a 0 [no connection exists] or 1 [a connection exists]. Some of these classical methods include integer and real valued variables in the matrix content. Presenting different types of system information in the same matrix increases the complexity associated with the matrix analysis methods.
My basic idea is to create a set of symmetrical matrices [same square matrix dimensions], that each contain one type of information. A binary matrix that contains only 0 or 1, and uses Boolean operations, is called the marking space matrix and indicates the structural connections of the system of interest. Another matrix that contains integer or real valued variables , is called the value space matrix and provides a value map for the system of interest. The marking space matrix uses Boolean methods. The value space matrix uses variables of a type that support the current system analysis methods. A third matrix, the outcome space matrix is used to organize and communicate the outcome of operations on the combined marking space matrix and the value space matrix.
To find some instructive examples of understanding the concept of Boolean algebra, first we must take into account the Stone representation Theorem. From this theorem we get that a Boolean Algebra is just an algebra of sets. Thus the basic example of a Boolean algebra is the power set Boolean algebra. In classical logic the trivial Boolean algebra on {0,1} is the next example. A third basic example is “switching circuits”. See also the following reference about Minterm Analysis.
See: Chapter 2, Minterm Analysis, In: Paul E. Pfeiffer Applied Probability,