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