Anne is blue. Anne is green. Charlie is cold. Charlie is green. Charlie is smart. Dave is big. Dave is blue. Dave is green. Dave is white. Harry is blue. All blue things are smart. If something is furry and white then it is cold. Big things are blue. If Charlie is green then Charlie is white. All green things are white. All big things are white. If Dave is furry then Dave is blue. All big, smart things are green.
Anne is blue.
("Anne" "is" "blue" "+")
Anne is green.
("Anne" "is" "green" "+")
Charlie is cold.
("Charlie" "is" "cold" "+")
Charlie is green.
("Charlie" "is" "green" "+")
Charlie is smart.
("Charlie" "is" "smart" "+")
Dave is big.
("Dave" "is" "big" "+")
Dave is blue.
("Dave" "is" "blue" "+")
Dave is green.
("Dave" "is" "green" "+")
Dave is white.
("Dave" "is" "white" "+")
Harry is blue.
("Harry" "is" "blue" "+")
All blue things are smart.
((("something" "is" "blue" "+")) -> ("something" "is" "smart" "+"))
If something is furry and white then it is cold.
((("something" "is" "furry" "+") ("something" "is" "white" "+")) -> ("something" "is" "cold" "+"))
Big things are blue.
((("something" "is" "big" "+")) -> ("something" "is" "blue" "+"))
If Charlie is green then Charlie is white.
((("Charlie" "is" "green" "+")) -> ("Charlie" "is" "white" "+"))
All green things are white.
((("something" "is" "green" "+")) -> ("something" "is" "white" "+"))
All big things are white.
((("something" "is" "big" "+")) -> ("something" "is" "white" "+"))
If Dave is furry then Dave is blue.
((("Dave" "is" "furry" "+")) -> ("Dave" "is" "blue" "+"))
All big, smart things are green.
((("something" "is" "big" "+") ("something" "is" "smart" "+")) -> ("something" "is" "green" "+"))
Dave is white.
True
1
proof
[(triple9 OR ((triple6) -> rule6) OR ((triple8) -> rule5) OR ((((triple6 ((triple7) -> rule1)) -> rule8)) -> rule5) OR ((((triple6 ((((triple6) -> rule3)) -> rule1)) -> rule8)) -> rule5))]
("Dave" "is" "white" "+")
triple9
((triple6) -> (rule6 % int1))
Dave is white.
("Dave" "is" "white" "+")
int1
((triple8) -> (rule5 % int1))
Dave is white.
("Dave" "is" "white" "+")
int1
((((triple6 ((triple7) -> (rule1 % int3))) -> (rule8 % int2))) -> (rule5 % int1))
Dave is white.
("Dave" "is" "white" "+")
int1
Dave is green.
("Dave" "is" "green" "+")
int2
Dave is smart.
("Dave" "is" "smart" "+")
int3
((((triple6 ((((triple6) -> (rule3 % int4))) -> (rule1 % int3))) -> (rule8 % int2))) -> (rule5 % int1))
Dave is white.
("Dave" "is" "white" "+")
int1
Dave is green.
("Dave" "is" "green" "+")
int2
Dave is smart.
("Dave" "is" "smart" "+")
int3
Dave is blue.
("Dave" "is" "blue" "+")
int4
Dave is not big.
False
1
inv-proof
[(triple6)]
("Dave" "is" "big" "-")
triple6
Dave is smart.
True
2
proof
[(((triple7) -> rule1) OR ((((triple6) -> rule3)) -> rule1))]
("Dave" "is" "smart" "+")
((triple7) -> (rule1 % int1))
Dave is smart.
("Dave" "is" "smart" "+")
int1
((((triple6) -> (rule3 % int2))) -> (rule1 % int1))
Dave is smart.
("Dave" "is" "smart" "+")
int1
Dave is blue.
("Dave" "is" "blue" "+")
int2
Dave is not smart.
False
2
inv-proof
[(((triple7) -> rule1) OR ((((triple6) -> rule3)) -> rule1))]
("Dave" "is" "smart" "-")
((triple7) -> (rule1 % int1))
Dave is smart.
("Dave" "is" "smart" "+")
int1
((((triple6) -> (rule3 % int2))) -> (rule1 % int1))
Dave is smart.
("Dave" "is" "smart" "+")
int1
Dave is blue.
("Dave" "is" "blue" "+")
int2
Harry is not cold.
Unknown
inv-rconc
[@1: Harry is cold.[CWA. Example of deepest failure = (rule2 <- FAIL)]]
("Harry" "is" "cold" "-")
Harry is green.
Unknown
rconc
[@1: Harry is green.[CWA. Example of deepest failure = (rule8 <- FAIL)]]
("Harry" "is" "green" "+")
Dave is not furry.
Unknown
inv-random
[@0: Dave is furry.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "furry" "-")
Harry is furry.
Unknown
random
[@0: Harry is furry.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "furry" "+")
@0: Anne is blue.[(triple1)] Anne is green.[(triple2)] Charlie is cold.[(triple3)] Charlie is green.[(triple4)] Charlie is smart.[(triple5)] Dave is big.[(triple6)] Dave is blue.[(triple7 OR ((triple6) -> rule3))] Dave is green.[(triple8 OR ((triple6 ((triple7) -> rule1)) -> rule8) OR ((triple6 ((((triple6) -> rule3)) -> rule1)) -> rule8))] Dave is white.[(triple9 OR ((triple6) -> rule6) OR ((triple8) -> rule5) OR ((((triple6 ((triple7) -> rule1)) -> rule8)) -> rule5) OR ((((triple6 ((((triple6) -> rule3)) -> rule1)) -> rule8)) -> rule5))] Harry is blue.[(triple10)] @1: Anne is smart.[(((triple1) -> rule1))] Anne is white.[(((triple2) -> rule5))] Charlie is white.[(((triple4) -> rule4) OR ((triple4) -> rule5))] Dave is smart.[(((triple7) -> rule1) OR ((((triple6) -> rule3)) -> rule1))] Harry is smart.[(((triple10) -> rule1))]
Anne is blue.
("Anne" "is" "blue" "+")
triple1
Anne is green.
("Anne" "is" "green" "+")
triple2
Charlie is cold.
("Charlie" "is" "cold" "+")
triple3
Charlie is green.
("Charlie" "is" "green" "+")
triple4
Charlie is smart.
("Charlie" "is" "smart" "+")
triple5
Dave is big.
("Dave" "is" "big" "+")
triple6
Dave is blue.
("Dave" "is" "blue" "+")
triple7
((triple6) -> (rule3 % int1))
Dave is blue.
("Dave" "is" "blue" "+")
int1
Dave is green.
("Dave" "is" "green" "+")
triple8
((triple6 ((triple7) -> (rule1 % int2))) -> (rule8 % int1))
Dave is green.
("Dave" "is" "green" "+")
int1
Dave is smart.
("Dave" "is" "smart" "+")
int2
((triple6 ((((triple6) -> (rule3 % int3))) -> (rule1 % int2))) -> (rule8 % int1))
Dave is green.
("Dave" "is" "green" "+")
int1
Dave is smart.
("Dave" "is" "smart" "+")
int2
Dave is blue.
("Dave" "is" "blue" "+")
int3
Dave is white.
("Dave" "is" "white" "+")
triple9
((triple6) -> (rule6 % int1))
Dave is white.
("Dave" "is" "white" "+")
int1
((triple8) -> (rule5 % int1))
Dave is white.
("Dave" "is" "white" "+")
int1
((((triple6 ((triple7) -> (rule1 % int3))) -> (rule8 % int2))) -> (rule5 % int1))
Dave is white.
("Dave" "is" "white" "+")
int1
Dave is green.
("Dave" "is" "green" "+")
int2
Dave is smart.
("Dave" "is" "smart" "+")
int3
((((triple6 ((((triple6) -> (rule3 % int4))) -> (rule1 % int3))) -> (rule8 % int2))) -> (rule5 % int1))
Dave is white.
("Dave" "is" "white" "+")
int1
Dave is green.
("Dave" "is" "green" "+")
int2
Dave is smart.
("Dave" "is" "smart" "+")
int3
Dave is blue.
("Dave" "is" "blue" "+")
int4
Harry is blue.
("Harry" "is" "blue" "+")
triple10
Anne is smart.
("Anne" "is" "smart" "+")
((triple1) -> (rule1 % int1))
Anne is smart.
("Anne" "is" "smart" "+")
int1
Anne is white.
("Anne" "is" "white" "+")
((triple2) -> (rule5 % int1))
Anne is white.
("Anne" "is" "white" "+")
int1
Charlie is white.
("Charlie" "is" "white" "+")
((triple4) -> (rule4 % int1))
Charlie is white.
("Charlie" "is" "white" "+")
int1
((triple4) -> (rule5 % int1))
Charlie is white.
("Charlie" "is" "white" "+")
int1
Dave is smart.
("Dave" "is" "smart" "+")
((triple7) -> (rule1 % int1))
Dave is smart.
("Dave" "is" "smart" "+")
int1
((((triple6) -> (rule3 % int2))) -> (rule1 % int1))
Dave is smart.
("Dave" "is" "smart" "+")
int1
Dave is blue.
("Dave" "is" "blue" "+")
int2
Harry is smart.
("Harry" "is" "smart" "+")
((triple10) -> (rule1 % int1))
Harry is smart.
("Harry" "is" "smart" "+")
int1