Anne is green. Anne is nice. Anne is quiet. Anne is red. Anne is round. Anne is smart. Bob is big. Bob is green. Bob is quiet. Bob is red. Bob is round. Bob is smart. Dave is big. Dave is green. Dave is red. Harry is round. Smart people are round. All green people are smart. All green, nice people are smart. If someone is nice then they are round. Red, quiet people are round. If someone is quiet and nice then they are round. Nice, red people are round. If Harry is big then Harry is smart.
Anne is green.
("Anne" "is" "green" "+")
Anne is nice.
("Anne" "is" "nice" "+")
Anne is quiet.
("Anne" "is" "quiet" "+")
Anne is red.
("Anne" "is" "red" "+")
Anne is round.
("Anne" "is" "round" "+")
Anne is smart.
("Anne" "is" "smart" "+")
Bob is big.
("Bob" "is" "big" "+")
Bob is green.
("Bob" "is" "green" "+")
Bob is quiet.
("Bob" "is" "quiet" "+")
Bob is red.
("Bob" "is" "red" "+")
Bob is round.
("Bob" "is" "round" "+")
Bob is smart.
("Bob" "is" "smart" "+")
Dave is big.
("Dave" "is" "big" "+")
Dave is green.
("Dave" "is" "green" "+")
Dave is red.
("Dave" "is" "red" "+")
Harry is round.
("Harry" "is" "round" "+")
Smart people are round.
((("someone" "is" "smart" "+")) -> ("someone" "is" "round" "+"))
All green people are smart.
((("someone" "is" "green" "+")) -> ("someone" "is" "smart" "+"))
All green, nice people are smart.
((("someone" "is" "green" "+") ("someone" "is" "nice" "+")) -> ("someone" "is" "smart" "+"))
If someone is nice then they are round.
((("someone" "is" "nice" "+")) -> ("someone" "is" "round" "+"))
Red, quiet people are round.
((("someone" "is" "red" "+") ("someone" "is" "quiet" "+")) -> ("someone" "is" "round" "+"))
If someone is quiet and nice then they are round.
((("someone" "is" "quiet" "+") ("someone" "is" "nice" "+")) -> ("someone" "is" "round" "+"))
Nice, red people are round.
((("someone" "is" "nice" "+") ("someone" "is" "red" "+")) -> ("someone" "is" "round" "+"))
If Harry is big then Harry is smart.
((("Harry" "is" "big" "+")) -> ("Harry" "is" "smart" "+"))
Anne is nice.
True
1
proof
[(triple2)]
("Anne" "is" "nice" "+")
triple2
Dave is not red.
False
1
inv-proof
[(triple15)]
("Dave" "is" "red" "-")
triple15
Dave is smart.
True
2
proof
[(((triple14) -> rule2))]
("Dave" "is" "smart" "+")
((triple14) -> (rule2 % int1))
Dave is smart.
("Dave" "is" "smart" "+")
int1
Dave is not smart.
False
2
inv-proof
[(((triple14) -> rule2))]
("Dave" "is" "smart" "-")
((triple14) -> (rule2 % int1))
Dave is smart.
("Dave" "is" "smart" "+")
int1
Dave is round.
True
3
proof
[(((((triple14) -> rule2)) -> rule1))]
("Dave" "is" "round" "+")
((((triple14) -> (rule2 % int2))) -> (rule1 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1
Dave is smart.
("Dave" "is" "smart" "+")
int2
Dave is not round.
False
3
inv-proof
[(((((triple14) -> rule2)) -> rule1))]
("Dave" "is" "round" "-")
((((triple14) -> (rule2 % int2))) -> (rule1 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1
Dave is smart.
("Dave" "is" "smart" "+")
int2
Harry is not smart.
Unknown
inv-rconc
[@1: Harry is smart.[CWA. Example of deepest failure = (rule2 <- FAIL)]]
("Harry" "is" "smart" "-")
Anne is big.
Unknown
random
[@0: Anne is big.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "big" "+")
Dave is not nice.
Unknown
inv-random
[@0: Dave is nice.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "nice" "-")
Dave is quiet.
Unknown
random
[@0: Dave is quiet.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "quiet" "+")
Harry is not green.
Unknown
inv-random
[@0: Harry is green.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "green" "-")
Harry is quiet.
Unknown
random
[@0: Harry is quiet.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "quiet" "+")
@0: Anne is green.[(triple1)] Anne is nice.[(triple2)] Anne is quiet.[(triple3)] Anne is red.[(triple4)] Anne is round.[(triple5 OR ((triple2) -> rule4) OR ((triple6) -> rule1) OR ((triple2 triple4) -> rule7) OR ((triple3 triple2) -> rule6) OR ((triple4 triple3) -> rule5) OR ((((triple1) -> rule2)) -> rule1) OR ((((triple1 triple2) -> rule3)) -> rule1))] Anne is smart.[(triple6 OR ((triple1) -> rule2) OR ((triple1 triple2) -> rule3))] Bob is big.[(triple7)] Bob is green.[(triple8)] Bob is quiet.[(triple9)] Bob is red.[(triple10)] Bob is round.[(triple11 OR ((triple12) -> rule1) OR ((triple10 triple9) -> rule5) OR ((((triple8) -> rule2)) -> rule1))] Bob is smart.[(triple12 OR ((triple8) -> rule2))] Dave is big.[(triple13)] Dave is green.[(triple14)] Dave is red.[(triple15)] Harry is round.[(triple16)] @1: Dave is smart.[(((triple14) -> rule2))] @2: Dave is round.[(((((triple14) -> rule2)) -> rule1))]
Anne is green.
("Anne" "is" "green" "+")
triple1
Anne is nice.
("Anne" "is" "nice" "+")
triple2
Anne is quiet.
("Anne" "is" "quiet" "+")
triple3
Anne is red.
("Anne" "is" "red" "+")
triple4
Anne is round.
("Anne" "is" "round" "+")
triple5
((triple2) -> (rule4 % int1))
Anne is round.
("Anne" "is" "round" "+")
int1
((triple6) -> (rule1 % int1))
Anne is round.
("Anne" "is" "round" "+")
int1
((triple2 triple4) -> (rule7 % int1))
Anne is round.
("Anne" "is" "round" "+")
int1
((triple3 triple2) -> (rule6 % int1))
Anne is round.
("Anne" "is" "round" "+")
int1
((triple4 triple3) -> (rule5 % int1))
Anne is round.
("Anne" "is" "round" "+")
int1
((((triple1) -> (rule2 % int2))) -> (rule1 % int1))
Anne is round.
("Anne" "is" "round" "+")
int1
Anne is smart.
("Anne" "is" "smart" "+")
int2
((((triple1 triple2) -> (rule3 % int2))) -> (rule1 % int1))
Anne is round.
("Anne" "is" "round" "+")
int1
Anne is smart.
("Anne" "is" "smart" "+")
int2
Anne is smart.
("Anne" "is" "smart" "+")
triple6
((triple1) -> (rule2 % int1))
Anne is smart.
("Anne" "is" "smart" "+")
int1
((triple1 triple2) -> (rule3 % int1))
Anne is smart.
("Anne" "is" "smart" "+")
int1
Bob is big.
("Bob" "is" "big" "+")
triple7
Bob is green.
("Bob" "is" "green" "+")
triple8
Bob is quiet.
("Bob" "is" "quiet" "+")
triple9
Bob is red.
("Bob" "is" "red" "+")
triple10
Bob is round.
("Bob" "is" "round" "+")
triple11
((triple12) -> (rule1 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
((triple10 triple9) -> (rule5 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
((((triple8) -> (rule2 % int2))) -> (rule1 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
Bob is smart.
("Bob" "is" "smart" "+")
int2
Bob is smart.
("Bob" "is" "smart" "+")
triple12
((triple8) -> (rule2 % int1))
Bob is smart.
("Bob" "is" "smart" "+")
int1
Dave is big.
("Dave" "is" "big" "+")
triple13
Dave is green.
("Dave" "is" "green" "+")
triple14
Dave is red.
("Dave" "is" "red" "+")
triple15
Harry is round.
("Harry" "is" "round" "+")
triple16
Dave is smart.
("Dave" "is" "smart" "+")
((triple14) -> (rule2 % int1))
Dave is smart.
("Dave" "is" "smart" "+")
int1
Dave is round.
("Dave" "is" "round" "+")
((((triple14) -> (rule2 % int2))) -> (rule1 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1
Dave is smart.
("Dave" "is" "smart" "+")
int2