Alan has rough skin that is tinged with both red and green.  He has a round shape and is nice to everyone he meets. That guy Bob is big, but he's always kind to little ones. Fred was born only a few years ago so he is young. Being round and nice automatically means a person is kind. A kind and green person who is rough around the edges is cold. Any person who is blue and round, if they are kind at the same time, will be young. Being a young, round and kind individual means that you are also a blue individual. A rough, big soul is sure to be nice, too. A cold, red person with a kind disposition will certainly be big. Anyone you know who is cold and kind must certainly be young.
Alan is round.
("Alan" "is" "round" "+")
Alan is rough.
("Alan" "is" "rough" "+")
Alan is red.
("Alan" "is" "red" "+")
Alan is nice.
("Alan" "is" "nice" "+")
Alan is green.
("Alan" "is" "green" "+")
Bob is kind.
("Bob" "is" "kind" "+")
Bob is big.
("Bob" "is" "big" "+")
Fred is young.
("Fred" "is" "young" "+")
If someone is round and nice then they are kind.
((("someone" "is" "round" "+") ("someone" "is" "nice" "+")) -> ("someone" "is" "kind" "+"))
If someone is green and rough and kind then they are cold.
((("someone" "is" "green" "+") ("someone" "is" "rough" "+") ("someone" "is" "kind" "+")) -> ("someone" "is" "cold" "+"))
If someone is blue and round and kind then they are young.
((("someone" "is" "blue" "+") ("someone" "is" "round" "+") ("someone" "is" "kind" "+")) -> ("someone" "is" "young" "+"))
If someone is young and round and kind then they are blue.
((("someone" "is" "young" "+") ("someone" "is" "round" "+") ("someone" "is" "kind" "+")) -> ("someone" "is" "blue" "+"))
If someone is rough and big then they are nice.
((("someone" "is" "rough" "+") ("someone" "is" "big" "+")) -> ("someone" "is" "nice" "+"))
If someone is red and cold and kind then they are big.
((("someone" "is" "red" "+") ("someone" "is" "cold" "+") ("someone" "is" "kind" "+")) -> ("someone" "is" "big" "+"))
If someone is cold and kind then they are young.
((("someone" "is" "cold" "+") ("someone" "is" "kind" "+")) -> ("someone" "is" "young" "+"))
Alan is red.
True
1
proof
[(triple3)]
("Alan" "is" "red" "+")
triple3
Alan is not red.
False
1
inv-proof
[(triple3)]
("Alan" "is" "red" "-")
triple3
Alan is kind.
True
3
proof
[(((triple1 triple4) -> rule1))]
("Alan" "is" "kind" "+")
((triple1 triple4) -> (rule1 % int1))
Alan is kind.
("Alan" "is" "kind" "+")
int1
Alan is not kind.
False
3
inv-proof
[(((triple1 triple4) -> rule1))]
("Alan" "is" "kind" "-")
((triple1 triple4) -> (rule1 % int1))
Alan is kind.
("Alan" "is" "kind" "+")
int1
Alan is cold.
True
6
proof
[(((triple5 triple2 ((triple1 triple4) -> rule1)) -> rule2))]
("Alan" "is" "cold" "+")
((triple5 triple2 ((triple1 triple4) -> (rule1 % int2))) -> (rule2 % int1))
Alan is cold.
("Alan" "is" "cold" "+")
int1
Alan is kind.
("Alan" "is" "kind" "+")
int2
Alan is not cold.
False
6
inv-proof
[(((triple5 triple2 ((triple1 triple4) -> rule1)) -> rule2))]
("Alan" "is" "cold" "-")
((triple5 triple2 ((triple1 triple4) -> (rule1 % int2))) -> (rule2 % int1))
Alan is cold.
("Alan" "is" "cold" "+")
int1
Alan is kind.
("Alan" "is" "kind" "+")
int2
Alan is big.
True
11
proof
[(((triple3 ((triple5 triple2 ((triple1 triple4) -> rule1)) -> rule2) ((triple1 triple4) -> rule1)) -> rule6))]
("Alan" "is" "big" "+")
((triple3 ((triple5 triple2 ((triple1 triple4) -> (rule1 % int3))) -> (rule2 % int2)) ((triple1 triple4) -> (rule1 % int3))) -> (rule6 % int1))
Alan is big.
("Alan" "is" "big" "+")
int1
Alan is cold.
("Alan" "is" "cold" "+")
int2
Alan is kind.
("Alan" "is" "kind" "+")
int3
Alan is not young.
False
10
inv-proof
[(((((triple5 triple2 ((triple1 triple4) -> rule1)) -> rule2) ((triple1 triple4) -> rule1)) -> rule7))]
("Alan" "is" "young" "-")
((((triple5 triple2 ((triple1 triple4) -> (rule1 % int3))) -> (rule2 % int2)) ((triple1 triple4) -> (rule1 % int3))) -> (rule7 % int1))
Alan is young.
("Alan" "is" "young" "+")
int1
Alan is cold.
("Alan" "is" "cold" "+")
int2
Alan is kind.
("Alan" "is" "kind" "+")
int3
Alan is blue.
True
15
proof
[(((((((triple5 triple2 ((triple1 triple4) -> rule1)) -> rule2) ((triple1 triple4) -> rule1)) -> rule7) triple1 ((triple1 triple4) -> rule1)) -> rule4))]
("Alan" "is" "blue" "+")
((((((triple5 triple2 ((triple1 triple4) -> (rule1 % int4))) -> (rule2 % int3)) ((triple1 triple4) -> (rule1 % int4))) -> (rule7 % int2)) triple1 ((triple1 triple4) -> (rule1 % int4))) -> (rule4 % int1))
Alan is blue.
("Alan" "is" "blue" "+")
int1
Alan is young.
("Alan" "is" "young" "+")
int2
Alan is cold.
("Alan" "is" "cold" "+")
int3
Alan is kind.
("Alan" "is" "kind" "+")
int4
Alan is not blue.
False
15
inv-proof
[(((((((triple5 triple2 ((triple1 triple4) -> rule1)) -> rule2) ((triple1 triple4) -> rule1)) -> rule7) triple1 ((triple1 triple4) -> rule1)) -> rule4))]
("Alan" "is" "blue" "-")
((((((triple5 triple2 ((triple1 triple4) -> (rule1 % int4))) -> (rule2 % int3)) ((triple1 triple4) -> (rule1 % int4))) -> (rule7 % int2)) triple1 ((triple1 triple4) -> (rule1 % int4))) -> (rule4 % int1))
Alan is blue.
("Alan" "is" "blue" "+")
int1
Alan is young.
("Alan" "is" "young" "+")
int2
Alan is cold.
("Alan" "is" "cold" "+")
int3
Alan is kind.
("Alan" "is" "kind" "+")
int4
Fred is not big.
Unknown
inv-rconc
[@1: Fred is big.[CWA. Example of deepest failure = (rule6 <- FAIL)]]
("Fred" "is" "big" "-")
Fred is kind.
Unknown
rconc
[@1: Fred is kind.[CWA. Example of deepest failure = (rule1 <- FAIL)]]
("Fred" "is" "kind" "+")
Dave is not big.
Unknown
inv-rconc
[@1: Dave is big.[CWA. Example of deepest failure = (rule6 <- FAIL)]]
("Dave" "is" "big" "-")
Fred is blue.
Unknown
rconc
[@1: Fred is blue.[CWA. Example of deepest failure = (rule4 <- FAIL)]]
("Fred" "is" "blue" "+")
Dave is not kind.
Unknown
inv-rconc
[@1: Dave is kind.[CWA. Example of deepest failure = (rule1 <- FAIL)]]
("Dave" "is" "kind" "-")
Fred is rough.
Unknown
random
[@0: Fred is rough.[CWA. Example of deepest failure = (FAIL)]]
("Fred" "is" "rough" "+")
Dave is not green.
Unknown
inv-random
[@0: Dave is green.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "green" "-")
Dave is rough.
Unknown
random
[@0: Dave is rough.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "rough" "+")
Fred is not green.
Unknown
inv-random
[@0: Fred is green.[CWA. Example of deepest failure = (FAIL)]]
("Fred" "is" "green" "-")
Bob is red.
Unknown
random
[@0: Bob is red.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "red" "+")
@0: Alan is green.[(triple5)] Alan is nice.[(triple4)] Alan is red.[(triple3)] Alan is rough.[(triple2)] Alan is round.[(triple1)] Bob is big.[(triple7)] Bob is kind.[(triple6)] Fred is young.[(triple8)] @1: Alan is kind.[(((triple1 triple4) -> rule1))] @2: Alan is cold.[(((triple5 triple2 ((triple1 triple4) -> rule1)) -> rule2))] @3: Alan is big.[(((triple3 ((triple5 triple2 ((triple1 triple4) -> rule1)) -> rule2) ((triple1 triple4) -> rule1)) -> rule6))] Alan is young.[(((((triple5 triple2 ((triple1 triple4) -> rule1)) -> rule2) ((triple1 triple4) -> rule1)) -> rule7))] @4: Alan is blue.[(((((((triple5 triple2 ((triple1 triple4) -> rule1)) -> rule2) ((triple1 triple4) -> rule1)) -> rule7) triple1 ((triple1 triple4) -> rule1)) -> rule4))]
Alan is green.
("Alan" "is" "green" "+")
triple5
Alan is nice.
("Alan" "is" "nice" "+")
triple4
Alan is red.
("Alan" "is" "red" "+")
triple3
Alan is rough.
("Alan" "is" "rough" "+")
triple2
Alan is round.
("Alan" "is" "round" "+")
triple1
Bob is big.
("Bob" "is" "big" "+")
triple7
Bob is kind.
("Bob" "is" "kind" "+")
triple6
Fred is young.
("Fred" "is" "young" "+")
triple8
Alan is kind.
("Alan" "is" "kind" "+")
((triple1 triple4) -> (rule1 % int1))
Alan is kind.
("Alan" "is" "kind" "+")
int1
Alan is cold.
("Alan" "is" "cold" "+")
((triple5 triple2 ((triple1 triple4) -> (rule1 % int2))) -> (rule2 % int1))
Alan is cold.
("Alan" "is" "cold" "+")
int1
Alan is kind.
("Alan" "is" "kind" "+")
int2
Alan is big.
("Alan" "is" "big" "+")
((triple3 ((triple5 triple2 ((triple1 triple4) -> (rule1 % int3))) -> (rule2 % int2)) ((triple1 triple4) -> (rule1 % int3))) -> (rule6 % int1))
Alan is big.
("Alan" "is" "big" "+")
int1
Alan is cold.
("Alan" "is" "cold" "+")
int2
Alan is kind.
("Alan" "is" "kind" "+")
int3
Alan is young.
("Alan" "is" "young" "+")
((((triple5 triple2 ((triple1 triple4) -> (rule1 % int3))) -> (rule2 % int2)) ((triple1 triple4) -> (rule1 % int3))) -> (rule7 % int1))
Alan is young.
("Alan" "is" "young" "+")
int1
Alan is cold.
("Alan" "is" "cold" "+")
int2
Alan is kind.
("Alan" "is" "kind" "+")
int3
Alan is blue.
("Alan" "is" "blue" "+")
((((((triple5 triple2 ((triple1 triple4) -> (rule1 % int4))) -> (rule2 % int3)) ((triple1 triple4) -> (rule1 % int4))) -> (rule7 % int2)) triple1 ((triple1 triple4) -> (rule1 % int4))) -> (rule4 % int1))
Alan is blue.
("Alan" "is" "blue" "+")
int1
Alan is young.
("Alan" "is" "young" "+")
int2
Alan is cold.
("Alan" "is" "cold" "+")
int3
Alan is kind.
("Alan" "is" "kind" "+")
int4
Alan has rough skin that is tinged with both red and green; He has a round shape and is nice to everyone he meets.
That guy Bob is big, but he's always kind to little ones.
Fred was born only a few years ago so he is young.
Being round and nice automatically means a person is kind.
A kind and green person who is rough around the edges is cold.
Any person who is blue and round, if they are kind at the same time, will be young.
Being a young, round and kind individual means that you are also a blue individual.
A rough, big soul is sure to be nice, too.
A cold, red person with a kind disposition will certainly be big.
Anyone you know who is cold and kind must certainly be young.