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