Bob is nice. Fiona is furry. Fiona is green. Fiona is smart. Gary is rough. Harry is furry. Harry is not nice. Green, kind things are smart. If something is furry then it is green. If Gary is rough then Gary is furry. Smart, nice things are blue. All furry, green things are not nice. If something is green and not furry then it is nice.
Bob is nice.
("Bob" "is" "nice" "+")
Fiona is furry.
("Fiona" "is" "furry" "+")
Fiona is green.
("Fiona" "is" "green" "+")
Fiona is smart.
("Fiona" "is" "smart" "+")
Gary is rough.
("Gary" "is" "rough" "+")
Harry is furry.
("Harry" "is" "furry" "+")
Harry is not nice.
("Harry" "is" "nice" "-")
Green, kind things are smart.
((("something" "is" "green" "+") ("something" "is" "kind" "+")) -> ("something" "is" "smart" "+"))
If something is furry then it is green.
((("something" "is" "furry" "+")) -> ("something" "is" "green" "+"))
If Gary is rough then Gary is furry.
((("Gary" "is" "rough" "+")) -> ("Gary" "is" "furry" "+"))
Smart, nice things are blue.
((("something" "is" "smart" "+") ("something" "is" "nice" "+")) -> ("something" "is" "blue" "+"))
All furry, green things are not nice.
((("something" "is" "furry" "+") ("something" "is" "green" "+")) -> ("something" "is" "nice" "-"))
If something is green and not furry then it is nice.
((("something" "is" "green" "+") ("something" "is" "furry" "~")) -> ("something" "is" "nice" "+"))
Harry is furry.
True
1
proof
[(triple6)]
("Harry" "is" "furry" "+")
triple6
Fiona is not green.
False
1
inv-proof
[(triple3 OR ((triple2) -> rule2))]
("Fiona" "is" "green" "-")
triple3
((triple2) -> (rule2 % int1))
Fiona is green.
("Fiona" "is" "green" "+")
int1
Gary is furry.
True
2
proof
[(((triple5) -> rule3))]
("Gary" "is" "furry" "+")
((triple5) -> (rule3 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Fiona is nice.
False
3
inv-proof
[(((triple2 triple3) -> rule5) OR ((triple2 ((triple2) -> rule2)) -> rule5))]
("Fiona" "is" "nice" "+")
((triple2 triple3) -> (rule5 % int1))
Fiona is not nice.
("Fiona" "is" "nice" "-")
int1
((triple2 ((triple2) -> (rule2 % int2))) -> (rule5 % int1))
Fiona is not nice.
("Fiona" "is" "nice" "-")
int1
Fiona is green.
("Fiona" "is" "green" "+")
int2
Gary is green.
True
3
proof
[(((((triple5) -> rule3)) -> rule2))]
("Gary" "is" "green" "+")
((((triple5) -> (rule3 % int2))) -> (rule2 % int1))
Gary is green.
("Gary" "is" "green" "+")
int1
Gary is furry.
("Gary" "is" "furry" "+")
int2
Gary is not green.
False
3
inv-proof
[(((((triple5) -> rule3)) -> rule2))]
("Gary" "is" "green" "-")
((((triple5) -> (rule3 % int2))) -> (rule2 % int1))
Gary is green.
("Gary" "is" "green" "+")
int1
Gary is furry.
("Gary" "is" "furry" "+")
int2
Gary is not nice.
True
6
proof
[(((((triple5) -> rule3) ((((triple5) -> rule3)) -> rule2)) -> rule5))]
("Gary" "is" "nice" "-")
((((triple5) -> (rule3 % int3)) ((((triple5) -> (rule3 % int3))) -> (rule2 % int2))) -> (rule5 % int1))
Gary is not nice.
("Gary" "is" "nice" "-")
int1
Gary is green.
("Gary" "is" "green" "+")
int2
Gary is furry.
("Gary" "is" "furry" "+")
int3
Gary is nice.
False
6
inv-proof
[(((((triple5) -> rule3) ((((triple5) -> rule3)) -> rule2)) -> rule5))]
("Gary" "is" "nice" "+")
((((triple5) -> (rule3 % int3)) ((((triple5) -> (rule3 % int3))) -> (rule2 % int2))) -> (rule5 % int1))
Gary is not nice.
("Gary" "is" "nice" "-")
int1
Gary is green.
("Gary" "is" "green" "+")
int2
Gary is furry.
("Gary" "is" "furry" "+")
int3
Bob is not green.
Unknown
inv-rconc
[@1: Bob is green.[CWA. Example of deepest failure = (rule2 <- FAIL)]]
("Bob" "is" "green" "-")
Gary is blue.
Unknown
rconc
[@1: Gary is blue.[CWA. Example of deepest failure = (rule4 <- FAIL)]]
("Gary" "is" "blue" "+")
Fiona is not blue.
Unknown
inv-rconc
[@1: Fiona is blue.[CWA. Example of deepest failure = (rule4 <- FAIL)]]
("Fiona" "is" "blue" "-")
Harry is smart.
Unknown
rconc
[@1: Harry is smart.[CWA. Example of deepest failure = (rule1 <- FAIL)]]
("Harry" "is" "smart" "+")
Harry is not rough.
Unknown
inv-random
[@0: Harry is rough.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "rough" "-")
Harry is kind.
Unknown
random
[@0: Harry is kind.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "kind" "+")
Bob is not furry.
Unknown
inv-random
[@0: Bob is furry.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "furry" "-")
Gary is kind.
Unknown
random
[@0: Gary is kind.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "kind" "+")
@0: Bob is nice.[(triple1)] Fiona is furry.[(triple2)] Fiona is green.[(triple3 OR ((triple2) -> rule2))] Fiona is smart.[(triple4)] Gary is rough.[(triple5)] Harry is furry.[(triple6)] Harry is not nice.[(triple7 OR ((triple6 ((triple6) -> rule2)) -> rule5))] @1: Fiona is not nice.[(((triple2 triple3) -> rule5) OR ((triple2 ((triple2) -> rule2)) -> rule5))] Gary is furry.[(((triple5) -> rule3))] Harry is green.[(((triple6) -> rule2))] @2: Gary is green.[(((((triple5) -> rule3)) -> rule2))] @3: Gary is not nice.[(((((triple5) -> rule3) ((((triple5) -> rule3)) -> rule2)) -> rule5))]
Bob is nice.
("Bob" "is" "nice" "+")
triple1
Fiona is furry.
("Fiona" "is" "furry" "+")
triple2
Fiona is green.
("Fiona" "is" "green" "+")
triple3
((triple2) -> (rule2 % int1))
Fiona is green.
("Fiona" "is" "green" "+")
int1
Fiona is smart.
("Fiona" "is" "smart" "+")
triple4
Gary is rough.
("Gary" "is" "rough" "+")
triple5
Harry is furry.
("Harry" "is" "furry" "+")
triple6
Harry is not nice.
("Harry" "is" "nice" "-")
triple7
((triple6 ((triple6) -> (rule2 % int2))) -> (rule5 % int1))
Harry is not nice.
("Harry" "is" "nice" "-")
int1
Harry is green.
("Harry" "is" "green" "+")
int2
Fiona is not nice.
("Fiona" "is" "nice" "-")
((triple2 triple3) -> (rule5 % int1))
Fiona is not nice.
("Fiona" "is" "nice" "-")
int1
((triple2 ((triple2) -> (rule2 % int2))) -> (rule5 % int1))
Fiona is not nice.
("Fiona" "is" "nice" "-")
int1
Fiona is green.
("Fiona" "is" "green" "+")
int2
Gary is furry.
("Gary" "is" "furry" "+")
((triple5) -> (rule3 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Harry is green.
("Harry" "is" "green" "+")
((triple6) -> (rule2 % int1))
Harry is green.
("Harry" "is" "green" "+")
int1
Gary is green.
("Gary" "is" "green" "+")
((((triple5) -> (rule3 % int2))) -> (rule2 % int1))
Gary is green.
("Gary" "is" "green" "+")
int1
Gary is furry.
("Gary" "is" "furry" "+")
int2
Gary is not nice.
("Gary" "is" "nice" "-")
((((triple5) -> (rule3 % int3)) ((((triple5) -> (rule3 % int3))) -> (rule2 % int2))) -> (rule5 % int1))
Gary is not nice.
("Gary" "is" "nice" "-")
int1
Gary is green.
("Gary" "is" "green" "+")
int2
Gary is furry.
("Gary" "is" "furry" "+")
int3