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