Skip to main content
edited body
Source Link
Theraot
  • 266
  • 1
  • 10
X: Dogs are animals Y: "It is true that Dogs are animals" <=> AX is True X <=> Y ---------- X <=> X is True 
Z: What I say is True AND I say AX is True 
Z: (AX is True) is True AND AX is True 

Since we have seen that AX is equivalent to AX is True, we can reduce it:

X: Dogs are animals Y: "It is true that Dogs are animals" <=> A is True X <=> Y ---------- X <=> X is True 
Z: What I say is True AND I say A is True 
Z: (A is True) is True AND A is True 

Since we have seen that A is equivalent to A is True, we can reduce it:

X: Dogs are animals Y: "It is true that Dogs are animals" <=> X is True X <=> Y ---------- X <=> X is True 
Z: What I say is True AND I say X is True 
Z: (X is True) is True AND X is True 

Since we have seen that X is equivalent to X is True, we can reduce it:

added 1083 characters in body
Source Link
Theraot
  • 266
  • 1
  • 10

Wait again! At the first part we showed the value of A can't be False. Let's remember why...

If A were False that would mean that:

B: A is False 

Is True, so:

A: B is True 

Is also True, contradicting our initial assumptions. What does this mean?

This means that our mechanism to extend A: B is True to B is True AND A is True is flawed. And therefore our conclution that A is False is also flawed.

At this point I could invoke the easy way out and say that A is Undefined, which just a way to say that asigning any value to it causes consistency problems (ie. It introduces contradictions).

But there is one more thing I want to do. Allow me to get back to this expression:

A: (A is False AND B is True) is True AND A is True 

Now, What would happen to it if B were Unknown?

A: (A is False AND Unknown) is True AND A is True => A: A is False AND Unknown AND A is True => A: A is False AND A is True AND Unknown => A: False AND Unknown => A: False 

Does it mean that A is False because B is True is False because B is Unknown?

I'll leave you at that.


Wait again! At the first part we showed the value of A can't be False. Let's remember why...

If A were False that would mean that:

B: A is False 

Is True, so:

A: B is True 

Is also True, contradicting our initial assumptions. What does this mean?

This means that our mechanism to extend A: B is True to B is True AND A is True is flawed. And therefore our conclution that A is False is also flawed.

At this point I could invoke the easy way out and say that A is Undefined, which just a way to say that asigning any value to it causes consistency problems (ie. It introduces contradictions).

But there is one more thing I want to do. Allow me to get back to this expression:

A: (A is False AND B is True) is True AND A is True 

Now, What would happen to it if B were Unknown?

A: (A is False AND Unknown) is True AND A is True => A: A is False AND Unknown AND A is True => A: A is False AND A is True AND Unknown => A: False AND Unknown => A: False 

Does it mean that A is False because B is True is False because B is Unknown?

I'll leave you at that.

Source Link
Theraot
  • 266
  • 1
  • 10

Allow me to interpretate your "problem"...

A: B is True B: A is False 

It says that A has the same truth value of B is True. That is, if B is True is True then A is True and if B is True is False then A is false. Also B and A is False have the same relationship.

Now, Of course, B is True will be true, if and only if, B is True. Similary A is False will be True, if and only if A is False.

By the above means we can restate the "problem" like this:

A <=> (B <=> True) B <=> (A <=> False) 

At this point, we could reduce B <=> True to just B and also reduce A <=> False to ¬ A. That will result in saying:

A <=> B B <=> ¬A 

And then:

A <=> ¬A 

And that was a good experiment. Yet that only works if we are using only two truth values. Instead I want to solve this for any set of truth values that includes True and False. So let's get back to my original restatement:

A <=> (B <=> True) B <=> (A <=> False) 

And now, in the first expression we are going to replace B by its equivalence:

A <=> ((A <=> False) <=> True) 

Ah, that's a recursive expression. It says that in order to know the truth value of A we first need to know the truth value of A.

So, let's test possible truth values of A:

  • If A is True, then A <=> False is False and therefore (A <=> False) <=> True would be False.
  • If A is False, then A <=> False is True and therefore (A <=> False) <=> True would be True.

Clearly, it can't be solve with only True and False. So, I'll turn to Three-valued logic. Let's call the third logic value Unknown and it is defined as follows:

(Unknown <=> ¬Unknown) <=> True 

Yes, we are using Kleene's logic. Now if A is Unknown, then A <=> False would be Unknown and therefore (A <=> False) <=> True would be Unknown.

So, in Kleene's logic the value of A is Unknown (And B is also Unknown).

Yet, actually what I have just demostrated is that the value of A can't be True and that the value of A can't be False. So we are left in the realm of Three-valued logic, fuzzy logic and similars to assert the matter.


Wait! the matter is not over. You'll see, I've expressed the problem using equivalence to avoid the matter that you are using expressions that talk about expressions. And there are other ways to resolve that...

A good way to solve this is by noting that any statement is automatically saying that itself is true. For example, if I say:

Dogs are animals 

It is equivalent to say:

It is true that dogs are animals 

And there I have an expression that talks about expression. It is saying that the expression dogs are animals is true. Let me put it another way:

X: Dogs are animals Y: "It is true that Dogs are animals" <=> A is True X <=> Y ---------- X <=> X is True 

By similar means we can also say:

What I say is True: dogs are animals. 

And it should also be equivalent. Leading us to:

Z: What I say is True: dogs are animal Z <=> X 

Of course, Z in its current form isn't good to work with. We need to get rid of the colon (":") which actually is just enunciating what is being said:

Z: What I say is True AND I say dogs are animals 

Now, we can replace X

Z: What I say is True AND I say A is True 

And finally replace what is being said:

Z: (A is True) is True AND A is True 

Since we have seen that A is equivalent to A is True, we can reduce it:

Z: X is True AND A is True 

And reduce it again:

Z: X AND A is True 

We could, evidently reduce it down to Z: X AND X which shows that X <=> Z (which is where we started). But that's not the intention of that exercise. The intention is to show that any statement X can be reexpresed as X AND X is True.

Thanks to that, we can restate your "problem" like this:

A: B is True AND A is True B: A is False AND B is True 

Should we replace in the first statement B with its equivalence? Sure:

A: (A is False AND B is True) is True AND A is True 

Now, let's reduce it:

A: A is False AND B is True AND A is True 

Hmm... reorder it for clarity...

A: A is False AND A is True AND B is True 

Ah, we have A is False AND A is True which evidently is False, so let's replace it:

A: False AND B is True 

That False nullifies the conjunction. So...

A: False 

And now we can replace it in A is False AND B is True:

A: False B: A is False AND B is True --------- B: False is False AND B is True 

Well, False is False in deed. So:

B: True AND B is True 

That's idempotence right there, so we can reduce it:

B: B is True 

Well... I don't know if B is True. Let's try possible values:

  • If B is True then B is True is True.
  • If B is False then B is True is False.

So, B can be either True or False. Or can it? Really B: B is True is not giving us any useful information, it just like x = x. Yet, we have showed that A is False and sice A is defined as B is True we can deduce that B is not True. If we are confined to only two truth values, then B must be False.

In that case, we don't have a paradox, just a fallacy.

Still even if B is not True it doesn't mean it is False because it may mean that you should use more truth values.