Charlie is cold. Charlie is not white. Fiona is nice. Fiona is not young. Harry is red. Harry is white. Harry is young. All red people are blue. If Fiona is red then Fiona is not nice. Cold people are kind. If Fiona is blue then Fiona is cold. If someone is red and not kind then they are white. If someone is kind then they are not nice. If someone is cold and kind then they are not nice. If someone is cold and not kind then they are nice.
Charlie is cold.
("Charlie" "is" "cold" "+")
Charlie is not white.
("Charlie" "is" "white" "-")
Fiona is nice.
("Fiona" "is" "nice" "+")
Fiona is not young.
("Fiona" "is" "young" "-")
Harry is red.
("Harry" "is" "red" "+")
Harry is white.
("Harry" "is" "white" "+")
Harry is young.
("Harry" "is" "young" "+")
All red people are blue.
((("someone" "is" "red" "+")) -> ("someone" "is" "blue" "+"))
If Fiona is red then Fiona is not nice.
((("Fiona" "is" "red" "+")) -> ("Fiona" "is" "nice" "-"))
Cold people are kind.
((("someone" "is" "cold" "+")) -> ("someone" "is" "kind" "+"))
If Fiona is blue then Fiona is cold.
((("Fiona" "is" "blue" "+")) -> ("Fiona" "is" "cold" "+"))
If someone is red and not kind then they are white.
((("someone" "is" "red" "+") ("someone" "is" "kind" "~")) -> ("someone" "is" "white" "+"))
If someone is kind then they are not nice.
((("someone" "is" "kind" "+")) -> ("someone" "is" "nice" "-"))
If someone is cold and kind then they are not nice.
((("someone" "is" "cold" "+") ("someone" "is" "kind" "+")) -> ("someone" "is" "nice" "-"))
If someone is cold and not kind then they are nice.
((("someone" "is" "cold" "+") ("someone" "is" "kind" "~")) -> ("someone" "is" "nice" "+"))
Harry is young.
True
1
proof
[(triple7)]
("Harry" "is" "young" "+")
triple7
Charlie is white.
False
1
inv-proof
[(triple2)]
("Charlie" "is" "white" "+")
triple2
Harry is blue.
True
2
proof
[(((triple5) -> rule1))]
("Harry" "is" "blue" "+")
((triple5) -> (rule1 % int1))
Harry is blue.
("Harry" "is" "blue" "+")
int1
Harry is not blue.
False
2
inv-proof
[(((triple5) -> rule1))]
("Harry" "is" "blue" "-")
((triple5) -> (rule1 % int1))
Harry is blue.
("Harry" "is" "blue" "+")
int1
Charlie is not nice.
True
3
proof
[(((((triple1) -> rule3)) -> rule6) OR ((triple1 ((triple1) -> rule3)) -> rule7))]
("Charlie" "is" "nice" "-")
((((triple1) -> (rule3 % int2))) -> (rule6 % int1))
Charlie is not nice.
("Charlie" "is" "nice" "-")
int1
Charlie is kind.
("Charlie" "is" "kind" "+")
int2
((triple1 ((triple1) -> (rule3 % int2))) -> (rule7 % int1))
Charlie is not nice.
("Charlie" "is" "nice" "-")
int1
Charlie is kind.
("Charlie" "is" "kind" "+")
int2
Charlie is nice.
False
3
inv-proof
[(((((triple1) -> rule3)) -> rule6) OR ((triple1 ((triple1) -> rule3)) -> rule7))]
("Charlie" "is" "nice" "+")
((((triple1) -> (rule3 % int2))) -> (rule6 % int1))
Charlie is not nice.
("Charlie" "is" "nice" "-")
int1
Charlie is kind.
("Charlie" "is" "kind" "+")
int2
((triple1 ((triple1) -> (rule3 % int2))) -> (rule7 % int1))
Charlie is not nice.
("Charlie" "is" "nice" "-")
int1
Charlie is kind.
("Charlie" "is" "kind" "+")
int2
Harry is not nice.
Unknown
inv-rconc
[@1: Harry is nice.[CWA. Example of deepest failure = (rule8 <- FAIL)]]
("Harry" "is" "nice" "-")
Harry is kind.
Unknown
rconc
[@1: Harry is kind.[CWA. Example of deepest failure = (rule3 <- FAIL)]]
("Harry" "is" "kind" "+")
Fiona is not blue.
Unknown
inv-rconc
[@1: Fiona is blue.[CWA. Example of deepest failure = (rule1 <- FAIL)]]
("Fiona" "is" "blue" "-")
Charlie is red.
Unknown
random
[@0: Charlie is red.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "red" "+")
Fiona is not red.
Unknown
inv-random
[@0: Fiona is red.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "red" "-")
Harry is cold.
Unknown
random
[@0: Harry is cold.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "cold" "+")
@0: Charlie is cold.[(triple1)] Charlie is not white.[(triple2)] Fiona is nice.[(triple3)] Fiona is not young.[(triple4)] Harry is red.[(triple5)] Harry is white.[(triple6)] Harry is young.[(triple7)] @1: Charlie is kind.[(((triple1) -> rule3))] Harry is blue.[(((triple5) -> rule1))] @2: Charlie is not nice.[(((((triple1) -> rule3)) -> rule6) OR ((triple1 ((triple1) -> rule3)) -> rule7))]
Charlie is cold.
("Charlie" "is" "cold" "+")
triple1
Charlie is not white.
("Charlie" "is" "white" "-")
triple2
Fiona is nice.
("Fiona" "is" "nice" "+")
triple3
Fiona is not young.
("Fiona" "is" "young" "-")
triple4
Harry is red.
("Harry" "is" "red" "+")
triple5
Harry is white.
("Harry" "is" "white" "+")
triple6
Harry is young.
("Harry" "is" "young" "+")
triple7
Charlie is kind.
("Charlie" "is" "kind" "+")
((triple1) -> (rule3 % int1))
Charlie is kind.
("Charlie" "is" "kind" "+")
int1
Harry is blue.
("Harry" "is" "blue" "+")
((triple5) -> (rule1 % int1))
Harry is blue.
("Harry" "is" "blue" "+")
int1
Charlie is not nice.
("Charlie" "is" "nice" "-")
((((triple1) -> (rule3 % int2))) -> (rule6 % int1))
Charlie is not nice.
("Charlie" "is" "nice" "-")
int1
Charlie is kind.
("Charlie" "is" "kind" "+")
int2
((triple1 ((triple1) -> (rule3 % int2))) -> (rule7 % int1))
Charlie is not nice.
("Charlie" "is" "nice" "-")
int1
Charlie is kind.
("Charlie" "is" "kind" "+")
int2