Bob is not blue. Bob is green. Bob is not nice. Bob is rough. Bob is smart. Bob is white. Dave is blue. Dave is furry. Dave is nice. Erin is furry. Erin is green. Erin is not white. Gary is blue. Gary is not green. Gary is nice. Gary is not white. Rough people are smart. Rough, blue people are smart. If someone is furry then they are rough. Furry, smart people are blue. If someone is furry and not blue then they are nice. If someone is rough and not green then they are not nice.
Bob is not blue.
("Bob" "is" "blue" "-")
Bob is green.
("Bob" "is" "green" "+")
Bob is not nice.
("Bob" "is" "nice" "-")
Bob is rough.
("Bob" "is" "rough" "+")
Bob is smart.
("Bob" "is" "smart" "+")
Bob is white.
("Bob" "is" "white" "+")
Dave is blue.
("Dave" "is" "blue" "+")
Dave is furry.
("Dave" "is" "furry" "+")
Dave is nice.
("Dave" "is" "nice" "+")
Erin is furry.
("Erin" "is" "furry" "+")
Erin is green.
("Erin" "is" "green" "+")
Erin is not white.
("Erin" "is" "white" "-")
Gary is blue.
("Gary" "is" "blue" "+")
Gary is not green.
("Gary" "is" "green" "-")
Gary is nice.
("Gary" "is" "nice" "+")
Gary is not white.
("Gary" "is" "white" "-")
Rough people are smart.
((("someone" "is" "rough" "+")) -> ("someone" "is" "smart" "+"))
Rough, blue people are smart.
((("someone" "is" "rough" "+") ("someone" "is" "blue" "+")) -> ("someone" "is" "smart" "+"))
If someone is furry then they are rough.
((("someone" "is" "furry" "+")) -> ("someone" "is" "rough" "+"))
Furry, smart people are blue.
((("someone" "is" "furry" "+") ("someone" "is" "smart" "+")) -> ("someone" "is" "blue" "+"))
If someone is furry and not blue then they are nice.
((("someone" "is" "furry" "+") ("someone" "is" "blue" "~")) -> ("someone" "is" "nice" "+"))
If someone is rough and not green then they are not nice.
((("someone" "is" "rough" "+") ("someone" "is" "green" "~")) -> ("someone" "is" "nice" "-"))
Bob is white.
True
1
proof
[(triple6)]
("Bob" "is" "white" "+")
triple6
Bob is blue.
False
1
inv-proof
[(triple1)]
("Bob" "is" "blue" "+")
triple1
Dave is rough.
True
2
proof
[(((triple8) -> rule3))]
("Dave" "is" "rough" "+")
((triple8) -> (rule3 % int1))
Dave is rough.
("Dave" "is" "rough" "+")
int1
Erin is not rough.
False
2
inv-proof
[(((triple10) -> rule3))]
("Erin" "is" "rough" "-")
((triple10) -> (rule3 % int1))
Erin is rough.
("Erin" "is" "rough" "+")
int1
Erin is smart.
True
3
proof
[(((((triple10) -> rule3)) -> rule1))]
("Erin" "is" "smart" "+")
((((triple10) -> (rule3 % int2))) -> (rule1 % int1))
Erin is smart.
("Erin" "is" "smart" "+")
int1
Erin is rough.
("Erin" "is" "rough" "+")
int2
Erin is not smart.
False
3
inv-proof
[(((((triple10) -> rule3)) -> rule1))]
("Erin" "is" "smart" "-")
((((triple10) -> (rule3 % int2))) -> (rule1 % int1))
Erin is smart.
("Erin" "is" "smart" "+")
int1
Erin is rough.
("Erin" "is" "rough" "+")
int2
Erin is blue.
True
5
proof
[(((triple10 ((((triple10) -> rule3)) -> rule1)) -> rule4))]
("Erin" "is" "blue" "+")
((triple10 ((((triple10) -> (rule3 % int3))) -> (rule1 % int2))) -> (rule4 % int1))
Erin is blue.
("Erin" "is" "blue" "+")
int1
Erin is smart.
("Erin" "is" "smart" "+")
int2
Erin is rough.
("Erin" "is" "rough" "+")
int3
Erin is not blue.
False
5
inv-proof
[(((triple10 ((((triple10) -> rule3)) -> rule1)) -> rule4))]
("Erin" "is" "blue" "-")
((triple10 ((((triple10) -> (rule3 % int3))) -> (rule1 % int2))) -> (rule4 % int1))
Erin is blue.
("Erin" "is" "blue" "+")
int1
Erin is smart.
("Erin" "is" "smart" "+")
int2
Erin is rough.
("Erin" "is" "rough" "+")
int3
Gary is not smart.
Unknown
inv-rconc
[@2: Gary is smart.[CWA. Example of deepest failure = (rule1 <- rule3 <- FAIL)]]
("Gary" "is" "smart" "-")
Erin is nice.
Unknown
rconc
[@1: Erin is nice.[CWA. Example of deepest failure = (rule5 <- FAIL)]]
("Erin" "is" "nice" "+")
Gary is not rough.
Unknown
inv-rconc
[@1: Gary is rough.[CWA. Example of deepest failure = (rule3 <- FAIL)]]
("Gary" "is" "rough" "-")
Dave is white.
Unknown
random
[@0: Dave is white.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "white" "+")
Gary is not furry.
Unknown
inv-random
[@0: Gary is furry.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "furry" "-")
Bob is furry.
Unknown
random
[@0: Bob is furry.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "furry" "+")
@0: Bob is green.[(triple2)] Bob is not blue.[(triple1)] Bob is not nice.[(triple3)] Bob is rough.[(triple4)] Bob is smart.[(triple5 OR ((triple4) -> rule1))] Bob is white.[(triple6)] Dave is blue.[(triple7 OR ((triple8 ((((triple8) -> rule3)) -> rule1)) -> rule4))] Dave is furry.[(triple8)] Dave is nice.[(triple9)] Erin is furry.[(triple10)] Erin is green.[(triple11)] Erin is not white.[(triple12)] Gary is blue.[(triple13)] Gary is nice.[(triple15)] Gary is not green.[(triple14)] Gary is not white.[(triple16)] @1: Dave is rough.[(((triple8) -> rule3))] Erin is rough.[(((triple10) -> rule3))] @2: Dave is smart.[(((((triple8) -> rule3)) -> rule1) OR ((((triple8) -> rule3) triple7) -> rule2))] Erin is smart.[(((((triple10) -> rule3)) -> rule1))] @3: Erin is blue.[(((triple10 ((((triple10) -> rule3)) -> rule1)) -> rule4))]
Bob is green.
("Bob" "is" "green" "+")
triple2
Bob is not blue.
("Bob" "is" "blue" "-")
triple1
Bob is not nice.
("Bob" "is" "nice" "-")
triple3
Bob is rough.
("Bob" "is" "rough" "+")
triple4
Bob is smart.
("Bob" "is" "smart" "+")
triple5
((triple4) -> (rule1 % int1))
Bob is smart.
("Bob" "is" "smart" "+")
int1
Bob is white.
("Bob" "is" "white" "+")
triple6
Dave is blue.
("Dave" "is" "blue" "+")
triple7
((triple8 ((((triple8) -> (rule3 % int3))) -> (rule1 % int2))) -> (rule4 % int1))
Dave is blue.
("Dave" "is" "blue" "+")
int1
Dave is smart.
("Dave" "is" "smart" "+")
int2
Dave is rough.
("Dave" "is" "rough" "+")
int3
Dave is furry.
("Dave" "is" "furry" "+")
triple8
Dave is nice.
("Dave" "is" "nice" "+")
triple9
Erin is furry.
("Erin" "is" "furry" "+")
triple10
Erin is green.
("Erin" "is" "green" "+")
triple11
Erin is not white.
("Erin" "is" "white" "-")
triple12
Gary is blue.
("Gary" "is" "blue" "+")
triple13
Gary is nice.
("Gary" "is" "nice" "+")
triple15
Gary is not green.
("Gary" "is" "green" "-")
triple14
Gary is not white.
("Gary" "is" "white" "-")
triple16
Dave is rough.
("Dave" "is" "rough" "+")
((triple8) -> (rule3 % int1))
Dave is rough.
("Dave" "is" "rough" "+")
int1
Erin is rough.
("Erin" "is" "rough" "+")
((triple10) -> (rule3 % int1))
Erin is rough.
("Erin" "is" "rough" "+")
int1
Dave is smart.
("Dave" "is" "smart" "+")
((((triple8) -> (rule3 % int2))) -> (rule1 % int1))
Dave is smart.
("Dave" "is" "smart" "+")
int1
Dave is rough.
("Dave" "is" "rough" "+")
int2
((((triple8) -> (rule3 % int2)) triple7) -> (rule2 % int1))
Dave is smart.
("Dave" "is" "smart" "+")
int1
Dave is rough.
("Dave" "is" "rough" "+")
int2
Erin is smart.
("Erin" "is" "smart" "+")
((((triple10) -> (rule3 % int2))) -> (rule1 % int1))
Erin is smart.
("Erin" "is" "smart" "+")
int1
Erin is rough.
("Erin" "is" "rough" "+")
int2
Erin is blue.
("Erin" "is" "blue" "+")
((triple10 ((((triple10) -> (rule3 % int3))) -> (rule1 % int2))) -> (rule4 % int1))
Erin is blue.
("Erin" "is" "blue" "+")
int1
Erin is smart.
("Erin" "is" "smart" "+")
int2
Erin is rough.
("Erin" "is" "rough" "+")
int3