Bob is smart. Dave is nice. Dave is quiet. Dave is smart. Erin is blue. Erin is white. Gary is white. Red people are smart. Smart, white people are nice. Blue, nice people are quiet. Blue people are white. If someone is kind and red then they are white. If Bob is red and Bob is smart then Bob is white. If someone is kind then they are red. Blue people are kind. If Bob is white then Bob is blue.
Bob is smart.
("Bob" "is" "smart" "+")
Dave is nice.
("Dave" "is" "nice" "+")
Dave is quiet.
("Dave" "is" "quiet" "+")
Dave is smart.
("Dave" "is" "smart" "+")
Erin is blue.
("Erin" "is" "blue" "+")
Erin is white.
("Erin" "is" "white" "+")
Gary is white.
("Gary" "is" "white" "+")
Red people are smart.
((("someone" "is" "red" "+")) -> ("someone" "is" "smart" "+"))
Smart, white people are nice.
((("someone" "is" "smart" "+") ("someone" "is" "white" "+")) -> ("someone" "is" "nice" "+"))
Blue, nice people are quiet.
((("someone" "is" "blue" "+") ("someone" "is" "nice" "+")) -> ("someone" "is" "quiet" "+"))
Blue people are white.
((("someone" "is" "blue" "+")) -> ("someone" "is" "white" "+"))
If someone is kind and red then they are white.
((("someone" "is" "kind" "+") ("someone" "is" "red" "+")) -> ("someone" "is" "white" "+"))
If Bob is red and Bob is smart then Bob is white.
((("Bob" "is" "red" "+") ("Bob" "is" "smart" "+")) -> ("Bob" "is" "white" "+"))
If someone is kind then they are red.
((("someone" "is" "kind" "+")) -> ("someone" "is" "red" "+"))
Blue people are kind.
((("someone" "is" "blue" "+")) -> ("someone" "is" "kind" "+"))
If Bob is white then Bob is blue.
((("Bob" "is" "white" "+")) -> ("Bob" "is" "blue" "+"))
Dave is nice.
True
1
proof
[(triple2)]
("Dave" "is" "nice" "+")
triple2
Bob is not smart.
False
1
inv-proof
[(triple1)]
("Bob" "is" "smart" "-")
triple1
Erin is kind.
True
2
proof
[(((triple5) -> rule8))]
("Erin" "is" "kind" "+")
((triple5) -> (rule8 % int1))
Erin is kind.
("Erin" "is" "kind" "+")
int1
Erin is not kind.
False
2
inv-proof
[(((triple5) -> rule8))]
("Erin" "is" "kind" "-")
((triple5) -> (rule8 % int1))
Erin is kind.
("Erin" "is" "kind" "+")
int1
Erin is red.
True
3
proof
[(((((triple5) -> rule8)) -> rule7))]
("Erin" "is" "red" "+")
((((triple5) -> (rule8 % int2))) -> (rule7 % int1))
Erin is red.
("Erin" "is" "red" "+")
int1
Erin is kind.
("Erin" "is" "kind" "+")
int2
Erin is not red.
False
3
inv-proof
[(((((triple5) -> rule8)) -> rule7))]
("Erin" "is" "red" "-")
((((triple5) -> (rule8 % int2))) -> (rule7 % int1))
Erin is red.
("Erin" "is" "red" "+")
int1
Erin is kind.
("Erin" "is" "kind" "+")
int2
Erin is smart.
True
4
proof
[(((((((triple5) -> rule8)) -> rule7)) -> rule1))]
("Erin" "is" "smart" "+")
((((((triple5) -> (rule8 % int3))) -> (rule7 % int2))) -> (rule1 % int1))
Erin is smart.
("Erin" "is" "smart" "+")
int1
Erin is red.
("Erin" "is" "red" "+")
int2
Erin is kind.
("Erin" "is" "kind" "+")
int3
Erin is not smart.
False
4
inv-proof
[(((((((triple5) -> rule8)) -> rule7)) -> rule1))]
("Erin" "is" "smart" "-")
((((((triple5) -> (rule8 % int3))) -> (rule7 % int2))) -> (rule1 % int1))
Erin is smart.
("Erin" "is" "smart" "+")
int1
Erin is red.
("Erin" "is" "red" "+")
int2
Erin is kind.
("Erin" "is" "kind" "+")
int3
Erin is nice.
True
6
proof
[(((((((((triple5) -> rule8)) -> rule7)) -> rule1) triple6) -> rule2) OR ((((((((triple5) -> rule8)) -> rule7)) -> rule1) ((triple5) -> rule4)) -> rule2) OR ((((((((triple5) -> rule8)) -> rule7)) -> rule1) ((((triple5) -> rule8) ((((triple5) -> rule8)) -> rule7)) -> rule5)) -> rule2))]
("Erin" "is" "nice" "+")
((((((((triple5) -> (rule8 % int4))) -> (rule7 % int3))) -> (rule1 % int2)) triple6) -> (rule2 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
Erin is smart.
("Erin" "is" "smart" "+")
int2
Erin is red.
("Erin" "is" "red" "+")
int3
Erin is kind.
("Erin" "is" "kind" "+")
int4
((((((((triple5) -> (rule8 % int5))) -> (rule7 % int4))) -> (rule1 % int3)) ((triple5) -> (rule4 % int2))) -> (rule2 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
Erin is white.
("Erin" "is" "white" "+")
int2
Erin is smart.
("Erin" "is" "smart" "+")
int3
Erin is red.
("Erin" "is" "red" "+")
int4
Erin is kind.
("Erin" "is" "kind" "+")
int5
((((((((triple5) -> (rule8 % int5))) -> (rule7 % int4))) -> (rule1 % int3)) ((((triple5) -> (rule8 % int5)) ((((triple5) -> (rule8 % int5))) -> (rule7 % int4))) -> (rule5 % int2))) -> (rule2 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
Erin is white.
("Erin" "is" "white" "+")
int2
Erin is smart.
("Erin" "is" "smart" "+")
int3
Erin is red.
("Erin" "is" "red" "+")
int4
Erin is kind.
("Erin" "is" "kind" "+")
int5
Erin is not nice.
False
6
inv-proof
[(((((((((triple5) -> rule8)) -> rule7)) -> rule1) triple6) -> rule2) OR ((((((((triple5) -> rule8)) -> rule7)) -> rule1) ((triple5) -> rule4)) -> rule2) OR ((((((((triple5) -> rule8)) -> rule7)) -> rule1) ((((triple5) -> rule8) ((((triple5) -> rule8)) -> rule7)) -> rule5)) -> rule2))]
("Erin" "is" "nice" "-")
((((((((triple5) -> (rule8 % int4))) -> (rule7 % int3))) -> (rule1 % int2)) triple6) -> (rule2 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
Erin is smart.
("Erin" "is" "smart" "+")
int2
Erin is red.
("Erin" "is" "red" "+")
int3
Erin is kind.
("Erin" "is" "kind" "+")
int4
((((((((triple5) -> (rule8 % int5))) -> (rule7 % int4))) -> (rule1 % int3)) ((triple5) -> (rule4 % int2))) -> (rule2 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
Erin is white.
("Erin" "is" "white" "+")
int2
Erin is smart.
("Erin" "is" "smart" "+")
int3
Erin is red.
("Erin" "is" "red" "+")
int4
Erin is kind.
("Erin" "is" "kind" "+")
int5
((((((((triple5) -> (rule8 % int5))) -> (rule7 % int4))) -> (rule1 % int3)) ((((triple5) -> (rule8 % int5)) ((((triple5) -> (rule8 % int5))) -> (rule7 % int4))) -> (rule5 % int2))) -> (rule2 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
Erin is white.
("Erin" "is" "white" "+")
int2
Erin is smart.
("Erin" "is" "smart" "+")
int3
Erin is red.
("Erin" "is" "red" "+")
int4
Erin is kind.
("Erin" "is" "kind" "+")
int5
Erin is quiet.
True
8
proof
[(((triple5 ((((((((triple5) -> rule8)) -> rule7)) -> rule1) triple6) -> rule2)) -> rule3) OR ((triple5 ((((((((triple5) -> rule8)) -> rule7)) -> rule1) ((triple5) -> rule4)) -> rule2)) -> rule3) OR ((triple5 ((((((((triple5) -> rule8)) -> rule7)) -> rule1) ((((triple5) -> rule8) ((((triple5) -> rule8)) -> rule7)) -> rule5)) -> rule2)) -> rule3))]
("Erin" "is" "quiet" "+")
((triple5 ((((((((triple5) -> (rule8 % int5))) -> (rule7 % int4))) -> (rule1 % int3)) triple6) -> (rule2 % int2))) -> (rule3 % int1))
Erin is quiet.
("Erin" "is" "quiet" "+")
int1
Erin is nice.
("Erin" "is" "nice" "+")
int2
Erin is smart.
("Erin" "is" "smart" "+")
int3
Erin is red.
("Erin" "is" "red" "+")
int4
Erin is kind.
("Erin" "is" "kind" "+")
int5
((triple5 ((((((((triple5) -> (rule8 % int6))) -> (rule7 % int5))) -> (rule1 % int4)) ((triple5) -> (rule4 % int3))) -> (rule2 % int2))) -> (rule3 % int1))
Erin is quiet.
("Erin" "is" "quiet" "+")
int1
Erin is nice.
("Erin" "is" "nice" "+")
int2
Erin is white.
("Erin" "is" "white" "+")
int3
Erin is smart.
("Erin" "is" "smart" "+")
int4
Erin is red.
("Erin" "is" "red" "+")
int5
Erin is kind.
("Erin" "is" "kind" "+")
int6
((triple5 ((((((((triple5) -> (rule8 % int6))) -> (rule7 % int5))) -> (rule1 % int4)) ((((triple5) -> (rule8 % int6)) ((((triple5) -> (rule8 % int6))) -> (rule7 % int5))) -> (rule5 % int3))) -> (rule2 % int2))) -> (rule3 % int1))
Erin is quiet.
("Erin" "is" "quiet" "+")
int1
Erin is nice.
("Erin" "is" "nice" "+")
int2
Erin is white.
("Erin" "is" "white" "+")
int3
Erin is smart.
("Erin" "is" "smart" "+")
int4
Erin is red.
("Erin" "is" "red" "+")
int5
Erin is kind.
("Erin" "is" "kind" "+")
int6
Erin is not quiet.
False
8
inv-proof
[(((triple5 ((((((((triple5) -> rule8)) -> rule7)) -> rule1) triple6) -> rule2)) -> rule3) OR ((triple5 ((((((((triple5) -> rule8)) -> rule7)) -> rule1) ((triple5) -> rule4)) -> rule2)) -> rule3) OR ((triple5 ((((((((triple5) -> rule8)) -> rule7)) -> rule1) ((((triple5) -> rule8) ((((triple5) -> rule8)) -> rule7)) -> rule5)) -> rule2)) -> rule3))]
("Erin" "is" "quiet" "-")
((triple5 ((((((((triple5) -> (rule8 % int5))) -> (rule7 % int4))) -> (rule1 % int3)) triple6) -> (rule2 % int2))) -> (rule3 % int1))
Erin is quiet.
("Erin" "is" "quiet" "+")
int1
Erin is nice.
("Erin" "is" "nice" "+")
int2
Erin is smart.
("Erin" "is" "smart" "+")
int3
Erin is red.
("Erin" "is" "red" "+")
int4
Erin is kind.
("Erin" "is" "kind" "+")
int5
((triple5 ((((((((triple5) -> (rule8 % int6))) -> (rule7 % int5))) -> (rule1 % int4)) ((triple5) -> (rule4 % int3))) -> (rule2 % int2))) -> (rule3 % int1))
Erin is quiet.
("Erin" "is" "quiet" "+")
int1
Erin is nice.
("Erin" "is" "nice" "+")
int2
Erin is white.
("Erin" "is" "white" "+")
int3
Erin is smart.
("Erin" "is" "smart" "+")
int4
Erin is red.
("Erin" "is" "red" "+")
int5
Erin is kind.
("Erin" "is" "kind" "+")
int6
((triple5 ((((((((triple5) -> (rule8 % int6))) -> (rule7 % int5))) -> (rule1 % int4)) ((((triple5) -> (rule8 % int6)) ((((triple5) -> (rule8 % int6))) -> (rule7 % int5))) -> (rule5 % int3))) -> (rule2 % int2))) -> (rule3 % int1))
Erin is quiet.
("Erin" "is" "quiet" "+")
int1
Erin is nice.
("Erin" "is" "nice" "+")
int2
Erin is white.
("Erin" "is" "white" "+")
int3
Erin is smart.
("Erin" "is" "smart" "+")
int4
Erin is red.
("Erin" "is" "red" "+")
int5
Erin is kind.
("Erin" "is" "kind" "+")
int6
Gary is not kind.
Unknown
inv-rconc
[@1: Gary is kind.[CWA. Example of deepest failure = (rule8 <- FAIL)]]
("Gary" "is" "kind" "-")
Bob is red.
Unknown
rconc
[@4: Bob is red.[CWA. Example of deepest failure = (rule7 <- rule8 <- rule9 <- rule4 <- FAIL)]]
("Bob" "is" "red" "+")
Bob is not kind.
Unknown
inv-rconc
[@4: Bob is kind.[CWA. Example of deepest failure = (rule8 <- rule9 <- rule6 <- rule7 <- FAIL)]]
("Bob" "is" "kind" "-")
Gary is quiet.
Unknown
rconc
[@1: Gary is quiet.[CWA. Example of deepest failure = (rule3 <- FAIL)]]
("Gary" "is" "quiet" "+")
Bob is not white.
Unknown
inv-rconc
[@5: Bob is white.[CWA. Example of deepest failure = (rule4 <- rule9 <- rule6 <- rule7 <- rule8 <- FAIL)]]
("Bob" "is" "white" "-")
Dave is red.
Unknown
rconc
[@2: Dave is red.[CWA. Example of deepest failure = (rule7 <- rule8 <- FAIL)]]
("Dave" "is" "red" "+")
Gary is not blue.
Unknown
inv-random
[@0: Gary is blue.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "blue" "-")
Dave is blue.
Unknown
random
[@0: Dave is blue.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "blue" "+")
@0: Bob is smart.[(triple1)] Dave is nice.[(triple2)] Dave is quiet.[(triple3)] Dave is smart.[(triple4)] Erin is blue.[(triple5)] Erin is white.[(triple6 OR ((triple5) -> rule4) OR ((((triple5) -> rule8) ((((triple5) -> rule8)) -> rule7)) -> rule5))] Gary is white.[(triple7)] @1: Erin is kind.[(((triple5) -> rule8))] @2: Erin is red.[(((((triple5) -> rule8)) -> rule7))] @3: Erin is smart.[(((((((triple5) -> rule8)) -> rule7)) -> rule1))] @4: Erin is nice.[(((((((((triple5) -> rule8)) -> rule7)) -> rule1) triple6) -> rule2) OR ((((((((triple5) -> rule8)) -> rule7)) -> rule1) ((triple5) -> rule4)) -> rule2) OR ((((((((triple5) -> rule8)) -> rule7)) -> rule1) ((((triple5) -> rule8) ((((triple5) -> rule8)) -> rule7)) -> rule5)) -> rule2))] @5: Erin is quiet.[(((triple5 ((((((((triple5) -> rule8)) -> rule7)) -> rule1) triple6) -> rule2)) -> rule3) OR ((triple5 ((((((((triple5) -> rule8)) -> rule7)) -> rule1) ((triple5) -> rule4)) -> rule2)) -> rule3) OR ((triple5 ((((((((triple5) -> rule8)) -> rule7)) -> rule1) ((((triple5) -> rule8) ((((triple5) -> rule8)) -> rule7)) -> rule5)) -> rule2)) -> rule3))]
Bob is smart.
("Bob" "is" "smart" "+")
triple1
Dave is nice.
("Dave" "is" "nice" "+")
triple2
Dave is quiet.
("Dave" "is" "quiet" "+")
triple3
Dave is smart.
("Dave" "is" "smart" "+")
triple4
Erin is blue.
("Erin" "is" "blue" "+")
triple5
Erin is white.
("Erin" "is" "white" "+")
triple6
((triple5) -> (rule4 % int1))
Erin is white.
("Erin" "is" "white" "+")
int1
((((triple5) -> (rule8 % int3)) ((((triple5) -> (rule8 % int3))) -> (rule7 % int2))) -> (rule5 % int1))
Erin is white.
("Erin" "is" "white" "+")
int1
Erin is red.
("Erin" "is" "red" "+")
int2
Erin is kind.
("Erin" "is" "kind" "+")
int3
Gary is white.
("Gary" "is" "white" "+")
triple7
Erin is kind.
("Erin" "is" "kind" "+")
((triple5) -> (rule8 % int1))
Erin is kind.
("Erin" "is" "kind" "+")
int1
Erin is red.
("Erin" "is" "red" "+")
((((triple5) -> (rule8 % int2))) -> (rule7 % int1))
Erin is red.
("Erin" "is" "red" "+")
int1
Erin is kind.
("Erin" "is" "kind" "+")
int2
Erin is smart.
("Erin" "is" "smart" "+")
((((((triple5) -> (rule8 % int3))) -> (rule7 % int2))) -> (rule1 % int1))
Erin is smart.
("Erin" "is" "smart" "+")
int1
Erin is red.
("Erin" "is" "red" "+")
int2
Erin is kind.
("Erin" "is" "kind" "+")
int3
Erin is nice.
("Erin" "is" "nice" "+")
((((((((triple5) -> (rule8 % int4))) -> (rule7 % int3))) -> (rule1 % int2)) triple6) -> (rule2 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
Erin is smart.
("Erin" "is" "smart" "+")
int2
Erin is red.
("Erin" "is" "red" "+")
int3
Erin is kind.
("Erin" "is" "kind" "+")
int4
((((((((triple5) -> (rule8 % int5))) -> (rule7 % int4))) -> (rule1 % int3)) ((triple5) -> (rule4 % int2))) -> (rule2 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
Erin is white.
("Erin" "is" "white" "+")
int2
Erin is smart.
("Erin" "is" "smart" "+")
int3
Erin is red.
("Erin" "is" "red" "+")
int4
Erin is kind.
("Erin" "is" "kind" "+")
int5
((((((((triple5) -> (rule8 % int5))) -> (rule7 % int4))) -> (rule1 % int3)) ((((triple5) -> (rule8 % int5)) ((((triple5) -> (rule8 % int5))) -> (rule7 % int4))) -> (rule5 % int2))) -> (rule2 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
Erin is white.
("Erin" "is" "white" "+")
int2
Erin is smart.
("Erin" "is" "smart" "+")
int3
Erin is red.
("Erin" "is" "red" "+")
int4
Erin is kind.
("Erin" "is" "kind" "+")
int5
Erin is quiet.
("Erin" "is" "quiet" "+")
((triple5 ((((((((triple5) -> (rule8 % int5))) -> (rule7 % int4))) -> (rule1 % int3)) triple6) -> (rule2 % int2))) -> (rule3 % int1))
Erin is quiet.
("Erin" "is" "quiet" "+")
int1
Erin is nice.
("Erin" "is" "nice" "+")
int2
Erin is smart.
("Erin" "is" "smart" "+")
int3
Erin is red.
("Erin" "is" "red" "+")
int4
Erin is kind.
("Erin" "is" "kind" "+")
int5
((triple5 ((((((((triple5) -> (rule8 % int6))) -> (rule7 % int5))) -> (rule1 % int4)) ((triple5) -> (rule4 % int3))) -> (rule2 % int2))) -> (rule3 % int1))
Erin is quiet.
("Erin" "is" "quiet" "+")
int1
Erin is nice.
("Erin" "is" "nice" "+")
int2
Erin is white.
("Erin" "is" "white" "+")
int3
Erin is smart.
("Erin" "is" "smart" "+")
int4
Erin is red.
("Erin" "is" "red" "+")
int5
Erin is kind.
("Erin" "is" "kind" "+")
int6
((triple5 ((((((((triple5) -> (rule8 % int6))) -> (rule7 % int5))) -> (rule1 % int4)) ((((triple5) -> (rule8 % int6)) ((((triple5) -> (rule8 % int6))) -> (rule7 % int5))) -> (rule5 % int3))) -> (rule2 % int2))) -> (rule3 % int1))
Erin is quiet.
("Erin" "is" "quiet" "+")
int1
Erin is nice.
("Erin" "is" "nice" "+")
int2
Erin is white.
("Erin" "is" "white" "+")
int3
Erin is smart.
("Erin" "is" "smart" "+")
int4
Erin is red.
("Erin" "is" "red" "+")
int5
Erin is kind.
("Erin" "is" "kind" "+")
int6