Anne is green. Anne is nice. Erin is big. Erin is green. Erin is nice. Erin is rough. Harry is big. Harry is green. Harry is red. Harry is rough. If Anne is green and Anne is rough then Anne is white. Furry things are rough. All furry things are rough. All rough things are green. If something is nice and big then it is green. If something is green then it is nice.
Anne is green.
("Anne" "is" "green" "+")
Anne is nice.
("Anne" "is" "nice" "+")
Erin is big.
("Erin" "is" "big" "+")
Erin is green.
("Erin" "is" "green" "+")
Erin is nice.
("Erin" "is" "nice" "+")
Erin is rough.
("Erin" "is" "rough" "+")
Harry is big.
("Harry" "is" "big" "+")
Harry is green.
("Harry" "is" "green" "+")
Harry is red.
("Harry" "is" "red" "+")
Harry is rough.
("Harry" "is" "rough" "+")
If Anne is green and Anne is rough then Anne is white.
((("Anne" "is" "green" "+") ("Anne" "is" "rough" "+")) -> ("Anne" "is" "white" "+"))
Furry things are rough.
((("something" "is" "furry" "+")) -> ("something" "is" "rough" "+"))
All furry things are rough.
((("something" "is" "furry" "+")) -> ("something" "is" "rough" "+"))
All rough things are green.
((("something" "is" "rough" "+")) -> ("something" "is" "green" "+"))
If something is nice and big then it is green.
((("something" "is" "nice" "+") ("something" "is" "big" "+")) -> ("something" "is" "green" "+"))
If something is green then it is nice.
((("something" "is" "green" "+")) -> ("something" "is" "nice" "+"))
Harry is red.
True
1
proof
[(triple9)]
("Harry" "is" "red" "+")
triple9
Anne is not green.
False
1
inv-proof
[(triple1)]
("Anne" "is" "green" "-")
triple1
Anne is not white.
Unknown
inv-rconc
[@2: Anne is white.[CWA. Example of deepest failure = (rule1 <- rule2 <- FAIL)]]
("Anne" "is" "white" "-")
Anne is red.
Unknown
random
[@0: Anne is red.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "red" "+")
@0: Anne is green.[(triple1)] Anne is nice.[(triple2 OR ((triple1) -> rule6))] Erin is big.[(triple3)] Erin is green.[(triple4 OR ((triple6) -> rule4) OR ((triple5 triple3) -> rule5))] Erin is nice.[(triple5 OR ((triple4) -> rule6) OR ((((triple6) -> rule4)) -> rule6))] Erin is rough.[(triple6)] Harry is big.[(triple7)] Harry is green.[(triple8 OR ((triple10) -> rule4))] Harry is red.[(triple9)] Harry is rough.[(triple10)] @1: Harry is nice.[(((triple8) -> rule6) OR ((((triple10) -> rule4)) -> rule6))]
Anne is green.
("Anne" "is" "green" "+")
triple1
Anne is nice.
("Anne" "is" "nice" "+")
triple2
((triple1) -> (rule6 % int1))
Anne is nice.
("Anne" "is" "nice" "+")
int1
Erin is big.
("Erin" "is" "big" "+")
triple3
Erin is green.
("Erin" "is" "green" "+")
triple4
((triple6) -> (rule4 % int1))
Erin is green.
("Erin" "is" "green" "+")
int1
((triple5 triple3) -> (rule5 % int1))
Erin is green.
("Erin" "is" "green" "+")
int1
Erin is nice.
("Erin" "is" "nice" "+")
triple5
((triple4) -> (rule6 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
((((triple6) -> (rule4 % int2))) -> (rule6 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
Erin is green.
("Erin" "is" "green" "+")
int2
Erin is rough.
("Erin" "is" "rough" "+")
triple6
Harry is big.
("Harry" "is" "big" "+")
triple7
Harry is green.
("Harry" "is" "green" "+")
triple8
((triple10) -> (rule4 % int1))
Harry is green.
("Harry" "is" "green" "+")
int1
Harry is red.
("Harry" "is" "red" "+")
triple9
Harry is rough.
("Harry" "is" "rough" "+")
triple10
Harry is nice.
("Harry" "is" "nice" "+")
((triple8) -> (rule6 % int1))
Harry is nice.
("Harry" "is" "nice" "+")
int1
((((triple10) -> (rule4 % int2))) -> (rule6 % int1))
Harry is nice.
("Harry" "is" "nice" "+")
int1
Harry is green.
("Harry" "is" "green" "+")
int2