Anne is nice. Anne is quiet. Anne is rough. Erin is nice. Erin is quiet. Fiona is quiet. Fiona is young. Harry is quiet. Harry is smart. Harry is young. Rough, quiet things are smart. Smart, young things are nice. If Fiona is red then Fiona is not quiet. If something is red and blue then it is rough. Smart, nice things are red. All red things are blue.
Anne is nice.
("Anne" "is" "nice" "+")
Anne is quiet.
("Anne" "is" "quiet" "+")
Anne is rough.
("Anne" "is" "rough" "+")
Erin is nice.
("Erin" "is" "nice" "+")
Erin is quiet.
("Erin" "is" "quiet" "+")
Fiona is quiet.
("Fiona" "is" "quiet" "+")
Fiona is young.
("Fiona" "is" "young" "+")
Harry is quiet.
("Harry" "is" "quiet" "+")
Harry is smart.
("Harry" "is" "smart" "+")
Harry is young.
("Harry" "is" "young" "+")
Rough, quiet things are smart.
((("something" "is" "rough" "+") ("something" "is" "quiet" "+")) -> ("something" "is" "smart" "+"))
Smart, young things are nice.
((("something" "is" "smart" "+") ("something" "is" "young" "+")) -> ("something" "is" "nice" "+"))
If Fiona is red then Fiona is not quiet.
((("Fiona" "is" "red" "+")) -> ("Fiona" "is" "quiet" "-"))
If something is red and blue then it is rough.
((("something" "is" "red" "+") ("something" "is" "blue" "+")) -> ("something" "is" "rough" "+"))
Smart, nice things are red.
((("something" "is" "smart" "+") ("something" "is" "nice" "+")) -> ("something" "is" "red" "+"))
All red things are blue.
((("something" "is" "red" "+")) -> ("something" "is" "blue" "+"))
Harry is quiet.
True
1
proof
[(triple8)]
("Harry" "is" "quiet" "+")
triple8
Harry is not young.
False
1
inv-proof
[(triple10)]
("Harry" "is" "young" "-")
triple10
Anne is smart.
True
3
proof
[(((triple3 triple2) -> rule1))]
("Anne" "is" "smart" "+")
((triple3 triple2) -> (rule1 % int1))
Anne is smart.
("Anne" "is" "smart" "+")
int1
Anne is not smart.
False
3
inv-proof
[(((triple3 triple2) -> rule1))]
("Anne" "is" "smart" "-")
((triple3 triple2) -> (rule1 % int1))
Anne is smart.
("Anne" "is" "smart" "+")
int1
Harry is red.
True
5
proof
[(((triple9 ((triple9 triple10) -> rule2)) -> rule5))]
("Harry" "is" "red" "+")
((triple9 ((triple9 triple10) -> (rule2 % int2))) -> (rule5 % int1))
Harry is red.
("Harry" "is" "red" "+")
int1
Harry is nice.
("Harry" "is" "nice" "+")
int2
Harry is not red.
False
5
inv-proof
[(((triple9 ((triple9 triple10) -> rule2)) -> rule5))]
("Harry" "is" "red" "-")
((triple9 ((triple9 triple10) -> (rule2 % int2))) -> (rule5 % int1))
Harry is red.
("Harry" "is" "red" "+")
int1
Harry is nice.
("Harry" "is" "nice" "+")
int2
Anne is blue.
True
6
proof
[(((((((triple3 triple2) -> rule1) triple1) -> rule5)) -> rule6))]
("Anne" "is" "blue" "+")
((((((triple3 triple2) -> (rule1 % int3)) triple1) -> (rule5 % int2))) -> (rule6 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
Anne is red.
("Anne" "is" "red" "+")
int2
Anne is smart.
("Anne" "is" "smart" "+")
int3
Harry is not blue.
False
6
inv-proof
[(((((triple9 ((triple9 triple10) -> rule2)) -> rule5)) -> rule6))]
("Harry" "is" "blue" "-")
((((triple9 ((triple9 triple10) -> (rule2 % int3))) -> (rule5 % int2))) -> (rule6 % int1))
Harry is blue.
("Harry" "is" "blue" "+")
int1
Harry is red.
("Harry" "is" "red" "+")
int2
Harry is nice.
("Harry" "is" "nice" "+")
int3
Erin is not smart.
Unknown
inv-rconc
[@3: Erin is smart.[CWA. Example of deepest failure = (rule1 <- rule4 <- rule5 <- FAIL)]]
("Erin" "is" "smart" "-")
Fiona is nice.
Unknown
rconc
[@4: Fiona is nice.[CWA. Example of deepest failure = (rule2 <- rule1 <- rule4 <- rule5 <- FAIL)]]
("Fiona" "is" "nice" "+")
Fiona is not smart.
Unknown
inv-rconc
[@3: Fiona is smart.[CWA. Example of deepest failure = (rule1 <- rule4 <- rule5 <- FAIL)]]
("Fiona" "is" "smart" "-")
Fiona is rough.
Unknown
rconc
[@3: Fiona is rough.[CWA. Example of deepest failure = (rule4 <- rule5 <- rule1 <- FAIL)]]
("Fiona" "is" "rough" "+")
Anne is not young.
Unknown
inv-random
[@0: Anne is young.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "young" "-")
Erin is young.
Unknown
random
[@0: Erin is young.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "young" "+")
@0: Anne is nice.[(triple1)] Anne is quiet.[(triple2)] Anne is rough.[(triple3)] Erin is nice.[(triple4)] Erin is quiet.[(triple5)] Fiona is quiet.[(triple6)] Fiona is young.[(triple7)] Harry is quiet.[(triple8)] Harry is smart.[(triple9)] Harry is young.[(triple10)] @1: Anne is smart.[(((triple3 triple2) -> rule1))] Harry is nice.[(((triple9 triple10) -> rule2))] @2: Anne is red.[(((((triple3 triple2) -> rule1) triple1) -> rule5))] Harry is red.[(((triple9 ((triple9 triple10) -> rule2)) -> rule5))] @3: Anne is blue.[(((((((triple3 triple2) -> rule1) triple1) -> rule5)) -> rule6))] Harry is blue.[(((((triple9 ((triple9 triple10) -> rule2)) -> rule5)) -> rule6))] @4: Harry is rough.[(((((triple9 ((triple9 triple10) -> rule2)) -> rule5) ((((triple9 ((triple9 triple10) -> rule2)) -> rule5)) -> rule6)) -> rule4))]
Anne is nice.
("Anne" "is" "nice" "+")
triple1
Anne is quiet.
("Anne" "is" "quiet" "+")
triple2
Anne is rough.
("Anne" "is" "rough" "+")
triple3
Erin is nice.
("Erin" "is" "nice" "+")
triple4
Erin is quiet.
("Erin" "is" "quiet" "+")
triple5
Fiona is quiet.
("Fiona" "is" "quiet" "+")
triple6
Fiona is young.
("Fiona" "is" "young" "+")
triple7
Harry is quiet.
("Harry" "is" "quiet" "+")
triple8
Harry is smart.
("Harry" "is" "smart" "+")
triple9
Harry is young.
("Harry" "is" "young" "+")
triple10
Anne is smart.
("Anne" "is" "smart" "+")
((triple3 triple2) -> (rule1 % int1))
Anne is smart.
("Anne" "is" "smart" "+")
int1
Harry is nice.
("Harry" "is" "nice" "+")
((triple9 triple10) -> (rule2 % int1))
Harry is nice.
("Harry" "is" "nice" "+")
int1
Anne is red.
("Anne" "is" "red" "+")
((((triple3 triple2) -> (rule1 % int2)) triple1) -> (rule5 % int1))
Anne is red.
("Anne" "is" "red" "+")
int1
Anne is smart.
("Anne" "is" "smart" "+")
int2
Harry is red.
("Harry" "is" "red" "+")
((triple9 ((triple9 triple10) -> (rule2 % int2))) -> (rule5 % int1))
Harry is red.
("Harry" "is" "red" "+")
int1
Harry is nice.
("Harry" "is" "nice" "+")
int2
Anne is blue.
("Anne" "is" "blue" "+")
((((((triple3 triple2) -> (rule1 % int3)) triple1) -> (rule5 % int2))) -> (rule6 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
Anne is red.
("Anne" "is" "red" "+")
int2
Anne is smart.
("Anne" "is" "smart" "+")
int3
Harry is blue.
("Harry" "is" "blue" "+")
((((triple9 ((triple9 triple10) -> (rule2 % int3))) -> (rule5 % int2))) -> (rule6 % int1))
Harry is blue.
("Harry" "is" "blue" "+")
int1
Harry is red.
("Harry" "is" "red" "+")
int2
Harry is nice.
("Harry" "is" "nice" "+")
int3
Harry is rough.
("Harry" "is" "rough" "+")
((((triple9 ((triple9 triple10) -> (rule2 % int4))) -> (rule5 % int3)) ((((triple9 ((triple9 triple10) -> (rule2 % int4))) -> (rule5 % int3))) -> (rule6 % int2))) -> (rule4 % int1))
Harry is rough.
("Harry" "is" "rough" "+")
int1
Harry is blue.
("Harry" "is" "blue" "+")
int2
Harry is red.
("Harry" "is" "red" "+")
int3
Harry is nice.
("Harry" "is" "nice" "+")
int4