Bob is big. Bob is blue. Bob is green. Bob is nice. Bob is red. Charlie is blue. Charlie is red. Erin is big. Erin is blue. Erin is green. Erin is nice. Erin is round. Erin is white. Gary is blue. Gary is green. If someone is red and white then they are big. All green, white people are blue. Green, blue people are big. If someone is round and green then they are red. All nice, white people are round. Green, red people are nice. If someone is red then they are white. All green, big people are nice.
Bob is big.
("Bob" "is" "big" "+")
Bob is blue.
("Bob" "is" "blue" "+")
Bob is green.
("Bob" "is" "green" "+")
Bob is nice.
("Bob" "is" "nice" "+")
Bob is red.
("Bob" "is" "red" "+")
Charlie is blue.
("Charlie" "is" "blue" "+")
Charlie is red.
("Charlie" "is" "red" "+")
Erin is big.
("Erin" "is" "big" "+")
Erin is blue.
("Erin" "is" "blue" "+")
Erin is green.
("Erin" "is" "green" "+")
Erin is nice.
("Erin" "is" "nice" "+")
Erin is round.
("Erin" "is" "round" "+")
Erin is white.
("Erin" "is" "white" "+")
Gary is blue.
("Gary" "is" "blue" "+")
Gary is green.
("Gary" "is" "green" "+")
If someone is red and white then they are big.
((("someone" "is" "red" "+") ("someone" "is" "white" "+")) -> ("someone" "is" "big" "+"))
All green, white people are blue.
((("someone" "is" "green" "+") ("someone" "is" "white" "+")) -> ("someone" "is" "blue" "+"))
Green, blue people are big.
((("someone" "is" "green" "+") ("someone" "is" "blue" "+")) -> ("someone" "is" "big" "+"))
If someone is round and green then they are red.
((("someone" "is" "round" "+") ("someone" "is" "green" "+")) -> ("someone" "is" "red" "+"))
All nice, white people are round.
((("someone" "is" "nice" "+") ("someone" "is" "white" "+")) -> ("someone" "is" "round" "+"))
Green, red people are nice.
((("someone" "is" "green" "+") ("someone" "is" "red" "+")) -> ("someone" "is" "nice" "+"))
If someone is red then they are white.
((("someone" "is" "red" "+")) -> ("someone" "is" "white" "+"))
All green, big people are nice.
((("someone" "is" "green" "+") ("someone" "is" "big" "+")) -> ("someone" "is" "nice" "+"))
Bob is red.
True
1
proof
[(triple5)]
("Bob" "is" "red" "+")
triple5
Bob is not big.
False
1
inv-proof
[(triple1 OR ((triple3 triple2) -> rule3) OR ((triple5 ((triple5) -> rule7)) -> rule1) OR ((triple3 ((triple3 ((triple5) -> rule7)) -> rule2)) -> rule3))]
("Bob" "is" "big" "-")
triple1
((triple3 triple2) -> (rule3 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
((triple5 ((triple5) -> (rule7 % int2))) -> (rule1 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
Bob is white.
("Bob" "is" "white" "+")
int2
((triple3 ((triple3 ((triple5) -> (rule7 % int3))) -> (rule2 % int2))) -> (rule3 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
Bob is blue.
("Bob" "is" "blue" "+")
int2
Bob is white.
("Bob" "is" "white" "+")
int3
Bob is white.
True
2
proof
[(((triple5) -> rule7))]
("Bob" "is" "white" "+")
((triple5) -> (rule7 % int1))
Bob is white.
("Bob" "is" "white" "+")
int1
Charlie is not white.
False
2
inv-proof
[(((triple7) -> rule7))]
("Charlie" "is" "white" "-")
((triple7) -> (rule7 % int1))
Charlie is white.
("Charlie" "is" "white" "+")
int1
Charlie is big.
True
4
proof
[(((triple7 ((triple7) -> rule7)) -> rule1))]
("Charlie" "is" "big" "+")
((triple7 ((triple7) -> (rule7 % int2))) -> (rule1 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Charlie is white.
("Charlie" "is" "white" "+")
int2
Charlie is not big.
False
4
inv-proof
[(((triple7 ((triple7) -> rule7)) -> rule1))]
("Charlie" "is" "big" "-")
((triple7 ((triple7) -> (rule7 % int2))) -> (rule1 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Charlie is white.
("Charlie" "is" "white" "+")
int2
Charlie is not nice.
Unknown
inv-rconc
[@1: Charlie is nice.[CWA. Example of deepest failure = (rule6 <- FAIL)]]
("Charlie" "is" "nice" "-")
Gary is round.
Unknown
rconc
[@3: Gary is round.[CWA. Example of deepest failure = (rule5 <- rule7 <- rule4 <- FAIL)]]
("Gary" "is" "round" "+")
Gary is not red.
Unknown
inv-rconc
[@3: Gary is red.[CWA. Example of deepest failure = (rule4 <- rule5 <- rule7 <- FAIL)]]
("Gary" "is" "red" "-")
Charlie is green.
Unknown
random
[@0: Charlie is green.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "green" "+")
@0: Bob is big.[(triple1 OR ((triple3 triple2) -> rule3) OR ((triple5 ((triple5) -> rule7)) -> rule1) OR ((triple3 ((triple3 ((triple5) -> rule7)) -> rule2)) -> rule3))] Bob is blue.[(triple2 OR ((triple3 ((triple5) -> rule7)) -> rule2))] Bob is green.[(triple3)] Bob is nice.[(triple4 OR ((triple3 triple1) -> rule8) OR ((triple3 triple5) -> rule6) OR ((triple3 ((triple3 triple2) -> rule3)) -> rule8) OR ((triple3 ((triple5 ((triple5) -> rule7)) -> rule1)) -> rule8) OR ((triple3 ((triple3 ((triple3 ((triple5) -> rule7)) -> rule2)) -> rule3)) -> rule8))] Bob is red.[(triple5)] Charlie is blue.[(triple6)] Charlie is red.[(triple7)] Erin is big.[(triple8 OR ((triple10 triple9) -> rule3) OR ((triple10 ((triple10 triple13) -> rule2)) -> rule3) OR ((((triple12 triple10) -> rule4) triple13) -> rule1) OR ((((((triple11 triple13) -> rule5) triple10) -> rule4) triple13) -> rule1) OR ((((triple12 triple10) -> rule4) ((((triple12 triple10) -> rule4)) -> rule7)) -> rule1) OR ((((((triple11 triple13) -> rule5) triple10) -> rule4) ((((triple12 triple10) -> rule4)) -> rule7)) -> rule1) OR ((triple10 ((triple10 ((((triple12 triple10) -> rule4)) -> rule7)) -> rule2)) -> rule3))] Erin is blue.[(triple9 OR ((triple10 triple13) -> rule2) OR ((triple10 ((((triple12 triple10) -> rule4)) -> rule7)) -> rule2))] Erin is green.[(triple10)] Erin is nice.[(triple11 OR ((triple10 triple8) -> rule8) OR ((triple10 ((triple10 triple9) -> rule3)) -> rule8) OR ((triple10 ((triple12 triple10) -> rule4)) -> rule6) OR ((triple10 ((triple10 ((triple10 triple13) -> rule2)) -> rule3)) -> rule8) OR ((triple10 ((((triple12 triple10) -> rule4) triple13) -> rule1)) -> rule8) OR ((triple10 ((((triple12 triple10) -> rule4) ((((triple12 triple10) -> rule4)) -> rule7)) -> rule1)) -> rule8) OR ((triple10 ((triple10 ((triple10 ((((triple12 triple10) -> rule4)) -> rule7)) -> rule2)) -> rule3)) -> rule8))] Erin is round.[(triple12 OR ((triple11 triple13) -> rule5) OR ((((triple10 triple8) -> rule8) triple13) -> rule5) OR ((((triple10 ((triple10 triple9) -> rule3)) -> rule8) triple13) -> rule5) OR ((((triple10 ((triple10 ((triple10 triple13) -> rule2)) -> rule3)) -> rule8) triple13) -> rule5))] Erin is white.[(triple13 OR ((((triple12 triple10) -> rule4)) -> rule7))] Gary is blue.[(triple14)] Gary is green.[(triple15)] @1: Bob is white.[(((triple5) -> rule7))] Charlie is white.[(((triple7) -> rule7))] Erin is red.[(((triple12 triple10) -> rule4) OR ((((triple11 triple13) -> rule5) triple10) -> rule4) OR ((((((triple10 triple8) -> rule8) triple13) -> rule5) triple10) -> rule4) OR ((((((triple10 ((triple10 triple9) -> rule3)) -> rule8) triple13) -> rule5) triple10) -> rule4) OR ((((((triple10 ((triple10 ((triple10 triple13) -> rule2)) -> rule3)) -> rule8) triple13) -> rule5) triple10) -> rule4))] Gary is big.[(((triple15 triple14) -> rule3))] @2: Bob is round.[(((triple4 ((triple5) -> rule7)) -> rule5) OR ((((triple3 triple1) -> rule8) ((triple5) -> rule7)) -> rule5) OR ((((triple3 triple5) -> rule6) ((triple5) -> rule7)) -> rule5) OR ((((triple3 ((triple3 triple2) -> rule3)) -> rule8) ((triple5) -> rule7)) -> rule5) OR ((((triple3 ((triple5 ((triple5) -> rule7)) -> rule1)) -> rule8) ((triple5) -> rule7)) -> rule5) OR ((((triple3 ((triple3 ((triple3 ((triple5) -> rule7)) -> rule2)) -> rule3)) -> rule8) ((triple5) -> rule7)) -> rule5))] Charlie is big.[(((triple7 ((triple7) -> rule7)) -> rule1))] Gary is nice.[(((triple15 ((triple15 triple14) -> rule3)) -> rule8))]
Bob is big.
("Bob" "is" "big" "+")
triple1
((triple3 triple2) -> (rule3 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
((triple5 ((triple5) -> (rule7 % int2))) -> (rule1 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
Bob is white.
("Bob" "is" "white" "+")
int2
((triple3 ((triple3 ((triple5) -> (rule7 % int3))) -> (rule2 % int2))) -> (rule3 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
Bob is blue.
("Bob" "is" "blue" "+")
int2
Bob is white.
("Bob" "is" "white" "+")
int3
Bob is blue.
("Bob" "is" "blue" "+")
triple2
((triple3 ((triple5) -> (rule7 % int2))) -> (rule2 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
Bob is white.
("Bob" "is" "white" "+")
int2
Bob is green.
("Bob" "is" "green" "+")
triple3
Bob is nice.
("Bob" "is" "nice" "+")
triple4
((triple3 triple1) -> (rule8 % int1))
Bob is nice.
("Bob" "is" "nice" "+")
int1
((triple3 triple5) -> (rule6 % int1))
Bob is nice.
("Bob" "is" "nice" "+")
int1
((triple3 ((triple3 triple2) -> (rule3 % int2))) -> (rule8 % int1))
Bob is nice.
("Bob" "is" "nice" "+")
int1
Bob is big.
("Bob" "is" "big" "+")
int2
((triple3 ((triple5 ((triple5) -> (rule7 % int3))) -> (rule1 % int2))) -> (rule8 % int1))
Bob is nice.
("Bob" "is" "nice" "+")
int1
Bob is big.
("Bob" "is" "big" "+")
int2
Bob is white.
("Bob" "is" "white" "+")
int3
((triple3 ((triple3 ((triple3 ((triple5) -> (rule7 % int4))) -> (rule2 % int3))) -> (rule3 % int2))) -> (rule8 % int1))
Bob is nice.
("Bob" "is" "nice" "+")
int1
Bob is big.
("Bob" "is" "big" "+")
int2
Bob is blue.
("Bob" "is" "blue" "+")
int3
Bob is white.
("Bob" "is" "white" "+")
int4
Bob is red.
("Bob" "is" "red" "+")
triple5
Charlie is blue.
("Charlie" "is" "blue" "+")
triple6
Charlie is red.
("Charlie" "is" "red" "+")
triple7
Erin is big.
("Erin" "is" "big" "+")
triple8
((triple10 triple9) -> (rule3 % int1))
Erin is big.
("Erin" "is" "big" "+")
int1
((triple10 ((triple10 triple13) -> (rule2 % int2))) -> (rule3 % int1))
Erin is big.
("Erin" "is" "big" "+")
int1
Erin is blue.
("Erin" "is" "blue" "+")
int2
((((triple12 triple10) -> (rule4 % int2)) triple13) -> (rule1 % int1))
Erin is big.
("Erin" "is" "big" "+")
int1
Erin is red.
("Erin" "is" "red" "+")
int2
((((((triple11 triple13) -> (rule5 % int3)) triple10) -> (rule4 % int2)) triple13) -> (rule1 % int1))
Erin is big.
("Erin" "is" "big" "+")
int1
Erin is red.
("Erin" "is" "red" "+")
int2
Erin is round.
("Erin" "is" "round" "+")
int3
((((triple12 triple10) -> (rule4 % int3)) ((((triple12 triple10) -> (rule4 % int3))) -> (rule7 % int2))) -> (rule1 % int1))
Erin is big.
("Erin" "is" "big" "+")
int1
Erin is white.
("Erin" "is" "white" "+")
int2
Erin is red.
("Erin" "is" "red" "+")
int3
((((((triple11 triple13) -> (rule5 % int4)) triple10) -> (rule4 % int3)) ((((triple12 triple10) -> (rule4 % int3))) -> (rule7 % int2))) -> (rule1 % int1))
Erin is big.
("Erin" "is" "big" "+")
int1
Erin is white.
("Erin" "is" "white" "+")
int2
Erin is red.
("Erin" "is" "red" "+")
int3
Erin is round.
("Erin" "is" "round" "+")
int4
((triple10 ((triple10 ((((triple12 triple10) -> (rule4 % int4))) -> (rule7 % int3))) -> (rule2 % int2))) -> (rule3 % int1))
Erin is big.
("Erin" "is" "big" "+")
int1
Erin is blue.
("Erin" "is" "blue" "+")
int2
Erin is white.
("Erin" "is" "white" "+")
int3
Erin is red.
("Erin" "is" "red" "+")
int4
Erin is blue.
("Erin" "is" "blue" "+")
triple9
((triple10 triple13) -> (rule2 % int1))
Erin is blue.
("Erin" "is" "blue" "+")
int1
((triple10 ((((triple12 triple10) -> (rule4 % int3))) -> (rule7 % int2))) -> (rule2 % int1))
Erin is blue.
("Erin" "is" "blue" "+")
int1
Erin is white.
("Erin" "is" "white" "+")
int2
Erin is red.
("Erin" "is" "red" "+")
int3
Erin is green.
("Erin" "is" "green" "+")
triple10
Erin is nice.
("Erin" "is" "nice" "+")
triple11
((triple10 triple8) -> (rule8 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
((triple10 ((triple10 triple9) -> (rule3 % int2))) -> (rule8 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
Erin is big.
("Erin" "is" "big" "+")
int2
((triple10 ((triple12 triple10) -> (rule4 % int2))) -> (rule6 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
Erin is red.
("Erin" "is" "red" "+")
int2
((triple10 ((triple10 ((triple10 triple13) -> (rule2 % int3))) -> (rule3 % int2))) -> (rule8 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
Erin is big.
("Erin" "is" "big" "+")
int2
Erin is blue.
("Erin" "is" "blue" "+")
int3
((triple10 ((((triple12 triple10) -> (rule4 % int3)) triple13) -> (rule1 % int2))) -> (rule8 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
Erin is big.
("Erin" "is" "big" "+")
int2
Erin is red.
("Erin" "is" "red" "+")
int3
((triple10 ((((triple12 triple10) -> (rule4 % int4)) ((((triple12 triple10) -> (rule4 % int4))) -> (rule7 % int3))) -> (rule1 % int2))) -> (rule8 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
Erin is big.
("Erin" "is" "big" "+")
int2
Erin is white.
("Erin" "is" "white" "+")
int3
Erin is red.
("Erin" "is" "red" "+")
int4
((triple10 ((triple10 ((triple10 ((((triple12 triple10) -> (rule4 % int5))) -> (rule7 % int4))) -> (rule2 % int3))) -> (rule3 % int2))) -> (rule8 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
Erin is big.
("Erin" "is" "big" "+")
int2
Erin is blue.
("Erin" "is" "blue" "+")
int3
Erin is white.
("Erin" "is" "white" "+")
int4
Erin is red.
("Erin" "is" "red" "+")
int5
Erin is round.
("Erin" "is" "round" "+")
triple12
((triple11 triple13) -> (rule5 % int1))
Erin is round.
("Erin" "is" "round" "+")
int1
((((triple10 triple8) -> (rule8 % int2)) triple13) -> (rule5 % int1))
Erin is round.
("Erin" "is" "round" "+")
int1
Erin is nice.
("Erin" "is" "nice" "+")
int2
((((triple10 ((triple10 triple9) -> (rule3 % int3))) -> (rule8 % int2)) triple13) -> (rule5 % int1))
Erin is round.
("Erin" "is" "round" "+")
int1
Erin is nice.
("Erin" "is" "nice" "+")
int2
Erin is big.
("Erin" "is" "big" "+")
int3
((((triple10 ((triple10 ((triple10 triple13) -> (rule2 % int4))) -> (rule3 % int3))) -> (rule8 % int2)) triple13) -> (rule5 % int1))
Erin is round.
("Erin" "is" "round" "+")
int1
Erin is nice.
("Erin" "is" "nice" "+")
int2
Erin is big.
("Erin" "is" "big" "+")
int3
Erin is blue.
("Erin" "is" "blue" "+")
int4
Erin is white.
("Erin" "is" "white" "+")
triple13
((((triple12 triple10) -> (rule4 % int2))) -> (rule7 % int1))
Erin is white.
("Erin" "is" "white" "+")
int1
Erin is red.
("Erin" "is" "red" "+")
int2
Gary is blue.
("Gary" "is" "blue" "+")
triple14
Gary is green.
("Gary" "is" "green" "+")
triple15
Bob is white.
("Bob" "is" "white" "+")
((triple5) -> (rule7 % int1))
Bob is white.
("Bob" "is" "white" "+")
int1
Charlie is white.
("Charlie" "is" "white" "+")
((triple7) -> (rule7 % int1))
Charlie is white.
("Charlie" "is" "white" "+")
int1
Erin is red.
("Erin" "is" "red" "+")
((triple12 triple10) -> (rule4 % int1))
Erin is red.
("Erin" "is" "red" "+")
int1
((((triple11 triple13) -> (rule5 % int2)) triple10) -> (rule4 % int1))
Erin is red.
("Erin" "is" "red" "+")
int1
Erin is round.
("Erin" "is" "round" "+")
int2
((((((triple10 triple8) -> (rule8 % int3)) triple13) -> (rule5 % int2)) triple10) -> (rule4 % int1))
Erin is red.
("Erin" "is" "red" "+")
int1
Erin is round.
("Erin" "is" "round" "+")
int2
Erin is nice.
("Erin" "is" "nice" "+")
int3
((((((triple10 ((triple10 triple9) -> (rule3 % int4))) -> (rule8 % int3)) triple13) -> (rule5 % int2)) triple10) -> (rule4 % int1))
Erin is red.
("Erin" "is" "red" "+")
int1
Erin is round.
("Erin" "is" "round" "+")
int2
Erin is nice.
("Erin" "is" "nice" "+")
int3
Erin is big.
("Erin" "is" "big" "+")
int4
((((((triple10 ((triple10 ((triple10 triple13) -> (rule2 % int5))) -> (rule3 % int4))) -> (rule8 % int3)) triple13) -> (rule5 % int2)) triple10) -> (rule4 % int1))
Erin is red.
("Erin" "is" "red" "+")
int1
Erin is round.
("Erin" "is" "round" "+")
int2
Erin is nice.
("Erin" "is" "nice" "+")
int3
Erin is big.
("Erin" "is" "big" "+")
int4
Erin is blue.
("Erin" "is" "blue" "+")
int5
Gary is big.
("Gary" "is" "big" "+")
((triple15 triple14) -> (rule3 % int1))
Gary is big.
("Gary" "is" "big" "+")
int1
Bob is round.
("Bob" "is" "round" "+")
((triple4 ((triple5) -> (rule7 % int2))) -> (rule5 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
Bob is white.
("Bob" "is" "white" "+")
int2
((((triple3 triple1) -> (rule8 % int3)) ((triple5) -> (rule7 % int2))) -> (rule5 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
Bob is white.
("Bob" "is" "white" "+")
int2
Bob is nice.
("Bob" "is" "nice" "+")
int3
((((triple3 triple5) -> (rule6 % int3)) ((triple5) -> (rule7 % int2))) -> (rule5 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
Bob is white.
("Bob" "is" "white" "+")
int2
Bob is nice.
("Bob" "is" "nice" "+")
int3
((((triple3 ((triple3 triple2) -> (rule3 % int4))) -> (rule8 % int3)) ((triple5) -> (rule7 % int2))) -> (rule5 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
Bob is white.
("Bob" "is" "white" "+")
int2
Bob is nice.
("Bob" "is" "nice" "+")
int3
Bob is big.
("Bob" "is" "big" "+")
int4
((((triple3 ((triple5 ((triple5) -> (rule7 % int4))) -> (rule1 % int3))) -> (rule8 % int2)) ((triple5) -> (rule7 % int4))) -> (rule5 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
Bob is nice.
("Bob" "is" "nice" "+")
int2
Bob is big.
("Bob" "is" "big" "+")
int3
Bob is white.
("Bob" "is" "white" "+")
int4
((((triple3 ((triple3 ((triple3 ((triple5) -> (rule7 % int5))) -> (rule2 % int4))) -> (rule3 % int3))) -> (rule8 % int2)) ((triple5) -> (rule7 % int5))) -> (rule5 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
Bob is nice.
("Bob" "is" "nice" "+")
int2
Bob is big.
("Bob" "is" "big" "+")
int3
Bob is blue.
("Bob" "is" "blue" "+")
int4
Bob is white.
("Bob" "is" "white" "+")
int5
Charlie is big.
("Charlie" "is" "big" "+")
((triple7 ((triple7) -> (rule7 % int2))) -> (rule1 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Charlie is white.
("Charlie" "is" "white" "+")
int2
Gary is nice.
("Gary" "is" "nice" "+")
((triple15 ((triple15 triple14) -> (rule3 % int2))) -> (rule8 % int1))
Gary is nice.
("Gary" "is" "nice" "+")
int1
Gary is big.
("Gary" "is" "big" "+")
int2