Anne is cold. Anne is nice. Anne is rough. Charlie is nice. Charlie is rough. Charlie is round. Charlie is white. Charlie is young. Gary is rough. Harry is rough. Harry is white. Harry is young. All rough things are nice. All rough, young things are round. Round things are blue. If something is nice then it is cold. If something is rough and cold then it is young.
Anne is cold.
("Anne" "is" "cold" "+")
Anne is nice.
("Anne" "is" "nice" "+")
Anne is rough.
("Anne" "is" "rough" "+")
Charlie is nice.
("Charlie" "is" "nice" "+")
Charlie is rough.
("Charlie" "is" "rough" "+")
Charlie is round.
("Charlie" "is" "round" "+")
Charlie is white.
("Charlie" "is" "white" "+")
Charlie is young.
("Charlie" "is" "young" "+")
Gary is rough.
("Gary" "is" "rough" "+")
Harry is rough.
("Harry" "is" "rough" "+")
Harry is white.
("Harry" "is" "white" "+")
Harry is young.
("Harry" "is" "young" "+")
All rough things are nice.
((("something" "is" "rough" "+")) -> ("something" "is" "nice" "+"))
All rough, young things are round.
((("something" "is" "rough" "+") ("something" "is" "young" "+")) -> ("something" "is" "round" "+"))
Round things are blue.
((("something" "is" "round" "+")) -> ("something" "is" "blue" "+"))
If something is nice then it is cold.
((("something" "is" "nice" "+")) -> ("something" "is" "cold" "+"))
If something is rough and cold then it is young.
((("something" "is" "rough" "+") ("something" "is" "cold" "+")) -> ("something" "is" "young" "+"))
Harry is rough.
True
1
proof
[(triple10)]
("Harry" "is" "rough" "+")
triple10
Anne is not rough.
False
1
inv-proof
[(triple3)]
("Anne" "is" "rough" "-")
triple3
Harry is nice.
True
2
proof
[(((triple10) -> rule1))]
("Harry" "is" "nice" "+")
((triple10) -> (rule1 % int1))
Harry is nice.
("Harry" "is" "nice" "+")
int1
Gary is not nice.
False
2
inv-proof
[(((triple9) -> rule1))]
("Gary" "is" "nice" "-")
((triple9) -> (rule1 % int1))
Gary is nice.
("Gary" "is" "nice" "+")
int1
Anne is round.
True
5
proof
[(((triple3 ((triple3 triple1) -> rule5)) -> rule2) OR ((triple3 ((triple3 ((triple2) -> rule4)) -> rule5)) -> rule2) OR ((triple3 ((triple3 ((((triple3) -> rule1)) -> rule4)) -> rule5)) -> rule2))]
("Anne" "is" "round" "+")
((triple3 ((triple3 triple1) -> (rule5 % int2))) -> (rule2 % int1))
Anne is round.
("Anne" "is" "round" "+")
int1
Anne is young.
("Anne" "is" "young" "+")
int2
((triple3 ((triple3 ((triple2) -> (rule4 % int3))) -> (rule5 % int2))) -> (rule2 % int1))
Anne is round.
("Anne" "is" "round" "+")
int1
Anne is young.
("Anne" "is" "young" "+")
int2
Anne is cold.
("Anne" "is" "cold" "+")
int3
((triple3 ((triple3 ((((triple3) -> (rule1 % int4))) -> (rule4 % int3))) -> (rule5 % int2))) -> (rule2 % int1))
Anne is round.
("Anne" "is" "round" "+")
int1
Anne is young.
("Anne" "is" "young" "+")
int2
Anne is cold.
("Anne" "is" "cold" "+")
int3
Anne is nice.
("Anne" "is" "nice" "+")
int4
Gary is not cold.
False
3
inv-proof
[(((((triple9) -> rule1)) -> rule4))]
("Gary" "is" "cold" "-")
((((triple9) -> (rule1 % int2))) -> (rule4 % int1))
Gary is cold.
("Gary" "is" "cold" "+")
int1
Gary is nice.
("Gary" "is" "nice" "+")
int2
Gary is young.
True
5
proof
[(((triple9 ((((triple9) -> rule1)) -> rule4)) -> rule5))]
("Gary" "is" "young" "+")
((triple9 ((((triple9) -> (rule1 % int3))) -> (rule4 % int2))) -> (rule5 % int1))
Gary is young.
("Gary" "is" "young" "+")
int1
Gary is cold.
("Gary" "is" "cold" "+")
int2
Gary is nice.
("Gary" "is" "nice" "+")
int3
Gary is not young.
False
5
inv-proof
[(((triple9 ((((triple9) -> rule1)) -> rule4)) -> rule5))]
("Gary" "is" "young" "-")
((triple9 ((((triple9) -> (rule1 % int3))) -> (rule4 % int2))) -> (rule5 % int1))
Gary is young.
("Gary" "is" "young" "+")
int1
Gary is cold.
("Gary" "is" "cold" "+")
int2
Gary is nice.
("Gary" "is" "nice" "+")
int3
Gary is round.
True
7
proof
[(((triple9 ((triple9 ((((triple9) -> rule1)) -> rule4)) -> rule5)) -> rule2))]
("Gary" "is" "round" "+")
((triple9 ((triple9 ((((triple9) -> (rule1 % int4))) -> (rule4 % int3))) -> (rule5 % int2))) -> (rule2 % int1))
Gary is round.
("Gary" "is" "round" "+")
int1
Gary is young.
("Gary" "is" "young" "+")
int2
Gary is cold.
("Gary" "is" "cold" "+")
int3
Gary is nice.
("Gary" "is" "nice" "+")
int4
Gary is not round.
False
7
inv-proof
[(((triple9 ((triple9 ((((triple9) -> rule1)) -> rule4)) -> rule5)) -> rule2))]
("Gary" "is" "round" "-")
((triple9 ((triple9 ((((triple9) -> (rule1 % int4))) -> (rule4 % int3))) -> (rule5 % int2))) -> (rule2 % int1))
Gary is round.
("Gary" "is" "round" "+")
int1
Gary is young.
("Gary" "is" "young" "+")
int2
Gary is cold.
("Gary" "is" "cold" "+")
int3
Gary is nice.
("Gary" "is" "nice" "+")
int4
Gary is blue.
True
8
proof
[(((((triple9 ((triple9 ((((triple9) -> rule1)) -> rule4)) -> rule5)) -> rule2)) -> rule3))]
("Gary" "is" "blue" "+")
((((triple9 ((triple9 ((((triple9) -> (rule1 % int5))) -> (rule4 % int4))) -> (rule5 % int3))) -> (rule2 % int2))) -> (rule3 % int1))
Gary is blue.
("Gary" "is" "blue" "+")
int1
Gary is round.
("Gary" "is" "round" "+")
int2
Gary is young.
("Gary" "is" "young" "+")
int3
Gary is cold.
("Gary" "is" "cold" "+")
int4
Gary is nice.
("Gary" "is" "nice" "+")
int5
Gary is not blue.
False
8
inv-proof
[(((((triple9 ((triple9 ((((triple9) -> rule1)) -> rule4)) -> rule5)) -> rule2)) -> rule3))]
("Gary" "is" "blue" "-")
((((triple9 ((triple9 ((((triple9) -> (rule1 % int5))) -> (rule4 % int4))) -> (rule5 % int3))) -> (rule2 % int2))) -> (rule3 % int1))
Gary is blue.
("Gary" "is" "blue" "+")
int1
Gary is round.
("Gary" "is" "round" "+")
int2
Gary is young.
("Gary" "is" "young" "+")
int3
Gary is cold.
("Gary" "is" "cold" "+")
int4
Gary is nice.
("Gary" "is" "nice" "+")
int5
Gary is not white.
Unknown
inv-random
[@0: Gary is white.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "white" "-")
Anne is white.
Unknown
random
[@0: Anne is white.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "white" "+")
@0: Anne is cold.[(triple1 OR ((triple2) -> rule4) OR ((((triple3) -> rule1)) -> rule4))] Anne is nice.[(triple2 OR ((triple3) -> rule1))] Anne is rough.[(triple3)] Charlie is nice.[(triple4 OR ((triple5) -> rule1))] Charlie is rough.[(triple5)] Charlie is round.[(triple6 OR ((triple5 triple8) -> rule2) OR ((triple5 ((triple5 ((triple4) -> rule4)) -> rule5)) -> rule2) OR ((triple5 ((triple5 ((((triple5) -> rule1)) -> rule4)) -> rule5)) -> rule2))] Charlie is white.[(triple7)] Charlie is young.[(triple8 OR ((triple5 ((triple4) -> rule4)) -> rule5) OR ((triple5 ((((triple5) -> rule1)) -> rule4)) -> rule5))] Gary is rough.[(triple9)] Harry is rough.[(triple10)] Harry is white.[(triple11)] Harry is young.[(triple12 OR ((triple10 ((((triple10) -> rule1)) -> rule4)) -> rule5))] @1: Anne is young.[(((triple3 triple1) -> rule5) OR ((triple3 ((triple2) -> rule4)) -> rule5) OR ((triple3 ((((triple3) -> rule1)) -> rule4)) -> rule5))] Charlie is blue.[(((triple6) -> rule3) OR ((((triple5 triple8) -> rule2)) -> rule3) OR ((((triple5 ((triple5 ((triple4) -> rule4)) -> rule5)) -> rule2)) -> rule3) OR ((((triple5 ((triple5 ((((triple5) -> rule1)) -> rule4)) -> rule5)) -> rule2)) -> rule3))] Charlie is cold.[(((triple4) -> rule4) OR ((((triple5) -> rule1)) -> rule4))] Gary is nice.[(((triple9) -> rule1))] Harry is nice.[(((triple10) -> rule1))] Harry is round.[(((triple10 triple12) -> rule2) OR ((triple10 ((triple10 ((((triple10) -> rule1)) -> rule4)) -> rule5)) -> rule2))] @2: Anne is round.[(((triple3 ((triple3 triple1) -> rule5)) -> rule2) OR ((triple3 ((triple3 ((triple2) -> rule4)) -> rule5)) -> rule2) OR ((triple3 ((triple3 ((((triple3) -> rule1)) -> rule4)) -> rule5)) -> rule2))] Gary is cold.[(((((triple9) -> rule1)) -> rule4))] Harry is blue.[(((((triple10 triple12) -> rule2)) -> rule3) OR ((((triple10 ((triple10 ((((triple10) -> rule1)) -> rule4)) -> rule5)) -> rule2)) -> rule3))] Harry is cold.[(((((triple10) -> rule1)) -> rule4))] @3: Anne is blue.[(((((triple3 ((triple3 triple1) -> rule5)) -> rule2)) -> rule3) OR ((((triple3 ((triple3 ((triple2) -> rule4)) -> rule5)) -> rule2)) -> rule3) OR ((((triple3 ((triple3 ((((triple3) -> rule1)) -> rule4)) -> rule5)) -> rule2)) -> rule3))] Gary is young.[(((triple9 ((((triple9) -> rule1)) -> rule4)) -> rule5))] @4: Gary is round.[(((triple9 ((triple9 ((((triple9) -> rule1)) -> rule4)) -> rule5)) -> rule2))] @5: Gary is blue.[(((((triple9 ((triple9 ((((triple9) -> rule1)) -> rule4)) -> rule5)) -> rule2)) -> rule3))]
Anne is cold.
("Anne" "is" "cold" "+")
triple1
((triple2) -> (rule4 % int1))
Anne is cold.
("Anne" "is" "cold" "+")
int1
((((triple3) -> (rule1 % int2))) -> (rule4 % int1))
Anne is cold.
("Anne" "is" "cold" "+")
int1
Anne is nice.
("Anne" "is" "nice" "+")
int2
Anne is nice.
("Anne" "is" "nice" "+")
triple2
((triple3) -> (rule1 % int1))
Anne is nice.
("Anne" "is" "nice" "+")
int1
Anne is rough.
("Anne" "is" "rough" "+")
triple3
Charlie is nice.
("Charlie" "is" "nice" "+")
triple4
((triple5) -> (rule1 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Charlie is rough.
("Charlie" "is" "rough" "+")
triple5
Charlie is round.
("Charlie" "is" "round" "+")
triple6
((triple5 triple8) -> (rule2 % int1))
Charlie is round.
("Charlie" "is" "round" "+")
int1
((triple5 ((triple5 ((triple4) -> (rule4 % int3))) -> (rule5 % int2))) -> (rule2 % int1))
Charlie is round.
("Charlie" "is" "round" "+")
int1
Charlie is young.
("Charlie" "is" "young" "+")
int2
Charlie is cold.
("Charlie" "is" "cold" "+")
int3
((triple5 ((triple5 ((((triple5) -> (rule1 % int4))) -> (rule4 % int3))) -> (rule5 % int2))) -> (rule2 % int1))
Charlie is round.
("Charlie" "is" "round" "+")
int1
Charlie is young.
("Charlie" "is" "young" "+")
int2
Charlie is cold.
("Charlie" "is" "cold" "+")
int3
Charlie is nice.
("Charlie" "is" "nice" "+")
int4
Charlie is white.
("Charlie" "is" "white" "+")
triple7
Charlie is young.
("Charlie" "is" "young" "+")
triple8
((triple5 ((triple4) -> (rule4 % int2))) -> (rule5 % int1))
Charlie is young.
("Charlie" "is" "young" "+")
int1
Charlie is cold.
("Charlie" "is" "cold" "+")
int2
((triple5 ((((triple5) -> (rule1 % int3))) -> (rule4 % int2))) -> (rule5 % int1))
Charlie is young.
("Charlie" "is" "young" "+")
int1
Charlie is cold.
("Charlie" "is" "cold" "+")
int2
Charlie is nice.
("Charlie" "is" "nice" "+")
int3
Gary is rough.
("Gary" "is" "rough" "+")
triple9
Harry is rough.
("Harry" "is" "rough" "+")
triple10
Harry is white.
("Harry" "is" "white" "+")
triple11
Harry is young.
("Harry" "is" "young" "+")
triple12
((triple10 ((((triple10) -> (rule1 % int3))) -> (rule4 % int2))) -> (rule5 % int1))
Harry is young.
("Harry" "is" "young" "+")
int1
Harry is cold.
("Harry" "is" "cold" "+")
int2
Harry is nice.
("Harry" "is" "nice" "+")
int3
Anne is young.
("Anne" "is" "young" "+")
((triple3 triple1) -> (rule5 % int1))
Anne is young.
("Anne" "is" "young" "+")
int1
((triple3 ((triple2) -> (rule4 % int2))) -> (rule5 % int1))
Anne is young.
("Anne" "is" "young" "+")
int1
Anne is cold.
("Anne" "is" "cold" "+")
int2
((triple3 ((((triple3) -> (rule1 % int3))) -> (rule4 % int2))) -> (rule5 % int1))
Anne is young.
("Anne" "is" "young" "+")
int1
Anne is cold.
("Anne" "is" "cold" "+")
int2
Anne is nice.
("Anne" "is" "nice" "+")
int3
Charlie is blue.
("Charlie" "is" "blue" "+")
((triple6) -> (rule3 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
((((triple5 triple8) -> (rule2 % int2))) -> (rule3 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Charlie is round.
("Charlie" "is" "round" "+")
int2
((((triple5 ((triple5 ((triple4) -> (rule4 % int4))) -> (rule5 % int3))) -> (rule2 % int2))) -> (rule3 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Charlie is round.
("Charlie" "is" "round" "+")
int2
Charlie is young.
("Charlie" "is" "young" "+")
int3
Charlie is cold.
("Charlie" "is" "cold" "+")
int4
((((triple5 ((triple5 ((((triple5) -> (rule1 % int5))) -> (rule4 % int4))) -> (rule5 % int3))) -> (rule2 % int2))) -> (rule3 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Charlie is round.
("Charlie" "is" "round" "+")
int2
Charlie is young.
("Charlie" "is" "young" "+")
int3
Charlie is cold.
("Charlie" "is" "cold" "+")
int4
Charlie is nice.
("Charlie" "is" "nice" "+")
int5
Charlie is cold.
("Charlie" "is" "cold" "+")
((triple4) -> (rule4 % int1))
Charlie is cold.
("Charlie" "is" "cold" "+")
int1
((((triple5) -> (rule1 % int2))) -> (rule4 % int1))
Charlie is cold.
("Charlie" "is" "cold" "+")
int1
Charlie is nice.
("Charlie" "is" "nice" "+")
int2
Gary is nice.
("Gary" "is" "nice" "+")
((triple9) -> (rule1 % int1))
Gary is nice.
("Gary" "is" "nice" "+")
int1
Harry is nice.
("Harry" "is" "nice" "+")
((triple10) -> (rule1 % int1))
Harry is nice.
("Harry" "is" "nice" "+")
int1
Harry is round.
("Harry" "is" "round" "+")
((triple10 triple12) -> (rule2 % int1))
Harry is round.
("Harry" "is" "round" "+")
int1
((triple10 ((triple10 ((((triple10) -> (rule1 % int4))) -> (rule4 % int3))) -> (rule5 % int2))) -> (rule2 % int1))
Harry is round.
("Harry" "is" "round" "+")
int1
Harry is young.
("Harry" "is" "young" "+")
int2
Harry is cold.
("Harry" "is" "cold" "+")
int3
Harry is nice.
("Harry" "is" "nice" "+")
int4
Anne is round.
("Anne" "is" "round" "+")
((triple3 ((triple3 triple1) -> (rule5 % int2))) -> (rule2 % int1))
Anne is round.
("Anne" "is" "round" "+")
int1
Anne is young.
("Anne" "is" "young" "+")
int2
((triple3 ((triple3 ((triple2) -> (rule4 % int3))) -> (rule5 % int2))) -> (rule2 % int1))
Anne is round.
("Anne" "is" "round" "+")
int1
Anne is young.
("Anne" "is" "young" "+")
int2
Anne is cold.
("Anne" "is" "cold" "+")
int3
((triple3 ((triple3 ((((triple3) -> (rule1 % int4))) -> (rule4 % int3))) -> (rule5 % int2))) -> (rule2 % int1))
Anne is round.
("Anne" "is" "round" "+")
int1
Anne is young.
("Anne" "is" "young" "+")
int2
Anne is cold.
("Anne" "is" "cold" "+")
int3
Anne is nice.
("Anne" "is" "nice" "+")
int4
Gary is cold.
("Gary" "is" "cold" "+")
((((triple9) -> (rule1 % int2))) -> (rule4 % int1))
Gary is cold.
("Gary" "is" "cold" "+")
int1
Gary is nice.
("Gary" "is" "nice" "+")
int2
Harry is blue.
("Harry" "is" "blue" "+")
((((triple10 triple12) -> (rule2 % int2))) -> (rule3 % int1))
Harry is blue.
("Harry" "is" "blue" "+")
int1
Harry is round.
("Harry" "is" "round" "+")
int2
((((triple10 ((triple10 ((((triple10) -> (rule1 % int5))) -> (rule4 % int4))) -> (rule5 % int3))) -> (rule2 % int2))) -> (rule3 % int1))
Harry is blue.
("Harry" "is" "blue" "+")
int1
Harry is round.
("Harry" "is" "round" "+")
int2
Harry is young.
("Harry" "is" "young" "+")
int3
Harry is cold.
("Harry" "is" "cold" "+")
int4
Harry is nice.
("Harry" "is" "nice" "+")
int5
Harry is cold.
("Harry" "is" "cold" "+")
((((triple10) -> (rule1 % int2))) -> (rule4 % int1))
Harry is cold.
("Harry" "is" "cold" "+")
int1
Harry is nice.
("Harry" "is" "nice" "+")
int2
Anne is blue.
("Anne" "is" "blue" "+")
((((triple3 ((triple3 triple1) -> (rule5 % int3))) -> (rule2 % int2))) -> (rule3 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
Anne is round.
("Anne" "is" "round" "+")
int2
Anne is young.
("Anne" "is" "young" "+")
int3
((((triple3 ((triple3 ((triple2) -> (rule4 % int4))) -> (rule5 % int3))) -> (rule2 % int2))) -> (rule3 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
Anne is round.
("Anne" "is" "round" "+")
int2
Anne is young.
("Anne" "is" "young" "+")
int3
Anne is cold.
("Anne" "is" "cold" "+")
int4
((((triple3 ((triple3 ((((triple3) -> (rule1 % int5))) -> (rule4 % int4))) -> (rule5 % int3))) -> (rule2 % int2))) -> (rule3 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
Anne is round.
("Anne" "is" "round" "+")
int2
Anne is young.
("Anne" "is" "young" "+")
int3
Anne is cold.
("Anne" "is" "cold" "+")
int4
Anne is nice.
("Anne" "is" "nice" "+")
int5
Gary is young.
("Gary" "is" "young" "+")
((triple9 ((((triple9) -> (rule1 % int3))) -> (rule4 % int2))) -> (rule5 % int1))
Gary is young.
("Gary" "is" "young" "+")
int1
Gary is cold.
("Gary" "is" "cold" "+")
int2
Gary is nice.
("Gary" "is" "nice" "+")
int3
Gary is round.
("Gary" "is" "round" "+")
((triple9 ((triple9 ((((triple9) -> (rule1 % int4))) -> (rule4 % int3))) -> (rule5 % int2))) -> (rule2 % int1))
Gary is round.
("Gary" "is" "round" "+")
int1
Gary is young.
("Gary" "is" "young" "+")
int2
Gary is cold.
("Gary" "is" "cold" "+")
int3
Gary is nice.
("Gary" "is" "nice" "+")
int4
Gary is blue.
("Gary" "is" "blue" "+")
((((triple9 ((triple9 ((((triple9) -> (rule1 % int5))) -> (rule4 % int4))) -> (rule5 % int3))) -> (rule2 % int2))) -> (rule3 % int1))
Gary is blue.
("Gary" "is" "blue" "+")
int1
Gary is round.
("Gary" "is" "round" "+")
int2
Gary is young.
("Gary" "is" "young" "+")
int3
Gary is cold.
("Gary" "is" "cold" "+")
int4
Gary is nice.
("Gary" "is" "nice" "+")
int5