Anne is blue. Anne is kind. Anne is nice. Charlie is red. Erin is kind. Erin is young. Harry is nice. Red things are young. If something is red then it is nice. If something is cold then it is kind. If Harry is cold and Harry is nice then Harry is furry. All blue things are red. All furry, nice things are kind. If something is nice then it is young. If something is furry then it is kind.
Anne is blue.
("Anne" "is" "blue" "+")
Anne is kind.
("Anne" "is" "kind" "+")
Anne is nice.
("Anne" "is" "nice" "+")
Charlie is red.
("Charlie" "is" "red" "+")
Erin is kind.
("Erin" "is" "kind" "+")
Erin is young.
("Erin" "is" "young" "+")
Harry is nice.
("Harry" "is" "nice" "+")
Red things are young.
((("something" "is" "red" "+")) -> ("something" "is" "young" "+"))
If something is red then it is nice.
((("something" "is" "red" "+")) -> ("something" "is" "nice" "+"))
If something is cold then it is kind.
((("something" "is" "cold" "+")) -> ("something" "is" "kind" "+"))
If Harry is cold and Harry is nice then Harry is furry.
((("Harry" "is" "cold" "+") ("Harry" "is" "nice" "+")) -> ("Harry" "is" "furry" "+"))
All blue things are red.
((("something" "is" "blue" "+")) -> ("something" "is" "red" "+"))
All furry, nice things are kind.
((("something" "is" "furry" "+") ("something" "is" "nice" "+")) -> ("something" "is" "kind" "+"))
If something is nice then it is young.
((("something" "is" "nice" "+")) -> ("something" "is" "young" "+"))
If something is furry then it is kind.
((("something" "is" "furry" "+")) -> ("something" "is" "kind" "+"))
Anne is nice.
True
1
proof
[(triple3 OR ((((triple1) -> rule5)) -> rule2))]
("Anne" "is" "nice" "+")
triple3
((((triple1) -> (rule5 % int2))) -> (rule2 % int1))
Anne is nice.
("Anne" "is" "nice" "+")
int1
Anne is red.
("Anne" "is" "red" "+")
int2
Anne is not nice.
False
1
inv-proof
[(triple3 OR ((((triple1) -> rule5)) -> rule2))]
("Anne" "is" "nice" "-")
triple3
((((triple1) -> (rule5 % int2))) -> (rule2 % int1))
Anne is nice.
("Anne" "is" "nice" "+")
int1
Anne is red.
("Anne" "is" "red" "+")
int2
Harry is not kind.
Unknown
inv-rconc
[@2: Harry is kind.[CWA. Example of deepest failure = (rule6 <- rule4 <- FAIL)]]
("Harry" "is" "kind" "-")
Charlie is furry.
Unknown
random
[@0: Charlie is furry.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "furry" "+")
@0: Anne is blue.[(triple1)] Anne is kind.[(triple2)] Anne is nice.[(triple3 OR ((((triple1) -> rule5)) -> rule2))] Charlie is red.[(triple4)] Erin is kind.[(triple5)] Erin is young.[(triple6)] Harry is nice.[(triple7)] @1: Anne is red.[(((triple1) -> rule5))] Anne is young.[(((triple3) -> rule7) OR ((((triple1) -> rule5)) -> rule1) OR ((((((triple1) -> rule5)) -> rule2)) -> rule7))] Charlie is nice.[(((triple4) -> rule2))] Charlie is young.[(((triple4) -> rule1) OR ((((triple4) -> rule2)) -> rule7))] Harry is young.[(((triple7) -> rule7))]
Anne is blue.
("Anne" "is" "blue" "+")
triple1
Anne is kind.
("Anne" "is" "kind" "+")
triple2
Anne is nice.
("Anne" "is" "nice" "+")
triple3
((((triple1) -> (rule5 % int2))) -> (rule2 % int1))
Anne is nice.
("Anne" "is" "nice" "+")
int1
Anne is red.
("Anne" "is" "red" "+")
int2
Charlie is red.
("Charlie" "is" "red" "+")
triple4
Erin is kind.
("Erin" "is" "kind" "+")
triple5
Erin is young.
("Erin" "is" "young" "+")
triple6
Harry is nice.
("Harry" "is" "nice" "+")
triple7
Anne is red.
("Anne" "is" "red" "+")
((triple1) -> (rule5 % int1))
Anne is red.
("Anne" "is" "red" "+")
int1
Anne is young.
("Anne" "is" "young" "+")
((triple3) -> (rule7 % int1))
Anne is young.
("Anne" "is" "young" "+")
int1
((((triple1) -> (rule5 % int2))) -> (rule1 % int1))
Anne is young.
("Anne" "is" "young" "+")
int1
Anne is red.
("Anne" "is" "red" "+")
int2
((((((triple1) -> (rule5 % int3))) -> (rule2 % int2))) -> (rule7 % int1))
Anne is young.
("Anne" "is" "young" "+")
int1
Anne is nice.
("Anne" "is" "nice" "+")
int2
Anne is red.
("Anne" "is" "red" "+")
int3
Charlie is nice.
("Charlie" "is" "nice" "+")
((triple4) -> (rule2 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Charlie is young.
("Charlie" "is" "young" "+")
((triple4) -> (rule1 % int1))
Charlie is young.
("Charlie" "is" "young" "+")
int1
((((triple4) -> (rule2 % int2))) -> (rule7 % int1))
Charlie is young.
("Charlie" "is" "young" "+")
int1
Charlie is nice.
("Charlie" "is" "nice" "+")
int2
Harry is young.
("Harry" "is" "young" "+")
((triple7) -> (rule7 % int1))
Harry is young.
("Harry" "is" "young" "+")
int1