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