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