Extensions of boolean operators and their closure

A topic I’ve been pondering lately is the extension of the And, Or, Not and Implication operators from the binary set 01 to the reals, and how that extension might be carried out.

This is something which is done in fuzzy logic, but the Fuzzy Logic extension, while following all of the axioms of Boolean operators, is useless for real-valued mathematics.

The fuzzy extensions:
$a \wedge b = Max(a,b)$
$a \vee b = Min(a,b)$
$\neg a = 1-a$

The Max and Min functions destroy any analytical power this system would have. There are some neat things in fuzzy logic, but for my purposes I have moved on to a different set of extensions which breaks a lot of the axioms, and does not confine values to [0, 1].

I don’t believe there is any alternative to the above which keeps all of the axioms of the Boolean system. Any continuous non-constant function for and or or will break some of the consequences of the axioms. So I decided to break them anyway and explore my alternate system for its properties.

My System of Extensions
$a \wedge b = a * b$
$a \vee b = a + b - a * b$
$\neg a = 1- a$

The and has its most basic continuous definition with multiplication, and the negation keeps the definition from fuzzy logic. To define the Or extension I use De Morgan’s laws.

De Morgan derivation of Or extension

$\neg (\neg a \wedge \neg b) = 1 - ((1-a) * (1-b)) = 1 - (1 - a - b + ab) = a + b - ab$

Using these operators you can create some polynomials but not all. In fact, it is impossible to express the function f(x, y) = x + y using these operators. So the next thing I was interested in is what set of polynomials can be expressed using this system.

And and Or both create polynomials of a larger degree than their operands. And Not is its own inverse, so it can only be applied once to a given polynomial to create another of the same degree.

Because Or is defined in terms of And and Not, we don’t need to consider it for the algebraic closure over these extensions.

Therefore the algebraic closure can be calculated by the following infinite process:

1. x is an element of the closure.
2. if m is an element and n are an element then m * n is an element.
3. if m is an element then 1 – m is an element

At first I thought it would be closed over the following set of polynomials:

(1-x)^m * x^n  or 1 – (1-x)^m * x^n

But the following polynomial construction shows why that set does not cover all of the elements in the closure.

$-x^2 +1 = 1 - x^2 = 1 - x * x$
Its constructible using  ( x is an element, x * x is an element, 1 – x * x is an element.).

$-x^3 + x = x * (-x^2 + 1)$
Its constructible from the above element, but it does not fit the form. Therefore the set formed above is not the closure.

I’m not sure what tools are used to find out things like this, so I haven’t made much progress, but it is an interesting question.