Anne is rough. Bob is kind. Erin is blue. Erin is red. Fiona is blue. Fiona is green. Fiona is white. Rough, nice people are kind. Green people are rough. If someone is nice and white then they are red. Kind people are nice. Red people are white. Nice, red people are green. White people are nice.
Anne is rough.
("Anne" "is" "rough" "+")
Bob is kind.
("Bob" "is" "kind" "+")
Erin is blue.
("Erin" "is" "blue" "+")
Erin is red.
("Erin" "is" "red" "+")
Fiona is blue.
("Fiona" "is" "blue" "+")
Fiona is green.
("Fiona" "is" "green" "+")
Fiona is white.
("Fiona" "is" "white" "+")
Rough, nice people are kind.
((("someone" "is" "rough" "+") ("someone" "is" "nice" "+")) -> ("someone" "is" "kind" "+"))
Green people are rough.
((("someone" "is" "green" "+")) -> ("someone" "is" "rough" "+"))
If someone is nice and white then they are red.
((("someone" "is" "nice" "+") ("someone" "is" "white" "+")) -> ("someone" "is" "red" "+"))
Kind people are nice.
((("someone" "is" "kind" "+")) -> ("someone" "is" "nice" "+"))
Red people are white.
((("someone" "is" "red" "+")) -> ("someone" "is" "white" "+"))
Nice, red people are green.
((("someone" "is" "nice" "+") ("someone" "is" "red" "+")) -> ("someone" "is" "green" "+"))
White people are nice.
((("someone" "is" "white" "+")) -> ("someone" "is" "nice" "+"))
Erin is blue.
True
1
proof
[(triple3)]
("Erin" "is" "blue" "+")
triple3
Fiona is not white.
False
1
inv-proof
[(triple7)]
("Fiona" "is" "white" "-")
triple7
Erin is white.
True
2
proof
[(((triple4) -> rule5))]
("Erin" "is" "white" "+")
((triple4) -> (rule5 % int1))
Erin is white.
("Erin" "is" "white" "+")
int1
Fiona is not nice.
False
2
inv-proof
[(((triple7) -> rule7))]
("Fiona" "is" "nice" "-")
((triple7) -> (rule7 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Erin is nice.
True
3
proof
[(((((triple4) -> rule5)) -> rule7))]
("Erin" "is" "nice" "+")
((((triple4) -> (rule5 % int2))) -> (rule7 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
Erin is white.
("Erin" "is" "white" "+")
int2
Erin is not nice.
False
3
inv-proof
[(((((triple4) -> rule5)) -> rule7))]
("Erin" "is" "nice" "-")
((((triple4) -> (rule5 % int2))) -> (rule7 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
Erin is white.
("Erin" "is" "white" "+")
int2
Erin is green.
True
5
proof
[(((((((triple4) -> rule5)) -> rule7) triple4) -> rule6))]
("Erin" "is" "green" "+")
((((((triple4) -> (rule5 % int3))) -> (rule7 % int2)) triple4) -> (rule6 % int1))
Erin is green.
("Erin" "is" "green" "+")
int1
Erin is nice.
("Erin" "is" "nice" "+")
int2
Erin is white.
("Erin" "is" "white" "+")
int3
Erin is not green.
False
5
inv-proof
[(((((((triple4) -> rule5)) -> rule7) triple4) -> rule6))]
("Erin" "is" "green" "-")
((((((triple4) -> (rule5 % int3))) -> (rule7 % int2)) triple4) -> (rule6 % int1))
Erin is green.
("Erin" "is" "green" "+")
int1
Erin is nice.
("Erin" "is" "nice" "+")
int2
Erin is white.
("Erin" "is" "white" "+")
int3
Erin is rough.
True
6
proof
[(((((((((triple4) -> rule5)) -> rule7) triple4) -> rule6)) -> rule2))]
("Erin" "is" "rough" "+")
((((((((triple4) -> (rule5 % int4))) -> (rule7 % int3)) triple4) -> (rule6 % int2))) -> (rule2 % int1))
Erin is rough.
("Erin" "is" "rough" "+")
int1
Erin is green.
("Erin" "is" "green" "+")
int2
Erin is nice.
("Erin" "is" "nice" "+")
int3
Erin is white.
("Erin" "is" "white" "+")
int4
Erin is not rough.
False
6
inv-proof
[(((((((((triple4) -> rule5)) -> rule7) triple4) -> rule6)) -> rule2))]
("Erin" "is" "rough" "-")
((((((((triple4) -> (rule5 % int4))) -> (rule7 % int3)) triple4) -> (rule6 % int2))) -> (rule2 % int1))
Erin is rough.
("Erin" "is" "rough" "+")
int1
Erin is green.
("Erin" "is" "green" "+")
int2
Erin is nice.
("Erin" "is" "nice" "+")
int3
Erin is white.
("Erin" "is" "white" "+")
int4
Erin is kind.
True
10
proof
[(((((((((((triple4) -> rule5)) -> rule7) triple4) -> rule6)) -> rule2) ((((triple4) -> rule5)) -> rule7)) -> rule1))]
("Erin" "is" "kind" "+")
((((((((((triple4) -> (rule5 % int5))) -> (rule7 % int4)) triple4) -> (rule6 % int3))) -> (rule2 % int2)) ((((triple4) -> (rule5 % int5))) -> (rule7 % int4))) -> (rule1 % int1))
Erin is kind.
("Erin" "is" "kind" "+")
int1
Erin is rough.
("Erin" "is" "rough" "+")
int2
Erin is green.
("Erin" "is" "green" "+")
int3
Erin is nice.
("Erin" "is" "nice" "+")
int4
Erin is white.
("Erin" "is" "white" "+")
int5
Erin is not kind.
False
10
inv-proof
[(((((((((((triple4) -> rule5)) -> rule7) triple4) -> rule6)) -> rule2) ((((triple4) -> rule5)) -> rule7)) -> rule1))]
("Erin" "is" "kind" "-")
((((((((((triple4) -> (rule5 % int5))) -> (rule7 % int4)) triple4) -> (rule6 % int3))) -> (rule2 % int2)) ((((triple4) -> (rule5 % int5))) -> (rule7 % int4))) -> (rule1 % int1))
Erin is kind.
("Erin" "is" "kind" "+")
int1
Erin is rough.
("Erin" "is" "rough" "+")
int2
Erin is green.
("Erin" "is" "green" "+")
int3
Erin is nice.
("Erin" "is" "nice" "+")
int4
Erin is white.
("Erin" "is" "white" "+")
int5
Anne is not white.
Unknown
inv-rconc
[@2: Anne is white.[CWA. Example of deepest failure = (rule5 <- rule3 <- FAIL)]]
("Anne" "is" "white" "-")
Bob is rough.
Unknown
rconc
[@4: Bob is rough.[CWA. Example of deepest failure = (rule2 <- rule6 <- rule3 <- rule5 <- FAIL)]]
("Bob" "is" "rough" "+")
Anne is not nice.
Unknown
inv-rconc
[@5: Anne is nice.[CWA. Example of deepest failure = (rule4 <- rule1 <- rule7 <- rule5 <- rule3 <- FAIL)]]
("Anne" "is" "nice" "-")
Bob is white.
Unknown
rconc
[@2: Bob is white.[CWA. Example of deepest failure = (rule5 <- rule3 <- FAIL)]]
("Bob" "is" "white" "+")
Anne is not kind.
Unknown
inv-rconc
[@4: Anne is kind.[CWA. Example of deepest failure = (rule1 <- rule7 <- rule5 <- rule3 <- FAIL)]]
("Anne" "is" "kind" "-")
Bob is red.
Unknown
rconc
[@2: Bob is red.[CWA. Example of deepest failure = (rule3 <- rule5 <- FAIL)]]
("Bob" "is" "red" "+")
Bob is not blue.
Unknown
inv-random
[@0: Bob is blue.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "blue" "-")
Anne is blue.
Unknown
random
[@0: Anne is blue.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "blue" "+")
@0: Anne is rough.[(triple1)] Bob is kind.[(triple2)] Erin is blue.[(triple3)] Erin is red.[(triple4)] Fiona is blue.[(triple5)] Fiona is green.[(triple6 OR ((((triple7) -> rule7) ((((triple7) -> rule7) triple7) -> rule3)) -> rule6))] Fiona is white.[(triple7)] @1: Bob is nice.[(((triple2) -> rule4))] Erin is white.[(((triple4) -> rule5))] Fiona is nice.[(((triple7) -> rule7))] Fiona is rough.[(((triple6) -> rule2) OR ((((((triple7) -> rule7) ((((triple7) -> rule7) triple7) -> rule3)) -> rule6)) -> rule2))] @2: Erin is nice.[(((((triple4) -> rule5)) -> rule7))] Fiona is kind.[(((((triple6) -> rule2) ((triple7) -> rule7)) -> rule1) OR ((((((((triple7) -> rule7) ((((triple7) -> rule7) triple7) -> rule3)) -> rule6)) -> rule2) ((triple7) -> rule7)) -> rule1))] Fiona is red.[(((((triple7) -> rule7) triple7) -> rule3))] @3: Erin is green.[(((((((triple4) -> rule5)) -> rule7) triple4) -> rule6))] @4: Erin is rough.[(((((((((triple4) -> rule5)) -> rule7) triple4) -> rule6)) -> rule2))] @5: Erin is kind.[(((((((((((triple4) -> rule5)) -> rule7) triple4) -> rule6)) -> rule2) ((((triple4) -> rule5)) -> rule7)) -> rule1))]
Anne is rough.
("Anne" "is" "rough" "+")
triple1
Bob is kind.
("Bob" "is" "kind" "+")
triple2
Erin is blue.
("Erin" "is" "blue" "+")
triple3
Erin is red.
("Erin" "is" "red" "+")
triple4
Fiona is blue.
("Fiona" "is" "blue" "+")
triple5
Fiona is green.
("Fiona" "is" "green" "+")
triple6
((((triple7) -> (rule7 % int3)) ((((triple7) -> (rule7 % int3)) triple7) -> (rule3 % int2))) -> (rule6 % int1))
Fiona is green.
("Fiona" "is" "green" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
int2
Fiona is nice.
("Fiona" "is" "nice" "+")
int3
Fiona is white.
("Fiona" "is" "white" "+")
triple7
Bob is nice.
("Bob" "is" "nice" "+")
((triple2) -> (rule4 % int1))
Bob is nice.
("Bob" "is" "nice" "+")
int1
Erin is white.
("Erin" "is" "white" "+")
((triple4) -> (rule5 % int1))
Erin is white.
("Erin" "is" "white" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
((triple7) -> (rule7 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is rough.
("Fiona" "is" "rough" "+")
((triple6) -> (rule2 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
((((((triple7) -> (rule7 % int4)) ((((triple7) -> (rule7 % int4)) triple7) -> (rule3 % int3))) -> (rule6 % int2))) -> (rule2 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Fiona is green.
("Fiona" "is" "green" "+")
int2
Fiona is red.
("Fiona" "is" "red" "+")
int3
Fiona is nice.
("Fiona" "is" "nice" "+")
int4
Erin is nice.
("Erin" "is" "nice" "+")
((((triple4) -> (rule5 % int2))) -> (rule7 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
Erin is white.
("Erin" "is" "white" "+")
int2
Fiona is kind.
("Fiona" "is" "kind" "+")
((((triple6) -> (rule2 % int3)) ((triple7) -> (rule7 % int2))) -> (rule1 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
int2
Fiona is rough.
("Fiona" "is" "rough" "+")
int3
((((((((triple7) -> (rule7 % int5)) ((((triple7) -> (rule7 % int5)) triple7) -> (rule3 % int4))) -> (rule6 % int3))) -> (rule2 % int2)) ((triple7) -> (rule7 % int5))) -> (rule1 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
Fiona is rough.
("Fiona" "is" "rough" "+")
int2
Fiona is green.
("Fiona" "is" "green" "+")
int3
Fiona is red.
("Fiona" "is" "red" "+")
int4
Fiona is nice.
("Fiona" "is" "nice" "+")
int5
Fiona is red.
("Fiona" "is" "red" "+")
((((triple7) -> (rule7 % int2)) triple7) -> (rule3 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
int2
Erin is green.
("Erin" "is" "green" "+")
((((((triple4) -> (rule5 % int3))) -> (rule7 % int2)) triple4) -> (rule6 % int1))
Erin is green.
("Erin" "is" "green" "+")
int1
Erin is nice.
("Erin" "is" "nice" "+")
int2
Erin is white.
("Erin" "is" "white" "+")
int3
Erin is rough.
("Erin" "is" "rough" "+")
((((((((triple4) -> (rule5 % int4))) -> (rule7 % int3)) triple4) -> (rule6 % int2))) -> (rule2 % int1))
Erin is rough.
("Erin" "is" "rough" "+")
int1
Erin is green.
("Erin" "is" "green" "+")
int2
Erin is nice.
("Erin" "is" "nice" "+")
int3
Erin is white.
("Erin" "is" "white" "+")
int4
Erin is kind.
("Erin" "is" "kind" "+")
((((((((((triple4) -> (rule5 % int5))) -> (rule7 % int4)) triple4) -> (rule6 % int3))) -> (rule2 % int2)) ((((triple4) -> (rule5 % int5))) -> (rule7 % int4))) -> (rule1 % int1))
Erin is kind.
("Erin" "is" "kind" "+")
int1
Erin is rough.
("Erin" "is" "rough" "+")
int2
Erin is green.
("Erin" "is" "green" "+")
int3
Erin is nice.
("Erin" "is" "nice" "+")
int4
Erin is white.
("Erin" "is" "white" "+")
int5