Bob was round, nice, and because he was cold, he looked rather blue. Dave ate some rotten meat and now feels green. Fred is both young and fairly round in size. If people are nice and round, they look red. Red and round people are nice to others even though they are big. Nice young people who are round are also blue. Blue people who are kind and nice are actually quite rough. Big people who at the same time are cold hearted and nice are a conundrum but they are also kind.
Bob is round.
("Bob" "is" "round" "+")
Bob is nice.
("Bob" "is" "nice" "+")
Bob is cold.
("Bob" "is" "cold" "+")
Bob is blue.
("Bob" "is" "blue" "+")
Dave is green.
("Dave" "is" "green" "+")
Fred is young.
("Fred" "is" "young" "+")
Fred is round.
("Fred" "is" "round" "+")
If someone is nice and round then they are red.
((("someone" "is" "nice" "+") ("someone" "is" "round" "+")) -> ("someone" "is" "red" "+"))
If someone is nice and round and red then they are big.
((("someone" "is" "nice" "+") ("someone" "is" "round" "+") ("someone" "is" "red" "+")) -> ("someone" "is" "big" "+"))
If someone is nice and young and round then they are blue.
((("someone" "is" "nice" "+") ("someone" "is" "young" "+") ("someone" "is" "round" "+")) -> ("someone" "is" "blue" "+"))
If someone is blue and kind and nice then they are rough.
((("someone" "is" "blue" "+") ("someone" "is" "kind" "+") ("someone" "is" "nice" "+")) -> ("someone" "is" "rough" "+"))
If someone is cold and nice and big then they are kind.
((("someone" "is" "cold" "+") ("someone" "is" "nice" "+") ("someone" "is" "big" "+")) -> ("someone" "is" "kind" "+"))
Fred is round.
True
1
proof
[(triple7)]
("Fred" "is" "round" "+")
triple7
Fred is not young.
False
1
inv-proof
[(triple6)]
("Fred" "is" "young" "-")
triple6
Bob is red.
True
3
proof
[(((triple2 triple1) -> rule1))]
("Bob" "is" "red" "+")
((triple2 triple1) -> (rule1 % int1))
Bob is red.
("Bob" "is" "red" "+")
int1
Bob is not red.
False
3
inv-proof
[(((triple2 triple1) -> rule1))]
("Bob" "is" "red" "-")
((triple2 triple1) -> (rule1 % int1))
Bob is red.
("Bob" "is" "red" "+")
int1
Bob is big.
True
6
proof
[(((triple2 triple1 ((triple2 triple1) -> rule1)) -> rule2))]
("Bob" "is" "big" "+")
((triple2 triple1 ((triple2 triple1) -> (rule1 % int2))) -> (rule2 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
Bob is red.
("Bob" "is" "red" "+")
int2
Bob is not big.
False
6
inv-proof
[(((triple2 triple1 ((triple2 triple1) -> rule1)) -> rule2))]
("Bob" "is" "big" "-")
((triple2 triple1 ((triple2 triple1) -> (rule1 % int2))) -> (rule2 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
Bob is red.
("Bob" "is" "red" "+")
int2
Bob is kind.
True
9
proof
[(((triple3 triple2 ((triple2 triple1 ((triple2 triple1) -> rule1)) -> rule2)) -> rule5))]
("Bob" "is" "kind" "+")
((triple3 triple2 ((triple2 triple1 ((triple2 triple1) -> (rule1 % int3))) -> (rule2 % int2))) -> (rule5 % int1))
Bob is kind.
("Bob" "is" "kind" "+")
int1
Bob is big.
("Bob" "is" "big" "+")
int2
Bob is red.
("Bob" "is" "red" "+")
int3
Bob is not kind.
False
9
inv-proof
[(((triple3 triple2 ((triple2 triple1 ((triple2 triple1) -> rule1)) -> rule2)) -> rule5))]
("Bob" "is" "kind" "-")
((triple3 triple2 ((triple2 triple1 ((triple2 triple1) -> (rule1 % int3))) -> (rule2 % int2))) -> (rule5 % int1))
Bob is kind.
("Bob" "is" "kind" "+")
int1
Bob is big.
("Bob" "is" "big" "+")
int2
Bob is red.
("Bob" "is" "red" "+")
int3
Bob is rough.
True
12
proof
[(((triple4 ((triple3 triple2 ((triple2 triple1 ((triple2 triple1) -> rule1)) -> rule2)) -> rule5) triple2) -> rule4))]
("Bob" "is" "rough" "+")
((triple4 ((triple3 triple2 ((triple2 triple1 ((triple2 triple1) -> (rule1 % int4))) -> (rule2 % int3))) -> (rule5 % int2)) triple2) -> (rule4 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is kind.
("Bob" "is" "kind" "+")
int2
Bob is big.
("Bob" "is" "big" "+")
int3
Bob is red.
("Bob" "is" "red" "+")
int4
Bob is not rough.
False
12
inv-proof
[(((triple4 ((triple3 triple2 ((triple2 triple1 ((triple2 triple1) -> rule1)) -> rule2)) -> rule5) triple2) -> rule4))]
("Bob" "is" "rough" "-")
((triple4 ((triple3 triple2 ((triple2 triple1 ((triple2 triple1) -> (rule1 % int4))) -> (rule2 % int3))) -> (rule5 % int2)) triple2) -> (rule4 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is kind.
("Bob" "is" "kind" "+")
int2
Bob is big.
("Bob" "is" "big" "+")
int3
Bob is red.
("Bob" "is" "red" "+")
int4
Fred is not blue.
Unknown
inv-rconc
[@1: Fred is blue.[CWA. Example of deepest failure = (rule3 <- FAIL)]]
("Fred" "is" "blue" "-")
Dave is kind.
Unknown
rconc
[@1: Dave is kind.[CWA. Example of deepest failure = (rule5 <- FAIL)]]
("Dave" "is" "kind" "+")
Alan is not blue.
Unknown
inv-rconc
[@1: Alan is blue.[CWA. Example of deepest failure = (rule3 <- FAIL)]]
("Alan" "is" "blue" "-")
Dave is big.
Unknown
rconc
[@1: Dave is big.[CWA. Example of deepest failure = (rule2 <- FAIL)]]
("Dave" "is" "big" "+")
Alan is not red.
Unknown
inv-rconc
[@1: Alan is red.[CWA. Example of deepest failure = (rule1 <- FAIL)]]
("Alan" "is" "red" "-")
Alan is round.
Unknown
random
[@0: Alan is round.[CWA. Example of deepest failure = (FAIL)]]
("Alan" "is" "round" "+")
Dave is not round.
Unknown
inv-random
[@0: Dave is round.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "round" "-")
Alan is young.
Unknown
random
[@0: Alan is young.[CWA. Example of deepest failure = (FAIL)]]
("Alan" "is" "young" "+")
Fred is not cold.
Unknown
inv-random
[@0: Fred is cold.[CWA. Example of deepest failure = (FAIL)]]
("Fred" "is" "cold" "-")
Fred is green.
Unknown
random
[@0: Fred is green.[CWA. Example of deepest failure = (FAIL)]]
("Fred" "is" "green" "+")
@0: Bob is blue.[(triple4)] Bob is cold.[(triple3)] Bob is nice.[(triple2)] Bob is round.[(triple1)] Dave is green.[(triple5)] Fred is round.[(triple7)] Fred is young.[(triple6)] @1: Bob is red.[(((triple2 triple1) -> rule1))] @2: Bob is big.[(((triple2 triple1 ((triple2 triple1) -> rule1)) -> rule2))] @3: Bob is kind.[(((triple3 triple2 ((triple2 triple1 ((triple2 triple1) -> rule1)) -> rule2)) -> rule5))] @4: Bob is rough.[(((triple4 ((triple3 triple2 ((triple2 triple1 ((triple2 triple1) -> rule1)) -> rule2)) -> rule5) triple2) -> rule4))]
Bob is blue.
("Bob" "is" "blue" "+")
triple4
Bob is cold.
("Bob" "is" "cold" "+")
triple3
Bob is nice.
("Bob" "is" "nice" "+")
triple2
Bob is round.
("Bob" "is" "round" "+")
triple1
Dave is green.
("Dave" "is" "green" "+")
triple5
Fred is round.
("Fred" "is" "round" "+")
triple7
Fred is young.
("Fred" "is" "young" "+")
triple6
Bob is red.
("Bob" "is" "red" "+")
((triple2 triple1) -> (rule1 % int1))
Bob is red.
("Bob" "is" "red" "+")
int1
Bob is big.
("Bob" "is" "big" "+")
((triple2 triple1 ((triple2 triple1) -> (rule1 % int2))) -> (rule2 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
Bob is red.
("Bob" "is" "red" "+")
int2
Bob is kind.
("Bob" "is" "kind" "+")
((triple3 triple2 ((triple2 triple1 ((triple2 triple1) -> (rule1 % int3))) -> (rule2 % int2))) -> (rule5 % int1))
Bob is kind.
("Bob" "is" "kind" "+")
int1
Bob is big.
("Bob" "is" "big" "+")
int2
Bob is red.
("Bob" "is" "red" "+")
int3
Bob is rough.
("Bob" "is" "rough" "+")
((triple4 ((triple3 triple2 ((triple2 triple1 ((triple2 triple1) -> (rule1 % int4))) -> (rule2 % int3))) -> (rule5 % int2)) triple2) -> (rule4 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is kind.
("Bob" "is" "kind" "+")
int2
Bob is big.
("Bob" "is" "big" "+")
int3
Bob is red.
("Bob" "is" "red" "+")
int4
Bob was round, nice, and because he was cold, he looked rather blue.
Dave ate some rotten meat and now feels green.
Fred is both young and fairly round in size.
If people are nice and round, they look red.
Red and round people are nice to others even though they are big.
Nice young people who are round are also blue.
Blue people who are kind and nice are actually quite rough.
Big people who at the same time are cold hearted and nice are a conundrum but they are also kind.