Logic — math, philosophy & computational aspects

logic, math, philosophy, math games, math help, mathematical logic, philosophy of education, math facts

Dekedind's Problem – Monotone Boolean Functions

I was looking at Dekedend’s problem,
ie, calculate the number of monotone Boolean functions
having at most N variables.

I have no idea what monotone Boolean functions are good for.
Any hints would be appreciated.

A monotone Boolean function uses AND and/or OR but not NOT.
I’ve found a simple way to generate the truth tables for monotone functions.

The best way I’ve found to
actually calculate the number of such functions
is to generate all of the truth tables and count them.
I hope there is a better way.

Let M(n) be the number of monotone Boolean expressions.

Define M(0)=2.
These are the truth tables (TT) for the two monotone functions with 0
variables:

0 index position
————————-
1  True (T)
0  False (F)

To create the truth tables (TT) for N variable functions,
start with the TT of monotone functions having N-1 variables.

Put the first N-1 TT on the left side
of the N variable truth table.

Now combine each N-1 truth table with this first one
by putting each N-1 TT on the right side
of the N variable TT.

The TT on the right must be a subset of the TT on the left.
(I define subset such that a set is a subset of itself.)

All combinations of two N-1 TT that meet this subset criteria
are TT of N variable monotone Boolean functions.

M(1)=3

10 index of variable A
———————————
11  T
10  A
00  F

Note that 01 is not legal because 1 is not a subset of 0.

M(2)=6

1100  index B
1010  index A
—————–
1111  T
1110  A+B   (A OR B)
1100  B
1010  A
1000  AB   (A AND B)
0000  F

Note that 1011 is illegal because 11 is not a subset of 10.

M(3)=20

11110000  index of C
11001100  index of B
10101010  index of A
———————————
11111111  T
11111110  A+B+C
11111100  B+C
11111010  A+C
11111000  C+AB
11110000  C
11101110  A+B
11101100  B+AC
11101010  A+BC
11101000  AB+AC+BC
11100000  AC+BC
11001100  B
11001000  AB+BC
11000000  BC
10101010  A
10101000  AB+AC
10100000  AC
10001000  AB
10000000  ABC
00000000  F

A modification of this method can determine
if an arbitary truth table is a monotonic function.

Compare the left half of the TT to the right half.
The right half must be a subset of the left.
Now compare the left quarter of the the left half
to the right quarter of the left half.
The right quarter must be a subset of the left.
Continue dividing the TT and verify
that the right side is always a subset of the left.
If this is true for every combination then the function is monotone.

Russell
-2 many 2 count

Comment (1)




One Response to “Dekedind's Problem – Monotone Boolean Functions”

  1. admin says:

    On Fri, 12 Nov 1999 01:13:36 -0800, "Russell Easterly"

    <logic…@wolfenet.com> wrote:
    >I was looking at Dekedend’s problem, ie, calculate the
    >number of monotone Boolean functions having at most N
    >variables….

    Your post seemed familiar, so I did a search on the web, and
    found it.  I think it’s customary to cite your source when you
    essentially just copy someone else’s material.  Otherwise it
    gives the impression that you’re claiming it as your own, which
    I’m sure was not your intent.

Place your comment

You must be logged in to post a comment.