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