Bob is not green. Dave is rough. Erin is furry. Harry is round. All rough, kind things are round. Rough things are round. All kind, rough things are not green. If something is round then it is not kind. All red things are kind. Round, furry things are not kind. If something is furry then it is quiet. Quiet things are red.
Bob is not green.
("Bob" "is" "green" "-")
Dave is rough.
("Dave" "is" "rough" "+")
Erin is furry.
("Erin" "is" "furry" "+")
Harry is round.
("Harry" "is" "round" "+")
All rough, kind things are round.
((("something" "is" "rough" "+") ("something" "is" "kind" "+")) -> ("something" "is" "round" "+"))
Rough things are round.
((("something" "is" "rough" "+")) -> ("something" "is" "round" "+"))
All kind, rough things are not green.
((("something" "is" "kind" "+") ("something" "is" "rough" "+")) -> ("something" "is" "green" "-"))
If something is round then it is not kind.
((("something" "is" "round" "+")) -> ("something" "is" "kind" "-"))
All red things are kind.
((("something" "is" "red" "+")) -> ("something" "is" "kind" "+"))
Round, furry things are not kind.
((("something" "is" "round" "+") ("something" "is" "furry" "+")) -> ("something" "is" "kind" "-"))
If something is furry then it is quiet.
((("something" "is" "furry" "+")) -> ("something" "is" "quiet" "+"))
Quiet things are red.
((("something" "is" "quiet" "+")) -> ("something" "is" "red" "+"))
Harry is round.
True
1
proof
[(triple4)]
("Harry" "is" "round" "+")
triple4
Erin is not furry.
False
1
inv-proof
[(triple3)]
("Erin" "is" "furry" "-")
triple3
Dave is round.
True
2
proof
[(((triple2) -> rule2))]
("Dave" "is" "round" "+")
((triple2) -> (rule2 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1
Erin is not quiet.
False
2
inv-proof
[(((triple3) -> rule7))]
("Erin" "is" "quiet" "-")
((triple3) -> (rule7 % int1))
Erin is quiet.
("Erin" "is" "quiet" "+")
int1
Erin is red.
True
3
proof
[(((((triple3) -> rule7)) -> rule8))]
("Erin" "is" "red" "+")
((((triple3) -> (rule7 % int2))) -> (rule8 % int1))
Erin is red.
("Erin" "is" "red" "+")
int1
Erin is quiet.
("Erin" "is" "quiet" "+")
int2
Dave is kind.
False
3
inv-proof
[(((((triple2) -> rule2)) -> rule4))]
("Dave" "is" "kind" "+")
((((triple2) -> (rule2 % int2))) -> (rule4 % int1))
Dave is not kind.
("Dave" "is" "kind" "-")
int1
Dave is round.
("Dave" "is" "round" "+")
int2
Harry is not red.
Unknown
inv-rconc
[@2: Harry is red.[CWA. Example of deepest failure = (rule8 <- rule7 <- FAIL)]]
("Harry" "is" "red" "-")
Dave is quiet.
Unknown
rconc
[@1: Dave is quiet.[CWA. Example of deepest failure = (rule7 <- FAIL)]]
("Dave" "is" "quiet" "+")
Erin is not round.
Unknown
inv-rconc
[@1: Erin is round.[CWA. Example of deepest failure = (rule1 <- FAIL)]]
("Erin" "is" "round" "-")
Bob is rough.
Unknown
random
[@0: Bob is rough.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "rough" "+")
Erin is not green.
Unknown
inv-random
[@0: Erin is green.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "green" "-")
Dave is furry.
Unknown
random
[@0: Dave is furry.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "furry" "+")
@0: Bob is not green.[(triple1)] Dave is rough.[(triple2)] Erin is furry.[(triple3)] Harry is round.[(triple4)] @1: Dave is round.[(((triple2) -> rule2))] Erin is quiet.[(((triple3) -> rule7))] Harry is not kind.[(((triple4) -> rule4))] @2: Dave is not kind.[(((((triple2) -> rule2)) -> rule4))] Erin is red.[(((((triple3) -> rule7)) -> rule8))] @3: Erin is kind.[(((((((triple3) -> rule7)) -> rule8)) -> rule5))]
Bob is not green.
("Bob" "is" "green" "-")
triple1
Dave is rough.
("Dave" "is" "rough" "+")
triple2
Erin is furry.
("Erin" "is" "furry" "+")
triple3
Harry is round.
("Harry" "is" "round" "+")
triple4
Dave is round.
("Dave" "is" "round" "+")
((triple2) -> (rule2 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1
Erin is quiet.
("Erin" "is" "quiet" "+")
((triple3) -> (rule7 % int1))
Erin is quiet.
("Erin" "is" "quiet" "+")
int1
Harry is not kind.
("Harry" "is" "kind" "-")
((triple4) -> (rule4 % int1))
Harry is not kind.
("Harry" "is" "kind" "-")
int1
Dave is not kind.
("Dave" "is" "kind" "-")
((((triple2) -> (rule2 % int2))) -> (rule4 % int1))
Dave is not kind.
("Dave" "is" "kind" "-")
int1
Dave is round.
("Dave" "is" "round" "+")
int2
Erin is red.
("Erin" "is" "red" "+")
((((triple3) -> (rule7 % int2))) -> (rule8 % int1))
Erin is red.
("Erin" "is" "red" "+")
int1
Erin is quiet.
("Erin" "is" "quiet" "+")
int2
Erin is kind.
("Erin" "is" "kind" "+")
((((((triple3) -> (rule7 % int3))) -> (rule8 % int2))) -> (rule5 % int1))
Erin is kind.
("Erin" "is" "kind" "+")
int1
Erin is red.
("Erin" "is" "red" "+")
int2
Erin is quiet.
("Erin" "is" "quiet" "+")
int3