Anne is big. Anne is cold. Anne is round. Anne is young. Bob is rough. Bob is white. Erin is red. Erin is white. Gary is rough. Gary is round. Gary is white. Gary is young. If someone is white then they are big. Young, big people are rough. White people are red. Rough, cold people are big. Rough people are red. All rough people are cold. If Bob is red then Bob is white. If Gary is cold and Gary is young then Gary is rough.
Anne is big.
("Anne" "is" "big" "+")
Anne is cold.
("Anne" "is" "cold" "+")
Anne is round.
("Anne" "is" "round" "+")
Anne is young.
("Anne" "is" "young" "+")
Bob is rough.
("Bob" "is" "rough" "+")
Bob is white.
("Bob" "is" "white" "+")
Erin is red.
("Erin" "is" "red" "+")
Erin is white.
("Erin" "is" "white" "+")
Gary is rough.
("Gary" "is" "rough" "+")
Gary is round.
("Gary" "is" "round" "+")
Gary is white.
("Gary" "is" "white" "+")
Gary is young.
("Gary" "is" "young" "+")
If someone is white then they are big.
((("someone" "is" "white" "+")) -> ("someone" "is" "big" "+"))
Young, big people are rough.
((("someone" "is" "young" "+") ("someone" "is" "big" "+")) -> ("someone" "is" "rough" "+"))
White people are red.
((("someone" "is" "white" "+")) -> ("someone" "is" "red" "+"))
Rough, cold people are big.
((("someone" "is" "rough" "+") ("someone" "is" "cold" "+")) -> ("someone" "is" "big" "+"))
Rough people are red.
((("someone" "is" "rough" "+")) -> ("someone" "is" "red" "+"))
All rough people are cold.
((("someone" "is" "rough" "+")) -> ("someone" "is" "cold" "+"))
If Bob is red then Bob is white.
((("Bob" "is" "red" "+")) -> ("Bob" "is" "white" "+"))
If Gary is cold and Gary is young then Gary is rough.
((("Gary" "is" "cold" "+") ("Gary" "is" "young" "+")) -> ("Gary" "is" "rough" "+"))
Anne is big.
True
1
proof
[(triple1)]
("Anne" "is" "big" "+")
triple1
Gary is not young.
False
1
inv-proof
[(triple12)]
("Gary" "is" "young" "-")
triple12
Gary is big.
True
2
proof
[(((triple11) -> rule1) OR ((triple9 ((triple9) -> rule6)) -> rule4))]
("Gary" "is" "big" "+")
((triple11) -> (rule1 % int1))
Gary is big.
("Gary" "is" "big" "+")
int1
((triple9 ((triple9) -> (rule6 % int2))) -> (rule4 % int1))
Gary is big.
("Gary" "is" "big" "+")
int1
Gary is cold.
("Gary" "is" "cold" "+")
int2
Gary is not big.
False
2
inv-proof
[(((triple11) -> rule1) OR ((triple9 ((triple9) -> rule6)) -> rule4))]
("Gary" "is" "big" "-")
((triple11) -> (rule1 % int1))
Gary is big.
("Gary" "is" "big" "+")
int1
((triple9 ((triple9) -> (rule6 % int2))) -> (rule4 % int1))
Gary is big.
("Gary" "is" "big" "+")
int1
Gary is cold.
("Gary" "is" "cold" "+")
int2
Erin is not cold.
Unknown
inv-rconc
[@2: Erin is cold.[CWA. Example of deepest failure = (rule6 <- rule2 <- FAIL)]]
("Erin" "is" "cold" "-")
Erin is rough.
Unknown
rconc
[@1: Erin is rough.[CWA. Example of deepest failure = (rule2 <- FAIL)]]
("Erin" "is" "rough" "+")
Erin is not round.
Unknown
inv-random
[@0: Erin is round.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "round" "-")
Anne is white.
Unknown
random
[@0: Anne is white.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "white" "+")
@0: Anne is big.[(triple1)] Anne is cold.[(triple2 OR ((((triple4 triple1) -> rule2)) -> rule6))] Anne is round.[(triple3)] Anne is young.[(triple4)] Bob is rough.[(triple5)] Bob is white.[(triple6 OR ((((triple5) -> rule5)) -> rule7))] Erin is red.[(triple7 OR ((triple8) -> rule3))] Erin is white.[(triple8)] Gary is rough.[(triple9 OR ((triple12 ((triple11) -> rule1)) -> rule2))] Gary is round.[(triple10)] Gary is white.[(triple11)] Gary is young.[(triple12)] @1: Anne is rough.[(((triple4 triple1) -> rule2))] Bob is big.[(((triple6) -> rule1) OR ((triple5 ((triple5) -> rule6)) -> rule4) OR ((((((triple5) -> rule5)) -> rule7)) -> rule1))] Bob is cold.[(((triple5) -> rule6))] Bob is red.[(((triple5) -> rule5) OR ((triple6) -> rule3))] Erin is big.[(((triple8) -> rule1))] Gary is big.[(((triple11) -> rule1) OR ((triple9 ((triple9) -> rule6)) -> rule4))] Gary is cold.[(((triple9) -> rule6) OR ((((triple12 ((triple11) -> rule1)) -> rule2)) -> rule6))] Gary is red.[(((triple11) -> rule3) OR ((triple9) -> rule5) OR ((((triple12 ((triple11) -> rule1)) -> rule2)) -> rule5))] @2: Anne is red.[(((((triple4 triple1) -> rule2)) -> rule5))]
Anne is big.
("Anne" "is" "big" "+")
triple1
Anne is cold.
("Anne" "is" "cold" "+")
triple2
((((triple4 triple1) -> (rule2 % int2))) -> (rule6 % int1))
Anne is cold.
("Anne" "is" "cold" "+")
int1
Anne is rough.
("Anne" "is" "rough" "+")
int2
Anne is round.
("Anne" "is" "round" "+")
triple3
Anne is young.
("Anne" "is" "young" "+")
triple4
Bob is rough.
("Bob" "is" "rough" "+")
triple5
Bob is white.
("Bob" "is" "white" "+")
triple6
((((triple5) -> (rule5 % int2))) -> (rule7 % int1))
Bob is white.
("Bob" "is" "white" "+")
int1
Bob is red.
("Bob" "is" "red" "+")
int2
Erin is red.
("Erin" "is" "red" "+")
triple7
((triple8) -> (rule3 % int1))
Erin is red.
("Erin" "is" "red" "+")
int1
Erin is white.
("Erin" "is" "white" "+")
triple8
Gary is rough.
("Gary" "is" "rough" "+")
triple9
((triple12 ((triple11) -> (rule1 % int2))) -> (rule2 % int1))
Gary is rough.
("Gary" "is" "rough" "+")
int1
Gary is big.
("Gary" "is" "big" "+")
int2
Gary is round.
("Gary" "is" "round" "+")
triple10
Gary is white.
("Gary" "is" "white" "+")
triple11
Gary is young.
("Gary" "is" "young" "+")
triple12
Anne is rough.
("Anne" "is" "rough" "+")
((triple4 triple1) -> (rule2 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
Bob is big.
("Bob" "is" "big" "+")
((triple6) -> (rule1 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
((triple5 ((triple5) -> (rule6 % int2))) -> (rule4 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
Bob is cold.
("Bob" "is" "cold" "+")
int2
((((((triple5) -> (rule5 % int3))) -> (rule7 % int2))) -> (rule1 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
Bob is white.
("Bob" "is" "white" "+")
int2
Bob is red.
("Bob" "is" "red" "+")
int3
Bob is cold.
("Bob" "is" "cold" "+")
((triple5) -> (rule6 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
Bob is red.
("Bob" "is" "red" "+")
((triple5) -> (rule5 % int1))
Bob is red.
("Bob" "is" "red" "+")
int1
((triple6) -> (rule3 % int1))
Bob is red.
("Bob" "is" "red" "+")
int1
Erin is big.
("Erin" "is" "big" "+")
((triple8) -> (rule1 % int1))
Erin is big.
("Erin" "is" "big" "+")
int1
Gary is big.
("Gary" "is" "big" "+")
((triple11) -> (rule1 % int1))
Gary is big.
("Gary" "is" "big" "+")
int1
((triple9 ((triple9) -> (rule6 % int2))) -> (rule4 % int1))
Gary is big.
("Gary" "is" "big" "+")
int1
Gary is cold.
("Gary" "is" "cold" "+")
int2
Gary is cold.
("Gary" "is" "cold" "+")
((triple9) -> (rule6 % int1))
Gary is cold.
("Gary" "is" "cold" "+")
int1
((((triple12 ((triple11) -> (rule1 % int3))) -> (rule2 % int2))) -> (rule6 % int1))
Gary is cold.
("Gary" "is" "cold" "+")
int1
Gary is rough.
("Gary" "is" "rough" "+")
int2
Gary is big.
("Gary" "is" "big" "+")
int3
Gary is red.
("Gary" "is" "red" "+")
((triple11) -> (rule3 % int1))
Gary is red.
("Gary" "is" "red" "+")
int1
((triple9) -> (rule5 % int1))
Gary is red.
("Gary" "is" "red" "+")
int1
((((triple12 ((triple11) -> (rule1 % int3))) -> (rule2 % int2))) -> (rule5 % int1))
Gary is red.
("Gary" "is" "red" "+")
int1
Gary is rough.
("Gary" "is" "rough" "+")
int2
Gary is big.
("Gary" "is" "big" "+")
int3
Anne is red.
("Anne" "is" "red" "+")
((((triple4 triple1) -> (rule2 % int2))) -> (rule5 % int1))
Anne is red.
("Anne" "is" "red" "+")
int1
Anne is rough.
("Anne" "is" "rough" "+")
int2