Bob is blue. Bob is furry. Bob is green. Bob is nice. Bob is white. Bob is young. Erin is blue. Erin is furry. Erin is nice. Erin is rough. Erin is white. Erin is young. Fiona is furry. Gary is rough. Gary is white. If Bob is furry then Bob is rough. Furry, nice things are rough. If Fiona is rough then Fiona is furry. All rough things are nice. Green things are young. All young, white things are green. All blue, white things are nice. If something is white then it is rough.
Bob is blue.
("Bob" "is" "blue" "+")
Bob is furry.
("Bob" "is" "furry" "+")
Bob is green.
("Bob" "is" "green" "+")
Bob is nice.
("Bob" "is" "nice" "+")
Bob is white.
("Bob" "is" "white" "+")
Bob is young.
("Bob" "is" "young" "+")
Erin is blue.
("Erin" "is" "blue" "+")
Erin is furry.
("Erin" "is" "furry" "+")
Erin is nice.
("Erin" "is" "nice" "+")
Erin is rough.
("Erin" "is" "rough" "+")
Erin is white.
("Erin" "is" "white" "+")
Erin is young.
("Erin" "is" "young" "+")
Fiona is furry.
("Fiona" "is" "furry" "+")
Gary is rough.
("Gary" "is" "rough" "+")
Gary is white.
("Gary" "is" "white" "+")
If Bob is furry then Bob is rough.
((("Bob" "is" "furry" "+")) -> ("Bob" "is" "rough" "+"))
Furry, nice things are rough.
((("something" "is" "furry" "+") ("something" "is" "nice" "+")) -> ("something" "is" "rough" "+"))
If Fiona is rough then Fiona is furry.
((("Fiona" "is" "rough" "+")) -> ("Fiona" "is" "furry" "+"))
All rough things are nice.
((("something" "is" "rough" "+")) -> ("something" "is" "nice" "+"))
Green things are young.
((("something" "is" "green" "+")) -> ("something" "is" "young" "+"))
All young, white things are green.
((("something" "is" "young" "+") ("something" "is" "white" "+")) -> ("something" "is" "green" "+"))
All blue, white things are nice.
((("something" "is" "blue" "+") ("something" "is" "white" "+")) -> ("something" "is" "nice" "+"))
If something is white then it is rough.
((("something" "is" "white" "+")) -> ("something" "is" "rough" "+"))
Bob is green.
True
1
proof
[(triple3 OR ((triple6 triple5) -> rule6))]
("Bob" "is" "green" "+")
triple3
((triple6 triple5) -> (rule6 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Bob is not blue.
False
1
inv-proof
[(triple1)]
("Bob" "is" "blue" "-")
triple1
Gary is nice.
True
2
proof
[(((triple14) -> rule4) OR ((((triple15) -> rule8)) -> rule4))]
("Gary" "is" "nice" "+")
((triple14) -> (rule4 % int1))
Gary is nice.
("Gary" "is" "nice" "+")
int1
((((triple15) -> (rule8 % int2))) -> (rule4 % int1))
Gary is nice.
("Gary" "is" "nice" "+")
int1
Gary is rough.
("Gary" "is" "rough" "+")
int2
Gary is not nice.
False
2
inv-proof
[(((triple14) -> rule4) OR ((((triple15) -> rule8)) -> rule4))]
("Gary" "is" "nice" "-")
((triple14) -> (rule4 % int1))
Gary is nice.
("Gary" "is" "nice" "+")
int1
((((triple15) -> (rule8 % int2))) -> (rule4 % int1))
Gary is nice.
("Gary" "is" "nice" "+")
int1
Gary is rough.
("Gary" "is" "rough" "+")
int2
Fiona is not green.
Unknown
inv-rconc
[@1: Fiona is green.[CWA. Example of deepest failure = (rule6 <- FAIL)]]
("Fiona" "is" "green" "-")
Fiona is young.
Unknown
rconc
[@2: Fiona is young.[CWA. Example of deepest failure = (rule5 <- rule6 <- FAIL)]]
("Fiona" "is" "young" "+")
Gary is not furry.
Unknown
inv-random
[@0: Gary is furry.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "furry" "-")
Fiona is white.
Unknown
random
[@0: Fiona is white.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "white" "+")
@0: Bob is blue.[(triple1)] Bob is furry.[(triple2)] Bob is green.[(triple3 OR ((triple6 triple5) -> rule6))] Bob is nice.[(triple4 OR ((triple1 triple5) -> rule7) OR ((((triple2) -> rule1)) -> rule4) OR ((((triple5) -> rule8)) -> rule4))] Bob is white.[(triple5)] Bob is young.[(triple6 OR ((triple3) -> rule5))] Erin is blue.[(triple7)] Erin is furry.[(triple8)] Erin is nice.[(triple9 OR ((triple10) -> rule4) OR ((triple7 triple11) -> rule7) OR ((((triple11) -> rule8)) -> rule4))] Erin is rough.[(triple10 OR ((triple11) -> rule8) OR ((triple8 triple9) -> rule2) OR ((triple8 ((triple7 triple11) -> rule7)) -> rule2))] Erin is white.[(triple11)] Erin is young.[(triple12)] Fiona is furry.[(triple13)] Gary is rough.[(triple14 OR ((triple15) -> rule8))] Gary is white.[(triple15)] @1: Bob is rough.[(((triple2) -> rule1) OR ((triple5) -> rule8) OR ((triple2 triple4) -> rule2) OR ((triple2 ((triple1 triple5) -> rule7)) -> rule2))] Erin is green.[(((triple12 triple11) -> rule6))] Gary is nice.[(((triple14) -> rule4) OR ((((triple15) -> rule8)) -> rule4))]
Bob is blue.
("Bob" "is" "blue" "+")
triple1
Bob is furry.
("Bob" "is" "furry" "+")
triple2
Bob is green.
("Bob" "is" "green" "+")
triple3
((triple6 triple5) -> (rule6 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Bob is nice.
("Bob" "is" "nice" "+")
triple4
((triple1 triple5) -> (rule7 % int1))
Bob is nice.
("Bob" "is" "nice" "+")
int1
((((triple2) -> (rule1 % int2))) -> (rule4 % int1))
Bob is nice.
("Bob" "is" "nice" "+")
int1
Bob is rough.
("Bob" "is" "rough" "+")
int2
((((triple5) -> (rule8 % int2))) -> (rule4 % int1))
Bob is nice.
("Bob" "is" "nice" "+")
int1
Bob is rough.
("Bob" "is" "rough" "+")
int2
Bob is white.
("Bob" "is" "white" "+")
triple5
Bob is young.
("Bob" "is" "young" "+")
triple6
((triple3) -> (rule5 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
Erin is blue.
("Erin" "is" "blue" "+")
triple7
Erin is furry.
("Erin" "is" "furry" "+")
triple8
Erin is nice.
("Erin" "is" "nice" "+")
triple9
((triple10) -> (rule4 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
((triple7 triple11) -> (rule7 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
((((triple11) -> (rule8 % int2))) -> (rule4 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
Erin is rough.
("Erin" "is" "rough" "+")
int2
Erin is rough.
("Erin" "is" "rough" "+")
triple10
((triple11) -> (rule8 % int1))
Erin is rough.
("Erin" "is" "rough" "+")
int1
((triple8 triple9) -> (rule2 % int1))
Erin is rough.
("Erin" "is" "rough" "+")
int1
((triple8 ((triple7 triple11) -> (rule7 % int2))) -> (rule2 % int1))
Erin is rough.
("Erin" "is" "rough" "+")
int1
Erin is nice.
("Erin" "is" "nice" "+")
int2
Erin is white.
("Erin" "is" "white" "+")
triple11
Erin is young.
("Erin" "is" "young" "+")
triple12
Fiona is furry.
("Fiona" "is" "furry" "+")
triple13
Gary is rough.
("Gary" "is" "rough" "+")
triple14
((triple15) -> (rule8 % int1))
Gary is rough.
("Gary" "is" "rough" "+")
int1
Gary is white.
("Gary" "is" "white" "+")
triple15
Bob is rough.
("Bob" "is" "rough" "+")
((triple2) -> (rule1 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
((triple5) -> (rule8 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
((triple2 triple4) -> (rule2 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
((triple2 ((triple1 triple5) -> (rule7 % int2))) -> (rule2 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is nice.
("Bob" "is" "nice" "+")
int2
Erin is green.
("Erin" "is" "green" "+")
((triple12 triple11) -> (rule6 % int1))
Erin is green.
("Erin" "is" "green" "+")
int1
Gary is nice.
("Gary" "is" "nice" "+")
((triple14) -> (rule4 % int1))
Gary is nice.
("Gary" "is" "nice" "+")
int1
((((triple15) -> (rule8 % int2))) -> (rule4 % int1))
Gary is nice.
("Gary" "is" "nice" "+")
int1
Gary is rough.
("Gary" "is" "rough" "+")
int2