Bob is red. Dave is furry. All smart things are round. Furry things are smart. If something is green and smart then it is rough. If Dave is red then Dave is smart. If something is green and red then it is furry. Furry things are rough. If something is furry and round then it is green. If something is rough then it is green.
Bob is red.
("Bob" "is" "red" "+")
Dave is furry.
("Dave" "is" "furry" "+")
All smart things are round.
((("something" "is" "smart" "+")) -> ("something" "is" "round" "+"))
Furry things are smart.
((("something" "is" "furry" "+")) -> ("something" "is" "smart" "+"))
If something is green and smart then it is rough.
((("something" "is" "green" "+") ("something" "is" "smart" "+")) -> ("something" "is" "rough" "+"))
If Dave is red then Dave is smart.
((("Dave" "is" "red" "+")) -> ("Dave" "is" "smart" "+"))
If something is green and red then it is furry.
((("something" "is" "green" "+") ("something" "is" "red" "+")) -> ("something" "is" "furry" "+"))
Furry things are rough.
((("something" "is" "furry" "+")) -> ("something" "is" "rough" "+"))
If something is furry and round then it is green.
((("something" "is" "furry" "+") ("something" "is" "round" "+")) -> ("something" "is" "green" "+"))
If something is rough then it is green.
((("something" "is" "rough" "+")) -> ("something" "is" "green" "+"))
Dave is furry.
True
1
proof
[(triple2)]
("Dave" "is" "furry" "+")
triple2
Dave is not furry.
False
1
inv-proof
[(triple2)]
("Dave" "is" "furry" "-")
triple2
Dave is rough.
True
2
proof
[(((triple2) -> rule6) OR ((((triple2 ((((triple2) -> rule2)) -> rule1)) -> rule7) ((triple2) -> rule2)) -> rule3))]
("Dave" "is" "rough" "+")
((triple2) -> (rule6 % int1))
Dave is rough.
("Dave" "is" "rough" "+")
int1
((((triple2 ((((triple2) -> (rule2 % int4))) -> (rule1 % int3))) -> (rule7 % int2)) ((triple2) -> (rule2 % int4))) -> (rule3 % int1))
Dave is rough.
("Dave" "is" "rough" "+")
int1
Dave is green.
("Dave" "is" "green" "+")
int2
Dave is round.
("Dave" "is" "round" "+")
int3
Dave is smart.
("Dave" "is" "smart" "+")
int4
Dave is not rough.
False
2
inv-proof
[(((triple2) -> rule6) OR ((((triple2 ((((triple2) -> rule2)) -> rule1)) -> rule7) ((triple2) -> rule2)) -> rule3))]
("Dave" "is" "rough" "-")
((triple2) -> (rule6 % int1))
Dave is rough.
("Dave" "is" "rough" "+")
int1
((((triple2 ((((triple2) -> (rule2 % int4))) -> (rule1 % int3))) -> (rule7 % int2)) ((triple2) -> (rule2 % int4))) -> (rule3 % int1))
Dave is rough.
("Dave" "is" "rough" "+")
int1
Dave is green.
("Dave" "is" "green" "+")
int2
Dave is round.
("Dave" "is" "round" "+")
int3
Dave is smart.
("Dave" "is" "smart" "+")
int4
Bob is not smart.
Unknown
inv-rconc
[@4: Bob is smart.[CWA. Example of deepest failure = (rule2 <- rule5 <- rule8 <- rule3 <- FAIL)]]
("Bob" "is" "smart" "-")
Bob is green.
Unknown
rconc
[@4: Bob is green.[CWA. Example of deepest failure = (rule7 <- rule5 <- rule8 <- rule3 <- FAIL)]]
("Bob" "is" "green" "+")
Dave is not red.
Unknown
inv-random
[@0: Dave is red.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "red" "-")
Dave is nice.
Unknown
random
[@0: Dave is nice.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "nice" "+")
@0: Bob is red.[(triple1)] Dave is furry.[(triple2)] @1: Dave is rough.[(((triple2) -> rule6) OR ((((triple2 ((((triple2) -> rule2)) -> rule1)) -> rule7) ((triple2) -> rule2)) -> rule3))] Dave is smart.[(((triple2) -> rule2))] @2: Dave is green.[(((((triple2) -> rule6)) -> rule8) OR ((triple2 ((((triple2) -> rule2)) -> rule1)) -> rule7))] Dave is round.[(((((triple2) -> rule2)) -> rule1))]
Bob is red.
("Bob" "is" "red" "+")
triple1
Dave is furry.
("Dave" "is" "furry" "+")
triple2
Dave is rough.
("Dave" "is" "rough" "+")
((triple2) -> (rule6 % int1))
Dave is rough.
("Dave" "is" "rough" "+")
int1
((((triple2 ((((triple2) -> (rule2 % int4))) -> (rule1 % int3))) -> (rule7 % int2)) ((triple2) -> (rule2 % int4))) -> (rule3 % int1))
Dave is rough.
("Dave" "is" "rough" "+")
int1
Dave is green.
("Dave" "is" "green" "+")
int2
Dave is round.
("Dave" "is" "round" "+")
int3
Dave is smart.
("Dave" "is" "smart" "+")
int4
Dave is smart.
("Dave" "is" "smart" "+")
((triple2) -> (rule2 % int1))
Dave is smart.
("Dave" "is" "smart" "+")
int1
Dave is green.
("Dave" "is" "green" "+")
((((triple2) -> (rule6 % int2))) -> (rule8 % int1))
Dave is green.
("Dave" "is" "green" "+")
int1
Dave is rough.
("Dave" "is" "rough" "+")
int2
((triple2 ((((triple2) -> (rule2 % int3))) -> (rule1 % int2))) -> (rule7 % int1))
Dave is green.
("Dave" "is" "green" "+")
int1
Dave is round.
("Dave" "is" "round" "+")
int2
Dave is smart.
("Dave" "is" "smart" "+")
int3
Dave is round.
("Dave" "is" "round" "+")
((((triple2) -> (rule2 % int2))) -> (rule1 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1
Dave is smart.
("Dave" "is" "smart" "+")
int2