# Logic as algebra, supertruth, superfalsity, paraconsistent logic

### An abstract view of our various logics as algebraic systems, each a space of truth values equipped with its logical operations. How do they embed in or project to one another?

A somewhat more abstract perspective on multi-valued propositional logic might be clarifying, for it can unify some of the features we are seeing in the particular logics we have discussed. Define that *a truth-functional logic* for a specific language of logical connectives is a set ℒ of truth values, together with an interpretation of those logical connectives as actual functions from ℒ to ℒ. For example, with the standard language of propositional logic, we would view negation ¬ as a function from ℒ to itself, and conjunction ∧ as a binary function from ℒ to ℒ, and similarly with the other connectives. Classical logic, Kleene logic, Łukasiewicz logic, and fuzzy logic are each truth-functional logics in this sense (but not supervaluation logic).

In any truth-functional logic, we have a unique way to calculate the truth-value of any propositional assertion in the language generated by the fundamental connectives. The truth of a compound assertion is determined by iterated applications of the fundamental connectives through the parse tree.

In this abstract setting, we can say that one logic ℒ is a *sublogic* of another logic ℒ *, if the truth values of ℒ are contained within the truth values of ℒ * and the logical operations in the two logics agree on those common truth values. This is the sense in which classical logic is a sublogic of Kleene logic, since Kleene logic agrees with classical logic on the classical rows of the truth table. And Kleene logic is a sublogic of fuzzy logic (if we identify F, #, T with 0, 1/2, 1), since the fuzzy logic calculations agree with Kleene logic on those rows. When one logic ℒ is a sublogic of another ℒ *, then for every propositional assertion φ in the language generated by the fundamental connectives, the two logics will agree on the truth value of φ, when the variables take their values from the smaller logic. This fact generalizes our earlier observation that on any classical row, the Kleene logic value of a propositional assertion is classical.

### Logical homomorphisms

Let us suppose that we have two logics ℒ and ℒ *, in the basic language with just { ∧, ∨, ¬ }, for simplicity. A *logical homomorphism* is a function *v* mapping the truth values of ℒ to those of ℒ * that furthermore carries the logical operations of ℒ to those of ℒ * in the sense that:

## Keep reading with a 7-day free trial

Subscribe to Infinitely More to keep reading this post and get 7 days of free access to the full post archives.