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