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