Anne is blue. Anne is nice. Anne is quiet. Fiona is blue. Fiona is kind. Fiona is nice. Fiona is quiet. Fiona is rough. Fiona is round. Gary is green. Gary is round. Harry is quiet. All blue things are nice. If Gary is green and Gary is kind then Gary is rough. Blue things are green. If something is blue and round then it is nice. If something is nice then it is rough. If something is green then it is quiet.
Anne is blue.
("Anne" "is" "blue" "+")
Anne is nice.
("Anne" "is" "nice" "+")
Anne is quiet.
("Anne" "is" "quiet" "+")
Fiona is blue.
("Fiona" "is" "blue" "+")
Fiona is kind.
("Fiona" "is" "kind" "+")
Fiona is nice.
("Fiona" "is" "nice" "+")
Fiona is quiet.
("Fiona" "is" "quiet" "+")
Fiona is rough.
("Fiona" "is" "rough" "+")
Fiona is round.
("Fiona" "is" "round" "+")
Gary is green.
("Gary" "is" "green" "+")
Gary is round.
("Gary" "is" "round" "+")
Harry is quiet.
("Harry" "is" "quiet" "+")
All blue things are nice.
((("something" "is" "blue" "+")) -> ("something" "is" "nice" "+"))
If Gary is green and Gary is kind then Gary is rough.
((("Gary" "is" "green" "+") ("Gary" "is" "kind" "+")) -> ("Gary" "is" "rough" "+"))
Blue things are green.
((("something" "is" "blue" "+")) -> ("something" "is" "green" "+"))
If something is blue and round then it is nice.
((("something" "is" "blue" "+") ("something" "is" "round" "+")) -> ("something" "is" "nice" "+"))
If something is nice then it is rough.
((("something" "is" "nice" "+")) -> ("something" "is" "rough" "+"))
If something is green then it is quiet.
((("something" "is" "green" "+")) -> ("something" "is" "quiet" "+"))
Anne is nice.
True
1
proof
[(triple2 OR ((triple1) -> rule1))]
("Anne" "is" "nice" "+")
triple2
((triple1) -> (rule1 % int1))
Anne is nice.
("Anne" "is" "nice" "+")
int1
Fiona is not blue.
False
1
inv-proof
[(triple4)]
("Fiona" "is" "blue" "-")
triple4
Harry is not nice.
Unknown
inv-rconc
[@1: Harry is nice.[CWA. Example of deepest failure = (rule1 <- FAIL)]]
("Harry" "is" "nice" "-")
Gary is blue.
Unknown
random
[@0: Gary is blue.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "blue" "+")
@0: Anne is blue.[(triple1)] Anne is nice.[(triple2 OR ((triple1) -> rule1))] Anne is quiet.[(triple3 OR ((((triple1) -> rule3)) -> rule6))] Fiona is blue.[(triple4)] Fiona is kind.[(triple5)] Fiona is nice.[(triple6 OR ((triple4) -> rule1) OR ((triple4 triple9) -> rule4))] Fiona is quiet.[(triple7 OR ((((triple4) -> rule3)) -> rule6))] Fiona is rough.[(triple8 OR ((triple6) -> rule5) OR ((((triple4) -> rule1)) -> rule5) OR ((((triple4 triple9) -> rule4)) -> rule5))] Fiona is round.[(triple9)] Gary is green.[(triple10)] Gary is round.[(triple11)] Harry is quiet.[(triple12)] @1: Anne is green.[(((triple1) -> rule3))] Anne is rough.[(((triple2) -> rule5) OR ((((triple1) -> rule1)) -> rule5))] Fiona is green.[(((triple4) -> rule3))] Gary is quiet.[(((triple10) -> rule6))]
Anne is blue.
("Anne" "is" "blue" "+")
triple1
Anne is nice.
("Anne" "is" "nice" "+")
triple2
((triple1) -> (rule1 % int1))
Anne is nice.
("Anne" "is" "nice" "+")
int1
Anne is quiet.
("Anne" "is" "quiet" "+")
triple3
((((triple1) -> (rule3 % int2))) -> (rule6 % int1))
Anne is quiet.
("Anne" "is" "quiet" "+")
int1
Anne is green.
("Anne" "is" "green" "+")
int2
Fiona is blue.
("Fiona" "is" "blue" "+")
triple4
Fiona is kind.
("Fiona" "is" "kind" "+")
triple5
Fiona is nice.
("Fiona" "is" "nice" "+")
triple6
((triple4) -> (rule1 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
((triple4 triple9) -> (rule4 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is quiet.
("Fiona" "is" "quiet" "+")
triple7
((((triple4) -> (rule3 % int2))) -> (rule6 % int1))
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int1
Fiona is green.
("Fiona" "is" "green" "+")
int2
Fiona is rough.
("Fiona" "is" "rough" "+")
triple8
((triple6) -> (rule5 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
((((triple4) -> (rule1 % int2))) -> (rule5 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
int2
((((triple4 triple9) -> (rule4 % int2))) -> (rule5 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
int2
Fiona is round.
("Fiona" "is" "round" "+")
triple9
Gary is green.
("Gary" "is" "green" "+")
triple10
Gary is round.
("Gary" "is" "round" "+")
triple11
Harry is quiet.
("Harry" "is" "quiet" "+")
triple12
Anne is green.
("Anne" "is" "green" "+")
((triple1) -> (rule3 % int1))
Anne is green.
("Anne" "is" "green" "+")
int1
Anne is rough.
("Anne" "is" "rough" "+")
((triple2) -> (rule5 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
((((triple1) -> (rule1 % int2))) -> (rule5 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
Anne is nice.
("Anne" "is" "nice" "+")
int2
Fiona is green.
("Fiona" "is" "green" "+")
((triple4) -> (rule3 % int1))
Fiona is green.
("Fiona" "is" "green" "+")
int1
Gary is quiet.
("Gary" "is" "quiet" "+")
((triple10) -> (rule6 % int1))
Gary is quiet.
("Gary" "is" "quiet" "+")
int1