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