Bob is furry. Bob is green. Bob is not red. Dave is cold. Gary is red. Harry is blue. Harry is rough. If something is cold then it is not smart. All furry, green things are blue. If something is furry then it is green. Smart, rough things are green. If something is cold and not smart then it is furry. Green, smart things are red. If something is green and blue then it is not red.
Bob is furry.
("Bob" "is" "furry" "+")
Bob is green.
("Bob" "is" "green" "+")
Bob is not red.
("Bob" "is" "red" "-")
Dave is cold.
("Dave" "is" "cold" "+")
Gary is red.
("Gary" "is" "red" "+")
Harry is blue.
("Harry" "is" "blue" "+")
Harry is rough.
("Harry" "is" "rough" "+")
If something is cold then it is not smart.
((("something" "is" "cold" "+")) -> ("something" "is" "smart" "-"))
All furry, green things are blue.
((("something" "is" "furry" "+") ("something" "is" "green" "+")) -> ("something" "is" "blue" "+"))
If something is furry then it is green.
((("something" "is" "furry" "+")) -> ("something" "is" "green" "+"))
Smart, rough things are green.
((("something" "is" "smart" "+") ("something" "is" "rough" "+")) -> ("something" "is" "green" "+"))
If something is cold and not smart then it is furry.
((("something" "is" "cold" "+") ("something" "is" "smart" "~")) -> ("something" "is" "furry" "+"))
Green, smart things are red.
((("something" "is" "green" "+") ("something" "is" "smart" "+")) -> ("something" "is" "red" "+"))
If something is green and blue then it is not red.
((("something" "is" "green" "+") ("something" "is" "blue" "+")) -> ("something" "is" "red" "-"))
Dave is cold.
True
1
proof
[(triple4)]
("Dave" "is" "cold" "+")
triple4
Bob is not furry.
False
1
inv-proof
[(triple1)]
("Bob" "is" "furry" "-")
triple1
Bob is blue.
True
3
proof
[(((triple1 triple2) -> rule2) OR ((triple1 ((triple1) -> rule3)) -> rule2))]
("Bob" "is" "blue" "+")
((triple1 triple2) -> (rule2 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
((triple1 ((triple1) -> (rule3 % int2))) -> (rule2 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
Bob is green.
("Bob" "is" "green" "+")
int2
Bob is not blue.
False
3
inv-proof
[(((triple1 triple2) -> rule2) OR ((triple1 ((triple1) -> rule3)) -> rule2))]
("Bob" "is" "blue" "-")
((triple1 triple2) -> (rule2 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
((triple1 ((triple1) -> (rule3 % int2))) -> (rule2 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
Bob is green.
("Bob" "is" "green" "+")
int2
Dave is furry.
True
4
proof
[(((triple4 ((triple4) -> rule1)) -> rule5))]
("Dave" "is" "furry" "+")
((triple4 ((triple4) -> (rule1 % int2))) -> (rule5 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Dave is not smart.
("Dave" "is" "smart" "-")
int2
Dave is not furry.
False
4
inv-proof
[(((triple4 ((triple4) -> rule1)) -> rule5))]
("Dave" "is" "furry" "-")
((triple4 ((triple4) -> (rule1 % int2))) -> (rule5 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Dave is not smart.
("Dave" "is" "smart" "-")
int2
Dave is green.
True
5
proof
[(((((triple4 ((triple4) -> rule1)) -> rule5)) -> rule3))]
("Dave" "is" "green" "+")
((((triple4 ((triple4) -> (rule1 % int3))) -> (rule5 % int2))) -> (rule3 % int1))
Dave is green.
("Dave" "is" "green" "+")
int1
Dave is furry.
("Dave" "is" "furry" "+")
int2
Dave is not smart.
("Dave" "is" "smart" "-")
int3
Dave is not green.
False
5
inv-proof
[(((((triple4 ((triple4) -> rule1)) -> rule5)) -> rule3))]
("Dave" "is" "green" "-")
((((triple4 ((triple4) -> (rule1 % int3))) -> (rule5 % int2))) -> (rule3 % int1))
Dave is green.
("Dave" "is" "green" "+")
int1
Dave is furry.
("Dave" "is" "furry" "+")
int2
Dave is not smart.
("Dave" "is" "smart" "-")
int3
Dave is blue.
True
10
proof
[(((((triple4 ((triple4) -> rule1)) -> rule5) ((((triple4 ((triple4) -> rule1)) -> rule5)) -> rule3)) -> rule2))]
("Dave" "is" "blue" "+")
((((triple4 ((triple4) -> (rule1 % int4))) -> (rule5 % int3)) ((((triple4 ((triple4) -> (rule1 % int4))) -> (rule5 % int3))) -> (rule3 % int2))) -> (rule2 % int1))
Dave is blue.
("Dave" "is" "blue" "+")
int1
Dave is green.
("Dave" "is" "green" "+")
int2
Dave is furry.
("Dave" "is" "furry" "+")
int3
Dave is not smart.
("Dave" "is" "smart" "-")
int4
Dave is not blue.
False
10
inv-proof
[(((((triple4 ((triple4) -> rule1)) -> rule5) ((((triple4 ((triple4) -> rule1)) -> rule5)) -> rule3)) -> rule2))]
("Dave" "is" "blue" "-")
((((triple4 ((triple4) -> (rule1 % int4))) -> (rule5 % int3)) ((((triple4 ((triple4) -> (rule1 % int4))) -> (rule5 % int3))) -> (rule3 % int2))) -> (rule2 % int1))
Dave is blue.
("Dave" "is" "blue" "+")
int1
Dave is green.
("Dave" "is" "green" "+")
int2
Dave is furry.
("Dave" "is" "furry" "+")
int3
Dave is not smart.
("Dave" "is" "smart" "-")
int4
Dave is not red.
True
16
proof
[(((((((triple4 ((triple4) -> rule1)) -> rule5)) -> rule3) ((((triple4 ((triple4) -> rule1)) -> rule5) ((((triple4 ((triple4) -> rule1)) -> rule5)) -> rule3)) -> rule2)) -> rule7))]
("Dave" "is" "red" "-")
((((((triple4 ((triple4) -> (rule1 % int5))) -> (rule5 % int4))) -> (rule3 % int3)) ((((triple4 ((triple4) -> (rule1 % int5))) -> (rule5 % int4)) ((((triple4 ((triple4) -> (rule1 % int5))) -> (rule5 % int4))) -> (rule3 % int3))) -> (rule2 % int2))) -> (rule7 % int1))
Dave is not red.
("Dave" "is" "red" "-")
int1
Dave is blue.
("Dave" "is" "blue" "+")
int2
Dave is green.
("Dave" "is" "green" "+")
int3
Dave is furry.
("Dave" "is" "furry" "+")
int4
Dave is not smart.
("Dave" "is" "smart" "-")
int5
Dave is red.
False
16
inv-proof
[(((((((triple4 ((triple4) -> rule1)) -> rule5)) -> rule3) ((((triple4 ((triple4) -> rule1)) -> rule5) ((((triple4 ((triple4) -> rule1)) -> rule5)) -> rule3)) -> rule2)) -> rule7))]
("Dave" "is" "red" "+")
((((((triple4 ((triple4) -> (rule1 % int5))) -> (rule5 % int4))) -> (rule3 % int3)) ((((triple4 ((triple4) -> (rule1 % int5))) -> (rule5 % int4)) ((((triple4 ((triple4) -> (rule1 % int5))) -> (rule5 % int4))) -> (rule3 % int3))) -> (rule2 % int2))) -> (rule7 % int1))
Dave is not red.
("Dave" "is" "red" "-")
int1
Dave is blue.
("Dave" "is" "blue" "+")
int2
Dave is green.
("Dave" "is" "green" "+")
int3
Dave is furry.
("Dave" "is" "furry" "+")
int4
Dave is not smart.
("Dave" "is" "smart" "-")
int5
Gary is not green.
Unknown
inv-rconc
[@2: Gary is green.[CWA. Example of deepest failure = (rule3 <- rule5 <- FAIL)]]
("Gary" "is" "green" "-")
Gary is blue.
Unknown
rconc
[@2: Gary is blue.[CWA. Example of deepest failure = (rule2 <- rule5 <- FAIL)]]
("Gary" "is" "blue" "+")
Gary is not furry.
Unknown
inv-rconc
[@1: Gary is furry.[CWA. Example of deepest failure = (rule5 <- FAIL)]]
("Gary" "is" "furry" "-")
Harry is red.
Unknown
rconc
[@1: Harry is red.[CWA. Example of deepest failure = (rule6 <- FAIL)]]
("Harry" "is" "red" "+")
Harry is not furry.
Unknown
inv-rconc
[@1: Harry is furry.[CWA. Example of deepest failure = (rule5 <- FAIL)]]
("Harry" "is" "furry" "-")
Harry is green.
Unknown
rconc
[@2: Harry is green.[CWA. Example of deepest failure = (rule3 <- rule5 <- FAIL)]]
("Harry" "is" "green" "+")
Bob is not smart.
Unknown
inv-random
[@0: Bob is smart.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "smart" "-")
Gary is smart.
Unknown
random
[@0: Gary is smart.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "smart" "+")
Gary is not cold.
Unknown
inv-random
[@0: Gary is cold.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "cold" "-")
Harry is smart.
Unknown
random
[@0: Harry is smart.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "smart" "+")
Dave is not rough.
Unknown
inv-random
[@0: Dave is rough.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "rough" "-")
Gary is rough.
Unknown
random
[@0: Gary is rough.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "rough" "+")
@0: Bob is furry.[(triple1)] Bob is green.[(triple2 OR ((triple1) -> rule3))] Bob is not red.[(triple3 OR ((triple2 ((triple1 triple2) -> rule2)) -> rule7) OR ((((triple1) -> rule3) ((triple1 triple2) -> rule2)) -> rule7) OR ((triple2 ((triple1 ((triple1) -> rule3)) -> rule2)) -> rule7) OR ((((triple1) -> rule3) ((triple1 ((triple1) -> rule3)) -> rule2)) -> rule7))] Dave is cold.[(triple4)] Gary is red.[(triple5)] Harry is blue.[(triple6)] Harry is rough.[(triple7)] @1: Bob is blue.[(((triple1 triple2) -> rule2) OR ((triple1 ((triple1) -> rule3)) -> rule2))] Dave is not smart.[(((triple4) -> rule1))] @2: Dave is furry.[(((triple4 ((triple4) -> rule1)) -> rule5))] @3: Dave is green.[(((((triple4 ((triple4) -> rule1)) -> rule5)) -> rule3))] @4: Dave is blue.[(((((triple4 ((triple4) -> rule1)) -> rule5) ((((triple4 ((triple4) -> rule1)) -> rule5)) -> rule3)) -> rule2))] @5: Dave is not red.[(((((((triple4 ((triple4) -> rule1)) -> rule5)) -> rule3) ((((triple4 ((triple4) -> rule1)) -> rule5) ((((triple4 ((triple4) -> rule1)) -> rule5)) -> rule3)) -> rule2)) -> rule7))]
Bob is furry.
("Bob" "is" "furry" "+")
triple1
Bob is green.
("Bob" "is" "green" "+")
triple2
((triple1) -> (rule3 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Bob is not red.
("Bob" "is" "red" "-")
triple3
((triple2 ((triple1 triple2) -> (rule2 % int2))) -> (rule7 % int1))
Bob is not red.
("Bob" "is" "red" "-")
int1
Bob is blue.
("Bob" "is" "blue" "+")
int2
((((triple1) -> (rule3 % int3)) ((triple1 triple2) -> (rule2 % int2))) -> (rule7 % int1))
Bob is not red.
("Bob" "is" "red" "-")
int1
Bob is blue.
("Bob" "is" "blue" "+")
int2
Bob is green.
("Bob" "is" "green" "+")
int3
((triple2 ((triple1 ((triple1) -> (rule3 % int3))) -> (rule2 % int2))) -> (rule7 % int1))
Bob is not red.
("Bob" "is" "red" "-")
int1
Bob is blue.
("Bob" "is" "blue" "+")
int2
Bob is green.
("Bob" "is" "green" "+")
int3
((((triple1) -> (rule3 % int3)) ((triple1 ((triple1) -> (rule3 % int3))) -> (rule2 % int2))) -> (rule7 % int1))
Bob is not red.
("Bob" "is" "red" "-")
int1
Bob is blue.
("Bob" "is" "blue" "+")
int2
Bob is green.
("Bob" "is" "green" "+")
int3
Dave is cold.
("Dave" "is" "cold" "+")
triple4
Gary is red.
("Gary" "is" "red" "+")
triple5
Harry is blue.
("Harry" "is" "blue" "+")
triple6
Harry is rough.
("Harry" "is" "rough" "+")
triple7
Bob is blue.
("Bob" "is" "blue" "+")
((triple1 triple2) -> (rule2 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
((triple1 ((triple1) -> (rule3 % int2))) -> (rule2 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
Bob is green.
("Bob" "is" "green" "+")
int2
Dave is not smart.
("Dave" "is" "smart" "-")
((triple4) -> (rule1 % int1))
Dave is not smart.
("Dave" "is" "smart" "-")
int1
Dave is furry.
("Dave" "is" "furry" "+")
((triple4 ((triple4) -> (rule1 % int2))) -> (rule5 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Dave is not smart.
("Dave" "is" "smart" "-")
int2
Dave is green.
("Dave" "is" "green" "+")
((((triple4 ((triple4) -> (rule1 % int3))) -> (rule5 % int2))) -> (rule3 % int1))
Dave is green.
("Dave" "is" "green" "+")
int1
Dave is furry.
("Dave" "is" "furry" "+")
int2
Dave is not smart.
("Dave" "is" "smart" "-")
int3
Dave is blue.
("Dave" "is" "blue" "+")
((((triple4 ((triple4) -> (rule1 % int4))) -> (rule5 % int3)) ((((triple4 ((triple4) -> (rule1 % int4))) -> (rule5 % int3))) -> (rule3 % int2))) -> (rule2 % int1))
Dave is blue.
("Dave" "is" "blue" "+")
int1
Dave is green.
("Dave" "is" "green" "+")
int2
Dave is furry.
("Dave" "is" "furry" "+")
int3
Dave is not smart.
("Dave" "is" "smart" "-")
int4
Dave is not red.
("Dave" "is" "red" "-")
((((((triple4 ((triple4) -> (rule1 % int5))) -> (rule5 % int4))) -> (rule3 % int3)) ((((triple4 ((triple4) -> (rule1 % int5))) -> (rule5 % int4)) ((((triple4 ((triple4) -> (rule1 % int5))) -> (rule5 % int4))) -> (rule3 % int3))) -> (rule2 % int2))) -> (rule7 % int1))
Dave is not red.
("Dave" "is" "red" "-")
int1
Dave is blue.
("Dave" "is" "blue" "+")
int2
Dave is green.
("Dave" "is" "green" "+")
int3
Dave is furry.
("Dave" "is" "furry" "+")
int4
Dave is not smart.
("Dave" "is" "smart" "-")
int5