Bob is big. Bob is furry. Bob is red. Bob is rough. Bob is not smart. Erin is furry. Erin is not red. Erin is rough. Erin is round. Gary is furry. Gary is red. Gary is rough. Gary is not round. Gary is smart. Gary is young. If something is rough then it is big. All round things are big. If Bob is rough then Bob is furry. If something is young then it is rough. If something is furry and not young then it is smart. If Erin is smart then Erin is rough.
Bob is big.
("Bob" "is" "big" "+")
Bob is furry.
("Bob" "is" "furry" "+")
Bob is red.
("Bob" "is" "red" "+")
Bob is rough.
("Bob" "is" "rough" "+")
Bob is not smart.
("Bob" "is" "smart" "-")
Erin is furry.
("Erin" "is" "furry" "+")
Erin is not red.
("Erin" "is" "red" "-")
Erin is rough.
("Erin" "is" "rough" "+")
Erin is round.
("Erin" "is" "round" "+")
Gary is furry.
("Gary" "is" "furry" "+")
Gary is red.
("Gary" "is" "red" "+")
Gary is rough.
("Gary" "is" "rough" "+")
Gary is not round.
("Gary" "is" "round" "-")
Gary is smart.
("Gary" "is" "smart" "+")
Gary is young.
("Gary" "is" "young" "+")
If something is rough then it is big.
((("something" "is" "rough" "+")) -> ("something" "is" "big" "+"))
All round things are big.
((("something" "is" "round" "+")) -> ("something" "is" "big" "+"))
If Bob is rough then Bob is furry.
((("Bob" "is" "rough" "+")) -> ("Bob" "is" "furry" "+"))
If something is young then it is rough.
((("something" "is" "young" "+")) -> ("something" "is" "rough" "+"))
If something is furry and not young then it is smart.
((("something" "is" "furry" "+") ("something" "is" "young" "~")) -> ("something" "is" "smart" "+"))
If Erin is smart then Erin is rough.
((("Erin" "is" "smart" "+")) -> ("Erin" "is" "rough" "+"))
Gary is smart.
True
1
proof
[(triple14)]
("Gary" "is" "smart" "+")
triple14
Bob is smart.
False
1
inv-proof
[(triple5)]
("Bob" "is" "smart" "+")
triple5
Erin is not smart.
Unknown
inv-rconc
[@1: Erin is smart.[CWA. Example of deepest failure = (rule5 <- FAIL)]]
("Erin" "is" "smart" "-")
Bob is young.
Unknown
random
[@0: Bob is young.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "young" "+")
@0: Bob is big.[(triple1 OR ((triple4) -> rule1))] Bob is furry.[(triple2 OR ((triple4) -> rule3))] Bob is not smart.[(triple5)] Bob is red.[(triple3)] Bob is rough.[(triple4)] Erin is furry.[(triple6)] Erin is not red.[(triple7)] Erin is rough.[(triple8)] Erin is round.[(triple9)] Gary is furry.[(triple10)] Gary is not round.[(triple13)] Gary is red.[(triple11)] Gary is rough.[(triple12 OR ((triple15) -> rule4))] Gary is smart.[(triple14)] Gary is young.[(triple15)] @1: Erin is big.[(((triple8) -> rule1) OR ((triple9) -> rule2))] Gary is big.[(((triple12) -> rule1) OR ((((triple15) -> rule4)) -> rule1))]
Bob is big.
("Bob" "is" "big" "+")
triple1
((triple4) -> (rule1 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
Bob is furry.
("Bob" "is" "furry" "+")
triple2
((triple4) -> (rule3 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Bob is not smart.
("Bob" "is" "smart" "-")
triple5
Bob is red.
("Bob" "is" "red" "+")
triple3
Bob is rough.
("Bob" "is" "rough" "+")
triple4
Erin is furry.
("Erin" "is" "furry" "+")
triple6
Erin is not red.
("Erin" "is" "red" "-")
triple7
Erin is rough.
("Erin" "is" "rough" "+")
triple8
Erin is round.
("Erin" "is" "round" "+")
triple9
Gary is furry.
("Gary" "is" "furry" "+")
triple10
Gary is not round.
("Gary" "is" "round" "-")
triple13
Gary is red.
("Gary" "is" "red" "+")
triple11
Gary is rough.
("Gary" "is" "rough" "+")
triple12
((triple15) -> (rule4 % int1))
Gary is rough.
("Gary" "is" "rough" "+")
int1
Gary is smart.
("Gary" "is" "smart" "+")
triple14
Gary is young.
("Gary" "is" "young" "+")
triple15
Erin is big.
("Erin" "is" "big" "+")
((triple8) -> (rule1 % int1))
Erin is big.
("Erin" "is" "big" "+")
int1
((triple9) -> (rule2 % int1))
Erin is big.
("Erin" "is" "big" "+")
int1
Gary is big.
("Gary" "is" "big" "+")
((triple12) -> (rule1 % int1))
Gary is big.
("Gary" "is" "big" "+")
int1
((((triple15) -> (rule4 % int2))) -> (rule1 % int1))
Gary is big.
("Gary" "is" "big" "+")
int1
Gary is rough.
("Gary" "is" "rough" "+")
int2