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