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