Journal blue trane's Journal: I'm beginning to understand why Goedel went crazy
Working on the Liar's paradox. I've done some work on it before. Reading Beyond AI, I decided to try it again with a slightly different approach: adding "modus ponens", so that I can say (to give a simple example): "if A is true, then B is true" and "A is true" and the program will automatically add "B is true" to its database of stored factoids.
What I want to do is tell my program:
A is "B is false"
B is "A is true"
then deduce from that that both A and B are both true and false.
Since the statements are self-referential, it is a real challenge to get my programs to deal with them without going into infinite loops.
The main problem I'm having right now is asking "is A true?" I can get the responses I want if I delineate "A" and "true", as in: 'is "A" "true"?'
But I can't yet get it to respond correctly when I drop the quotation marks...
My latest attempt (I'm getting tired, I'm going to leave it here and come back to it tomorrow, or sometime
---
C:\trane\liar>startliar
C:\trane\liar>cd logicagent
C:\trane\liar\logicagent>start ruby logicbotd.rb
C:\trane\liar\logicagent>cd
C:\trane\liar>cd ifagent
C:\trane\liar\ifagent>start ruby ifbotd.rb
C:\trane\liar\ifagent>cd
C:\trane\liar>ruby controlbot.rb
Reading remember.txt...
Hello
Reading rules.txt...
Dir = C:/trane/liar
> A is "B is false"
Okay, A is B is false.
> B is "A is true"
Okay, B is A is true.
> if "B is false", then "A is true" is false
Okay, B is false -> A is true is false.
> if "A is true" is false, then A is false
Okay, A is true is false -> A is false.
> if A is false, then "B is false" is false
Okay, A is false -> B is false is false.
> if "B is false" is false, then B is true
Okay, B is false is false -> B is true.
> is A true?
> logicagent: turn on debug mode
I have turned on debug output.
> is A true?
> is B true?
> logicagent: print graph
b is false is false
if b is false is false, then b is true
a is b is false
a is false
b is a is true
b is false
if a is false, then b is false is false
if b is false, then "a is true is false
if a is true is false, then a is false
a is true is false
> A is true
> B is false
> is A true?
> is "A" "true"?
Yes, A is true.
> is "B" "true"?
I have no knowledge that B is true.
> is B false?
Yes, B is false.
> is A false?
Yes, A is false.
> B is false
> is "B" "false"?
Yes, B is false.
>
I'm beginning to understand why Goedel went crazy More Login
I'm beginning to understand why Goedel went crazy
Slashdot Top Deals