Bob is red. Bob is smart. Charlie is big. Charlie is cold. Charlie is quiet. Charlie is not red. Charlie is rough. Charlie is smart. Dave is big. Dave is smart. Harry is blue. Harry is cold. Harry is quiet. Harry is red. Harry is rough. If something is big then it is smart. Rough, cold things are blue. All cold, red things are rough. All smart things are big. If Dave is quiet and Dave is not rough then Dave is blue. If something is smart and not big then it is quiet.
Bob is red.
("Bob" "is" "red" "+")
Bob is smart.
("Bob" "is" "smart" "+")
Charlie is big.
("Charlie" "is" "big" "+")
Charlie is cold.
("Charlie" "is" "cold" "+")
Charlie is quiet.
("Charlie" "is" "quiet" "+")
Charlie is not red.
("Charlie" "is" "red" "-")
Charlie is rough.
("Charlie" "is" "rough" "+")
Charlie is smart.
("Charlie" "is" "smart" "+")
Dave is big.
("Dave" "is" "big" "+")
Dave is smart.
("Dave" "is" "smart" "+")
Harry is blue.
("Harry" "is" "blue" "+")
Harry is cold.
("Harry" "is" "cold" "+")
Harry is quiet.
("Harry" "is" "quiet" "+")
Harry is red.
("Harry" "is" "red" "+")
Harry is rough.
("Harry" "is" "rough" "+")
If something is big then it is smart.
((("something" "is" "big" "+")) -> ("something" "is" "smart" "+"))
Rough, cold things are blue.
((("something" "is" "rough" "+") ("something" "is" "cold" "+")) -> ("something" "is" "blue" "+"))
All cold, red things are rough.
((("something" "is" "cold" "+") ("something" "is" "red" "+")) -> ("something" "is" "rough" "+"))
All smart things are big.
((("something" "is" "smart" "+")) -> ("something" "is" "big" "+"))
If Dave is quiet and Dave is not rough then Dave is blue.
((("Dave" "is" "quiet" "+") ("Dave" "is" "rough" "~")) -> ("Dave" "is" "blue" "+"))
If something is smart and not big then it is quiet.
((("something" "is" "smart" "+") ("something" "is" "big" "~")) -> ("something" "is" "quiet" "+"))
Harry is red.
True
1
proof
[(triple14)]
("Harry" "is" "red" "+")
triple14
Bob is not smart.
False
1
inv-proof
[(triple2)]
("Bob" "is" "smart" "-")
triple2
Charlie is blue.
True
3
proof
[(((triple7 triple4) -> rule2))]
("Charlie" "is" "blue" "+")
((triple7 triple4) -> (rule2 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Charlie is not blue.
False
3
inv-proof
[(((triple7 triple4) -> rule2))]
("Charlie" "is" "blue" "-")
((triple7 triple4) -> (rule2 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Bob is not quiet.
Unknown
inv-rconc
[@1: Bob is quiet.[CWA. Example of deepest failure = (rule6 <- FAIL)]]
("Bob" "is" "quiet" "-")
Harry is big.
Unknown
rconc
[@2: Harry is big.[CWA. Example of deepest failure = (rule4 <- rule1 <- FAIL)]]
("Harry" "is" "big" "+")
Dave is not cold.
Unknown
inv-random
[@0: Dave is cold.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "cold" "-")
Dave is red.
Unknown
random
[@0: Dave is red.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "red" "+")
@0: Bob is red.[(triple1)] Bob is smart.[(triple2)] Charlie is big.[(triple3 OR ((triple8) -> rule4))] Charlie is cold.[(triple4)] Charlie is not red.[(triple6)] Charlie is quiet.[(triple5)] Charlie is rough.[(triple7)] Charlie is smart.[(triple8 OR ((triple3) -> rule1))] Dave is big.[(triple9 OR ((triple10) -> rule4))] Dave is smart.[(triple10 OR ((triple9) -> rule1))] Harry is blue.[(triple11 OR ((triple15 triple12) -> rule2) OR ((((triple12 triple14) -> rule3) triple12) -> rule2))] Harry is cold.[(triple12)] Harry is quiet.[(triple13)] Harry is red.[(triple14)] Harry is rough.[(triple15 OR ((triple12 triple14) -> rule3))] @1: Bob is big.[(((triple2) -> rule4))] Charlie is blue.[(((triple7 triple4) -> rule2))]
Bob is red.
("Bob" "is" "red" "+")
triple1
Bob is smart.
("Bob" "is" "smart" "+")
triple2
Charlie is big.
("Charlie" "is" "big" "+")
triple3
((triple8) -> (rule4 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Charlie is cold.
("Charlie" "is" "cold" "+")
triple4
Charlie is not red.
("Charlie" "is" "red" "-")
triple6
Charlie is quiet.
("Charlie" "is" "quiet" "+")
triple5
Charlie is rough.
("Charlie" "is" "rough" "+")
triple7
Charlie is smart.
("Charlie" "is" "smart" "+")
triple8
((triple3) -> (rule1 % int1))
Charlie is smart.
("Charlie" "is" "smart" "+")
int1
Dave is big.
("Dave" "is" "big" "+")
triple9
((triple10) -> (rule4 % int1))
Dave is big.
("Dave" "is" "big" "+")
int1
Dave is smart.
("Dave" "is" "smart" "+")
triple10
((triple9) -> (rule1 % int1))
Dave is smart.
("Dave" "is" "smart" "+")
int1
Harry is blue.
("Harry" "is" "blue" "+")
triple11
((triple15 triple12) -> (rule2 % int1))
Harry is blue.
("Harry" "is" "blue" "+")
int1
((((triple12 triple14) -> (rule3 % int2)) triple12) -> (rule2 % int1))
Harry is blue.
("Harry" "is" "blue" "+")
int1
Harry is rough.
("Harry" "is" "rough" "+")
int2
Harry is cold.
("Harry" "is" "cold" "+")
triple12
Harry is quiet.
("Harry" "is" "quiet" "+")
triple13
Harry is red.
("Harry" "is" "red" "+")
triple14
Harry is rough.
("Harry" "is" "rough" "+")
triple15
((triple12 triple14) -> (rule3 % int1))
Harry is rough.
("Harry" "is" "rough" "+")
int1
Bob is big.
("Bob" "is" "big" "+")
((triple2) -> (rule4 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
Charlie is blue.
("Charlie" "is" "blue" "+")
((triple7 triple4) -> (rule2 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1