Easy Logic

You have heard a term "two-valued logic" in grammar or high school probably. It is an introduction logic where a statement takes one of two values, true or false. There is another expression where the true and false values correspond to integers 1 and 0. In Web world, since the expression is useful, we adopt it.
--- Let's start ---

Binary logic forms are followings;
1 term form: "operator" variable = variable, and,
2 term form: variable "operator" variable = variable.
Where the variable is “logical variable”. A logical variable is written as x,y,a,b,... and so on. The logical variable has a value (0 or 1), and has one expression (that is a sentence).
Example: Logical variable x: {0},{1+1=2}. It corresponds to a fact that "1+1=2" is false.
Hence, the logical form is nested, y: {0},{x: {0},{1+1=2}}.

We define “operator” here.
NOT: ~x =1-x=z,
OR: x|y =max(x,y) =x+y=z,
AND: x&y =min(x,y) =xy=z.
That’s all. Yes, the binary logic has 3 operators! The logic is complete.

Primitive operators {~, |, &, (, )} are complete set in the binary logic, and the operation order is () > ~ > & > |.
“&” can be omitted. Followings are derived operations.

Implication: x→y =~x|y =max(1-x,y)=z.
XOR: Exclusive OR: x%y =~xy|x~y =max{min(1-x,y),min(x,1-y)}=z.
Equivalence: x⇔y =~(x%y) =min{max(1-x,y),max(x,1-y)}=z.

De Morgan's laws are expressed as:
~(x|y)=~x~y; ~(xy)=~x|~y.
The law is a converter between “OR” and “AND”. So, we accept the law, the 2 operators are not independent.
1-max(x,y)=min(1-x,1-y), 1-min(x,y)=max(1-x,1-y).

OR: x|y =max(x,y) =1-min(1-x,1-y), Thus; OR→AND, NOT (It is called NAND.)
NOT: ~x =~(x|x) =1-max(x,x) =min(1-x,1-x), Thus; NOT→NAND.
Therefore; “NAND” is one operator, and it is complete. This is an important fact to reduce computer designs.

We extends the binary logic to three-valued one, that is {x}={0, 0.5, 1}. The primitive operators {~, |, &} have same expression for the binary logic.

Therefore; using implication: x→y =~x|y =max(1-x,y)=z, we get "0.5→0.5=0.5".  Isn't 0.5 strange by implicating the same logical value? Thinking in the same way, Lukasiewicz created a new three-valued logic expression that sets "0.5→0.5=1". Former expression is called as Kleene’s. 

The Lukasiewicz 3-valued logic is; 
Implication: x→y =min(1,1-x+y).
example: x→x=min(1,1-x+x)=1.
Operator set {→, ~} generate {|, &} operators.
(x→y)→ y =x|y, ~(~x|~y)=x &y.

(!) From here on, it's my view.
1. Lukasiewicz logic is correct if you define logical variables as scalar variable values.
2. If you think of the logical variable as a structural variable with a phenotype?
I believe Kleene logic is better. 

3. Moreover, when we extend the 3-valued to infinite-logic, under the relation “x→y=max(1-x,y)” we get “0.3→0.6=0.7”. The result is not acceptable. We wish to redefine “new implication-operation” as “x=>y=min{max(x,y), x→y}". Thus; “0.3=>0.6=0.6”.

I wrote this article because structure of the argument often takes "A-> B" type. (It is not the truth of content of sentences) What will happen to the truth value of the argument structure? I believe that is important.

この記事が気に入ったらサポートをしてみませんか?