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