Bob is blue. Bob is kind. Bob is quiet. Dave is red. Dave is rough. Dave is round. Dave is young. If something is kind then it is round. All rough, blue things are kind. If something is red then it is blue. Kind things are round. Young, rough things are round. Red, blue things are rough.
Bob is blue.
("Bob" "is" "blue" "+")
Bob is kind.
("Bob" "is" "kind" "+")
Bob is quiet.
("Bob" "is" "quiet" "+")
Dave is red.
("Dave" "is" "red" "+")
Dave is rough.
("Dave" "is" "rough" "+")
Dave is round.
("Dave" "is" "round" "+")
Dave is young.
("Dave" "is" "young" "+")
If something is kind then it is round.
((("something" "is" "kind" "+")) -> ("something" "is" "round" "+"))
All rough, blue things are kind.
((("something" "is" "rough" "+") ("something" "is" "blue" "+")) -> ("something" "is" "kind" "+"))
If something is red then it is blue.
((("something" "is" "red" "+")) -> ("something" "is" "blue" "+"))
Kind things are round.
((("something" "is" "kind" "+")) -> ("something" "is" "round" "+"))
Young, rough things are round.
((("something" "is" "young" "+") ("something" "is" "rough" "+")) -> ("something" "is" "round" "+"))
Red, blue things are rough.
((("something" "is" "red" "+") ("something" "is" "blue" "+")) -> ("something" "is" "rough" "+"))
Bob is blue.
True
1
proof
[(triple1)]
("Bob" "is" "blue" "+")
triple1
Dave is not red.
False
1
inv-proof
[(triple4)]
("Dave" "is" "red" "-")
triple4
Dave is blue.
True
2
proof
[(((triple4) -> rule3))]
("Dave" "is" "blue" "+")
((triple4) -> (rule3 % int1))
Dave is blue.
("Dave" "is" "blue" "+")
int1
Bob is not round.
False
2
inv-proof
[(((triple2) -> rule1) OR ((triple2) -> rule4))]
("Bob" "is" "round" "-")
((triple2) -> (rule1 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
((triple2) -> (rule4 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
Dave is kind.
True
4
proof
[(((triple5 ((triple4) -> rule3)) -> rule2) OR ((((triple4 ((triple4) -> rule3)) -> rule6) ((triple4) -> rule3)) -> rule2))]
("Dave" "is" "kind" "+")
((triple5 ((triple4) -> (rule3 % int2))) -> (rule2 % int1))
Dave is kind.
("Dave" "is" "kind" "+")
int1
Dave is blue.
("Dave" "is" "blue" "+")
int2
((((triple4 ((triple4) -> (rule3 % int3))) -> (rule6 % int2)) ((triple4) -> (rule3 % int3))) -> (rule2 % int1))
Dave is kind.
("Dave" "is" "kind" "+")
int1
Dave is rough.
("Dave" "is" "rough" "+")
int2
Dave is blue.
("Dave" "is" "blue" "+")
int3
Dave is not kind.
False
4
inv-proof
[(((triple5 ((triple4) -> rule3)) -> rule2) OR ((((triple4 ((triple4) -> rule3)) -> rule6) ((triple4) -> rule3)) -> rule2))]
("Dave" "is" "kind" "-")
((triple5 ((triple4) -> (rule3 % int2))) -> (rule2 % int1))
Dave is kind.
("Dave" "is" "kind" "+")
int1
Dave is blue.
("Dave" "is" "blue" "+")
int2
((((triple4 ((triple4) -> (rule3 % int3))) -> (rule6 % int2)) ((triple4) -> (rule3 % int3))) -> (rule2 % int1))
Dave is kind.
("Dave" "is" "kind" "+")
int1
Dave is rough.
("Dave" "is" "rough" "+")
int2
Dave is blue.
("Dave" "is" "blue" "+")
int3
Bob is not rough.
Unknown
inv-rconc
[@1: Bob is rough.[CWA. Example of deepest failure = (rule6 <- FAIL)]]
("Bob" "is" "rough" "-")
Bob is red.
Unknown
random
[@0: Bob is red.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "red" "+")
Dave is not quiet.
Unknown
inv-random
[@0: Dave is quiet.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "quiet" "-")
Bob is young.
Unknown
random
[@0: Bob is young.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "young" "+")
@0: Bob is blue.[(triple1)] Bob is kind.[(triple2)] Bob is quiet.[(triple3)] Dave is red.[(triple4)] Dave is rough.[(triple5 OR ((triple4 ((triple4) -> rule3)) -> rule6))] Dave is round.[(triple6 OR ((triple7 triple5) -> rule5) OR ((((triple5 ((triple4) -> rule3)) -> rule2)) -> rule1) OR ((((triple5 ((triple4) -> rule3)) -> rule2)) -> rule4) OR ((triple7 ((triple4 ((triple4) -> rule3)) -> rule6)) -> rule5) OR ((((((triple4 ((triple4) -> rule3)) -> rule6) ((triple4) -> rule3)) -> rule2)) -> rule1) OR ((((((triple4 ((triple4) -> rule3)) -> rule6) ((triple4) -> rule3)) -> rule2)) -> rule4))] Dave is young.[(triple7)] @1: Bob is round.[(((triple2) -> rule1) OR ((triple2) -> rule4))] Dave is blue.[(((triple4) -> rule3))] @2: Dave is kind.[(((triple5 ((triple4) -> rule3)) -> rule2) OR ((((triple4 ((triple4) -> rule3)) -> rule6) ((triple4) -> rule3)) -> rule2))]
Bob is blue.
("Bob" "is" "blue" "+")
triple1
Bob is kind.
("Bob" "is" "kind" "+")
triple2
Bob is quiet.
("Bob" "is" "quiet" "+")
triple3
Dave is red.
("Dave" "is" "red" "+")
triple4
Dave is rough.
("Dave" "is" "rough" "+")
triple5
((triple4 ((triple4) -> (rule3 % int2))) -> (rule6 % int1))
Dave is rough.
("Dave" "is" "rough" "+")
int1
Dave is blue.
("Dave" "is" "blue" "+")
int2
Dave is round.
("Dave" "is" "round" "+")
triple6
((triple7 triple5) -> (rule5 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1
((((triple5 ((triple4) -> (rule3 % int3))) -> (rule2 % int2))) -> (rule1 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1
Dave is kind.
("Dave" "is" "kind" "+")
int2
Dave is blue.
("Dave" "is" "blue" "+")
int3
((((triple5 ((triple4) -> (rule3 % int3))) -> (rule2 % int2))) -> (rule4 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1
Dave is kind.
("Dave" "is" "kind" "+")
int2
Dave is blue.
("Dave" "is" "blue" "+")
int3
((triple7 ((triple4 ((triple4) -> (rule3 % int3))) -> (rule6 % int2))) -> (rule5 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1
Dave is rough.
("Dave" "is" "rough" "+")
int2
Dave is blue.
("Dave" "is" "blue" "+")
int3
((((((triple4 ((triple4) -> (rule3 % int4))) -> (rule6 % int3)) ((triple4) -> (rule3 % int4))) -> (rule2 % int2))) -> (rule1 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1
Dave is kind.
("Dave" "is" "kind" "+")
int2
Dave is rough.
("Dave" "is" "rough" "+")
int3
Dave is blue.
("Dave" "is" "blue" "+")
int4
((((((triple4 ((triple4) -> (rule3 % int4))) -> (rule6 % int3)) ((triple4) -> (rule3 % int4))) -> (rule2 % int2))) -> (rule4 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1
Dave is kind.
("Dave" "is" "kind" "+")
int2
Dave is rough.
("Dave" "is" "rough" "+")
int3
Dave is blue.
("Dave" "is" "blue" "+")
int4
Dave is young.
("Dave" "is" "young" "+")
triple7
Bob is round.
("Bob" "is" "round" "+")
((triple2) -> (rule1 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
((triple2) -> (rule4 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
Dave is blue.
("Dave" "is" "blue" "+")
((triple4) -> (rule3 % int1))
Dave is blue.
("Dave" "is" "blue" "+")
int1
Dave is kind.
("Dave" "is" "kind" "+")
((triple5 ((triple4) -> (rule3 % int2))) -> (rule2 % int1))
Dave is kind.
("Dave" "is" "kind" "+")
int1
Dave is blue.
("Dave" "is" "blue" "+")
int2
((((triple4 ((triple4) -> (rule3 % int3))) -> (rule6 % int2)) ((triple4) -> (rule3 % int3))) -> (rule2 % int1))
Dave is kind.
("Dave" "is" "kind" "+")
int1
Dave is rough.
("Dave" "is" "rough" "+")
int2
Dave is blue.
("Dave" "is" "blue" "+")
int3