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