Anne is kind. Fiona is not blue. Gary is red. Harry is nice. Kind people are nice. Nice people are red. If someone is furry and nice then they are not kind.
Anne is kind.
("Anne" "is" "kind" "+")
Fiona is not blue.
("Fiona" "is" "blue" "-")
Gary is red.
("Gary" "is" "red" "+")
Harry is nice.
("Harry" "is" "nice" "+")
Kind people are nice.
((("someone" "is" "kind" "+")) -> ("someone" "is" "nice" "+"))
Nice people are red.
((("someone" "is" "nice" "+")) -> ("someone" "is" "red" "+"))
If someone is furry and nice then they are not kind.
((("someone" "is" "furry" "+") ("someone" "is" "nice" "+")) -> ("someone" "is" "kind" "-"))
Fiona is not blue.
True
1
proof
[(triple2)]
("Fiona" "is" "blue" "-")
triple2
Gary is not red.
False
1
inv-proof
[(triple3)]
("Gary" "is" "red" "-")
triple3
Anne is nice.
True
2
proof
[(((triple1) -> rule1))]
("Anne" "is" "nice" "+")
((triple1) -> (rule1 % int1))
Anne is nice.
("Anne" "is" "nice" "+")
int1
Anne is not nice.
False
2
inv-proof
[(((triple1) -> rule1))]
("Anne" "is" "nice" "-")
((triple1) -> (rule1 % int1))
Anne is nice.
("Anne" "is" "nice" "+")
int1
Anne is red.
True
3
proof
[(((((triple1) -> rule1)) -> rule2))]
("Anne" "is" "red" "+")
((((triple1) -> (rule1 % int2))) -> (rule2 % int1))
Anne is red.
("Anne" "is" "red" "+")
int1
Anne is nice.
("Anne" "is" "nice" "+")
int2
Anne is not red.
False
3
inv-proof
[(((((triple1) -> rule1)) -> rule2))]
("Anne" "is" "red" "-")
((((triple1) -> (rule1 % int2))) -> (rule2 % int1))
Anne is red.
("Anne" "is" "red" "+")
int1
Anne is nice.
("Anne" "is" "nice" "+")
int2
Fiona is not nice.
Unknown
inv-rconc
[@1: Fiona is nice.[CWA. Example of deepest failure = (rule1 <- FAIL)]]
("Fiona" "is" "nice" "-")
Gary is nice.
Unknown
rconc
[@1: Gary is nice.[CWA. Example of deepest failure = (rule1 <- FAIL)]]
("Gary" "is" "nice" "+")
Fiona is not red.
Unknown
inv-rconc
[@2: Fiona is red.[CWA. Example of deepest failure = (rule2 <- rule1 <- FAIL)]]
("Fiona" "is" "red" "-")
Anne is green.
Unknown
random
[@0: Anne is green.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "green" "+")
Harry is not kind.
Unknown
inv-random
[@0: Harry is kind.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "kind" "-")
Gary is green.
Unknown
random
[@0: Gary is green.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "green" "+")
@0: Anne is kind.[(triple1)] Fiona is not blue.[(triple2)] Gary is red.[(triple3)] Harry is nice.[(triple4)] @1: Anne is nice.[(((triple1) -> rule1))] Harry is red.[(((triple4) -> rule2))] @2: Anne is red.[(((((triple1) -> rule1)) -> rule2))]
Anne is kind.
("Anne" "is" "kind" "+")
triple1
Fiona is not blue.
("Fiona" "is" "blue" "-")
triple2
Gary is red.
("Gary" "is" "red" "+")
triple3
Harry is nice.
("Harry" "is" "nice" "+")
triple4
Anne is nice.
("Anne" "is" "nice" "+")
((triple1) -> (rule1 % int1))
Anne is nice.
("Anne" "is" "nice" "+")
int1
Harry is red.
("Harry" "is" "red" "+")
((triple4) -> (rule2 % int1))
Harry is red.
("Harry" "is" "red" "+")
int1
Anne is red.
("Anne" "is" "red" "+")
((((triple1) -> (rule1 % int2))) -> (rule2 % int1))
Anne is red.
("Anne" "is" "red" "+")
int1
Anne is nice.
("Anne" "is" "nice" "+")
int2