Anne is big. Anne is green. Anne is white. Bob is big. Charlie is big. Charlie is blue. Charlie is smart. Charlie is white. Fiona is big. Fiona is furry. Big people are blue. Blue, green people are smart. If someone is smart then they are white. All blue, red people are green. If someone is blue and furry then they are red. If Bob is furry and Bob is green then Bob is blue.
Anne is big.
("Anne" "is" "big" "+")
Anne is green.
("Anne" "is" "green" "+")
Anne is white.
("Anne" "is" "white" "+")
Bob is big.
("Bob" "is" "big" "+")
Charlie is big.
("Charlie" "is" "big" "+")
Charlie is blue.
("Charlie" "is" "blue" "+")
Charlie is smart.
("Charlie" "is" "smart" "+")
Charlie is white.
("Charlie" "is" "white" "+")
Fiona is big.
("Fiona" "is" "big" "+")
Fiona is furry.
("Fiona" "is" "furry" "+")
Big people are blue.
((("someone" "is" "big" "+")) -> ("someone" "is" "blue" "+"))
Blue, green people are smart.
((("someone" "is" "blue" "+") ("someone" "is" "green" "+")) -> ("someone" "is" "smart" "+"))
If someone is smart then they are white.
((("someone" "is" "smart" "+")) -> ("someone" "is" "white" "+"))
All blue, red people are green.
((("someone" "is" "blue" "+") ("someone" "is" "red" "+")) -> ("someone" "is" "green" "+"))
If someone is blue and furry then they are red.
((("someone" "is" "blue" "+") ("someone" "is" "furry" "+")) -> ("someone" "is" "red" "+"))
If Bob is furry and Bob is green then Bob is blue.
((("Bob" "is" "furry" "+") ("Bob" "is" "green" "+")) -> ("Bob" "is" "blue" "+"))
Anne is green.
True
1
proof
[(triple2)]
("Anne" "is" "green" "+")
triple2
Anne is not green.
False
1
inv-proof
[(triple2)]
("Anne" "is" "green" "-")
triple2
Bob is blue.
True
2
proof
[(((triple4) -> rule1))]
("Bob" "is" "blue" "+")
((triple4) -> (rule1 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
Fiona is not blue.
False
2
inv-proof
[(((triple9) -> rule1))]
("Fiona" "is" "blue" "-")
((triple9) -> (rule1 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Fiona is red.
True
4
proof
[(((((triple9) -> rule1) triple10) -> rule5))]
("Fiona" "is" "red" "+")
((((triple9) -> (rule1 % int2)) triple10) -> (rule5 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
int2
Fiona is not red.
False
4
inv-proof
[(((((triple9) -> rule1) triple10) -> rule5))]
("Fiona" "is" "red" "-")
((((triple9) -> (rule1 % int2)) triple10) -> (rule5 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
int2
Fiona is green.
True
7
proof
[(((((triple9) -> rule1) ((((triple9) -> rule1) triple10) -> rule5)) -> rule4))]
("Fiona" "is" "green" "+")
((((triple9) -> (rule1 % int3)) ((((triple9) -> (rule1 % int3)) triple10) -> (rule5 % int2))) -> (rule4 % int1))
Fiona is green.
("Fiona" "is" "green" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
int2
Fiona is blue.
("Fiona" "is" "blue" "+")
int3
Fiona is not green.
False
7
inv-proof
[(((((triple9) -> rule1) ((((triple9) -> rule1) triple10) -> rule5)) -> rule4))]
("Fiona" "is" "green" "-")
((((triple9) -> (rule1 % int3)) ((((triple9) -> (rule1 % int3)) triple10) -> (rule5 % int2))) -> (rule4 % int1))
Fiona is green.
("Fiona" "is" "green" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
int2
Fiona is blue.
("Fiona" "is" "blue" "+")
int3
Fiona is smart.
True
10
proof
[(((((triple9) -> rule1) ((((triple9) -> rule1) ((((triple9) -> rule1) triple10) -> rule5)) -> rule4)) -> rule2))]
("Fiona" "is" "smart" "+")
((((triple9) -> (rule1 % int4)) ((((triple9) -> (rule1 % int4)) ((((triple9) -> (rule1 % int4)) triple10) -> (rule5 % int3))) -> (rule4 % int2))) -> (rule2 % int1))
Fiona is smart.
("Fiona" "is" "smart" "+")
int1
Fiona is green.
("Fiona" "is" "green" "+")
int2
Fiona is red.
("Fiona" "is" "red" "+")
int3
Fiona is blue.
("Fiona" "is" "blue" "+")
int4
Fiona is not smart.
False
10
inv-proof
[(((((triple9) -> rule1) ((((triple9) -> rule1) ((((triple9) -> rule1) triple10) -> rule5)) -> rule4)) -> rule2))]
("Fiona" "is" "smart" "-")
((((triple9) -> (rule1 % int4)) ((((triple9) -> (rule1 % int4)) ((((triple9) -> (rule1 % int4)) triple10) -> (rule5 % int3))) -> (rule4 % int2))) -> (rule2 % int1))
Fiona is smart.
("Fiona" "is" "smart" "+")
int1
Fiona is green.
("Fiona" "is" "green" "+")
int2
Fiona is red.
("Fiona" "is" "red" "+")
int3
Fiona is blue.
("Fiona" "is" "blue" "+")
int4
Fiona is white.
True
11
proof
[(((((((triple9) -> rule1) ((((triple9) -> rule1) ((((triple9) -> rule1) triple10) -> rule5)) -> rule4)) -> rule2)) -> rule3))]
("Fiona" "is" "white" "+")
((((((triple9) -> (rule1 % int5)) ((((triple9) -> (rule1 % int5)) ((((triple9) -> (rule1 % int5)) triple10) -> (rule5 % int4))) -> (rule4 % int3))) -> (rule2 % int2))) -> (rule3 % int1))
Fiona is white.
("Fiona" "is" "white" "+")
int1
Fiona is smart.
("Fiona" "is" "smart" "+")
int2
Fiona is green.
("Fiona" "is" "green" "+")
int3
Fiona is red.
("Fiona" "is" "red" "+")
int4
Fiona is blue.
("Fiona" "is" "blue" "+")
int5
Fiona is not white.
False
11
inv-proof
[(((((((triple9) -> rule1) ((((triple9) -> rule1) ((((triple9) -> rule1) triple10) -> rule5)) -> rule4)) -> rule2)) -> rule3))]
("Fiona" "is" "white" "-")
((((((triple9) -> (rule1 % int5)) ((((triple9) -> (rule1 % int5)) ((((triple9) -> (rule1 % int5)) triple10) -> (rule5 % int4))) -> (rule4 % int3))) -> (rule2 % int2))) -> (rule3 % int1))
Fiona is white.
("Fiona" "is" "white" "+")
int1
Fiona is smart.
("Fiona" "is" "smart" "+")
int2
Fiona is green.
("Fiona" "is" "green" "+")
int3
Fiona is red.
("Fiona" "is" "red" "+")
int4
Fiona is blue.
("Fiona" "is" "blue" "+")
int5
Bob is not green.
Unknown
inv-rconc
[@2: Bob is green.[CWA. Example of deepest failure = (rule4 <- rule5 <- FAIL)]]
("Bob" "is" "green" "-")
Anne is red.
Unknown
rconc
[@1: Anne is red.[CWA. Example of deepest failure = (rule5 <- FAIL)]]
("Anne" "is" "red" "+")
Bob is not smart.
Unknown
inv-rconc
[@3: Bob is smart.[CWA. Example of deepest failure = (rule2 <- rule4 <- rule5 <- FAIL)]]
("Bob" "is" "smart" "-")
Bob is red.
Unknown
rconc
[@1: Bob is red.[CWA. Example of deepest failure = (rule5 <- FAIL)]]
("Bob" "is" "red" "+")
Bob is not white.
Unknown
inv-rconc
[@4: Bob is white.[CWA. Example of deepest failure = (rule3 <- rule2 <- rule4 <- rule5 <- FAIL)]]
("Bob" "is" "white" "-")
Charlie is red.
Unknown
rconc
[@1: Charlie is red.[CWA. Example of deepest failure = (rule5 <- FAIL)]]
("Charlie" "is" "red" "+")
Anne is not furry.
Unknown
inv-random
[@0: Anne is furry.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "furry" "-")
Bob is furry.
Unknown
random
[@0: Bob is furry.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "furry" "+")
@0: Anne is big.[(triple1)] Anne is green.[(triple2)] Anne is white.[(triple3 OR ((((((triple1) -> rule1) triple2) -> rule2)) -> rule3))] Bob is big.[(triple4)] Charlie is big.[(triple5)] Charlie is blue.[(triple6 OR ((triple5) -> rule1))] Charlie is smart.[(triple7)] Charlie is white.[(triple8 OR ((triple7) -> rule3))] Fiona is big.[(triple9)] Fiona is furry.[(triple10)] @1: Anne is blue.[(((triple1) -> rule1))] Bob is blue.[(((triple4) -> rule1))] Fiona is blue.[(((triple9) -> rule1))] @2: Anne is smart.[(((((triple1) -> rule1) triple2) -> rule2))] Fiona is red.[(((((triple9) -> rule1) triple10) -> rule5))] @3: Fiona is green.[(((((triple9) -> rule1) ((((triple9) -> rule1) triple10) -> rule5)) -> rule4))] @4: Fiona is smart.[(((((triple9) -> rule1) ((((triple9) -> rule1) ((((triple9) -> rule1) triple10) -> rule5)) -> rule4)) -> rule2))] @5: Fiona is white.[(((((((triple9) -> rule1) ((((triple9) -> rule1) ((((triple9) -> rule1) triple10) -> rule5)) -> rule4)) -> rule2)) -> rule3))]
Anne is big.
("Anne" "is" "big" "+")
triple1
Anne is green.
("Anne" "is" "green" "+")
triple2
Anne is white.
("Anne" "is" "white" "+")
triple3
((((((triple1) -> (rule1 % int3)) triple2) -> (rule2 % int2))) -> (rule3 % int1))
Anne is white.
("Anne" "is" "white" "+")
int1
Anne is smart.
("Anne" "is" "smart" "+")
int2
Anne is blue.
("Anne" "is" "blue" "+")
int3
Bob is big.
("Bob" "is" "big" "+")
triple4
Charlie is big.
("Charlie" "is" "big" "+")
triple5
Charlie is blue.
("Charlie" "is" "blue" "+")
triple6
((triple5) -> (rule1 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Charlie is smart.
("Charlie" "is" "smart" "+")
triple7
Charlie is white.
("Charlie" "is" "white" "+")
triple8
((triple7) -> (rule3 % int1))
Charlie is white.
("Charlie" "is" "white" "+")
int1
Fiona is big.
("Fiona" "is" "big" "+")
triple9
Fiona is furry.
("Fiona" "is" "furry" "+")
triple10
Anne is blue.
("Anne" "is" "blue" "+")
((triple1) -> (rule1 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
Bob is blue.
("Bob" "is" "blue" "+")
((triple4) -> (rule1 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
((triple9) -> (rule1 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Anne is smart.
("Anne" "is" "smart" "+")
((((triple1) -> (rule1 % int2)) triple2) -> (rule2 % int1))
Anne is smart.
("Anne" "is" "smart" "+")
int1
Anne is blue.
("Anne" "is" "blue" "+")
int2
Fiona is red.
("Fiona" "is" "red" "+")
((((triple9) -> (rule1 % int2)) triple10) -> (rule5 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
int2
Fiona is green.
("Fiona" "is" "green" "+")
((((triple9) -> (rule1 % int3)) ((((triple9) -> (rule1 % int3)) triple10) -> (rule5 % int2))) -> (rule4 % int1))
Fiona is green.
("Fiona" "is" "green" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
int2
Fiona is blue.
("Fiona" "is" "blue" "+")
int3
Fiona is smart.
("Fiona" "is" "smart" "+")
((((triple9) -> (rule1 % int4)) ((((triple9) -> (rule1 % int4)) ((((triple9) -> (rule1 % int4)) triple10) -> (rule5 % int3))) -> (rule4 % int2))) -> (rule2 % int1))
Fiona is smart.
("Fiona" "is" "smart" "+")
int1
Fiona is green.
("Fiona" "is" "green" "+")
int2
Fiona is red.
("Fiona" "is" "red" "+")
int3
Fiona is blue.
("Fiona" "is" "blue" "+")
int4
Fiona is white.
("Fiona" "is" "white" "+")
((((((triple9) -> (rule1 % int5)) ((((triple9) -> (rule1 % int5)) ((((triple9) -> (rule1 % int5)) triple10) -> (rule5 % int4))) -> (rule4 % int3))) -> (rule2 % int2))) -> (rule3 % int1))
Fiona is white.
("Fiona" "is" "white" "+")
int1
Fiona is smart.
("Fiona" "is" "smart" "+")
int2
Fiona is green.
("Fiona" "is" "green" "+")
int3
Fiona is red.
("Fiona" "is" "red" "+")
int4
Fiona is blue.
("Fiona" "is" "blue" "+")
int5