They always call him rough Alan. They always call him rough Dave. They always say that he is so nice and kind, that is Big Fred.  But he is also round and blue. Young Harry is wearing green pants. Kind young people are red. People who are red and round are usually assumed to be green. A green person who is kind and a bit blue is young. A big person who looks blue is also going to look young. People who always wear red and act in a kind manner towards everyone they meet also have a round body. You make someone round and green, and they'll turn out nice. Nice young people who are always cold end up also being big.
Alan is rough.
("Alan" "is" "rough" "+")
Dave is rough.
("Dave" "is" "rough" "+")
Fred is round.
("Fred" "is" "round" "+")
Fred is nice.
("Fred" "is" "nice" "+")
Fred is kind.
("Fred" "is" "kind" "+")
Fred is blue.
("Fred" "is" "blue" "+")
Fred is big.
("Fred" "is" "big" "+")
Harry is young.
("Harry" "is" "young" "+")
Harry is green.
("Harry" "is" "green" "+")
If someone is kind and young then they are red.
((("someone" "is" "kind" "+") ("someone" "is" "young" "+")) -> ("someone" "is" "red" "+"))
If someone is red and round then they are green.
((("someone" "is" "red" "+") ("someone" "is" "round" "+")) -> ("someone" "is" "green" "+"))
If someone is blue and kind and green then they are young.
((("someone" "is" "blue" "+") ("someone" "is" "kind" "+") ("someone" "is" "green" "+")) -> ("someone" "is" "young" "+"))
If someone is blue and big then they are young.
((("someone" "is" "blue" "+") ("someone" "is" "big" "+")) -> ("someone" "is" "young" "+"))
If someone is red and kind then they are round.
((("someone" "is" "red" "+") ("someone" "is" "kind" "+")) -> ("someone" "is" "round" "+"))
If someone is round and green then they are nice.
((("someone" "is" "round" "+") ("someone" "is" "green" "+")) -> ("someone" "is" "nice" "+"))
If someone is cold and nice and young then they are big.
((("someone" "is" "cold" "+") ("someone" "is" "nice" "+") ("someone" "is" "young" "+")) -> ("someone" "is" "big" "+"))
Alan is rough.
True
1
proof
[(triple1)]
("Alan" "is" "rough" "+")
triple1
Harry is not green.
False
1
inv-proof
[(triple9)]
("Harry" "is" "green" "-")
triple9
Fred is young.
True
3
proof
[(((triple6 triple7) -> rule4))]
("Fred" "is" "young" "+")
((triple6 triple7) -> (rule4 % int1))
Fred is young.
("Fred" "is" "young" "+")
int1
Fred is not young.
False
3
inv-proof
[(((triple6 triple7) -> rule4))]
("Fred" "is" "young" "-")
((triple6 triple7) -> (rule4 % int1))
Fred is young.
("Fred" "is" "young" "+")
int1
Fred is red.
True
5
proof
[(((triple5 ((triple6 triple7) -> rule4)) -> rule1))]
("Fred" "is" "red" "+")
((triple5 ((triple6 triple7) -> (rule4 % int2))) -> (rule1 % int1))
Fred is red.
("Fred" "is" "red" "+")
int1
Fred is young.
("Fred" "is" "young" "+")
int2
Fred is not red.
False
5
inv-proof
[(((triple5 ((triple6 triple7) -> rule4)) -> rule1))]
("Fred" "is" "red" "-")
((triple5 ((triple6 triple7) -> (rule4 % int2))) -> (rule1 % int1))
Fred is red.
("Fred" "is" "red" "+")
int1
Fred is young.
("Fred" "is" "young" "+")
int2
Fred is green.
True
7
proof
[(((((triple5 ((triple6 triple7) -> rule4)) -> rule1) triple3) -> rule2) OR ((((triple5 ((triple6 triple7) -> rule4)) -> rule1) ((((triple5 ((triple6 triple7) -> rule4)) -> rule1) triple5) -> rule5)) -> rule2))]
("Fred" "is" "green" "+")
((((triple5 ((triple6 triple7) -> (rule4 % int3))) -> (rule1 % int2)) triple3) -> (rule2 % int1))
Fred is green.
("Fred" "is" "green" "+")
int1
Fred is red.
("Fred" "is" "red" "+")
int2
Fred is young.
("Fred" "is" "young" "+")
int3
((((triple5 ((triple6 triple7) -> (rule4 % int4))) -> (rule1 % int3)) ((((triple5 ((triple6 triple7) -> (rule4 % int4))) -> (rule1 % int3)) triple5) -> (rule5 % int2))) -> (rule2 % int1))
Fred is green.
("Fred" "is" "green" "+")
int1
Fred is round.
("Fred" "is" "round" "+")
int2
Fred is red.
("Fred" "is" "red" "+")
int3
Fred is young.
("Fred" "is" "young" "+")
int4
Fred is not green.
False
7
inv-proof
[(((((triple5 ((triple6 triple7) -> rule4)) -> rule1) triple3) -> rule2) OR ((((triple5 ((triple6 triple7) -> rule4)) -> rule1) ((((triple5 ((triple6 triple7) -> rule4)) -> rule1) triple5) -> rule5)) -> rule2))]
("Fred" "is" "green" "-")
((((triple5 ((triple6 triple7) -> (rule4 % int3))) -> (rule1 % int2)) triple3) -> (rule2 % int1))
Fred is green.
("Fred" "is" "green" "+")
int1
Fred is red.
("Fred" "is" "red" "+")
int2
Fred is young.
("Fred" "is" "young" "+")
int3
((((triple5 ((triple6 triple7) -> (rule4 % int4))) -> (rule1 % int3)) ((((triple5 ((triple6 triple7) -> (rule4 % int4))) -> (rule1 % int3)) triple5) -> (rule5 % int2))) -> (rule2 % int1))
Fred is green.
("Fred" "is" "green" "+")
int1
Fred is round.
("Fred" "is" "round" "+")
int2
Fred is red.
("Fred" "is" "red" "+")
int3
Fred is young.
("Fred" "is" "young" "+")
int4
Dave is not green.
Unknown
inv-rconc
[@2: Dave is green.[CWA. Example of deepest failure = (rule2 <- rule1 <- FAIL)]]
("Dave" "is" "green" "-")
Alan is round.
Unknown
rconc
[@1: Alan is round.[CWA. Example of deepest failure = (rule5 <- FAIL)]]
("Alan" "is" "round" "+")
Harry is not nice.
Unknown
inv-rconc
[@2: Harry is nice.[CWA. Example of deepest failure = (rule6 <- rule5 <- FAIL)]]
("Harry" "is" "nice" "-")
Alan is green.
Unknown
rconc
[@2: Alan is green.[CWA. Example of deepest failure = (rule2 <- rule1 <- FAIL)]]
("Alan" "is" "green" "+")
Harry is not blue.
Unknown
inv-random
[@0: Harry is blue.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "blue" "-")
Dave is cold.
Unknown
random
[@0: Dave is cold.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "cold" "+")
Fred is not cold.
Unknown
inv-random
[@0: Fred is cold.[CWA. Example of deepest failure = (FAIL)]]
("Fred" "is" "cold" "-")
Fred is rough.
Unknown
random
[@0: Fred is rough.[CWA. Example of deepest failure = (FAIL)]]
("Fred" "is" "rough" "+")
@0: Alan is rough.[(triple1)] Dave is rough.[(triple2)] Fred is big.[(triple7)] Fred is blue.[(triple6)] Fred is kind.[(triple5)] Fred is nice.[(triple4 OR ((triple3 ((((triple5 ((triple6 triple7) -> rule4)) -> rule1) triple3) -> rule2)) -> rule6) OR ((((((triple5 ((triple6 triple7) -> rule4)) -> rule1) triple5) -> rule5) ((((triple5 ((triple6 triple7) -> rule4)) -> rule1) triple3) -> rule2)) -> rule6) OR ((triple3 ((((triple5 ((triple6 triple7) -> rule4)) -> rule1) ((((triple5 ((triple6 triple7) -> rule4)) -> rule1) triple5) -> rule5)) -> rule2)) -> rule6) OR ((((((triple5 ((triple6 triple7) -> rule4)) -> rule1) triple5) -> rule5) ((((triple5 ((triple6 triple7) -> rule4)) -> rule1) ((((triple5 ((triple6 triple7) -> rule4)) -> rule1) triple5) -> rule5)) -> rule2)) -> rule6))] Fred is round.[(triple3 OR ((((triple5 ((triple6 triple7) -> rule4)) -> rule1) triple5) -> rule5))] Harry is green.[(triple9)] Harry is young.[(triple8)] @1: Fred is young.[(((triple6 triple7) -> rule4))] @2: Fred is red.[(((triple5 ((triple6 triple7) -> rule4)) -> rule1))] @3: Fred is green.[(((((triple5 ((triple6 triple7) -> rule4)) -> rule1) triple3) -> rule2) OR ((((triple5 ((triple6 triple7) -> rule4)) -> rule1) ((((triple5 ((triple6 triple7) -> rule4)) -> rule1) triple5) -> rule5)) -> rule2))]
Alan is rough.
("Alan" "is" "rough" "+")
triple1
Dave is rough.
("Dave" "is" "rough" "+")
triple2
Fred is big.
("Fred" "is" "big" "+")
triple7
Fred is blue.
("Fred" "is" "blue" "+")
triple6
Fred is kind.
("Fred" "is" "kind" "+")
triple5
Fred is nice.
("Fred" "is" "nice" "+")
triple4
((triple3 ((((triple5 ((triple6 triple7) -> (rule4 % int4))) -> (rule1 % int3)) triple3) -> (rule2 % int2))) -> (rule6 % int1))
Fred is nice.
("Fred" "is" "nice" "+")
int1
Fred is green.
("Fred" "is" "green" "+")
int2
Fred is red.
("Fred" "is" "red" "+")
int3
Fred is young.
("Fred" "is" "young" "+")
int4
((((((triple5 ((triple6 triple7) -> (rule4 % int5))) -> (rule1 % int4)) triple5) -> (rule5 % int3)) ((((triple5 ((triple6 triple7) -> (rule4 % int5))) -> (rule1 % int4)) triple3) -> (rule2 % int2))) -> (rule6 % int1))
Fred is nice.
("Fred" "is" "nice" "+")
int1
Fred is green.
("Fred" "is" "green" "+")
int2
Fred is round.
("Fred" "is" "round" "+")
int3
Fred is red.
("Fred" "is" "red" "+")
int4
Fred is young.
("Fred" "is" "young" "+")
int5
((triple3 ((((triple5 ((triple6 triple7) -> (rule4 % int5))) -> (rule1 % int4)) ((((triple5 ((triple6 triple7) -> (rule4 % int5))) -> (rule1 % int4)) triple5) -> (rule5 % int3))) -> (rule2 % int2))) -> (rule6 % int1))
Fred is nice.
("Fred" "is" "nice" "+")
int1
Fred is green.
("Fred" "is" "green" "+")
int2
Fred is round.
("Fred" "is" "round" "+")
int3
Fred is red.
("Fred" "is" "red" "+")
int4
Fred is young.
("Fred" "is" "young" "+")
int5
((((((triple5 ((triple6 triple7) -> (rule4 % int5))) -> (rule1 % int4)) triple5) -> (rule5 % int3)) ((((triple5 ((triple6 triple7) -> (rule4 % int5))) -> (rule1 % int4)) ((((triple5 ((triple6 triple7) -> (rule4 % int5))) -> (rule1 % int4)) triple5) -> (rule5 % int3))) -> (rule2 % int2))) -> (rule6 % int1))
Fred is nice.
("Fred" "is" "nice" "+")
int1
Fred is green.
("Fred" "is" "green" "+")
int2
Fred is round.
("Fred" "is" "round" "+")
int3
Fred is red.
("Fred" "is" "red" "+")
int4
Fred is young.
("Fred" "is" "young" "+")
int5
Fred is round.
("Fred" "is" "round" "+")
triple3
((((triple5 ((triple6 triple7) -> (rule4 % int3))) -> (rule1 % int2)) triple5) -> (rule5 % int1))
Fred is round.
("Fred" "is" "round" "+")
int1
Fred is red.
("Fred" "is" "red" "+")
int2
Fred is young.
("Fred" "is" "young" "+")
int3
Harry is green.
("Harry" "is" "green" "+")
triple9
Harry is young.
("Harry" "is" "young" "+")
triple8
Fred is young.
("Fred" "is" "young" "+")
((triple6 triple7) -> (rule4 % int1))
Fred is young.
("Fred" "is" "young" "+")
int1
Fred is red.
("Fred" "is" "red" "+")
((triple5 ((triple6 triple7) -> (rule4 % int2))) -> (rule1 % int1))
Fred is red.
("Fred" "is" "red" "+")
int1
Fred is young.
("Fred" "is" "young" "+")
int2
Fred is green.
("Fred" "is" "green" "+")
((((triple5 ((triple6 triple7) -> (rule4 % int3))) -> (rule1 % int2)) triple3) -> (rule2 % int1))
Fred is green.
("Fred" "is" "green" "+")
int1
Fred is red.
("Fred" "is" "red" "+")
int2
Fred is young.
("Fred" "is" "young" "+")
int3
((((triple5 ((triple6 triple7) -> (rule4 % int4))) -> (rule1 % int3)) ((((triple5 ((triple6 triple7) -> (rule4 % int4))) -> (rule1 % int3)) triple5) -> (rule5 % int2))) -> (rule2 % int1))
Fred is green.
("Fred" "is" "green" "+")
int1
Fred is round.
("Fred" "is" "round" "+")
int2
Fred is red.
("Fred" "is" "red" "+")
int3
Fred is young.
("Fred" "is" "young" "+")
int4
They always call him rough Alan.
They always call him rough Dave.
They always say that he is so nice and kind, that is Big Fred; But he is also round and blue.
Young Harry is wearing green pants.
Kind young people are red.
People who are red and round are usually assumed to be green.
A green person who is kind and a bit blue is young.
A big person who looks blue is also going to look young.
People who always wear red and act in a kind manner towards everyone they meet also have a round body.
You make someone round and green, and they'll turn out nice.
Nice young people who are always cold end up also being big.