Bob is green. Bob is quiet. Fiona is not blue. Fiona is quiet. Fiona is rough. Gary is nice. Harry is blue. If Gary is blue then Gary is not quiet. If Bob is green then Bob is rough. Quiet, white people are not blue. If Fiona is green and Fiona is white then Fiona is kind. Kind people are quiet. If someone is quiet and green then they are rough. If someone is quiet and not kind then they are rough. All quiet, rough people are nice.
Bob is green.
("Bob" "is" "green" "+")
Bob is quiet.
("Bob" "is" "quiet" "+")
Fiona is not blue.
("Fiona" "is" "blue" "-")
Fiona is quiet.
("Fiona" "is" "quiet" "+")
Fiona is rough.
("Fiona" "is" "rough" "+")
Gary is nice.
("Gary" "is" "nice" "+")
Harry is blue.
("Harry" "is" "blue" "+")
If Gary is blue then Gary is not quiet.
((("Gary" "is" "blue" "+")) -> ("Gary" "is" "quiet" "-"))
If Bob is green then Bob is rough.
((("Bob" "is" "green" "+")) -> ("Bob" "is" "rough" "+"))
Quiet, white people are not blue.
((("someone" "is" "quiet" "+") ("someone" "is" "white" "+")) -> ("someone" "is" "blue" "-"))
If Fiona is green and Fiona is white then Fiona is kind.
((("Fiona" "is" "green" "+") ("Fiona" "is" "white" "+")) -> ("Fiona" "is" "kind" "+"))
Kind people are quiet.
((("someone" "is" "kind" "+")) -> ("someone" "is" "quiet" "+"))
If someone is quiet and green then they are rough.
((("someone" "is" "quiet" "+") ("someone" "is" "green" "+")) -> ("someone" "is" "rough" "+"))
If someone is quiet and not kind then they are rough.
((("someone" "is" "quiet" "+") ("someone" "is" "kind" "~")) -> ("someone" "is" "rough" "+"))
All quiet, rough people are nice.
((("someone" "is" "quiet" "+") ("someone" "is" "rough" "+")) -> ("someone" "is" "nice" "+"))
Fiona is rough.
True
1
proof
[(triple5)]
("Fiona" "is" "rough" "+")
triple5
Harry is not blue.
False
1
inv-proof
[(triple7)]
("Harry" "is" "blue" "-")
triple7
Bob is rough.
True
2
proof
[(((triple1) -> rule2) OR ((triple2 triple1) -> rule6))]
("Bob" "is" "rough" "+")
((triple1) -> (rule2 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
((triple2 triple1) -> (rule6 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is not rough.
False
2
inv-proof
[(((triple1) -> rule2) OR ((triple2 triple1) -> rule6))]
("Bob" "is" "rough" "-")
((triple1) -> (rule2 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
((triple2 triple1) -> (rule6 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Harry is not rough.
Unknown
inv-rconc
[@1: Harry is rough.[CWA. Example of deepest failure = (rule6 <- FAIL)]]
("Harry" "is" "rough" "-")
Harry is nice.
Unknown
rconc
[@2: Harry is nice.[CWA. Example of deepest failure = (rule8 <- rule5 <- FAIL)]]
("Harry" "is" "nice" "+")
Harry is not kind.
Unknown
inv-random
[@0: Harry is kind.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "kind" "-")
Gary is blue.
Unknown
random
[@0: Gary is blue.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "blue" "+")
@0: Bob is green.[(triple1)] Bob is quiet.[(triple2)] Fiona is not blue.[(triple3)] Fiona is quiet.[(triple4)] Fiona is rough.[(triple5)] Gary is nice.[(triple6)] Harry is blue.[(triple7)] @1: Bob is rough.[(((triple1) -> rule2) OR ((triple2 triple1) -> rule6))] Fiona is nice.[(((triple4 triple5) -> rule8))] @2: Bob is nice.[(((triple2 ((triple1) -> rule2)) -> rule8) OR ((triple2 ((triple2 triple1) -> rule6)) -> rule8))]
Bob is green.
("Bob" "is" "green" "+")
triple1
Bob is quiet.
("Bob" "is" "quiet" "+")
triple2
Fiona is not blue.
("Fiona" "is" "blue" "-")
triple3
Fiona is quiet.
("Fiona" "is" "quiet" "+")
triple4
Fiona is rough.
("Fiona" "is" "rough" "+")
triple5
Gary is nice.
("Gary" "is" "nice" "+")
triple6
Harry is blue.
("Harry" "is" "blue" "+")
triple7
Bob is rough.
("Bob" "is" "rough" "+")
((triple1) -> (rule2 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
((triple2 triple1) -> (rule6 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
((triple4 triple5) -> (rule8 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Bob is nice.
("Bob" "is" "nice" "+")
((triple2 ((triple1) -> (rule2 % int2))) -> (rule8 % int1))
Bob is nice.
("Bob" "is" "nice" "+")
int1
Bob is rough.
("Bob" "is" "rough" "+")
int2
((triple2 ((triple2 triple1) -> (rule6 % int2))) -> (rule8 % int1))
Bob is nice.
("Bob" "is" "nice" "+")
int1
Bob is rough.
("Bob" "is" "rough" "+")
int2