Anne is not furry. Anne is quiet. Anne is rough. Bob is cold. Bob is round. Harry is quiet. Harry is red. If something is red then it is cold. If something is cold and not nice then it is round. All rough things are red. All quiet, round things are red. If something is cold and nice then it is quiet. Cold, red things are quiet. If something is round then it is furry. Cold things are rough.
Anne is not furry.
("Anne" "is" "furry" "-")
Anne is quiet.
("Anne" "is" "quiet" "+")
Anne is rough.
("Anne" "is" "rough" "+")
Bob is cold.
("Bob" "is" "cold" "+")
Bob is round.
("Bob" "is" "round" "+")
Harry is quiet.
("Harry" "is" "quiet" "+")
Harry is red.
("Harry" "is" "red" "+")
If something is red then it is cold.
((("something" "is" "red" "+")) -> ("something" "is" "cold" "+"))
If something is cold and not nice then it is round.
((("something" "is" "cold" "+") ("something" "is" "nice" "~")) -> ("something" "is" "round" "+"))
All rough things are red.
((("something" "is" "rough" "+")) -> ("something" "is" "red" "+"))
All quiet, round things are red.
((("something" "is" "quiet" "+") ("something" "is" "round" "+")) -> ("something" "is" "red" "+"))
If something is cold and nice then it is quiet.
((("something" "is" "cold" "+") ("something" "is" "nice" "+")) -> ("something" "is" "quiet" "+"))
Cold, red things are quiet.
((("something" "is" "cold" "+") ("something" "is" "red" "+")) -> ("something" "is" "quiet" "+"))
If something is round then it is furry.
((("something" "is" "round" "+")) -> ("something" "is" "furry" "+"))
Cold things are rough.
((("something" "is" "cold" "+")) -> ("something" "is" "rough" "+"))
Anne is rough.
True
1
proof
[(triple3)]
("Anne" "is" "rough" "+")
triple3
Anne is not quiet.
False
1
inv-proof
[(triple2 OR ((((((triple3) -> rule3)) -> rule1) ((triple3) -> rule3)) -> rule6))]
("Anne" "is" "quiet" "-")
triple2
((((((triple3) -> (rule3 % int3))) -> (rule1 % int2)) ((triple3) -> (rule3 % int3))) -> (rule6 % int1))
Anne is quiet.
("Anne" "is" "quiet" "+")
int1
Anne is cold.
("Anne" "is" "cold" "+")
int2
Anne is red.
("Anne" "is" "red" "+")
int3
Harry is cold.
True
2
proof
[(((triple7) -> rule1))]
("Harry" "is" "cold" "+")
((triple7) -> (rule1 % int1))
Harry is cold.
("Harry" "is" "cold" "+")
int1
Anne is not red.
False
2
inv-proof
[(((triple3) -> rule3))]
("Anne" "is" "red" "-")
((triple3) -> (rule3 % int1))
Anne is red.
("Anne" "is" "red" "+")
int1
Harry is rough.
True
3
proof
[(((((triple7) -> rule1)) -> rule8))]
("Harry" "is" "rough" "+")
((((triple7) -> (rule1 % int2))) -> (rule8 % int1))
Harry is rough.
("Harry" "is" "rough" "+")
int1
Harry is cold.
("Harry" "is" "cold" "+")
int2
Anne is not cold.
False
3
inv-proof
[(((((triple3) -> rule3)) -> rule1))]
("Anne" "is" "cold" "-")
((((triple3) -> (rule3 % int2))) -> (rule1 % int1))
Anne is cold.
("Anne" "is" "cold" "+")
int1
Anne is red.
("Anne" "is" "red" "+")
int2
Anne is not round.
Unknown
inv-rconc
[@1: Anne is round.[CWA. Example of deepest failure = (rule2 <- FAIL)]]
("Anne" "is" "round" "-")
Harry is round.
Unknown
rconc
[@1: Harry is round.[CWA. Example of deepest failure = (rule2 <- FAIL)]]
("Harry" "is" "round" "+")
Harry is not furry.
Unknown
inv-rconc
[@2: Harry is furry.[CWA. Example of deepest failure = (rule7 <- rule2 <- FAIL)]]
("Harry" "is" "furry" "-")
Bob is nice.
Unknown
random
[@0: Bob is nice.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "nice" "+")
Anne is not nice.
Unknown
inv-random
[@0: Anne is nice.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "nice" "-")
Harry is nice.
Unknown
random
[@0: Harry is nice.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "nice" "+")
@0: Anne is not furry.[(triple1)] Anne is quiet.[(triple2 OR ((((((triple3) -> rule3)) -> rule1) ((triple3) -> rule3)) -> rule6))] Anne is rough.[(triple3)] Bob is cold.[(triple4)] Bob is round.[(triple5)] Harry is quiet.[(triple6 OR ((((triple7) -> rule1) triple7) -> rule6))] Harry is red.[(triple7)] @1: Anne is red.[(((triple3) -> rule3))] Bob is furry.[(((triple5) -> rule7))] Bob is rough.[(((triple4) -> rule8))] Harry is cold.[(((triple7) -> rule1))] @2: Anne is cold.[(((((triple3) -> rule3)) -> rule1))] Bob is red.[(((((triple4) -> rule8)) -> rule3))] Harry is rough.[(((((triple7) -> rule1)) -> rule8))] @3: Bob is quiet.[(((triple4 ((((triple4) -> rule8)) -> rule3)) -> rule6))]
Anne is not furry.
("Anne" "is" "furry" "-")
triple1
Anne is quiet.
("Anne" "is" "quiet" "+")
triple2
((((((triple3) -> (rule3 % int3))) -> (rule1 % int2)) ((triple3) -> (rule3 % int3))) -> (rule6 % int1))
Anne is quiet.
("Anne" "is" "quiet" "+")
int1
Anne is cold.
("Anne" "is" "cold" "+")
int2
Anne is red.
("Anne" "is" "red" "+")
int3
Anne is rough.
("Anne" "is" "rough" "+")
triple3
Bob is cold.
("Bob" "is" "cold" "+")
triple4
Bob is round.
("Bob" "is" "round" "+")
triple5
Harry is quiet.
("Harry" "is" "quiet" "+")
triple6
((((triple7) -> (rule1 % int2)) triple7) -> (rule6 % int1))
Harry is quiet.
("Harry" "is" "quiet" "+")
int1
Harry is cold.
("Harry" "is" "cold" "+")
int2
Harry is red.
("Harry" "is" "red" "+")
triple7
Anne is red.
("Anne" "is" "red" "+")
((triple3) -> (rule3 % int1))
Anne is red.
("Anne" "is" "red" "+")
int1
Bob is furry.
("Bob" "is" "furry" "+")
((triple5) -> (rule7 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Bob is rough.
("Bob" "is" "rough" "+")
((triple4) -> (rule8 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Harry is cold.
("Harry" "is" "cold" "+")
((triple7) -> (rule1 % int1))
Harry is cold.
("Harry" "is" "cold" "+")
int1
Anne is cold.
("Anne" "is" "cold" "+")
((((triple3) -> (rule3 % int2))) -> (rule1 % int1))
Anne is cold.
("Anne" "is" "cold" "+")
int1
Anne is red.
("Anne" "is" "red" "+")
int2
Bob is red.
("Bob" "is" "red" "+")
((((triple4) -> (rule8 % int2))) -> (rule3 % int1))
Bob is red.
("Bob" "is" "red" "+")
int1
Bob is rough.
("Bob" "is" "rough" "+")
int2
Harry is rough.
("Harry" "is" "rough" "+")
((((triple7) -> (rule1 % int2))) -> (rule8 % int1))
Harry is rough.
("Harry" "is" "rough" "+")
int1
Harry is cold.
("Harry" "is" "cold" "+")
int2
Bob is quiet.
("Bob" "is" "quiet" "+")
((triple4 ((((triple4) -> (rule8 % int3))) -> (rule3 % int2))) -> (rule6 % int1))
Bob is quiet.
("Bob" "is" "quiet" "+")
int1
Bob is red.
("Bob" "is" "red" "+")
int2
Bob is rough.
("Bob" "is" "rough" "+")
int3