Bob is big. Bob is blue. Bob is cold. Bob is smart. Bob is white. Charlie is cold. Charlie is furry. Charlie is smart. Charlie is white. Erin is big. Erin is blue. Erin is cold. Erin is green. Erin is smart. Erin is white. All cold people are green. All green people are blue. All blue, cold people are big.
Bob is big.
("Bob" "is" "big" "+")
Bob is blue.
("Bob" "is" "blue" "+")
Bob is cold.
("Bob" "is" "cold" "+")
Bob is smart.
("Bob" "is" "smart" "+")
Bob is white.
("Bob" "is" "white" "+")
Charlie is cold.
("Charlie" "is" "cold" "+")
Charlie is furry.
("Charlie" "is" "furry" "+")
Charlie is smart.
("Charlie" "is" "smart" "+")
Charlie is white.
("Charlie" "is" "white" "+")
Erin is big.
("Erin" "is" "big" "+")
Erin is blue.
("Erin" "is" "blue" "+")
Erin is cold.
("Erin" "is" "cold" "+")
Erin is green.
("Erin" "is" "green" "+")
Erin is smart.
("Erin" "is" "smart" "+")
Erin is white.
("Erin" "is" "white" "+")
All cold people are green.
((("someone" "is" "cold" "+")) -> ("someone" "is" "green" "+"))
All green people are blue.
((("someone" "is" "green" "+")) -> ("someone" "is" "blue" "+"))
All blue, cold people are big.
((("someone" "is" "blue" "+") ("someone" "is" "cold" "+")) -> ("someone" "is" "big" "+"))
Bob is smart.
True
1
proof
[(triple4)]
("Bob" "is" "smart" "+")
triple4
Bob is not white.
False
1
inv-proof
[(triple5)]
("Bob" "is" "white" "-")
triple5
Charlie is green.
True
2
proof
[(((triple6) -> rule1))]
("Charlie" "is" "green" "+")
((triple6) -> (rule1 % int1))
Charlie is green.
("Charlie" "is" "green" "+")
int1
Charlie is not green.
False
2
inv-proof
[(((triple6) -> rule1))]
("Charlie" "is" "green" "-")
((triple6) -> (rule1 % int1))
Charlie is green.
("Charlie" "is" "green" "+")
int1
Charlie is blue.
True
3
proof
[(((((triple6) -> rule1)) -> rule2))]
("Charlie" "is" "blue" "+")
((((triple6) -> (rule1 % int2))) -> (rule2 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Charlie is green.
("Charlie" "is" "green" "+")
int2
Charlie is not blue.
False
3
inv-proof
[(((((triple6) -> rule1)) -> rule2))]
("Charlie" "is" "blue" "-")
((((triple6) -> (rule1 % int2))) -> (rule2 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Charlie is green.
("Charlie" "is" "green" "+")
int2
Charlie is big.
True
5
proof
[(((((((triple6) -> rule1)) -> rule2) triple6) -> rule3))]
("Charlie" "is" "big" "+")
((((((triple6) -> (rule1 % int3))) -> (rule2 % int2)) triple6) -> (rule3 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Charlie is blue.
("Charlie" "is" "blue" "+")
int2
Charlie is green.
("Charlie" "is" "green" "+")
int3
Charlie is not big.
False
5
inv-proof
[(((((((triple6) -> rule1)) -> rule2) triple6) -> rule3))]
("Charlie" "is" "big" "-")
((((((triple6) -> (rule1 % int3))) -> (rule2 % int2)) triple6) -> (rule3 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Charlie is blue.
("Charlie" "is" "blue" "+")
int2
Charlie is green.
("Charlie" "is" "green" "+")
int3
Erin is not furry.
Unknown
inv-random
[@0: Erin is furry.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "furry" "-")
Bob is furry.
Unknown
random
[@0: Bob is furry.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "furry" "+")
@0: Bob is big.[(triple1 OR ((triple2 triple3) -> rule3) OR ((((((triple3) -> rule1)) -> rule2) triple3) -> rule3))] Bob is blue.[(triple2 OR ((((triple3) -> rule1)) -> rule2))] Bob is cold.[(triple3)] Bob is smart.[(triple4)] Bob is white.[(triple5)] Charlie is cold.[(triple6)] Charlie is furry.[(triple7)] Charlie is smart.[(triple8)] Charlie is white.[(triple9)] Erin is big.[(triple10 OR ((triple11 triple12) -> rule3) OR ((((triple13) -> rule2) triple12) -> rule3) OR ((((((triple12) -> rule1)) -> rule2) triple12) -> rule3))] Erin is blue.[(triple11 OR ((triple13) -> rule2) OR ((((triple12) -> rule1)) -> rule2))] Erin is cold.[(triple12)] Erin is green.[(triple13 OR ((triple12) -> rule1))] Erin is smart.[(triple14)] Erin is white.[(triple15)] @1: Bob is green.[(((triple3) -> rule1))] Charlie is green.[(((triple6) -> rule1))] @2: Charlie is blue.[(((((triple6) -> rule1)) -> rule2))] @3: Charlie is big.[(((((((triple6) -> rule1)) -> rule2) triple6) -> rule3))]
Bob is big.
("Bob" "is" "big" "+")
triple1
((triple2 triple3) -> (rule3 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
((((((triple3) -> (rule1 % int3))) -> (rule2 % int2)) triple3) -> (rule3 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
Bob is blue.
("Bob" "is" "blue" "+")
int2
Bob is green.
("Bob" "is" "green" "+")
int3
Bob is blue.
("Bob" "is" "blue" "+")
triple2
((((triple3) -> (rule1 % int2))) -> (rule2 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
Bob is green.
("Bob" "is" "green" "+")
int2
Bob is cold.
("Bob" "is" "cold" "+")
triple3
Bob is smart.
("Bob" "is" "smart" "+")
triple4
Bob is white.
("Bob" "is" "white" "+")
triple5
Charlie is cold.
("Charlie" "is" "cold" "+")
triple6
Charlie is furry.
("Charlie" "is" "furry" "+")
triple7
Charlie is smart.
("Charlie" "is" "smart" "+")
triple8
Charlie is white.
("Charlie" "is" "white" "+")
triple9
Erin is big.
("Erin" "is" "big" "+")
triple10
((triple11 triple12) -> (rule3 % int1))
Erin is big.
("Erin" "is" "big" "+")
int1
((((triple13) -> (rule2 % int2)) triple12) -> (rule3 % int1))
Erin is big.
("Erin" "is" "big" "+")
int1
Erin is blue.
("Erin" "is" "blue" "+")
int2
((((((triple12) -> (rule1 % int3))) -> (rule2 % int2)) triple12) -> (rule3 % int1))
Erin is big.
("Erin" "is" "big" "+")
int1
Erin is blue.
("Erin" "is" "blue" "+")
int2
Erin is green.
("Erin" "is" "green" "+")
int3
Erin is blue.
("Erin" "is" "blue" "+")
triple11
((triple13) -> (rule2 % int1))
Erin is blue.
("Erin" "is" "blue" "+")
int1
((((triple12) -> (rule1 % int2))) -> (rule2 % int1))
Erin is blue.
("Erin" "is" "blue" "+")
int1
Erin is green.
("Erin" "is" "green" "+")
int2
Erin is cold.
("Erin" "is" "cold" "+")
triple12
Erin is green.
("Erin" "is" "green" "+")
triple13
((triple12) -> (rule1 % int1))
Erin is green.
("Erin" "is" "green" "+")
int1
Erin is smart.
("Erin" "is" "smart" "+")
triple14
Erin is white.
("Erin" "is" "white" "+")
triple15
Bob is green.
("Bob" "is" "green" "+")
((triple3) -> (rule1 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Charlie is green.
("Charlie" "is" "green" "+")
((triple6) -> (rule1 % int1))
Charlie is green.
("Charlie" "is" "green" "+")
int1
Charlie is blue.
("Charlie" "is" "blue" "+")
((((triple6) -> (rule1 % int2))) -> (rule2 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Charlie is green.
("Charlie" "is" "green" "+")
int2
Charlie is big.
("Charlie" "is" "big" "+")
((((((triple6) -> (rule1 % int3))) -> (rule2 % int2)) triple6) -> (rule3 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Charlie is blue.
("Charlie" "is" "blue" "+")
int2
Charlie is green.
("Charlie" "is" "green" "+")
int3