Anne is not blue. Anne is cold. Anne is young. Erin is big. Erin is nice. Erin is round. Gary is quiet. Harry is nice. Harry is quiet. Harry is round. If something is round and nice then it is young. All blue, round things are big. If something is cold then it is nice. If something is cold and not blue then it is round. If something is round and not big then it is quiet. If something is blue then it is not quiet.
Anne is not blue.
("Anne" "is" "blue" "-")
Anne is cold.
("Anne" "is" "cold" "+")
Anne is young.
("Anne" "is" "young" "+")
Erin is big.
("Erin" "is" "big" "+")
Erin is nice.
("Erin" "is" "nice" "+")
Erin is round.
("Erin" "is" "round" "+")
Gary is quiet.
("Gary" "is" "quiet" "+")
Harry is nice.
("Harry" "is" "nice" "+")
Harry is quiet.
("Harry" "is" "quiet" "+")
Harry is round.
("Harry" "is" "round" "+")
If something is round and nice then it is young.
((("something" "is" "round" "+") ("something" "is" "nice" "+")) -> ("something" "is" "young" "+"))
All blue, round things are big.
((("something" "is" "blue" "+") ("something" "is" "round" "+")) -> ("something" "is" "big" "+"))
If something is cold then it is nice.
((("something" "is" "cold" "+")) -> ("something" "is" "nice" "+"))
If something is cold and not blue then it is round.
((("something" "is" "cold" "+") ("something" "is" "blue" "~")) -> ("something" "is" "round" "+"))
If something is round and not big then it is quiet.
((("something" "is" "round" "+") ("something" "is" "big" "~")) -> ("something" "is" "quiet" "+"))
If something is blue then it is not quiet.
((("something" "is" "blue" "+")) -> ("something" "is" "quiet" "-"))
Harry is round.
True
1
proof
[(triple10)]
("Harry" "is" "round" "+")
triple10
Erin is not big.
False
1
inv-proof
[(triple4)]
("Erin" "is" "big" "-")
triple4
Harry is young.
True
3
proof
[(((triple10 triple8) -> rule1))]
("Harry" "is" "young" "+")
((triple10 triple8) -> (rule1 % int1))
Harry is young.
("Harry" "is" "young" "+")
int1
Erin is not young.
False
3
inv-proof
[(((triple6 triple5) -> rule1))]
("Erin" "is" "young" "-")
((triple6 triple5) -> (rule1 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1
Gary is not young.
Unknown
inv-rconc
[@2: Gary is young.[CWA. Example of deepest failure = (rule1 <- rule4 <- FAIL)]]
("Gary" "is" "young" "-")
Erin is quiet.
Unknown
rconc
[@1: Erin is quiet.[CWA. Example of deepest failure = (rule5 <- FAIL)]]
("Erin" "is" "quiet" "+")
Erin is not blue.
Unknown
inv-random
[@0: Erin is blue.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "blue" "-")
Gary is blue.
Unknown
random
[@0: Gary is blue.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "blue" "+")
@0: Anne is cold.[(triple2)] Anne is not blue.[(triple1)] Anne is young.[(triple3 OR ((((triple2 triple1) -> rule4) ((triple2) -> rule3)) -> rule1))] Erin is big.[(triple4)] Erin is nice.[(triple5)] Erin is round.[(triple6)] Gary is quiet.[(triple7)] Harry is nice.[(triple8)] Harry is quiet.[(triple9)] Harry is round.[(triple10)] @1: Anne is nice.[(((triple2) -> rule3))] Anne is round.[(((triple2 triple1) -> rule4))] Erin is young.[(((triple6 triple5) -> rule1))] Harry is young.[(((triple10 triple8) -> rule1))]
Anne is cold.
("Anne" "is" "cold" "+")
triple2
Anne is not blue.
("Anne" "is" "blue" "-")
triple1
Anne is young.
("Anne" "is" "young" "+")
triple3
((((triple2 triple1) -> (rule4 % int3)) ((triple2) -> (rule3 % int2))) -> (rule1 % int1))
Anne is young.
("Anne" "is" "young" "+")
int1
Anne is nice.
("Anne" "is" "nice" "+")
int2
Anne is round.
("Anne" "is" "round" "+")
int3
Erin is big.
("Erin" "is" "big" "+")
triple4
Erin is nice.
("Erin" "is" "nice" "+")
triple5
Erin is round.
("Erin" "is" "round" "+")
triple6
Gary is quiet.
("Gary" "is" "quiet" "+")
triple7
Harry is nice.
("Harry" "is" "nice" "+")
triple8
Harry is quiet.
("Harry" "is" "quiet" "+")
triple9
Harry is round.
("Harry" "is" "round" "+")
triple10
Anne is nice.
("Anne" "is" "nice" "+")
((triple2) -> (rule3 % int1))
Anne is nice.
("Anne" "is" "nice" "+")
int1
Anne is round.
("Anne" "is" "round" "+")
((triple2 triple1) -> (rule4 % int1))
Anne is round.
("Anne" "is" "round" "+")
int1
Erin is young.
("Erin" "is" "young" "+")
((triple6 triple5) -> (rule1 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1
Harry is young.
("Harry" "is" "young" "+")
((triple10 triple8) -> (rule1 % int1))
Harry is young.
("Harry" "is" "young" "+")
int1