Bob is furry. Bob is red. Bob is smart. Charlie is big. Charlie is cold. Charlie is furry. Charlie is green. Charlie is red. Charlie is smart. Charlie is young. Gary is big. Gary is cold. Gary is furry. Gary is young. Harry is big. Harry is young. If Bob is big then Bob is not young. If something is green then it is furry. Red, cold things are furry. If something is green then it is furry. All green, furry things are big. If something is green and not red then it is young. If something is smart then it is green. Furry things are cold.
Bob is furry.
("Bob" "is" "furry" "+")
Bob is red.
("Bob" "is" "red" "+")
Bob is smart.
("Bob" "is" "smart" "+")
Charlie is big.
("Charlie" "is" "big" "+")
Charlie is cold.
("Charlie" "is" "cold" "+")
Charlie is furry.
("Charlie" "is" "furry" "+")
Charlie is green.
("Charlie" "is" "green" "+")
Charlie is red.
("Charlie" "is" "red" "+")
Charlie is smart.
("Charlie" "is" "smart" "+")
Charlie is young.
("Charlie" "is" "young" "+")
Gary is big.
("Gary" "is" "big" "+")
Gary is cold.
("Gary" "is" "cold" "+")
Gary is furry.
("Gary" "is" "furry" "+")
Gary is young.
("Gary" "is" "young" "+")
Harry is big.
("Harry" "is" "big" "+")
Harry is young.
("Harry" "is" "young" "+")
If Bob is big then Bob is not young.
((("Bob" "is" "big" "+")) -> ("Bob" "is" "young" "-"))
If something is green then it is furry.
((("something" "is" "green" "+")) -> ("something" "is" "furry" "+"))
Red, cold things are furry.
((("something" "is" "red" "+") ("something" "is" "cold" "+")) -> ("something" "is" "furry" "+"))
If something is green then it is furry.
((("something" "is" "green" "+")) -> ("something" "is" "furry" "+"))
All green, furry things are big.
((("something" "is" "green" "+") ("something" "is" "furry" "+")) -> ("something" "is" "big" "+"))
If something is green and not red then it is young.
((("something" "is" "green" "+") ("something" "is" "red" "~")) -> ("something" "is" "young" "+"))
If something is smart then it is green.
((("something" "is" "smart" "+")) -> ("something" "is" "green" "+"))
Furry things are cold.
((("something" "is" "furry" "+")) -> ("something" "is" "cold" "+"))
Gary is young.
True
1
proof
[(triple14)]
("Gary" "is" "young" "+")
triple14
Charlie is not red.
False
1
inv-proof
[(triple8)]
("Charlie" "is" "red" "-")
triple8
Bob is cold.
True
2
proof
[(((triple1) -> rule8) OR ((((((triple3) -> rule7)) -> rule2)) -> rule8) OR ((((((triple3) -> rule7)) -> rule4)) -> rule8))]
("Bob" "is" "cold" "+")
((triple1) -> (rule8 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
((((((triple3) -> (rule7 % int3))) -> (rule2 % int2))) -> (rule8 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
Bob is furry.
("Bob" "is" "furry" "+")
int2
Bob is green.
("Bob" "is" "green" "+")
int3
((((((triple3) -> (rule7 % int3))) -> (rule4 % int2))) -> (rule8 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
Bob is furry.
("Bob" "is" "furry" "+")
int2
Bob is green.
("Bob" "is" "green" "+")
int3
Bob is not cold.
False
2
inv-proof
[(((triple1) -> rule8) OR ((((((triple3) -> rule7)) -> rule2)) -> rule8) OR ((((((triple3) -> rule7)) -> rule4)) -> rule8))]
("Bob" "is" "cold" "-")
((triple1) -> (rule8 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
((((((triple3) -> (rule7 % int3))) -> (rule2 % int2))) -> (rule8 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
Bob is furry.
("Bob" "is" "furry" "+")
int2
Bob is green.
("Bob" "is" "green" "+")
int3
((((((triple3) -> (rule7 % int3))) -> (rule4 % int2))) -> (rule8 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
Bob is furry.
("Bob" "is" "furry" "+")
int2
Bob is green.
("Bob" "is" "green" "+")
int3
Bob is big.
True
4
proof
[(((((triple3) -> rule7) triple1) -> rule5) OR ((((triple3) -> rule7) ((((triple3) -> rule7)) -> rule2)) -> rule5) OR ((((triple3) -> rule7) ((((triple3) -> rule7)) -> rule4)) -> rule5))]
("Bob" "is" "big" "+")
((((triple3) -> (rule7 % int2)) triple1) -> (rule5 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
Bob is green.
("Bob" "is" "green" "+")
int2
((((triple3) -> (rule7 % int3)) ((((triple3) -> (rule7 % int3))) -> (rule2 % int2))) -> (rule5 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
Bob is furry.
("Bob" "is" "furry" "+")
int2
Bob is green.
("Bob" "is" "green" "+")
int3
((((triple3) -> (rule7 % int3)) ((((triple3) -> (rule7 % int3))) -> (rule4 % int2))) -> (rule5 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
Bob is furry.
("Bob" "is" "furry" "+")
int2
Bob is green.
("Bob" "is" "green" "+")
int3
Bob is not big.
False
4
inv-proof
[(((((triple3) -> rule7) triple1) -> rule5) OR ((((triple3) -> rule7) ((((triple3) -> rule7)) -> rule2)) -> rule5) OR ((((triple3) -> rule7) ((((triple3) -> rule7)) -> rule4)) -> rule5))]
("Bob" "is" "big" "-")
((((triple3) -> (rule7 % int2)) triple1) -> (rule5 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
Bob is green.
("Bob" "is" "green" "+")
int2
((((triple3) -> (rule7 % int3)) ((((triple3) -> (rule7 % int3))) -> (rule2 % int2))) -> (rule5 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
Bob is furry.
("Bob" "is" "furry" "+")
int2
Bob is green.
("Bob" "is" "green" "+")
int3
((((triple3) -> (rule7 % int3)) ((((triple3) -> (rule7 % int3))) -> (rule4 % int2))) -> (rule5 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
Bob is furry.
("Bob" "is" "furry" "+")
int2
Bob is green.
("Bob" "is" "green" "+")
int3
Bob is not young.
True
5
proof
[(((((((triple3) -> rule7) triple1) -> rule5)) -> rule1) OR ((((((triple3) -> rule7) ((((triple3) -> rule7)) -> rule2)) -> rule5)) -> rule1) OR ((((((triple3) -> rule7) ((((triple3) -> rule7)) -> rule4)) -> rule5)) -> rule1))]
("Bob" "is" "young" "-")
((((((triple3) -> (rule7 % int3)) triple1) -> (rule5 % int2))) -> (rule1 % int1))
Bob is not young.
("Bob" "is" "young" "-")
int1
Bob is big.
("Bob" "is" "big" "+")
int2
Bob is green.
("Bob" "is" "green" "+")
int3
((((((triple3) -> (rule7 % int4)) ((((triple3) -> (rule7 % int4))) -> (rule2 % int3))) -> (rule5 % int2))) -> (rule1 % int1))
Bob is not young.
("Bob" "is" "young" "-")
int1
Bob is big.
("Bob" "is" "big" "+")
int2
Bob is furry.
("Bob" "is" "furry" "+")
int3
Bob is green.
("Bob" "is" "green" "+")
int4
((((((triple3) -> (rule7 % int4)) ((((triple3) -> (rule7 % int4))) -> (rule4 % int3))) -> (rule5 % int2))) -> (rule1 % int1))
Bob is not young.
("Bob" "is" "young" "-")
int1
Bob is big.
("Bob" "is" "big" "+")
int2
Bob is furry.
("Bob" "is" "furry" "+")
int3
Bob is green.
("Bob" "is" "green" "+")
int4
Bob is young.
False
5
inv-proof
[(((((((triple3) -> rule7) triple1) -> rule5)) -> rule1) OR ((((((triple3) -> rule7) ((((triple3) -> rule7)) -> rule2)) -> rule5)) -> rule1) OR ((((((triple3) -> rule7) ((((triple3) -> rule7)) -> rule4)) -> rule5)) -> rule1))]
("Bob" "is" "young" "+")
((((((triple3) -> (rule7 % int3)) triple1) -> (rule5 % int2))) -> (rule1 % int1))
Bob is not young.
("Bob" "is" "young" "-")
int1
Bob is big.
("Bob" "is" "big" "+")
int2
Bob is green.
("Bob" "is" "green" "+")
int3
((((((triple3) -> (rule7 % int4)) ((((triple3) -> (rule7 % int4))) -> (rule2 % int3))) -> (rule5 % int2))) -> (rule1 % int1))
Bob is not young.
("Bob" "is" "young" "-")
int1
Bob is big.
("Bob" "is" "big" "+")
int2
Bob is furry.
("Bob" "is" "furry" "+")
int3
Bob is green.
("Bob" "is" "green" "+")
int4
((((((triple3) -> (rule7 % int4)) ((((triple3) -> (rule7 % int4))) -> (rule4 % int3))) -> (rule5 % int2))) -> (rule1 % int1))
Bob is not young.
("Bob" "is" "young" "-")
int1
Bob is big.
("Bob" "is" "big" "+")
int2
Bob is furry.
("Bob" "is" "furry" "+")
int3
Bob is green.
("Bob" "is" "green" "+")
int4
Harry is not cold.
Unknown
inv-rconc
[@3: Harry is cold.[CWA. Example of deepest failure = (rule8 <- rule2 <- rule7 <- FAIL)]]
("Harry" "is" "cold" "-")
Harry is furry.
Unknown
rconc
[@2: Harry is furry.[CWA. Example of deepest failure = (rule2 <- rule7 <- FAIL)]]
("Harry" "is" "furry" "+")
Gary is not green.
Unknown
inv-rconc
[@1: Gary is green.[CWA. Example of deepest failure = (rule7 <- FAIL)]]
("Gary" "is" "green" "-")
Harry is green.
Unknown
rconc
[@1: Harry is green.[CWA. Example of deepest failure = (rule7 <- FAIL)]]
("Harry" "is" "green" "+")
Gary is not red.
Unknown
inv-random
[@0: Gary is red.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "red" "-")
Gary is smart.
Unknown
random
[@0: Gary is smart.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "smart" "+")
Harry is not red.
Unknown
inv-random
[@0: Harry is red.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "red" "-")
Harry is smart.
Unknown
random
[@0: Harry is smart.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "smart" "+")
@0: Bob is furry.[(triple1 OR ((((triple3) -> rule7)) -> rule2) OR ((((triple3) -> rule7)) -> rule4))] Bob is red.[(triple2)] Bob is smart.[(triple3)] Charlie is big.[(triple4 OR ((triple7 triple6) -> rule5) OR ((triple7 ((triple7) -> rule2)) -> rule5) OR ((triple7 ((triple7) -> rule4)) -> rule5) OR ((triple7 ((triple8 triple5) -> rule3)) -> rule5) OR ((((triple9) -> rule7) triple6) -> rule5) OR ((((triple9) -> rule7) ((triple7) -> rule2)) -> rule5) OR ((((triple9) -> rule7) ((triple7) -> rule4)) -> rule5) OR ((((triple9) -> rule7) ((triple8 triple5) -> rule3)) -> rule5) OR ((triple7 ((((triple9) -> rule7)) -> rule2)) -> rule5) OR ((triple7 ((((triple9) -> rule7)) -> rule4)) -> rule5) OR ((((triple9) -> rule7) ((((triple9) -> rule7)) -> rule2)) -> rule5) OR ((((triple9) -> rule7) ((((triple9) -> rule7)) -> rule4)) -> rule5))] Charlie is cold.[(triple5 OR ((triple6) -> rule8) OR ((((triple7) -> rule2)) -> rule8) OR ((((triple7) -> rule4)) -> rule8) OR ((((((triple9) -> rule7)) -> rule2)) -> rule8) OR ((((((triple9) -> rule7)) -> rule4)) -> rule8))] Charlie is furry.[(triple6 OR ((triple7) -> rule2) OR ((triple7) -> rule4) OR ((triple8 triple5) -> rule3) OR ((((triple9) -> rule7)) -> rule2) OR ((((triple9) -> rule7)) -> rule4))] Charlie is green.[(triple7 OR ((triple9) -> rule7))] Charlie is red.[(triple8)] Charlie is smart.[(triple9)] Charlie is young.[(triple10)] Gary is big.[(triple11)] Gary is cold.[(triple12 OR ((triple13) -> rule8))] Gary is furry.[(triple13)] Gary is young.[(triple14)] Harry is big.[(triple15)] Harry is young.[(triple16)] @1: Bob is cold.[(((triple1) -> rule8) OR ((((((triple3) -> rule7)) -> rule2)) -> rule8) OR ((((((triple3) -> rule7)) -> rule4)) -> rule8))] Bob is green.[(((triple3) -> rule7))] @2: Bob is big.[(((((triple3) -> rule7) triple1) -> rule5) OR ((((triple3) -> rule7) ((((triple3) -> rule7)) -> rule2)) -> rule5) OR ((((triple3) -> rule7) ((((triple3) -> rule7)) -> rule4)) -> rule5))] @3: Bob is not young.[(((((((triple3) -> rule7) triple1) -> rule5)) -> rule1) OR ((((((triple3) -> rule7) ((((triple3) -> rule7)) -> rule2)) -> rule5)) -> rule1) OR ((((((triple3) -> rule7) ((((triple3) -> rule7)) -> rule4)) -> rule5)) -> rule1))]
Bob is furry.
("Bob" "is" "furry" "+")
triple1
((((triple3) -> (rule7 % int2))) -> (rule2 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Bob is green.
("Bob" "is" "green" "+")
int2
((((triple3) -> (rule7 % int2))) -> (rule4 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Bob is green.
("Bob" "is" "green" "+")
int2
Bob is red.
("Bob" "is" "red" "+")
triple2
Bob is smart.
("Bob" "is" "smart" "+")
triple3
Charlie is big.
("Charlie" "is" "big" "+")
triple4
((triple7 triple6) -> (rule5 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
((triple7 ((triple7) -> (rule2 % int2))) -> (rule5 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
int2
((triple7 ((triple7) -> (rule4 % int2))) -> (rule5 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
int2
((triple7 ((triple8 triple5) -> (rule3 % int2))) -> (rule5 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
int2
((((triple9) -> (rule7 % int2)) triple6) -> (rule5 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Charlie is green.
("Charlie" "is" "green" "+")
int2
((((triple9) -> (rule7 % int3)) ((triple7) -> (rule2 % int2))) -> (rule5 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
int2
Charlie is green.
("Charlie" "is" "green" "+")
int3
((((triple9) -> (rule7 % int3)) ((triple7) -> (rule4 % int2))) -> (rule5 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
int2
Charlie is green.
("Charlie" "is" "green" "+")
int3
((((triple9) -> (rule7 % int3)) ((triple8 triple5) -> (rule3 % int2))) -> (rule5 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
int2
Charlie is green.
("Charlie" "is" "green" "+")
int3
((triple7 ((((triple9) -> (rule7 % int3))) -> (rule2 % int2))) -> (rule5 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
int2
Charlie is green.
("Charlie" "is" "green" "+")
int3
((triple7 ((((triple9) -> (rule7 % int3))) -> (rule4 % int2))) -> (rule5 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
int2
Charlie is green.
("Charlie" "is" "green" "+")
int3
((((triple9) -> (rule7 % int3)) ((((triple9) -> (rule7 % int3))) -> (rule2 % int2))) -> (rule5 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
int2
Charlie is green.
("Charlie" "is" "green" "+")
int3
((((triple9) -> (rule7 % int3)) ((((triple9) -> (rule7 % int3))) -> (rule4 % int2))) -> (rule5 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
int2
Charlie is green.
("Charlie" "is" "green" "+")
int3
Charlie is cold.
("Charlie" "is" "cold" "+")
triple5
((triple6) -> (rule8 % int1))
Charlie is cold.
("Charlie" "is" "cold" "+")
int1
((((triple7) -> (rule2 % int2))) -> (rule8 % int1))
Charlie is cold.
("Charlie" "is" "cold" "+")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
int2
((((triple7) -> (rule4 % int2))) -> (rule8 % int1))
Charlie is cold.
("Charlie" "is" "cold" "+")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
int2
((((((triple9) -> (rule7 % int3))) -> (rule2 % int2))) -> (rule8 % int1))
Charlie is cold.
("Charlie" "is" "cold" "+")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
int2
Charlie is green.
("Charlie" "is" "green" "+")
int3
((((((triple9) -> (rule7 % int3))) -> (rule4 % int2))) -> (rule8 % int1))
Charlie is cold.
("Charlie" "is" "cold" "+")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
int2
Charlie is green.
("Charlie" "is" "green" "+")
int3
Charlie is furry.
("Charlie" "is" "furry" "+")
triple6
((triple7) -> (rule2 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
((triple7) -> (rule4 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
((triple8 triple5) -> (rule3 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
((((triple9) -> (rule7 % int2))) -> (rule2 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Charlie is green.
("Charlie" "is" "green" "+")
int2
((((triple9) -> (rule7 % int2))) -> (rule4 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Charlie is green.
("Charlie" "is" "green" "+")
int2
Charlie is green.
("Charlie" "is" "green" "+")
triple7
((triple9) -> (rule7 % int1))
Charlie is green.
("Charlie" "is" "green" "+")
int1
Charlie is red.
("Charlie" "is" "red" "+")
triple8
Charlie is smart.
("Charlie" "is" "smart" "+")
triple9
Charlie is young.
("Charlie" "is" "young" "+")
triple10
Gary is big.
("Gary" "is" "big" "+")
triple11
Gary is cold.
("Gary" "is" "cold" "+")
triple12
((triple13) -> (rule8 % int1))
Gary is cold.
("Gary" "is" "cold" "+")
int1
Gary is furry.
("Gary" "is" "furry" "+")
triple13
Gary is young.
("Gary" "is" "young" "+")
triple14
Harry is big.
("Harry" "is" "big" "+")
triple15
Harry is young.
("Harry" "is" "young" "+")
triple16
Bob is cold.
("Bob" "is" "cold" "+")
((triple1) -> (rule8 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
((((((triple3) -> (rule7 % int3))) -> (rule2 % int2))) -> (rule8 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
Bob is furry.
("Bob" "is" "furry" "+")
int2
Bob is green.
("Bob" "is" "green" "+")
int3
((((((triple3) -> (rule7 % int3))) -> (rule4 % int2))) -> (rule8 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
Bob is furry.
("Bob" "is" "furry" "+")
int2
Bob is green.
("Bob" "is" "green" "+")
int3
Bob is green.
("Bob" "is" "green" "+")
((triple3) -> (rule7 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Bob is big.
("Bob" "is" "big" "+")
((((triple3) -> (rule7 % int2)) triple1) -> (rule5 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
Bob is green.
("Bob" "is" "green" "+")
int2
((((triple3) -> (rule7 % int3)) ((((triple3) -> (rule7 % int3))) -> (rule2 % int2))) -> (rule5 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
Bob is furry.
("Bob" "is" "furry" "+")
int2
Bob is green.
("Bob" "is" "green" "+")
int3
((((triple3) -> (rule7 % int3)) ((((triple3) -> (rule7 % int3))) -> (rule4 % int2))) -> (rule5 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
Bob is furry.
("Bob" "is" "furry" "+")
int2
Bob is green.
("Bob" "is" "green" "+")
int3
Bob is not young.
("Bob" "is" "young" "-")
((((((triple3) -> (rule7 % int3)) triple1) -> (rule5 % int2))) -> (rule1 % int1))
Bob is not young.
("Bob" "is" "young" "-")
int1
Bob is big.
("Bob" "is" "big" "+")
int2
Bob is green.
("Bob" "is" "green" "+")
int3
((((((triple3) -> (rule7 % int4)) ((((triple3) -> (rule7 % int4))) -> (rule2 % int3))) -> (rule5 % int2))) -> (rule1 % int1))
Bob is not young.
("Bob" "is" "young" "-")
int1
Bob is big.
("Bob" "is" "big" "+")
int2
Bob is furry.
("Bob" "is" "furry" "+")
int3
Bob is green.
("Bob" "is" "green" "+")
int4
((((((triple3) -> (rule7 % int4)) ((((triple3) -> (rule7 % int4))) -> (rule4 % int3))) -> (rule5 % int2))) -> (rule1 % int1))
Bob is not young.
("Bob" "is" "young" "-")
int1
Bob is big.
("Bob" "is" "big" "+")
int2
Bob is furry.
("Bob" "is" "furry" "+")
int3
Bob is green.
("Bob" "is" "green" "+")
int4