Anne is kind. Bob is round. Bob is white. Dave is white. Gary is cold. Gary is green. Gary is not kind. If something is rough and cold then it is round. If something is cold and white then it is round. Kind things are green. If Gary is cold and Gary is round then Gary is green. Quiet, green things are cold. All white things are cold. Round things are kind. All round, green things are rough.
Anne is kind.
("Anne" "is" "kind" "+")
Bob is round.
("Bob" "is" "round" "+")
Bob is white.
("Bob" "is" "white" "+")
Dave is white.
("Dave" "is" "white" "+")
Gary is cold.
("Gary" "is" "cold" "+")
Gary is green.
("Gary" "is" "green" "+")
Gary is not kind.
("Gary" "is" "kind" "-")
If something is rough and cold then it is round.
((("something" "is" "rough" "+") ("something" "is" "cold" "+")) -> ("something" "is" "round" "+"))
If something is cold and white then it is round.
((("something" "is" "cold" "+") ("something" "is" "white" "+")) -> ("something" "is" "round" "+"))
Kind things are green.
((("something" "is" "kind" "+")) -> ("something" "is" "green" "+"))
If Gary is cold and Gary is round then Gary is green.
((("Gary" "is" "cold" "+") ("Gary" "is" "round" "+")) -> ("Gary" "is" "green" "+"))
Quiet, green things are cold.
((("something" "is" "quiet" "+") ("something" "is" "green" "+")) -> ("something" "is" "cold" "+"))
All white things are cold.
((("something" "is" "white" "+")) -> ("something" "is" "cold" "+"))
Round things are kind.
((("something" "is" "round" "+")) -> ("something" "is" "kind" "+"))
All round, green things are rough.
((("something" "is" "round" "+") ("something" "is" "green" "+")) -> ("something" "is" "rough" "+"))
Anne is kind.
True
1
proof
[(triple1)]
("Anne" "is" "kind" "+")
triple1
Bob is not round.
False
1
inv-proof
[(triple2 OR ((((triple3) -> rule6) triple3) -> rule2))]
("Bob" "is" "round" "-")
triple2
((((triple3) -> (rule6 % int2)) triple3) -> (rule2 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
Bob is cold.
("Bob" "is" "cold" "+")
int2
Bob is kind.
True
2
proof
[(((triple2) -> rule7) OR ((((((triple3) -> rule6) triple3) -> rule2)) -> rule7))]
("Bob" "is" "kind" "+")
((triple2) -> (rule7 % int1))
Bob is kind.
("Bob" "is" "kind" "+")
int1
((((((triple3) -> (rule6 % int3)) triple3) -> (rule2 % int2))) -> (rule7 % int1))
Bob is kind.
("Bob" "is" "kind" "+")
int1
Bob is round.
("Bob" "is" "round" "+")
int2
Bob is cold.
("Bob" "is" "cold" "+")
int3
Bob is not cold.
False
2
inv-proof
[(((triple3) -> rule6))]
("Bob" "is" "cold" "-")
((triple3) -> (rule6 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
Dave is round.
True
4
proof
[(((((triple4) -> rule6) triple4) -> rule2))]
("Dave" "is" "round" "+")
((((triple4) -> (rule6 % int2)) triple4) -> (rule2 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1
Dave is cold.
("Dave" "is" "cold" "+")
int2
Dave is not round.
False
4
inv-proof
[(((((triple4) -> rule6) triple4) -> rule2))]
("Dave" "is" "round" "-")
((((triple4) -> (rule6 % int2)) triple4) -> (rule2 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1
Dave is cold.
("Dave" "is" "cold" "+")
int2
Dave is kind.
True
5
proof
[(((((((triple4) -> rule6) triple4) -> rule2)) -> rule7))]
("Dave" "is" "kind" "+")
((((((triple4) -> (rule6 % int3)) triple4) -> (rule2 % int2))) -> (rule7 % int1))
Dave is kind.
("Dave" "is" "kind" "+")
int1
Dave is round.
("Dave" "is" "round" "+")
int2
Dave is cold.
("Dave" "is" "cold" "+")
int3
Dave is not kind.
False
5
inv-proof
[(((((((triple4) -> rule6) triple4) -> rule2)) -> rule7))]
("Dave" "is" "kind" "-")
((((((triple4) -> (rule6 % int3)) triple4) -> (rule2 % int2))) -> (rule7 % int1))
Dave is kind.
("Dave" "is" "kind" "+")
int1
Dave is round.
("Dave" "is" "round" "+")
int2
Dave is cold.
("Dave" "is" "cold" "+")
int3
Dave is green.
True
6
proof
[(((((((((triple4) -> rule6) triple4) -> rule2)) -> rule7)) -> rule3))]
("Dave" "is" "green" "+")
((((((((triple4) -> (rule6 % int4)) triple4) -> (rule2 % int3))) -> (rule7 % int2))) -> (rule3 % int1))
Dave is green.
("Dave" "is" "green" "+")
int1
Dave is kind.
("Dave" "is" "kind" "+")
int2
Dave is round.
("Dave" "is" "round" "+")
int3
Dave is cold.
("Dave" "is" "cold" "+")
int4
Dave is not green.
False
6
inv-proof
[(((((((((triple4) -> rule6) triple4) -> rule2)) -> rule7)) -> rule3))]
("Dave" "is" "green" "-")
((((((((triple4) -> (rule6 % int4)) triple4) -> (rule2 % int3))) -> (rule7 % int2))) -> (rule3 % int1))
Dave is green.
("Dave" "is" "green" "+")
int1
Dave is kind.
("Dave" "is" "kind" "+")
int2
Dave is round.
("Dave" "is" "round" "+")
int3
Dave is cold.
("Dave" "is" "cold" "+")
int4
Dave is rough.
True
11
proof
[(((((((triple4) -> rule6) triple4) -> rule2) ((((((((triple4) -> rule6) triple4) -> rule2)) -> rule7)) -> rule3)) -> rule8))]
("Dave" "is" "rough" "+")
((((((triple4) -> (rule6 % int5)) triple4) -> (rule2 % int4)) ((((((((triple4) -> (rule6 % int5)) triple4) -> (rule2 % int4))) -> (rule7 % int3))) -> (rule3 % int2))) -> (rule8 % int1))
Dave is rough.
("Dave" "is" "rough" "+")
int1
Dave is green.
("Dave" "is" "green" "+")
int2
Dave is kind.
("Dave" "is" "kind" "+")
int3
Dave is round.
("Dave" "is" "round" "+")
int4
Dave is cold.
("Dave" "is" "cold" "+")
int5
Dave is not rough.
False
11
inv-proof
[(((((((triple4) -> rule6) triple4) -> rule2) ((((((((triple4) -> rule6) triple4) -> rule2)) -> rule7)) -> rule3)) -> rule8))]
("Dave" "is" "rough" "-")
((((((triple4) -> (rule6 % int5)) triple4) -> (rule2 % int4)) ((((((((triple4) -> (rule6 % int5)) triple4) -> (rule2 % int4))) -> (rule7 % int3))) -> (rule3 % int2))) -> (rule8 % int1))
Dave is rough.
("Dave" "is" "rough" "+")
int1
Dave is green.
("Dave" "is" "green" "+")
int2
Dave is kind.
("Dave" "is" "kind" "+")
int3
Dave is round.
("Dave" "is" "round" "+")
int4
Dave is cold.
("Dave" "is" "cold" "+")
int5
Anne is not round.
Unknown
inv-rconc
[@2: Anne is round.[CWA. Example of deepest failure = (rule1 <- rule5 <- FAIL)]]
("Anne" "is" "round" "-")
Anne is cold.
Unknown
rconc
[@1: Anne is cold.[CWA. Example of deepest failure = (rule5 <- FAIL)]]
("Anne" "is" "cold" "+")
Gary is not rough.
Unknown
inv-rconc
[@2: Gary is rough.[CWA. Example of deepest failure = (rule8 <- rule1 <- FAIL)]]
("Gary" "is" "rough" "-")
Gary is round.
Unknown
rconc
[@3: Gary is round.[CWA. Example of deepest failure = (rule1 <- rule8 <- rule2 <- FAIL)]]
("Gary" "is" "round" "+")
Anne is not rough.
Unknown
inv-rconc
[@2: Anne is rough.[CWA. Example of deepest failure = (rule8 <- rule1 <- FAIL)]]
("Anne" "is" "rough" "-")
Anne is white.
Unknown
random
[@0: Anne is white.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "white" "+")
Gary is not white.
Unknown
inv-random
[@0: Gary is white.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "white" "-")
Bob is quiet.
Unknown
random
[@0: Bob is quiet.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "quiet" "+")
Anne is not quiet.
Unknown
inv-random
[@0: Anne is quiet.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "quiet" "-")
Gary is quiet.
Unknown
random
[@0: Gary is quiet.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "quiet" "+")
@0: Anne is kind.[(triple1)] Bob is round.[(triple2 OR ((((triple3) -> rule6) triple3) -> rule2))] Bob is white.[(triple3)] Dave is white.[(triple4)] Gary is cold.[(triple5)] Gary is green.[(triple6)] Gary is not kind.[(triple7)] @1: Anne is green.[(((triple1) -> rule3))] Bob is cold.[(((triple3) -> rule6))] Bob is kind.[(((triple2) -> rule7) OR ((((((triple3) -> rule6) triple3) -> rule2)) -> rule7))] Dave is cold.[(((triple4) -> rule6))] @2: Bob is green.[(((((triple2) -> rule7)) -> rule3) OR ((((((((triple3) -> rule6) triple3) -> rule2)) -> rule7)) -> rule3))] Dave is round.[(((((triple4) -> rule6) triple4) -> rule2))] @3: Bob is rough.[(((triple2 ((((triple2) -> rule7)) -> rule3)) -> rule8) OR ((((((triple3) -> rule6) triple3) -> rule2) ((((triple2) -> rule7)) -> rule3)) -> rule8) OR ((triple2 ((((((((triple3) -> rule6) triple3) -> rule2)) -> rule7)) -> rule3)) -> rule8) OR ((((((triple3) -> rule6) triple3) -> rule2) ((((((((triple3) -> rule6) triple3) -> rule2)) -> rule7)) -> rule3)) -> rule8))] Dave is kind.[(((((((triple4) -> rule6) triple4) -> rule2)) -> rule7))] @4: Dave is green.[(((((((((triple4) -> rule6) triple4) -> rule2)) -> rule7)) -> rule3))] @5: Dave is rough.[(((((((triple4) -> rule6) triple4) -> rule2) ((((((((triple4) -> rule6) triple4) -> rule2)) -> rule7)) -> rule3)) -> rule8))]
Anne is kind.
("Anne" "is" "kind" "+")
triple1
Bob is round.
("Bob" "is" "round" "+")
triple2
((((triple3) -> (rule6 % int2)) triple3) -> (rule2 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
Bob is cold.
("Bob" "is" "cold" "+")
int2
Bob is white.
("Bob" "is" "white" "+")
triple3
Dave is white.
("Dave" "is" "white" "+")
triple4
Gary is cold.
("Gary" "is" "cold" "+")
triple5
Gary is green.
("Gary" "is" "green" "+")
triple6
Gary is not kind.
("Gary" "is" "kind" "-")
triple7
Anne is green.
("Anne" "is" "green" "+")
((triple1) -> (rule3 % int1))
Anne is green.
("Anne" "is" "green" "+")
int1
Bob is cold.
("Bob" "is" "cold" "+")
((triple3) -> (rule6 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
Bob is kind.
("Bob" "is" "kind" "+")
((triple2) -> (rule7 % int1))
Bob is kind.
("Bob" "is" "kind" "+")
int1
((((((triple3) -> (rule6 % int3)) triple3) -> (rule2 % int2))) -> (rule7 % int1))
Bob is kind.
("Bob" "is" "kind" "+")
int1
Bob is round.
("Bob" "is" "round" "+")
int2
Bob is cold.
("Bob" "is" "cold" "+")
int3
Dave is cold.
("Dave" "is" "cold" "+")
((triple4) -> (rule6 % int1))
Dave is cold.
("Dave" "is" "cold" "+")
int1
Bob is green.
("Bob" "is" "green" "+")
((((triple2) -> (rule7 % int2))) -> (rule3 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Bob is kind.
("Bob" "is" "kind" "+")
int2
((((((((triple3) -> (rule6 % int4)) triple3) -> (rule2 % int3))) -> (rule7 % int2))) -> (rule3 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Bob is kind.
("Bob" "is" "kind" "+")
int2
Bob is round.
("Bob" "is" "round" "+")
int3
Bob is cold.
("Bob" "is" "cold" "+")
int4
Dave is round.
("Dave" "is" "round" "+")
((((triple4) -> (rule6 % int2)) triple4) -> (rule2 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1
Dave is cold.
("Dave" "is" "cold" "+")
int2
Bob is rough.
("Bob" "is" "rough" "+")
((triple2 ((((triple2) -> (rule7 % int3))) -> (rule3 % int2))) -> (rule8 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is green.
("Bob" "is" "green" "+")
int2
Bob is kind.
("Bob" "is" "kind" "+")
int3
((((((triple3) -> (rule6 % int5)) triple3) -> (rule2 % int4)) ((((triple2) -> (rule7 % int3))) -> (rule3 % int2))) -> (rule8 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is green.
("Bob" "is" "green" "+")
int2
Bob is kind.
("Bob" "is" "kind" "+")
int3
Bob is round.
("Bob" "is" "round" "+")
int4
Bob is cold.
("Bob" "is" "cold" "+")
int5
((triple2 ((((((((triple3) -> (rule6 % int5)) triple3) -> (rule2 % int4))) -> (rule7 % int3))) -> (rule3 % int2))) -> (rule8 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is green.
("Bob" "is" "green" "+")
int2
Bob is kind.
("Bob" "is" "kind" "+")
int3
Bob is round.
("Bob" "is" "round" "+")
int4
Bob is cold.
("Bob" "is" "cold" "+")
int5
((((((triple3) -> (rule6 % int5)) triple3) -> (rule2 % int4)) ((((((((triple3) -> (rule6 % int5)) triple3) -> (rule2 % int4))) -> (rule7 % int3))) -> (rule3 % int2))) -> (rule8 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is green.
("Bob" "is" "green" "+")
int2
Bob is kind.
("Bob" "is" "kind" "+")
int3
Bob is round.
("Bob" "is" "round" "+")
int4
Bob is cold.
("Bob" "is" "cold" "+")
int5
Dave is kind.
("Dave" "is" "kind" "+")
((((((triple4) -> (rule6 % int3)) triple4) -> (rule2 % int2))) -> (rule7 % int1))
Dave is kind.
("Dave" "is" "kind" "+")
int1
Dave is round.
("Dave" "is" "round" "+")
int2
Dave is cold.
("Dave" "is" "cold" "+")
int3
Dave is green.
("Dave" "is" "green" "+")
((((((((triple4) -> (rule6 % int4)) triple4) -> (rule2 % int3))) -> (rule7 % int2))) -> (rule3 % int1))
Dave is green.
("Dave" "is" "green" "+")
int1
Dave is kind.
("Dave" "is" "kind" "+")
int2
Dave is round.
("Dave" "is" "round" "+")
int3
Dave is cold.
("Dave" "is" "cold" "+")
int4
Dave is rough.
("Dave" "is" "rough" "+")
((((((triple4) -> (rule6 % int5)) triple4) -> (rule2 % int4)) ((((((((triple4) -> (rule6 % int5)) triple4) -> (rule2 % int4))) -> (rule7 % int3))) -> (rule3 % int2))) -> (rule8 % int1))
Dave is rough.
("Dave" "is" "rough" "+")
int1
Dave is green.
("Dave" "is" "green" "+")
int2
Dave is kind.
("Dave" "is" "kind" "+")
int3
Dave is round.
("Dave" "is" "round" "+")
int4
Dave is cold.
("Dave" "is" "cold" "+")
int5