Bob lives at home with his parents who tell him he is too young to live on his own. Bob is a big blue guy with red rings around his ankles and rough patchy skin. Bob is always cold inside or out. They always call him rough Charlie. Gary is rough but nice, big but cold. Harry always goes out of his way to show that he is kind to people. When a kind person is feeling cold with red skin, they will be round as well. A human that's cold also means they are a human that is young. A human that's round, red and kind will be also be a green human. If you color the young ones blue then they will be kind. When somebody is round, kind and blue, you know they'll also be red.
Bob is young.
("Bob" "is" "young" "+")
Bob is rough.
("Bob" "is" "rough" "+")
Bob is red.
("Bob" "is" "red" "+")
Bob is cold.
("Bob" "is" "cold" "+")
Bob is blue.
("Bob" "is" "blue" "+")
Bob is big.
("Bob" "is" "big" "+")
Charlie is rough.
("Charlie" "is" "rough" "+")
Gary is rough.
("Gary" "is" "rough" "+")
Gary is nice.
("Gary" "is" "nice" "+")
Gary is cold.
("Gary" "is" "cold" "+")
Gary is big.
("Gary" "is" "big" "+")
Harry is kind.
("Harry" "is" "kind" "+")
If someone is cold and kind and red then they are round.
((("someone" "is" "cold" "+") ("someone" "is" "kind" "+") ("someone" "is" "red" "+")) -> ("someone" "is" "round" "+"))
If someone is cold then they are young.
((("someone" "is" "cold" "+")) -> ("someone" "is" "young" "+"))
If someone is red and round and kind then they are green.
((("someone" "is" "red" "+") ("someone" "is" "round" "+") ("someone" "is" "kind" "+")) -> ("someone" "is" "green" "+"))
If someone is blue and young then they are kind.
((("someone" "is" "blue" "+") ("someone" "is" "young" "+")) -> ("someone" "is" "kind" "+"))
If someone is round and kind and blue then they are red.
((("someone" "is" "round" "+") ("someone" "is" "kind" "+") ("someone" "is" "blue" "+")) -> ("someone" "is" "red" "+"))
Bob is young.
True
1
proof
[(triple1 OR ((triple4) -> rule2))]
("Bob" "is" "young" "+")
triple1
((triple4) -> (rule2 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
Charlie is not rough.
False
1
inv-proof
[(triple7)]
("Charlie" "is" "rough" "-")
triple7
Gary is young.
True
2
proof
[(((triple10) -> rule2))]
("Gary" "is" "young" "+")
((triple10) -> (rule2 % int1))
Gary is young.
("Gary" "is" "young" "+")
int1
Bob is not kind.
False
3
inv-proof
[(((triple5 triple1) -> rule4) OR ((triple5 ((triple4) -> rule2)) -> rule4))]
("Bob" "is" "kind" "-")
((triple5 triple1) -> (rule4 % int1))
Bob is kind.
("Bob" "is" "kind" "+")
int1
((triple5 ((triple4) -> (rule2 % int2))) -> (rule4 % int1))
Bob is kind.
("Bob" "is" "kind" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
int2
Bob is round.
True
6
proof
[(((triple4 ((triple5 triple1) -> rule4) triple3) -> rule1) OR ((triple4 ((triple5 ((triple4) -> rule2)) -> rule4) triple3) -> rule1))]
("Bob" "is" "round" "+")
((triple4 ((triple5 triple1) -> (rule4 % int2)) triple3) -> (rule1 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
Bob is kind.
("Bob" "is" "kind" "+")
int2
((triple4 ((triple5 ((triple4) -> (rule2 % int3))) -> (rule4 % int2)) triple3) -> (rule1 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
Bob is kind.
("Bob" "is" "kind" "+")
int2
Bob is young.
("Bob" "is" "young" "+")
int3
Bob is not round.
False
6
inv-proof
[(((triple4 ((triple5 triple1) -> rule4) triple3) -> rule1) OR ((triple4 ((triple5 ((triple4) -> rule2)) -> rule4) triple3) -> rule1))]
("Bob" "is" "round" "-")
((triple4 ((triple5 triple1) -> (rule4 % int2)) triple3) -> (rule1 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
Bob is kind.
("Bob" "is" "kind" "+")
int2
((triple4 ((triple5 ((triple4) -> (rule2 % int3))) -> (rule4 % int2)) triple3) -> (rule1 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
Bob is kind.
("Bob" "is" "kind" "+")
int2
Bob is young.
("Bob" "is" "young" "+")
int3
Bob is green.
True
11
proof
[(((triple3 ((triple4 ((triple5 triple1) -> rule4) triple3) -> rule1) ((triple5 triple1) -> rule4)) -> rule3) OR ((triple3 ((triple4 ((triple5 triple1) -> rule4) triple3) -> rule1) ((triple5 ((triple4) -> rule2)) -> rule4)) -> rule3) OR ((triple3 ((triple4 ((triple5 ((triple4) -> rule2)) -> rule4) triple3) -> rule1) ((triple5 triple1) -> rule4)) -> rule3) OR ((triple3 ((triple4 ((triple5 ((triple4) -> rule2)) -> rule4) triple3) -> rule1) ((triple5 ((triple4) -> rule2)) -> rule4)) -> rule3))]
("Bob" "is" "green" "+")
((triple3 ((triple4 ((triple5 triple1) -> (rule4 % int3)) triple3) -> (rule1 % int2)) ((triple5 triple1) -> (rule4 % int3))) -> (rule3 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Bob is round.
("Bob" "is" "round" "+")
int2
Bob is kind.
("Bob" "is" "kind" "+")
int3
((triple3 ((triple4 ((triple5 triple1) -> (rule4 % int4)) triple3) -> (rule1 % int3)) ((triple5 ((triple4) -> (rule2 % int2))) -> (rule4 % int4))) -> (rule3 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
int2
Bob is round.
("Bob" "is" "round" "+")
int3
Bob is kind.
("Bob" "is" "kind" "+")
int4
((triple3 ((triple4 ((triple5 ((triple4) -> (rule2 % int4))) -> (rule4 % int3)) triple3) -> (rule1 % int2)) ((triple5 triple1) -> (rule4 % int3))) -> (rule3 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Bob is round.
("Bob" "is" "round" "+")
int2
Bob is kind.
("Bob" "is" "kind" "+")
int3
Bob is young.
("Bob" "is" "young" "+")
int4
((triple3 ((triple4 ((triple5 ((triple4) -> (rule2 % int4))) -> (rule4 % int3)) triple3) -> (rule1 % int2)) ((triple5 ((triple4) -> (rule2 % int4))) -> (rule4 % int3))) -> (rule3 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Bob is round.
("Bob" "is" "round" "+")
int2
Bob is kind.
("Bob" "is" "kind" "+")
int3
Bob is young.
("Bob" "is" "young" "+")
int4
Bob is not green.
False
11
inv-proof
[(((triple3 ((triple4 ((triple5 triple1) -> rule4) triple3) -> rule1) ((triple5 triple1) -> rule4)) -> rule3) OR ((triple3 ((triple4 ((triple5 triple1) -> rule4) triple3) -> rule1) ((triple5 ((triple4) -> rule2)) -> rule4)) -> rule3) OR ((triple3 ((triple4 ((triple5 ((triple4) -> rule2)) -> rule4) triple3) -> rule1) ((triple5 triple1) -> rule4)) -> rule3) OR ((triple3 ((triple4 ((triple5 ((triple4) -> rule2)) -> rule4) triple3) -> rule1) ((triple5 ((triple4) -> rule2)) -> rule4)) -> rule3))]
("Bob" "is" "green" "-")
((triple3 ((triple4 ((triple5 triple1) -> (rule4 % int3)) triple3) -> (rule1 % int2)) ((triple5 triple1) -> (rule4 % int3))) -> (rule3 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Bob is round.
("Bob" "is" "round" "+")
int2
Bob is kind.
("Bob" "is" "kind" "+")
int3
((triple3 ((triple4 ((triple5 triple1) -> (rule4 % int4)) triple3) -> (rule1 % int3)) ((triple5 ((triple4) -> (rule2 % int2))) -> (rule4 % int4))) -> (rule3 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
int2
Bob is round.
("Bob" "is" "round" "+")
int3
Bob is kind.
("Bob" "is" "kind" "+")
int4
((triple3 ((triple4 ((triple5 ((triple4) -> (rule2 % int4))) -> (rule4 % int3)) triple3) -> (rule1 % int2)) ((triple5 triple1) -> (rule4 % int3))) -> (rule3 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Bob is round.
("Bob" "is" "round" "+")
int2
Bob is kind.
("Bob" "is" "kind" "+")
int3
Bob is young.
("Bob" "is" "young" "+")
int4
((triple3 ((triple4 ((triple5 ((triple4) -> (rule2 % int4))) -> (rule4 % int3)) triple3) -> (rule1 % int2)) ((triple5 ((triple4) -> (rule2 % int4))) -> (rule4 % int3))) -> (rule3 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Bob is round.
("Bob" "is" "round" "+")
int2
Bob is kind.
("Bob" "is" "kind" "+")
int3
Bob is young.
("Bob" "is" "young" "+")
int4
Charlie is not red.
Unknown
inv-rconc
[@1: Charlie is red.[CWA. Example of deepest failure = (rule5 <- FAIL)]]
("Charlie" "is" "red" "-")
Charlie is round.
Unknown
rconc
[@1: Charlie is round.[CWA. Example of deepest failure = (rule1 <- FAIL)]]
("Charlie" "is" "round" "+")
Gary is not red.
Unknown
inv-rconc
[@1: Gary is red.[CWA. Example of deepest failure = (rule5 <- FAIL)]]
("Gary" "is" "red" "-")
Gary is kind.
Unknown
rconc
[@1: Gary is kind.[CWA. Example of deepest failure = (rule4 <- FAIL)]]
("Gary" "is" "kind" "+")
Charlie is not nice.
Unknown
inv-random
[@0: Charlie is nice.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "nice" "-")
Charlie is big.
Unknown
random
[@0: Charlie is big.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "big" "+")
Gary is not blue.
Unknown
inv-random
[@0: Gary is blue.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "blue" "-")
Harry is rough.
Unknown
random
[@0: Harry is rough.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "rough" "+")
@0: Bob is big.[(triple6)] Bob is blue.[(triple5)] Bob is cold.[(triple4)] Bob is red.[(triple3)] Bob is rough.[(triple2)] Bob is young.[(triple1 OR ((triple4) -> rule2))] Charlie is rough.[(triple7)] Gary is big.[(triple11)] Gary is cold.[(triple10)] Gary is nice.[(triple9)] Gary is rough.[(triple8)] Harry is kind.[(triple12)] @1: Bob is kind.[(((triple5 triple1) -> rule4) OR ((triple5 ((triple4) -> rule2)) -> rule4))] Gary is young.[(((triple10) -> rule2))] @2: Bob is round.[(((triple4 ((triple5 triple1) -> rule4) triple3) -> rule1) OR ((triple4 ((triple5 ((triple4) -> rule2)) -> rule4) triple3) -> rule1))] @3: Bob is green.[(((triple3 ((triple4 ((triple5 triple1) -> rule4) triple3) -> rule1) ((triple5 triple1) -> rule4)) -> rule3) OR ((triple3 ((triple4 ((triple5 triple1) -> rule4) triple3) -> rule1) ((triple5 ((triple4) -> rule2)) -> rule4)) -> rule3) OR ((triple3 ((triple4 ((triple5 ((triple4) -> rule2)) -> rule4) triple3) -> rule1) ((triple5 triple1) -> rule4)) -> rule3) OR ((triple3 ((triple4 ((triple5 ((triple4) -> rule2)) -> rule4) triple3) -> rule1) ((triple5 ((triple4) -> rule2)) -> rule4)) -> rule3))]
Bob is big.
("Bob" "is" "big" "+")
triple6
Bob is blue.
("Bob" "is" "blue" "+")
triple5
Bob is cold.
("Bob" "is" "cold" "+")
triple4
Bob is red.
("Bob" "is" "red" "+")
triple3
Bob is rough.
("Bob" "is" "rough" "+")
triple2
Bob is young.
("Bob" "is" "young" "+")
triple1
((triple4) -> (rule2 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
Charlie is rough.
("Charlie" "is" "rough" "+")
triple7
Gary is big.
("Gary" "is" "big" "+")
triple11
Gary is cold.
("Gary" "is" "cold" "+")
triple10
Gary is nice.
("Gary" "is" "nice" "+")
triple9
Gary is rough.
("Gary" "is" "rough" "+")
triple8
Harry is kind.
("Harry" "is" "kind" "+")
triple12
Bob is kind.
("Bob" "is" "kind" "+")
((triple5 triple1) -> (rule4 % int1))
Bob is kind.
("Bob" "is" "kind" "+")
int1
((triple5 ((triple4) -> (rule2 % int2))) -> (rule4 % int1))
Bob is kind.
("Bob" "is" "kind" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
int2
Gary is young.
("Gary" "is" "young" "+")
((triple10) -> (rule2 % int1))
Gary is young.
("Gary" "is" "young" "+")
int1
Bob is round.
("Bob" "is" "round" "+")
((triple4 ((triple5 triple1) -> (rule4 % int2)) triple3) -> (rule1 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
Bob is kind.
("Bob" "is" "kind" "+")
int2
((triple4 ((triple5 ((triple4) -> (rule2 % int3))) -> (rule4 % int2)) triple3) -> (rule1 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
Bob is kind.
("Bob" "is" "kind" "+")
int2
Bob is young.
("Bob" "is" "young" "+")
int3
Bob is green.
("Bob" "is" "green" "+")
((triple3 ((triple4 ((triple5 triple1) -> (rule4 % int3)) triple3) -> (rule1 % int2)) ((triple5 triple1) -> (rule4 % int3))) -> (rule3 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Bob is round.
("Bob" "is" "round" "+")
int2
Bob is kind.
("Bob" "is" "kind" "+")
int3
((triple3 ((triple4 ((triple5 triple1) -> (rule4 % int4)) triple3) -> (rule1 % int3)) ((triple5 ((triple4) -> (rule2 % int2))) -> (rule4 % int4))) -> (rule3 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
int2
Bob is round.
("Bob" "is" "round" "+")
int3
Bob is kind.
("Bob" "is" "kind" "+")
int4
((triple3 ((triple4 ((triple5 ((triple4) -> (rule2 % int4))) -> (rule4 % int3)) triple3) -> (rule1 % int2)) ((triple5 triple1) -> (rule4 % int3))) -> (rule3 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Bob is round.
("Bob" "is" "round" "+")
int2
Bob is kind.
("Bob" "is" "kind" "+")
int3
Bob is young.
("Bob" "is" "young" "+")
int4
((triple3 ((triple4 ((triple5 ((triple4) -> (rule2 % int4))) -> (rule4 % int3)) triple3) -> (rule1 % int2)) ((triple5 ((triple4) -> (rule2 % int4))) -> (rule4 % int3))) -> (rule3 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Bob is round.
("Bob" "is" "round" "+")
int2
Bob is kind.
("Bob" "is" "kind" "+")
int3
Bob is young.
("Bob" "is" "young" "+")
int4
Bob lives at home with his parents who tell him he is too young to live on his own; Bob is a big blue guy with red rings around his ankles and rough patchy skin; Bob is always cold inside or out.
They always call him rough Charlie.
Gary is rough but nice, big but cold.
Harry always goes out of his way to show that he is kind to people.
When a kind person is feeling cold with red skin, they will be round as well.
A human that's cold also means they are a human that is young.
A human that's round, red and kind will be also be a green human.
If you color the young ones blue then they will be kind.
When somebody is round, kind and blue, you know they'll also be red.