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