Anne is kind. Anne is rough. Anne is young. Bob is blue. Bob is rough. Bob is not smart. Fiona is blue. Fiona is not young. Gary is round. Gary is not young. If Anne is round and Anne is nice then Anne is blue. Kind people are blue. If someone is blue and young then they are not round. All round people are nice. If Anne is blue and Anne is not round then Anne is rough. All young, blue people are smart. All rough, nice people are smart. If someone is blue and nice then they are not smart.
Anne is kind.
("Anne" "is" "kind" "+")
Anne is rough.
("Anne" "is" "rough" "+")
Anne is young.
("Anne" "is" "young" "+")
Bob is blue.
("Bob" "is" "blue" "+")
Bob is rough.
("Bob" "is" "rough" "+")
Bob is not smart.
("Bob" "is" "smart" "-")
Fiona is blue.
("Fiona" "is" "blue" "+")
Fiona is not young.
("Fiona" "is" "young" "-")
Gary is round.
("Gary" "is" "round" "+")
Gary is not young.
("Gary" "is" "young" "-")
If Anne is round and Anne is nice then Anne is blue.
((("Anne" "is" "round" "+") ("Anne" "is" "nice" "+")) -> ("Anne" "is" "blue" "+"))
Kind people are blue.
((("someone" "is" "kind" "+")) -> ("someone" "is" "blue" "+"))
If someone is blue and young then they are not round.
((("someone" "is" "blue" "+") ("someone" "is" "young" "+")) -> ("someone" "is" "round" "-"))
All round people are nice.
((("someone" "is" "round" "+")) -> ("someone" "is" "nice" "+"))
If Anne is blue and Anne is not round then Anne is rough.
((("Anne" "is" "blue" "+") ("Anne" "is" "round" "~")) -> ("Anne" "is" "rough" "+"))
All young, blue people are smart.
((("someone" "is" "young" "+") ("someone" "is" "blue" "+")) -> ("someone" "is" "smart" "+"))
All rough, nice people are smart.
((("someone" "is" "rough" "+") ("someone" "is" "nice" "+")) -> ("someone" "is" "smart" "+"))
If someone is blue and nice then they are not smart.
((("someone" "is" "blue" "+") ("someone" "is" "nice" "+")) -> ("someone" "is" "smart" "-"))
Anne is rough.
True
1
proof
[(triple2 OR ((((triple1) -> rule2) ((((triple1) -> rule2) triple3) -> rule3)) -> rule5))]
("Anne" "is" "rough" "+")
triple2
((((triple1) -> (rule2 % int3)) ((((triple1) -> (rule2 % int3)) triple3) -> (rule3 % int2))) -> (rule5 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
Anne is not round.
("Anne" "is" "round" "-")
int2
Anne is blue.
("Anne" "is" "blue" "+")
int3
Fiona is not blue.
False
1
inv-proof
[(triple7)]
("Fiona" "is" "blue" "-")
triple7
Anne is blue.
True
2
proof
[(((triple1) -> rule2))]
("Anne" "is" "blue" "+")
((triple1) -> (rule2 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
Anne is not blue.
False
2
inv-proof
[(((triple1) -> rule2))]
("Anne" "is" "blue" "-")
((triple1) -> (rule2 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
Anne is smart.
True
4
proof
[(((triple3 ((triple1) -> rule2)) -> rule6))]
("Anne" "is" "smart" "+")
((triple3 ((triple1) -> (rule2 % int2))) -> (rule6 % int1))
Anne is smart.
("Anne" "is" "smart" "+")
int1
Anne is blue.
("Anne" "is" "blue" "+")
int2
Anne is round.
False
4
inv-proof
[(((((triple1) -> rule2) triple3) -> rule3))]
("Anne" "is" "round" "+")
((((triple1) -> (rule2 % int2)) triple3) -> (rule3 % int1))
Anne is not round.
("Anne" "is" "round" "-")
int1
Anne is blue.
("Anne" "is" "blue" "+")
int2
Gary is not blue.
Unknown
inv-rconc
[@1: Gary is blue.[CWA. Example of deepest failure = (rule2 <- FAIL)]]
("Gary" "is" "blue" "-")
Fiona is smart.
Unknown
rconc
[@1: Fiona is smart.[CWA. Example of deepest failure = (rule6 <- FAIL)]]
("Fiona" "is" "smart" "+")
Gary is not smart.
Unknown
inv-rconc
[@1: Gary is smart.[CWA. Example of deepest failure = (rule6 <- FAIL)]]
("Gary" "is" "smart" "-")
Fiona is round.
Unknown
random
[@0: Fiona is round.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "round" "+")
Fiona is not rough.
Unknown
inv-random
[@0: Fiona is rough.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "rough" "-")
Fiona is kind.
Unknown
random
[@0: Fiona is kind.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "kind" "+")
@0: Anne is kind.[(triple1)] Anne is rough.[(triple2 OR ((((triple1) -> rule2) ((((triple1) -> rule2) triple3) -> rule3)) -> rule5))] Anne is young.[(triple3)] Bob is blue.[(triple4)] Bob is not smart.[(triple6)] Bob is rough.[(triple5)] Fiona is blue.[(triple7)] Fiona is not young.[(triple8)] Gary is not young.[(triple10)] Gary is round.[(triple9)] @1: Anne is blue.[(((triple1) -> rule2))] Gary is nice.[(((triple9) -> rule4))] @2: Anne is not round.[(((((triple1) -> rule2) triple3) -> rule3))] Anne is smart.[(((triple3 ((triple1) -> rule2)) -> rule6))]
Anne is kind.
("Anne" "is" "kind" "+")
triple1
Anne is rough.
("Anne" "is" "rough" "+")
triple2
((((triple1) -> (rule2 % int3)) ((((triple1) -> (rule2 % int3)) triple3) -> (rule3 % int2))) -> (rule5 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
Anne is not round.
("Anne" "is" "round" "-")
int2
Anne is blue.
("Anne" "is" "blue" "+")
int3
Anne is young.
("Anne" "is" "young" "+")
triple3
Bob is blue.
("Bob" "is" "blue" "+")
triple4
Bob is not smart.
("Bob" "is" "smart" "-")
triple6
Bob is rough.
("Bob" "is" "rough" "+")
triple5
Fiona is blue.
("Fiona" "is" "blue" "+")
triple7
Fiona is not young.
("Fiona" "is" "young" "-")
triple8
Gary is not young.
("Gary" "is" "young" "-")
triple10
Gary is round.
("Gary" "is" "round" "+")
triple9
Anne is blue.
("Anne" "is" "blue" "+")
((triple1) -> (rule2 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
Gary is nice.
("Gary" "is" "nice" "+")
((triple9) -> (rule4 % int1))
Gary is nice.
("Gary" "is" "nice" "+")
int1
Anne is not round.
("Anne" "is" "round" "-")
((((triple1) -> (rule2 % int2)) triple3) -> (rule3 % int1))
Anne is not round.
("Anne" "is" "round" "-")
int1
Anne is blue.
("Anne" "is" "blue" "+")
int2
Anne is smart.
("Anne" "is" "smart" "+")
((triple3 ((triple1) -> (rule2 % int2))) -> (rule6 % int1))
Anne is smart.
("Anne" "is" "smart" "+")
int1
Anne is blue.
("Anne" "is" "blue" "+")
int2