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