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