Anne is white. Bob is blue. Fiona is blue. Fiona is not nice. Fiona is not rough. Harry is blue. Harry is furry. Harry is nice. Harry is red. Harry is rough. If Anne is white then Anne is furry. All big, red things are blue. All white, red things are blue. If something is red then it is furry. If something is big and white then it is red. If Anne is furry then Anne is rough.
Anne is white.
("Anne" "is" "white" "+")
Bob is blue.
("Bob" "is" "blue" "+")
Fiona is blue.
("Fiona" "is" "blue" "+")
Fiona is not nice.
("Fiona" "is" "nice" "-")
Fiona is not rough.
("Fiona" "is" "rough" "-")
Harry is blue.
("Harry" "is" "blue" "+")
Harry is furry.
("Harry" "is" "furry" "+")
Harry is nice.
("Harry" "is" "nice" "+")
Harry is red.
("Harry" "is" "red" "+")
Harry is rough.
("Harry" "is" "rough" "+")
If Anne is white then Anne is furry.
((("Anne" "is" "white" "+")) -> ("Anne" "is" "furry" "+"))
All big, red things are blue.
((("something" "is" "big" "+") ("something" "is" "red" "+")) -> ("something" "is" "blue" "+"))
All white, red things are blue.
((("something" "is" "white" "+") ("something" "is" "red" "+")) -> ("something" "is" "blue" "+"))
If something is red then it is furry.
((("something" "is" "red" "+")) -> ("something" "is" "furry" "+"))
If something is big and white then it is red.
((("something" "is" "big" "+") ("something" "is" "white" "+")) -> ("something" "is" "red" "+"))
If Anne is furry then Anne is rough.
((("Anne" "is" "furry" "+")) -> ("Anne" "is" "rough" "+"))
Harry is nice.
True
1
proof
[(triple8)]
("Harry" "is" "nice" "+")
triple8
Harry is not red.
False
1
inv-proof
[(triple9)]
("Harry" "is" "red" "-")
triple9
Anne is furry.
True
2
proof
[(((triple1) -> rule1))]
("Anne" "is" "furry" "+")
((triple1) -> (rule1 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
Anne is not furry.
False
2
inv-proof
[(((triple1) -> rule1))]
("Anne" "is" "furry" "-")
((triple1) -> (rule1 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
Anne is rough.
True
3
proof
[(((((triple1) -> rule1)) -> rule6))]
("Anne" "is" "rough" "+")
((((triple1) -> (rule1 % int2))) -> (rule6 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
Anne is furry.
("Anne" "is" "furry" "+")
int2
Anne is not rough.
False
3
inv-proof
[(((((triple1) -> rule1)) -> rule6))]
("Anne" "is" "rough" "-")
((((triple1) -> (rule1 % int2))) -> (rule6 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
Anne is furry.
("Anne" "is" "furry" "+")
int2
Bob is not red.
Unknown
inv-rconc
[@1: Bob is red.[CWA. Example of deepest failure = (rule5 <- FAIL)]]
("Bob" "is" "red" "-")
Fiona is red.
Unknown
rconc
[@1: Fiona is red.[CWA. Example of deepest failure = (rule5 <- FAIL)]]
("Fiona" "is" "red" "+")
Bob is not furry.
Unknown
inv-rconc
[@2: Bob is furry.[CWA. Example of deepest failure = (rule4 <- rule5 <- FAIL)]]
("Bob" "is" "furry" "-")
Bob is white.
Unknown
random
[@0: Bob is white.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "white" "+")
Harry is not white.
Unknown
inv-random
[@0: Harry is white.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "white" "-")
Fiona is white.
Unknown
random
[@0: Fiona is white.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "white" "+")
@0: Anne is white.[(triple1)] Bob is blue.[(triple2)] Fiona is blue.[(triple3)] Fiona is not nice.[(triple4)] Fiona is not rough.[(triple5)] Harry is blue.[(triple6)] Harry is furry.[(triple7 OR ((triple9) -> rule4))] Harry is nice.[(triple8)] Harry is red.[(triple9)] Harry is rough.[(triple10)] @1: Anne is furry.[(((triple1) -> rule1))] @2: Anne is rough.[(((((triple1) -> rule1)) -> rule6))]
Anne is white.
("Anne" "is" "white" "+")
triple1
Bob is blue.
("Bob" "is" "blue" "+")
triple2
Fiona is blue.
("Fiona" "is" "blue" "+")
triple3
Fiona is not nice.
("Fiona" "is" "nice" "-")
triple4
Fiona is not rough.
("Fiona" "is" "rough" "-")
triple5
Harry is blue.
("Harry" "is" "blue" "+")
triple6
Harry is furry.
("Harry" "is" "furry" "+")
triple7
((triple9) -> (rule4 % int1))
Harry is furry.
("Harry" "is" "furry" "+")
int1
Harry is nice.
("Harry" "is" "nice" "+")
triple8
Harry is red.
("Harry" "is" "red" "+")
triple9
Harry is rough.
("Harry" "is" "rough" "+")
triple10
Anne is furry.
("Anne" "is" "furry" "+")
((triple1) -> (rule1 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
Anne is rough.
("Anne" "is" "rough" "+")
((((triple1) -> (rule1 % int2))) -> (rule6 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
Anne is furry.
("Anne" "is" "furry" "+")
int2