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