Charlie is cold. Charlie is furry. Charlie is nice. Charlie is quiet. Charlie is smart. Erin is cold. Erin is nice. Erin is smart. Fiona is cold. Fiona is furry. Fiona is nice. Fiona is quiet. If someone is nice then they are furry. If someone is cold and furry then they are blue. Red people are quiet. If someone is blue and furry then they are quiet. If someone is quiet and red then they are cold. Nice, red people are smart. If Erin is quiet then Erin is cold. Quiet people are furry.
Charlie is cold.
("Charlie" "is" "cold" "+")
Charlie is furry.
("Charlie" "is" "furry" "+")
Charlie is nice.
("Charlie" "is" "nice" "+")
Charlie is quiet.
("Charlie" "is" "quiet" "+")
Charlie is smart.
("Charlie" "is" "smart" "+")
Erin is cold.
("Erin" "is" "cold" "+")
Erin is nice.
("Erin" "is" "nice" "+")
Erin is smart.
("Erin" "is" "smart" "+")
Fiona is cold.
("Fiona" "is" "cold" "+")
Fiona is furry.
("Fiona" "is" "furry" "+")
Fiona is nice.
("Fiona" "is" "nice" "+")
Fiona is quiet.
("Fiona" "is" "quiet" "+")
If someone is nice then they are furry.
((("someone" "is" "nice" "+")) -> ("someone" "is" "furry" "+"))
If someone is cold and furry then they are blue.
((("someone" "is" "cold" "+") ("someone" "is" "furry" "+")) -> ("someone" "is" "blue" "+"))
Red people are quiet.
((("someone" "is" "red" "+")) -> ("someone" "is" "quiet" "+"))
If someone is blue and furry then they are quiet.
((("someone" "is" "blue" "+") ("someone" "is" "furry" "+")) -> ("someone" "is" "quiet" "+"))
If someone is quiet and red then they are cold.
((("someone" "is" "quiet" "+") ("someone" "is" "red" "+")) -> ("someone" "is" "cold" "+"))
Nice, red people are smart.
((("someone" "is" "nice" "+") ("someone" "is" "red" "+")) -> ("someone" "is" "smart" "+"))
If Erin is quiet then Erin is cold.
((("Erin" "is" "quiet" "+")) -> ("Erin" "is" "cold" "+"))
Quiet people are furry.
((("someone" "is" "quiet" "+")) -> ("someone" "is" "furry" "+"))
Charlie is cold.
True
1
proof
[(triple1)]
("Charlie" "is" "cold" "+")
triple1
Fiona is not furry.
False
1
inv-proof
[(triple10 OR ((triple11) -> rule1) OR ((triple12) -> rule8))]
("Fiona" "is" "furry" "-")
triple10
((triple11) -> (rule1 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
((triple12) -> (rule8 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is blue.
True
3
proof
[(((triple9 triple10) -> rule2) OR ((triple9 ((triple11) -> rule1)) -> rule2) OR ((triple9 ((triple12) -> rule8)) -> rule2))]
("Fiona" "is" "blue" "+")
((triple9 triple10) -> (rule2 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
((triple9 ((triple11) -> (rule1 % int2))) -> (rule2 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
int2
((triple9 ((triple12) -> (rule8 % int2))) -> (rule2 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
int2
Fiona is not blue.
False
3
inv-proof
[(((triple9 triple10) -> rule2) OR ((triple9 ((triple11) -> rule1)) -> rule2) OR ((triple9 ((triple12) -> rule8)) -> rule2))]
("Fiona" "is" "blue" "-")
((triple9 triple10) -> (rule2 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
((triple9 ((triple11) -> (rule1 % int2))) -> (rule2 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
int2
((triple9 ((triple12) -> (rule8 % int2))) -> (rule2 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
int2
Erin is blue.
True
4
proof
[(((triple6 ((triple7) -> rule1)) -> rule2))]
("Erin" "is" "blue" "+")
((triple6 ((triple7) -> (rule1 % int2))) -> (rule2 % int1))
Erin is blue.
("Erin" "is" "blue" "+")
int1
Erin is furry.
("Erin" "is" "furry" "+")
int2
Erin is not blue.
False
4
inv-proof
[(((triple6 ((triple7) -> rule1)) -> rule2))]
("Erin" "is" "blue" "-")
((triple6 ((triple7) -> (rule1 % int2))) -> (rule2 % int1))
Erin is blue.
("Erin" "is" "blue" "+")
int1
Erin is furry.
("Erin" "is" "furry" "+")
int2
Erin is quiet.
True
7
proof
[(((((triple6 ((triple7) -> rule1)) -> rule2) ((triple7) -> rule1)) -> rule4))]
("Erin" "is" "quiet" "+")
((((triple6 ((triple7) -> (rule1 % int3))) -> (rule2 % int2)) ((triple7) -> (rule1 % int3))) -> (rule4 % int1))
Erin is quiet.
("Erin" "is" "quiet" "+")
int1
Erin is blue.
("Erin" "is" "blue" "+")
int2
Erin is furry.
("Erin" "is" "furry" "+")
int3
Erin is not quiet.
False
7
inv-proof
[(((((triple6 ((triple7) -> rule1)) -> rule2) ((triple7) -> rule1)) -> rule4))]
("Erin" "is" "quiet" "-")
((((triple6 ((triple7) -> (rule1 % int3))) -> (rule2 % int2)) ((triple7) -> (rule1 % int3))) -> (rule4 % int1))
Erin is quiet.
("Erin" "is" "quiet" "+")
int1
Erin is blue.
("Erin" "is" "blue" "+")
int2
Erin is furry.
("Erin" "is" "furry" "+")
int3
Fiona is not smart.
Unknown
inv-rconc
[@1: Fiona is smart.[CWA. Example of deepest failure = (rule6 <- FAIL)]]
("Fiona" "is" "smart" "-")
Fiona is red.
Unknown
random
[@0: Fiona is red.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "red" "+")
Charlie is not red.
Unknown
inv-random
[@0: Charlie is red.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "red" "-")
Erin is red.
Unknown
random
[@0: Erin is red.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "red" "+")
@0: Charlie is cold.[(triple1)] Charlie is furry.[(triple2 OR ((triple3) -> rule1) OR ((triple4) -> rule8))] Charlie is nice.[(triple3)] Charlie is quiet.[(triple4 OR ((((triple1 triple2) -> rule2) triple2) -> rule4) OR ((((triple1 triple2) -> rule2) ((triple3) -> rule1)) -> rule4) OR ((((triple1 ((triple3) -> rule1)) -> rule2) triple2) -> rule4) OR ((((triple1 ((triple3) -> rule1)) -> rule2) ((triple3) -> rule1)) -> rule4))] Charlie is smart.[(triple5)] Erin is cold.[(triple6)] Erin is nice.[(triple7)] Erin is smart.[(triple8)] Fiona is cold.[(triple9)] Fiona is furry.[(triple10 OR ((triple11) -> rule1) OR ((triple12) -> rule8))] Fiona is nice.[(triple11)] Fiona is quiet.[(triple12 OR ((((triple9 triple10) -> rule2) triple10) -> rule4) OR ((((triple9 triple10) -> rule2) ((triple11) -> rule1)) -> rule4) OR ((((triple9 ((triple11) -> rule1)) -> rule2) triple10) -> rule4) OR ((((triple9 ((triple11) -> rule1)) -> rule2) ((triple11) -> rule1)) -> rule4))] @1: Charlie is blue.[(((triple1 triple2) -> rule2) OR ((triple1 ((triple3) -> rule1)) -> rule2) OR ((triple1 ((triple4) -> rule8)) -> rule2))] Erin is furry.[(((triple7) -> rule1))] Fiona is blue.[(((triple9 triple10) -> rule2) OR ((triple9 ((triple11) -> rule1)) -> rule2) OR ((triple9 ((triple12) -> rule8)) -> rule2))] @2: Erin is blue.[(((triple6 ((triple7) -> rule1)) -> rule2))] @3: Erin is quiet.[(((((triple6 ((triple7) -> rule1)) -> rule2) ((triple7) -> rule1)) -> rule4))]
Charlie is cold.
("Charlie" "is" "cold" "+")
triple1
Charlie is furry.
("Charlie" "is" "furry" "+")
triple2
((triple3) -> (rule1 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
((triple4) -> (rule8 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Charlie is nice.
("Charlie" "is" "nice" "+")
triple3
Charlie is quiet.
("Charlie" "is" "quiet" "+")
triple4
((((triple1 triple2) -> (rule2 % int2)) triple2) -> (rule4 % int1))
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int1
Charlie is blue.
("Charlie" "is" "blue" "+")
int2
((((triple1 triple2) -> (rule2 % int3)) ((triple3) -> (rule1 % int2))) -> (rule4 % int1))
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
int2
Charlie is blue.
("Charlie" "is" "blue" "+")
int3
((((triple1 ((triple3) -> (rule1 % int3))) -> (rule2 % int2)) triple2) -> (rule4 % int1))
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int1
Charlie is blue.
("Charlie" "is" "blue" "+")
int2
Charlie is furry.
("Charlie" "is" "furry" "+")
int3
((((triple1 ((triple3) -> (rule1 % int3))) -> (rule2 % int2)) ((triple3) -> (rule1 % int3))) -> (rule4 % int1))
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int1
Charlie is blue.
("Charlie" "is" "blue" "+")
int2
Charlie is furry.
("Charlie" "is" "furry" "+")
int3
Charlie is smart.
("Charlie" "is" "smart" "+")
triple5
Erin is cold.
("Erin" "is" "cold" "+")
triple6
Erin is nice.
("Erin" "is" "nice" "+")
triple7
Erin is smart.
("Erin" "is" "smart" "+")
triple8
Fiona is cold.
("Fiona" "is" "cold" "+")
triple9
Fiona is furry.
("Fiona" "is" "furry" "+")
triple10
((triple11) -> (rule1 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
((triple12) -> (rule8 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
triple11
Fiona is quiet.
("Fiona" "is" "quiet" "+")
triple12
((((triple9 triple10) -> (rule2 % int2)) triple10) -> (rule4 % int1))
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
int2
((((triple9 triple10) -> (rule2 % int3)) ((triple11) -> (rule1 % int2))) -> (rule4 % int1))
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
int2
Fiona is blue.
("Fiona" "is" "blue" "+")
int3
((((triple9 ((triple11) -> (rule1 % int3))) -> (rule2 % int2)) triple10) -> (rule4 % int1))
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
int2
Fiona is furry.
("Fiona" "is" "furry" "+")
int3
((((triple9 ((triple11) -> (rule1 % int3))) -> (rule2 % int2)) ((triple11) -> (rule1 % int3))) -> (rule4 % int1))
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
int2
Fiona is furry.
("Fiona" "is" "furry" "+")
int3
Charlie is blue.
("Charlie" "is" "blue" "+")
((triple1 triple2) -> (rule2 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
((triple1 ((triple3) -> (rule1 % int2))) -> (rule2 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
int2
((triple1 ((triple4) -> (rule8 % int2))) -> (rule2 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
int2
Erin is furry.
("Erin" "is" "furry" "+")
((triple7) -> (rule1 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
((triple9 triple10) -> (rule2 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
((triple9 ((triple11) -> (rule1 % int2))) -> (rule2 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
int2
((triple9 ((triple12) -> (rule8 % int2))) -> (rule2 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
int2
Erin is blue.
("Erin" "is" "blue" "+")
((triple6 ((triple7) -> (rule1 % int2))) -> (rule2 % int1))
Erin is blue.
("Erin" "is" "blue" "+")
int1
Erin is furry.
("Erin" "is" "furry" "+")
int2
Erin is quiet.
("Erin" "is" "quiet" "+")
((((triple6 ((triple7) -> (rule1 % int3))) -> (rule2 % int2)) ((triple7) -> (rule1 % int3))) -> (rule4 % int1))
Erin is quiet.
("Erin" "is" "quiet" "+")
int1
Erin is blue.
("Erin" "is" "blue" "+")
int2
Erin is furry.
("Erin" "is" "furry" "+")
int3