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