Dave is furry. Dave is quiet. Dave is red. Dave is rough. Dave is smart. Dave is white. Harry is quiet. Big things are smart. If something is quiet and smart then it is white. If something is big and not quiet then it is furry. If something is red and not big then it is not rough. All quiet things are rough. If something is quiet and not furry then it is red. Rough things are red. If something is rough and not smart then it is not red.
Dave is furry.
("Dave" "is" "furry" "+")
Dave is quiet.
("Dave" "is" "quiet" "+")
Dave is red.
("Dave" "is" "red" "+")
Dave is rough.
("Dave" "is" "rough" "+")
Dave is smart.
("Dave" "is" "smart" "+")
Dave is white.
("Dave" "is" "white" "+")
Harry is quiet.
("Harry" "is" "quiet" "+")
Big things are smart.
((("something" "is" "big" "+")) -> ("something" "is" "smart" "+"))
If something is quiet and smart then it is white.
((("something" "is" "quiet" "+") ("something" "is" "smart" "+")) -> ("something" "is" "white" "+"))
If something is big and not quiet then it is furry.
((("something" "is" "big" "+") ("something" "is" "quiet" "~")) -> ("something" "is" "furry" "+"))
If something is red and not big then it is not rough.
((("something" "is" "red" "+") ("something" "is" "big" "~")) -> ("something" "is" "rough" "-"))
All quiet things are rough.
((("something" "is" "quiet" "+")) -> ("something" "is" "rough" "+"))
If something is quiet and not furry then it is red.
((("something" "is" "quiet" "+") ("something" "is" "furry" "~")) -> ("something" "is" "red" "+"))
Rough things are red.
((("something" "is" "rough" "+")) -> ("something" "is" "red" "+"))
If something is rough and not smart then it is not red.
((("something" "is" "rough" "+") ("something" "is" "smart" "~")) -> ("something" "is" "red" "-"))
Harry is quiet.
True
1
proof
[(triple7)]
("Harry" "is" "quiet" "+")
triple7
Dave is not smart.
False
1
inv-proof
[(triple5)]
("Dave" "is" "smart" "-")
triple5
Harry is rough.
True
2
proof
[(((triple7) -> rule5))]
("Harry" "is" "rough" "+")
((triple7) -> (rule5 % int1))
Harry is rough.
("Harry" "is" "rough" "+")
int1
Harry is not rough.
False
2
inv-proof
[(((triple7) -> rule5))]
("Harry" "is" "rough" "-")
((triple7) -> (rule5 % int1))
Harry is rough.
("Harry" "is" "rough" "+")
int1
Harry is red.
True
3
proof
[(((((triple7) -> rule5)) -> rule7))]
("Harry" "is" "red" "+")
((((triple7) -> (rule5 % int2))) -> (rule7 % int1))
Harry is red.
("Harry" "is" "red" "+")
int1
Harry is rough.
("Harry" "is" "rough" "+")
int2
Harry is not red.
False
3
inv-proof
[(((((triple7) -> rule5)) -> rule7))]
("Harry" "is" "red" "-")
((((triple7) -> (rule5 % int2))) -> (rule7 % int1))
Harry is red.
("Harry" "is" "red" "+")
int1
Harry is rough.
("Harry" "is" "rough" "+")
int2
Harry is not white.
Unknown
inv-rconc
[@2: Harry is white.[CWA. Example of deepest failure = (rule2 <- rule1 <- FAIL)]]
("Harry" "is" "white" "-")
Harry is smart.
Unknown
rconc
[@1: Harry is smart.[CWA. Example of deepest failure = (rule1 <- FAIL)]]
("Harry" "is" "smart" "+")
Harry is not furry.
Unknown
inv-rconc
[@1: Harry is furry.[CWA. Example of deepest failure = (rule3 <- FAIL)]]
("Harry" "is" "furry" "-")
Harry is big.
Unknown
random
[@0: Harry is big.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "big" "+")
@0: Dave is furry.[(triple1)] Dave is quiet.[(triple2)] Dave is red.[(triple3 OR ((triple4) -> rule7) OR ((((triple2) -> rule5)) -> rule7))] Dave is rough.[(triple4 OR ((triple2) -> rule5))] Dave is smart.[(triple5)] Dave is white.[(triple6 OR ((triple2 triple5) -> rule2))] Harry is quiet.[(triple7)] @1: Harry is rough.[(((triple7) -> rule5))] @2: Harry is red.[(((((triple7) -> rule5)) -> rule7))]
Dave is furry.
("Dave" "is" "furry" "+")
triple1
Dave is quiet.
("Dave" "is" "quiet" "+")
triple2
Dave is red.
("Dave" "is" "red" "+")
triple3
((triple4) -> (rule7 % int1))
Dave is red.
("Dave" "is" "red" "+")
int1
((((triple2) -> (rule5 % int2))) -> (rule7 % int1))
Dave is red.
("Dave" "is" "red" "+")
int1
Dave is rough.
("Dave" "is" "rough" "+")
int2
Dave is rough.
("Dave" "is" "rough" "+")
triple4
((triple2) -> (rule5 % int1))
Dave is rough.
("Dave" "is" "rough" "+")
int1
Dave is smart.
("Dave" "is" "smart" "+")
triple5
Dave is white.
("Dave" "is" "white" "+")
triple6
((triple2 triple5) -> (rule2 % int1))
Dave is white.
("Dave" "is" "white" "+")
int1
Harry is quiet.
("Harry" "is" "quiet" "+")
triple7
Harry is rough.
("Harry" "is" "rough" "+")
((triple7) -> (rule5 % int1))
Harry is rough.
("Harry" "is" "rough" "+")
int1
Harry is red.
("Harry" "is" "red" "+")
((((triple7) -> (rule5 % int2))) -> (rule7 % int1))
Harry is red.
("Harry" "is" "red" "+")
int1
Harry is rough.
("Harry" "is" "rough" "+")
int2