Bob is furry. Bob is nice. Bob is round. Charlie is kind. Charlie is nice. Charlie is round. Fiona is blue. Fiona is cold. Fiona is furry. Fiona is kind. Harry is big. Harry is round. Big, cold people are nice. If someone is furry then they are nice. If Fiona is furry and Fiona is cold then Fiona is not big. If Charlie is not cold then Charlie is kind. All big people are furry. If someone is kind and not big then they are round.
Bob is furry.
("Bob" "is" "furry" "+")
Bob is nice.
("Bob" "is" "nice" "+")
Bob is round.
("Bob" "is" "round" "+")
Charlie is kind.
("Charlie" "is" "kind" "+")
Charlie is nice.
("Charlie" "is" "nice" "+")
Charlie is round.
("Charlie" "is" "round" "+")
Fiona is blue.
("Fiona" "is" "blue" "+")
Fiona is cold.
("Fiona" "is" "cold" "+")
Fiona is furry.
("Fiona" "is" "furry" "+")
Fiona is kind.
("Fiona" "is" "kind" "+")
Harry is big.
("Harry" "is" "big" "+")
Harry is round.
("Harry" "is" "round" "+")
Big, cold people are nice.
((("someone" "is" "big" "+") ("someone" "is" "cold" "+")) -> ("someone" "is" "nice" "+"))
If someone is furry then they are nice.
((("someone" "is" "furry" "+")) -> ("someone" "is" "nice" "+"))
If Fiona is furry and Fiona is cold then Fiona is not big.
((("Fiona" "is" "furry" "+") ("Fiona" "is" "cold" "+")) -> ("Fiona" "is" "big" "-"))
If Charlie is not cold then Charlie is kind.
((("Charlie" "is" "cold" "~")) -> ("Charlie" "is" "kind" "+"))
All big people are furry.
((("someone" "is" "big" "+")) -> ("someone" "is" "furry" "+"))
If someone is kind and not big then they are round.
((("someone" "is" "kind" "+") ("someone" "is" "big" "~")) -> ("someone" "is" "round" "+"))
Charlie is kind.
True
1
proof
[(triple4)]
("Charlie" "is" "kind" "+")
triple4
Bob is not round.
False
1
inv-proof
[(triple3)]
("Bob" "is" "round" "-")
triple3
Harry is furry.
True
2
proof
[(((triple11) -> rule5))]
("Harry" "is" "furry" "+")
((triple11) -> (rule5 % int1))
Harry is furry.
("Harry" "is" "furry" "+")
int1
Fiona is big.
False
3
inv-proof
[(((triple9 triple8) -> rule3))]
("Fiona" "is" "big" "+")
((triple9 triple8) -> (rule3 % int1))
Fiona is not big.
("Fiona" "is" "big" "-")
int1
Charlie is not furry.
Unknown
inv-rconc
[@1: Charlie is furry.[CWA. Example of deepest failure = (rule5 <- FAIL)]]
("Charlie" "is" "furry" "-")
Harry is cold.
Unknown
random
[@0: Harry is cold.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "cold" "+")
Harry is not kind.
Unknown
inv-random
[@0: Harry is kind.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "kind" "-")
Charlie is cold.
Unknown
random
[@0: Charlie is cold.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "cold" "+")
@0: Bob is furry.[(triple1)] Bob is nice.[(triple2 OR ((triple1) -> rule2))] Bob is round.[(triple3)] Charlie is kind.[(triple4)] Charlie is nice.[(triple5)] Charlie is round.[(triple6)] Fiona is blue.[(triple7)] Fiona is cold.[(triple8)] Fiona is furry.[(triple9)] Fiona is kind.[(triple10)] Harry is big.[(triple11)] Harry is round.[(triple12)] @1: Fiona is nice.[(((triple9) -> rule2))] Fiona is not big.[(((triple9 triple8) -> rule3))] Harry is furry.[(((triple11) -> rule5))] @2: Fiona is round.[(((triple10 ((triple9 triple8) -> rule3)) -> rule6))] Harry is nice.[(((((triple11) -> rule5)) -> rule2))]
Bob is furry.
("Bob" "is" "furry" "+")
triple1
Bob is nice.
("Bob" "is" "nice" "+")
triple2
((triple1) -> (rule2 % int1))
Bob is nice.
("Bob" "is" "nice" "+")
int1
Bob is round.
("Bob" "is" "round" "+")
triple3
Charlie is kind.
("Charlie" "is" "kind" "+")
triple4
Charlie is nice.
("Charlie" "is" "nice" "+")
triple5
Charlie is round.
("Charlie" "is" "round" "+")
triple6
Fiona is blue.
("Fiona" "is" "blue" "+")
triple7
Fiona is cold.
("Fiona" "is" "cold" "+")
triple8
Fiona is furry.
("Fiona" "is" "furry" "+")
triple9
Fiona is kind.
("Fiona" "is" "kind" "+")
triple10
Harry is big.
("Harry" "is" "big" "+")
triple11
Harry is round.
("Harry" "is" "round" "+")
triple12
Fiona is nice.
("Fiona" "is" "nice" "+")
((triple9) -> (rule2 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is not big.
("Fiona" "is" "big" "-")
((triple9 triple8) -> (rule3 % int1))
Fiona is not big.
("Fiona" "is" "big" "-")
int1
Harry is furry.
("Harry" "is" "furry" "+")
((triple11) -> (rule5 % int1))
Harry is furry.
("Harry" "is" "furry" "+")
int1
Fiona is round.
("Fiona" "is" "round" "+")
((triple10 ((triple9 triple8) -> (rule3 % int2))) -> (rule6 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is not big.
("Fiona" "is" "big" "-")
int2
Harry is nice.
("Harry" "is" "nice" "+")
((((triple11) -> (rule5 % int2))) -> (rule2 % int1))
Harry is nice.
("Harry" "is" "nice" "+")
int1
Harry is furry.
("Harry" "is" "furry" "+")
int2