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