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