Bob is green. Bob is kind. Bob is nice. Bob is rough. Dave is nice. Dave is red. Dave is round. If someone is big then they are nice. If someone is round and green then they are red. Round people are kind. If someone is nice and rough then they are green. Round, kind people are red. If Dave is red then Dave is big. If someone is red and kind then they are nice. All round, kind people are rough.
Bob is green.
("Bob" "is" "green" "+")
Bob is kind.
("Bob" "is" "kind" "+")
Bob is nice.
("Bob" "is" "nice" "+")
Bob is rough.
("Bob" "is" "rough" "+")
Dave is nice.
("Dave" "is" "nice" "+")
Dave is red.
("Dave" "is" "red" "+")
Dave is round.
("Dave" "is" "round" "+")
If someone is big then they are nice.
((("someone" "is" "big" "+")) -> ("someone" "is" "nice" "+"))
If someone is round and green then they are red.
((("someone" "is" "round" "+") ("someone" "is" "green" "+")) -> ("someone" "is" "red" "+"))
Round people are kind.
((("someone" "is" "round" "+")) -> ("someone" "is" "kind" "+"))
If someone is nice and rough then they are green.
((("someone" "is" "nice" "+") ("someone" "is" "rough" "+")) -> ("someone" "is" "green" "+"))
Round, kind people are red.
((("someone" "is" "round" "+") ("someone" "is" "kind" "+")) -> ("someone" "is" "red" "+"))
If Dave is red then Dave is big.
((("Dave" "is" "red" "+")) -> ("Dave" "is" "big" "+"))
If someone is red and kind then they are nice.
((("someone" "is" "red" "+") ("someone" "is" "kind" "+")) -> ("someone" "is" "nice" "+"))
All round, kind people are rough.
((("someone" "is" "round" "+") ("someone" "is" "kind" "+")) -> ("someone" "is" "rough" "+"))
Bob is green.
True
1
proof
[(triple1 OR ((triple3 triple4) -> rule4))]
("Bob" "is" "green" "+")
triple1
((triple3 triple4) -> (rule4 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Dave is not round.
False
1
inv-proof
[(triple7)]
("Dave" "is" "round" "-")
triple7
Bob is not red.
Unknown
inv-rconc
[@1: Bob is red.[CWA. Example of deepest failure = (rule2 <- FAIL)]]
("Bob" "is" "red" "-")
Bob is big.
Unknown
random
[@0: Bob is big.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "big" "+")
@0: Bob is green.[(triple1 OR ((triple3 triple4) -> rule4))] Bob is kind.[(triple2)] Bob is nice.[(triple3)] Bob is rough.[(triple4)] Dave is nice.[(triple5 OR ((((triple6) -> rule6)) -> rule1) OR ((triple6 ((triple7) -> rule3)) -> rule7) OR ((((triple7 ((triple7) -> rule3)) -> rule5) ((triple7) -> rule3)) -> rule7) OR ((((((triple7 ((triple7) -> rule3)) -> rule5)) -> rule6)) -> rule1))] Dave is red.[(triple6 OR ((triple7 ((triple7) -> rule3)) -> rule5) OR ((triple7 ((triple5 ((triple7 ((triple7) -> rule3)) -> rule8)) -> rule4)) -> rule2))] Dave is round.[(triple7)] @1: Dave is big.[(((triple6) -> rule6) OR ((((triple7 ((triple7) -> rule3)) -> rule5)) -> rule6) OR ((((triple7 ((triple5 ((triple7 ((triple7) -> rule3)) -> rule8)) -> rule4)) -> rule2)) -> rule6))] Dave is kind.[(((triple7) -> rule3))] @2: Dave is rough.[(((triple7 ((triple7) -> rule3)) -> rule8))] @3: Dave is green.[(((triple5 ((triple7 ((triple7) -> rule3)) -> rule8)) -> rule4) OR ((((((triple6) -> rule6)) -> rule1) ((triple7 ((triple7) -> rule3)) -> rule8)) -> rule4) OR ((((triple6 ((triple7) -> rule3)) -> rule7) ((triple7 ((triple7) -> rule3)) -> rule8)) -> rule4) OR ((((((triple7 ((triple7) -> rule3)) -> rule5) ((triple7) -> rule3)) -> rule7) ((triple7 ((triple7) -> rule3)) -> rule8)) -> rule4) OR ((((((((triple7 ((triple7) -> rule3)) -> rule5)) -> rule6)) -> rule1) ((triple7 ((triple7) -> rule3)) -> rule8)) -> rule4))]
Bob is green.
("Bob" "is" "green" "+")
triple1
((triple3 triple4) -> (rule4 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Bob is kind.
("Bob" "is" "kind" "+")
triple2
Bob is nice.
("Bob" "is" "nice" "+")
triple3
Bob is rough.
("Bob" "is" "rough" "+")
triple4
Dave is nice.
("Dave" "is" "nice" "+")
triple5
((((triple6) -> (rule6 % int2))) -> (rule1 % int1))
Dave is nice.
("Dave" "is" "nice" "+")
int1
Dave is big.
("Dave" "is" "big" "+")
int2
((triple6 ((triple7) -> (rule3 % int2))) -> (rule7 % int1))
Dave is nice.
("Dave" "is" "nice" "+")
int1
Dave is kind.
("Dave" "is" "kind" "+")
int2
((((triple7 ((triple7) -> (rule3 % int3))) -> (rule5 % int2)) ((triple7) -> (rule3 % int3))) -> (rule7 % int1))
Dave is nice.
("Dave" "is" "nice" "+")
int1
Dave is red.
("Dave" "is" "red" "+")
int2
Dave is kind.
("Dave" "is" "kind" "+")
int3
((((((triple7 ((triple7) -> (rule3 % int4))) -> (rule5 % int3))) -> (rule6 % int2))) -> (rule1 % int1))
Dave is nice.
("Dave" "is" "nice" "+")
int1
Dave is big.
("Dave" "is" "big" "+")
int2
Dave is red.
("Dave" "is" "red" "+")
int3
Dave is kind.
("Dave" "is" "kind" "+")
int4
Dave is red.
("Dave" "is" "red" "+")
triple6
((triple7 ((triple7) -> (rule3 % int2))) -> (rule5 % int1))
Dave is red.
("Dave" "is" "red" "+")
int1
Dave is kind.
("Dave" "is" "kind" "+")
int2
((triple7 ((triple5 ((triple7 ((triple7) -> (rule3 % int4))) -> (rule8 % int3))) -> (rule4 % int2))) -> (rule2 % int1))
Dave is red.
("Dave" "is" "red" "+")
int1
Dave is green.
("Dave" "is" "green" "+")
int2
Dave is rough.
("Dave" "is" "rough" "+")
int3
Dave is kind.
("Dave" "is" "kind" "+")
int4
Dave is round.
("Dave" "is" "round" "+")
triple7
Dave is big.
("Dave" "is" "big" "+")
((triple6) -> (rule6 % int1))
Dave is big.
("Dave" "is" "big" "+")
int1
((((triple7 ((triple7) -> (rule3 % int3))) -> (rule5 % int2))) -> (rule6 % int1))
Dave is big.
("Dave" "is" "big" "+")
int1
Dave is red.
("Dave" "is" "red" "+")
int2
Dave is kind.
("Dave" "is" "kind" "+")
int3
((((triple7 ((triple5 ((triple7 ((triple7) -> (rule3 % int5))) -> (rule8 % int4))) -> (rule4 % int3))) -> (rule2 % int2))) -> (rule6 % int1))
Dave is big.
("Dave" "is" "big" "+")
int1
Dave is red.
("Dave" "is" "red" "+")
int2
Dave is green.
("Dave" "is" "green" "+")
int3
Dave is rough.
("Dave" "is" "rough" "+")
int4
Dave is kind.
("Dave" "is" "kind" "+")
int5
Dave is kind.
("Dave" "is" "kind" "+")
((triple7) -> (rule3 % int1))
Dave is kind.
("Dave" "is" "kind" "+")
int1
Dave is rough.
("Dave" "is" "rough" "+")
((triple7 ((triple7) -> (rule3 % int2))) -> (rule8 % int1))
Dave is rough.
("Dave" "is" "rough" "+")
int1
Dave is kind.
("Dave" "is" "kind" "+")
int2
Dave is green.
("Dave" "is" "green" "+")
((triple5 ((triple7 ((triple7) -> (rule3 % int3))) -> (rule8 % int2))) -> (rule4 % int1))
Dave is green.
("Dave" "is" "green" "+")
int1
Dave is rough.
("Dave" "is" "rough" "+")
int2
Dave is kind.
("Dave" "is" "kind" "+")
int3
((((((triple6) -> (rule6 % int5))) -> (rule1 % int4)) ((triple7 ((triple7) -> (rule3 % int3))) -> (rule8 % int2))) -> (rule4 % int1))
Dave is green.
("Dave" "is" "green" "+")
int1
Dave is rough.
("Dave" "is" "rough" "+")
int2
Dave is kind.
("Dave" "is" "kind" "+")
int3
Dave is nice.
("Dave" "is" "nice" "+")
int4
Dave is big.
("Dave" "is" "big" "+")
int5
((((triple6 ((triple7) -> (rule3 % int4))) -> (rule7 % int3)) ((triple7 ((triple7) -> (rule3 % int4))) -> (rule8 % int2))) -> (rule4 % int1))
Dave is green.
("Dave" "is" "green" "+")
int1
Dave is rough.
("Dave" "is" "rough" "+")
int2
Dave is nice.
("Dave" "is" "nice" "+")
int3
Dave is kind.
("Dave" "is" "kind" "+")
int4
((((((triple7 ((triple7) -> (rule3 % int5))) -> (rule5 % int4)) ((triple7) -> (rule3 % int5))) -> (rule7 % int3)) ((triple7 ((triple7) -> (rule3 % int5))) -> (rule8 % int2))) -> (rule4 % int1))
Dave is green.
("Dave" "is" "green" "+")
int1
Dave is rough.
("Dave" "is" "rough" "+")
int2
Dave is nice.
("Dave" "is" "nice" "+")
int3
Dave is red.
("Dave" "is" "red" "+")
int4
Dave is kind.
("Dave" "is" "kind" "+")
int5
((((((((triple7 ((triple7) -> (rule3 % int6))) -> (rule5 % int5))) -> (rule6 % int4))) -> (rule1 % int3)) ((triple7 ((triple7) -> (rule3 % int6))) -> (rule8 % int2))) -> (rule4 % int1))
Dave is green.
("Dave" "is" "green" "+")
int1
Dave is rough.
("Dave" "is" "rough" "+")
int2
Dave is nice.
("Dave" "is" "nice" "+")
int3
Dave is big.
("Dave" "is" "big" "+")
int4
Dave is red.
("Dave" "is" "red" "+")
int5
Dave is kind.
("Dave" "is" "kind" "+")
int6