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