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