Anne is blue. Anne is furry. Anne is round. Bob is furry. Bob is green. Bob is red. Charlie is blue. Charlie is furry. Charlie is red. Charlie is smart. Furry, young things are red. Furry things are red. If something is furry and blue then it is smart. All round things are red. If something is smart then it is furry. Round, smart things are young.
Anne is blue.
("Anne" "is" "blue" "+")
Anne is furry.
("Anne" "is" "furry" "+")
Anne is round.
("Anne" "is" "round" "+")
Bob is furry.
("Bob" "is" "furry" "+")
Bob is green.
("Bob" "is" "green" "+")
Bob is red.
("Bob" "is" "red" "+")
Charlie is blue.
("Charlie" "is" "blue" "+")
Charlie is furry.
("Charlie" "is" "furry" "+")
Charlie is red.
("Charlie" "is" "red" "+")
Charlie is smart.
("Charlie" "is" "smart" "+")
Furry, young things are red.
((("something" "is" "furry" "+") ("something" "is" "young" "+")) -> ("something" "is" "red" "+"))
Furry things are red.
((("something" "is" "furry" "+")) -> ("something" "is" "red" "+"))
If something is furry and blue then it is smart.
((("something" "is" "furry" "+") ("something" "is" "blue" "+")) -> ("something" "is" "smart" "+"))
All round things are red.
((("something" "is" "round" "+")) -> ("something" "is" "red" "+"))
If something is smart then it is furry.
((("something" "is" "smart" "+")) -> ("something" "is" "furry" "+"))
Round, smart things are young.
((("something" "is" "round" "+") ("something" "is" "smart" "+")) -> ("something" "is" "young" "+"))
Anne is round.
True
1
proof
[(triple3)]
("Anne" "is" "round" "+")
triple3
Anne is not round.
False
1
inv-proof
[(triple3)]
("Anne" "is" "round" "-")
triple3
Charlie is not young.
Unknown
inv-rconc
[@1: Charlie is young.[CWA. Example of deepest failure = (rule6 <- FAIL)]]
("Charlie" "is" "young" "-")
Charlie is green.
Unknown
random
[@0: Charlie is green.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "green" "+")
@0: Anne is blue.[(triple1)] Anne is furry.[(triple2)] Anne is round.[(triple3)] Bob is furry.[(triple4)] Bob is green.[(triple5)] Bob is red.[(triple6 OR ((triple4) -> rule2))] Charlie is blue.[(triple7)] Charlie is furry.[(triple8 OR ((triple10) -> rule5))] Charlie is red.[(triple9 OR ((triple8) -> rule2) OR ((((triple10) -> rule5)) -> rule2))] Charlie is smart.[(triple10 OR ((triple8 triple7) -> rule3))] @1: Anne is red.[(((triple2) -> rule2) OR ((triple3) -> rule4) OR ((triple2 ((triple3 ((triple2 triple1) -> rule3)) -> rule6)) -> rule1))] Anne is smart.[(((triple2 triple1) -> rule3))] @2: Anne is young.[(((triple3 ((triple2 triple1) -> rule3)) -> rule6))]
Anne is blue.
("Anne" "is" "blue" "+")
triple1
Anne is furry.
("Anne" "is" "furry" "+")
triple2
Anne is round.
("Anne" "is" "round" "+")
triple3
Bob is furry.
("Bob" "is" "furry" "+")
triple4
Bob is green.
("Bob" "is" "green" "+")
triple5
Bob is red.
("Bob" "is" "red" "+")
triple6
((triple4) -> (rule2 % int1))
Bob is red.
("Bob" "is" "red" "+")
int1
Charlie is blue.
("Charlie" "is" "blue" "+")
triple7
Charlie is furry.
("Charlie" "is" "furry" "+")
triple8
((triple10) -> (rule5 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Charlie is red.
("Charlie" "is" "red" "+")
triple9
((triple8) -> (rule2 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
((((triple10) -> (rule5 % int2))) -> (rule2 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
int2
Charlie is smart.
("Charlie" "is" "smart" "+")
triple10
((triple8 triple7) -> (rule3 % int1))
Charlie is smart.
("Charlie" "is" "smart" "+")
int1
Anne is red.
("Anne" "is" "red" "+")
((triple2) -> (rule2 % int1))
Anne is red.
("Anne" "is" "red" "+")
int1
((triple3) -> (rule4 % int1))
Anne is red.
("Anne" "is" "red" "+")
int1
((triple2 ((triple3 ((triple2 triple1) -> (rule3 % int3))) -> (rule6 % int2))) -> (rule1 % int1))
Anne is red.
("Anne" "is" "red" "+")
int1
Anne is young.
("Anne" "is" "young" "+")
int2
Anne is smart.
("Anne" "is" "smart" "+")
int3
Anne is smart.
("Anne" "is" "smart" "+")
((triple2 triple1) -> (rule3 % int1))
Anne is smart.
("Anne" "is" "smart" "+")
int1
Anne is young.
("Anne" "is" "young" "+")
((triple3 ((triple2 triple1) -> (rule3 % int2))) -> (rule6 % int1))
Anne is young.
("Anne" "is" "young" "+")
int1
Anne is smart.
("Anne" "is" "smart" "+")
int2