Charlie is rough. Erin is furry. Erin is kind. Erin is nice. Erin is red. Erin is rough. Fiona is blue. Fiona is cold. Fiona is furry. Fiona is kind. Fiona is nice. Fiona is red. Fiona is rough. Gary is not blue. Gary is furry. Gary is rough. All rough, nice people are cold. All red people are nice. Rough people are red.
Charlie is rough.
("Charlie" "is" "rough" "+")
Erin is furry.
("Erin" "is" "furry" "+")
Erin is kind.
("Erin" "is" "kind" "+")
Erin is nice.
("Erin" "is" "nice" "+")
Erin is red.
("Erin" "is" "red" "+")
Erin is rough.
("Erin" "is" "rough" "+")
Fiona is blue.
("Fiona" "is" "blue" "+")
Fiona is cold.
("Fiona" "is" "cold" "+")
Fiona is furry.
("Fiona" "is" "furry" "+")
Fiona is kind.
("Fiona" "is" "kind" "+")
Fiona is nice.
("Fiona" "is" "nice" "+")
Fiona is red.
("Fiona" "is" "red" "+")
Fiona is rough.
("Fiona" "is" "rough" "+")
Gary is not blue.
("Gary" "is" "blue" "-")
Gary is furry.
("Gary" "is" "furry" "+")
Gary is rough.
("Gary" "is" "rough" "+")
All rough, nice people are cold.
((("someone" "is" "rough" "+") ("someone" "is" "nice" "+")) -> ("someone" "is" "cold" "+"))
All red people are nice.
((("someone" "is" "red" "+")) -> ("someone" "is" "nice" "+"))
Rough people are red.
((("someone" "is" "rough" "+")) -> ("someone" "is" "red" "+"))
Erin is nice.
True
1
proof
[(triple4 OR ((triple5) -> rule2) OR ((((triple6) -> rule3)) -> rule2))]
("Erin" "is" "nice" "+")
triple4
((triple5) -> (rule2 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
((((triple6) -> (rule3 % int2))) -> (rule2 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
Erin is red.
("Erin" "is" "red" "+")
int2
Gary is not furry.
False
1
inv-proof
[(triple15)]
("Gary" "is" "furry" "-")
triple15
Erin is cold.
True
3
proof
[(((triple6 triple4) -> rule1) OR ((triple6 ((triple5) -> rule2)) -> rule1) OR ((triple6 ((((triple6) -> rule3)) -> rule2)) -> rule1))]
("Erin" "is" "cold" "+")
((triple6 triple4) -> (rule1 % int1))
Erin is cold.
("Erin" "is" "cold" "+")
int1
((triple6 ((triple5) -> (rule2 % int2))) -> (rule1 % int1))
Erin is cold.
("Erin" "is" "cold" "+")
int1
Erin is nice.
("Erin" "is" "nice" "+")
int2
((triple6 ((((triple6) -> (rule3 % int3))) -> (rule2 % int2))) -> (rule1 % int1))
Erin is cold.
("Erin" "is" "cold" "+")
int1
Erin is nice.
("Erin" "is" "nice" "+")
int2
Erin is red.
("Erin" "is" "red" "+")
int3
Charlie is not red.
False
2
inv-proof
[(((triple1) -> rule3))]
("Charlie" "is" "red" "-")
((triple1) -> (rule3 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
Charlie is nice.
True
3
proof
[(((((triple1) -> rule3)) -> rule2))]
("Charlie" "is" "nice" "+")
((((triple1) -> (rule3 % int2))) -> (rule2 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Charlie is red.
("Charlie" "is" "red" "+")
int2
Gary is not nice.
False
3
inv-proof
[(((((triple16) -> rule3)) -> rule2))]
("Gary" "is" "nice" "-")
((((triple16) -> (rule3 % int2))) -> (rule2 % int1))
Gary is nice.
("Gary" "is" "nice" "+")
int1
Gary is red.
("Gary" "is" "red" "+")
int2
Charlie is not furry.
Unknown
inv-random
[@0: Charlie is furry.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "furry" "-")
Charlie is blue.
Unknown
random
[@0: Charlie is blue.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "blue" "+")
Erin is not blue.
Unknown
inv-random
[@0: Erin is blue.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "blue" "-")
Charlie is kind.
Unknown
random
[@0: Charlie is kind.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "kind" "+")
@0: Charlie is rough.[(triple1)] Erin is furry.[(triple2)] Erin is kind.[(triple3)] Erin is nice.[(triple4 OR ((triple5) -> rule2) OR ((((triple6) -> rule3)) -> rule2))] Erin is red.[(triple5 OR ((triple6) -> rule3))] Erin is rough.[(triple6)] Fiona is blue.[(triple7)] Fiona is cold.[(triple8 OR ((triple13 triple11) -> rule1) OR ((triple13 ((triple12) -> rule2)) -> rule1) OR ((triple13 ((((triple13) -> rule3)) -> rule2)) -> rule1))] Fiona is furry.[(triple9)] Fiona is kind.[(triple10)] Fiona is nice.[(triple11 OR ((triple12) -> rule2) OR ((((triple13) -> rule3)) -> rule2))] Fiona is red.[(triple12 OR ((triple13) -> rule3))] Fiona is rough.[(triple13)] Gary is furry.[(triple15)] Gary is not blue.[(triple14)] Gary is rough.[(triple16)] @1: Charlie is red.[(((triple1) -> rule3))] Erin is cold.[(((triple6 triple4) -> rule1) OR ((triple6 ((triple5) -> rule2)) -> rule1) OR ((triple6 ((((triple6) -> rule3)) -> rule2)) -> rule1))] Gary is red.[(((triple16) -> rule3))] @2: Charlie is nice.[(((((triple1) -> rule3)) -> rule2))] Gary is nice.[(((((triple16) -> rule3)) -> rule2))] @3: Charlie is cold.[(((triple1 ((((triple1) -> rule3)) -> rule2)) -> rule1))] Gary is cold.[(((triple16 ((((triple16) -> rule3)) -> rule2)) -> rule1))]
Charlie is rough.
("Charlie" "is" "rough" "+")
triple1
Erin is furry.
("Erin" "is" "furry" "+")
triple2
Erin is kind.
("Erin" "is" "kind" "+")
triple3
Erin is nice.
("Erin" "is" "nice" "+")
triple4
((triple5) -> (rule2 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
((((triple6) -> (rule3 % int2))) -> (rule2 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
Erin is red.
("Erin" "is" "red" "+")
int2
Erin is red.
("Erin" "is" "red" "+")
triple5
((triple6) -> (rule3 % int1))
Erin is red.
("Erin" "is" "red" "+")
int1
Erin is rough.
("Erin" "is" "rough" "+")
triple6
Fiona is blue.
("Fiona" "is" "blue" "+")
triple7
Fiona is cold.
("Fiona" "is" "cold" "+")
triple8
((triple13 triple11) -> (rule1 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
((triple13 ((triple12) -> (rule2 % int2))) -> (rule1 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
int2
((triple13 ((((triple13) -> (rule3 % int3))) -> (rule2 % int2))) -> (rule1 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
int2
Fiona is red.
("Fiona" "is" "red" "+")
int3
Fiona is furry.
("Fiona" "is" "furry" "+")
triple9
Fiona is kind.
("Fiona" "is" "kind" "+")
triple10
Fiona is nice.
("Fiona" "is" "nice" "+")
triple11
((triple12) -> (rule2 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
((((triple13) -> (rule3 % int2))) -> (rule2 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
int2
Fiona is red.
("Fiona" "is" "red" "+")
triple12
((triple13) -> (rule3 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is rough.
("Fiona" "is" "rough" "+")
triple13
Gary is furry.
("Gary" "is" "furry" "+")
triple15
Gary is not blue.
("Gary" "is" "blue" "-")
triple14
Gary is rough.
("Gary" "is" "rough" "+")
triple16
Charlie is red.
("Charlie" "is" "red" "+")
((triple1) -> (rule3 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
Erin is cold.
("Erin" "is" "cold" "+")
((triple6 triple4) -> (rule1 % int1))
Erin is cold.
("Erin" "is" "cold" "+")
int1
((triple6 ((triple5) -> (rule2 % int2))) -> (rule1 % int1))
Erin is cold.
("Erin" "is" "cold" "+")
int1
Erin is nice.
("Erin" "is" "nice" "+")
int2
((triple6 ((((triple6) -> (rule3 % int3))) -> (rule2 % int2))) -> (rule1 % int1))
Erin is cold.
("Erin" "is" "cold" "+")
int1
Erin is nice.
("Erin" "is" "nice" "+")
int2
Erin is red.
("Erin" "is" "red" "+")
int3
Gary is red.
("Gary" "is" "red" "+")
((triple16) -> (rule3 % int1))
Gary is red.
("Gary" "is" "red" "+")
int1
Charlie is nice.
("Charlie" "is" "nice" "+")
((((triple1) -> (rule3 % int2))) -> (rule2 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Charlie is red.
("Charlie" "is" "red" "+")
int2
Gary is nice.
("Gary" "is" "nice" "+")
((((triple16) -> (rule3 % int2))) -> (rule2 % int1))
Gary is nice.
("Gary" "is" "nice" "+")
int1
Gary is red.
("Gary" "is" "red" "+")
int2
Charlie is cold.
("Charlie" "is" "cold" "+")
((triple1 ((((triple1) -> (rule3 % int3))) -> (rule2 % int2))) -> (rule1 % int1))
Charlie is cold.
("Charlie" "is" "cold" "+")
int1
Charlie is nice.
("Charlie" "is" "nice" "+")
int2
Charlie is red.
("Charlie" "is" "red" "+")
int3
Gary is cold.
("Gary" "is" "cold" "+")
((triple16 ((((triple16) -> (rule3 % int3))) -> (rule2 % int2))) -> (rule1 % int1))
Gary is cold.
("Gary" "is" "cold" "+")
int1
Gary is nice.
("Gary" "is" "nice" "+")
int2
Gary is red.
("Gary" "is" "red" "+")
int3