Bob is kind. Bob is red. Bob is young. Fiona is big. Fiona is blue. Fiona is cold. Fiona is kind. Fiona is red. Gary is big. Gary is blue. If something is big then it is cold. All white, kind things are big. White, young things are big. If something is white then it is kind. If something is blue and big then it is red. If Gary is young then Gary is blue. All white, young things are blue. If something is red and blue then it is white.
Bob is kind.
("Bob" "is" "kind" "+")
Bob is red.
("Bob" "is" "red" "+")
Bob is young.
("Bob" "is" "young" "+")
Fiona is big.
("Fiona" "is" "big" "+")
Fiona is blue.
("Fiona" "is" "blue" "+")
Fiona is cold.
("Fiona" "is" "cold" "+")
Fiona is kind.
("Fiona" "is" "kind" "+")
Fiona is red.
("Fiona" "is" "red" "+")
Gary is big.
("Gary" "is" "big" "+")
Gary is blue.
("Gary" "is" "blue" "+")
If something is big then it is cold.
((("something" "is" "big" "+")) -> ("something" "is" "cold" "+"))
All white, kind things are big.
((("something" "is" "white" "+") ("something" "is" "kind" "+")) -> ("something" "is" "big" "+"))
White, young things are big.
((("something" "is" "white" "+") ("something" "is" "young" "+")) -> ("something" "is" "big" "+"))
If something is white then it is kind.
((("something" "is" "white" "+")) -> ("something" "is" "kind" "+"))
If something is blue and big then it is red.
((("something" "is" "blue" "+") ("something" "is" "big" "+")) -> ("something" "is" "red" "+"))
If Gary is young then Gary is blue.
((("Gary" "is" "young" "+")) -> ("Gary" "is" "blue" "+"))
All white, young things are blue.
((("something" "is" "white" "+") ("something" "is" "young" "+")) -> ("something" "is" "blue" "+"))
If something is red and blue then it is white.
((("something" "is" "red" "+") ("something" "is" "blue" "+")) -> ("something" "is" "white" "+"))
Fiona is cold.
True
1
proof
[(triple6 OR ((triple4) -> rule1) OR ((((((triple8 triple5) -> rule8) triple7) -> rule2)) -> rule1) OR ((((((triple8 triple5) -> rule8) ((((triple8 triple5) -> rule8)) -> rule4)) -> rule2)) -> rule1))]
("Fiona" "is" "cold" "+")
triple6
((triple4) -> (rule1 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
((((((triple8 triple5) -> (rule8 % int3)) triple7) -> (rule2 % int2))) -> (rule1 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
Fiona is big.
("Fiona" "is" "big" "+")
int2
Fiona is white.
("Fiona" "is" "white" "+")
int3
((((((triple8 triple5) -> (rule8 % int4)) ((((triple8 triple5) -> (rule8 % int4))) -> (rule4 % int3))) -> (rule2 % int2))) -> (rule1 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
Fiona is big.
("Fiona" "is" "big" "+")
int2
Fiona is kind.
("Fiona" "is" "kind" "+")
int3
Fiona is white.
("Fiona" "is" "white" "+")
int4
Bob is not kind.
False
1
inv-proof
[(triple1)]
("Bob" "is" "kind" "-")
triple1
Gary is red.
True
3
proof
[(((triple10 triple9) -> rule5))]
("Gary" "is" "red" "+")
((triple10 triple9) -> (rule5 % int1))
Gary is red.
("Gary" "is" "red" "+")
int1
Fiona is not white.
False
3
inv-proof
[(((triple8 triple5) -> rule8) OR ((((triple5 triple4) -> rule5) triple5) -> rule8))]
("Fiona" "is" "white" "-")
((triple8 triple5) -> (rule8 % int1))
Fiona is white.
("Fiona" "is" "white" "+")
int1
((((triple5 triple4) -> (rule5 % int2)) triple5) -> (rule8 % int1))
Fiona is white.
("Fiona" "is" "white" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
int2
Gary is white.
True
5
proof
[(((((triple10 triple9) -> rule5) triple10) -> rule8))]
("Gary" "is" "white" "+")
((((triple10 triple9) -> (rule5 % int2)) triple10) -> (rule8 % int1))
Gary is white.
("Gary" "is" "white" "+")
int1
Gary is red.
("Gary" "is" "red" "+")
int2
Gary is not white.
False
5
inv-proof
[(((((triple10 triple9) -> rule5) triple10) -> rule8))]
("Gary" "is" "white" "-")
((((triple10 triple9) -> (rule5 % int2)) triple10) -> (rule8 % int1))
Gary is white.
("Gary" "is" "white" "+")
int1
Gary is red.
("Gary" "is" "red" "+")
int2
Gary is kind.
True
6
proof
[(((((((triple10 triple9) -> rule5) triple10) -> rule8)) -> rule4))]
("Gary" "is" "kind" "+")
((((((triple10 triple9) -> (rule5 % int3)) triple10) -> (rule8 % int2))) -> (rule4 % int1))
Gary is kind.
("Gary" "is" "kind" "+")
int1
Gary is white.
("Gary" "is" "white" "+")
int2
Gary is red.
("Gary" "is" "red" "+")
int3
Gary is not kind.
False
6
inv-proof
[(((((((triple10 triple9) -> rule5) triple10) -> rule8)) -> rule4))]
("Gary" "is" "kind" "-")
((((((triple10 triple9) -> (rule5 % int3)) triple10) -> (rule8 % int2))) -> (rule4 % int1))
Gary is kind.
("Gary" "is" "kind" "+")
int1
Gary is white.
("Gary" "is" "white" "+")
int2
Gary is red.
("Gary" "is" "red" "+")
int3
Bob is not big.
Unknown
inv-rconc
[@3: Bob is big.[CWA. Example of deepest failure = (rule2 <- rule8 <- rule7 <- FAIL)]]
("Bob" "is" "big" "-")
Bob is blue.
Unknown
rconc
[@2: Bob is blue.[CWA. Example of deepest failure = (rule7 <- rule8 <- FAIL)]]
("Bob" "is" "blue" "+")
Bob is not white.
Unknown
inv-rconc
[@2: Bob is white.[CWA. Example of deepest failure = (rule8 <- rule7 <- FAIL)]]
("Bob" "is" "white" "-")
Bob is cold.
Unknown
rconc
[@4: Bob is cold.[CWA. Example of deepest failure = (rule1 <- rule2 <- rule8 <- rule7 <- FAIL)]]
("Bob" "is" "cold" "+")
Gary is not young.
Unknown
inv-random
[@0: Gary is young.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "young" "-")
Fiona is young.
Unknown
random
[@0: Fiona is young.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "young" "+")
@0: Bob is kind.[(triple1)] Bob is red.[(triple2)] Bob is young.[(triple3)] Fiona is big.[(triple4 OR ((((triple8 triple5) -> rule8) triple7) -> rule2) OR ((((triple8 triple5) -> rule8) ((((triple8 triple5) -> rule8)) -> rule4)) -> rule2))] Fiona is blue.[(triple5)] Fiona is cold.[(triple6 OR ((triple4) -> rule1) OR ((((((triple8 triple5) -> rule8) triple7) -> rule2)) -> rule1) OR ((((((triple8 triple5) -> rule8) ((((triple8 triple5) -> rule8)) -> rule4)) -> rule2)) -> rule1))] Fiona is kind.[(triple7 OR ((((triple8 triple5) -> rule8)) -> rule4) OR ((((((triple5 triple4) -> rule5) triple5) -> rule8)) -> rule4))] Fiona is red.[(triple8 OR ((triple5 triple4) -> rule5))] Gary is big.[(triple9)] Gary is blue.[(triple10)] @1: Fiona is white.[(((triple8 triple5) -> rule8) OR ((((triple5 triple4) -> rule5) triple5) -> rule8))] Gary is cold.[(((triple9) -> rule1))] Gary is red.[(((triple10 triple9) -> rule5))] @2: Gary is white.[(((((triple10 triple9) -> rule5) triple10) -> rule8))] @3: Gary is kind.[(((((((triple10 triple9) -> rule5) triple10) -> rule8)) -> rule4))]
Bob is kind.
("Bob" "is" "kind" "+")
triple1
Bob is red.
("Bob" "is" "red" "+")
triple2
Bob is young.
("Bob" "is" "young" "+")
triple3
Fiona is big.
("Fiona" "is" "big" "+")
triple4
((((triple8 triple5) -> (rule8 % int2)) triple7) -> (rule2 % int1))
Fiona is big.
("Fiona" "is" "big" "+")
int1
Fiona is white.
("Fiona" "is" "white" "+")
int2
((((triple8 triple5) -> (rule8 % int3)) ((((triple8 triple5) -> (rule8 % int3))) -> (rule4 % int2))) -> (rule2 % int1))
Fiona is big.
("Fiona" "is" "big" "+")
int1
Fiona is kind.
("Fiona" "is" "kind" "+")
int2
Fiona is white.
("Fiona" "is" "white" "+")
int3
Fiona is blue.
("Fiona" "is" "blue" "+")
triple5
Fiona is cold.
("Fiona" "is" "cold" "+")
triple6
((triple4) -> (rule1 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
((((((triple8 triple5) -> (rule8 % int3)) triple7) -> (rule2 % int2))) -> (rule1 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
Fiona is big.
("Fiona" "is" "big" "+")
int2
Fiona is white.
("Fiona" "is" "white" "+")
int3
((((((triple8 triple5) -> (rule8 % int4)) ((((triple8 triple5) -> (rule8 % int4))) -> (rule4 % int3))) -> (rule2 % int2))) -> (rule1 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
Fiona is big.
("Fiona" "is" "big" "+")
int2
Fiona is kind.
("Fiona" "is" "kind" "+")
int3
Fiona is white.
("Fiona" "is" "white" "+")
int4
Fiona is kind.
("Fiona" "is" "kind" "+")
triple7
((((triple8 triple5) -> (rule8 % int2))) -> (rule4 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
Fiona is white.
("Fiona" "is" "white" "+")
int2
((((((triple5 triple4) -> (rule5 % int3)) triple5) -> (rule8 % int2))) -> (rule4 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
Fiona is white.
("Fiona" "is" "white" "+")
int2
Fiona is red.
("Fiona" "is" "red" "+")
int3
Fiona is red.
("Fiona" "is" "red" "+")
triple8
((triple5 triple4) -> (rule5 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Gary is big.
("Gary" "is" "big" "+")
triple9
Gary is blue.
("Gary" "is" "blue" "+")
triple10
Fiona is white.
("Fiona" "is" "white" "+")
((triple8 triple5) -> (rule8 % int1))
Fiona is white.
("Fiona" "is" "white" "+")
int1
((((triple5 triple4) -> (rule5 % int2)) triple5) -> (rule8 % int1))
Fiona is white.
("Fiona" "is" "white" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
int2
Gary is cold.
("Gary" "is" "cold" "+")
((triple9) -> (rule1 % int1))
Gary is cold.
("Gary" "is" "cold" "+")
int1
Gary is red.
("Gary" "is" "red" "+")
((triple10 triple9) -> (rule5 % int1))
Gary is red.
("Gary" "is" "red" "+")
int1
Gary is white.
("Gary" "is" "white" "+")
((((triple10 triple9) -> (rule5 % int2)) triple10) -> (rule8 % int1))
Gary is white.
("Gary" "is" "white" "+")
int1
Gary is red.
("Gary" "is" "red" "+")
int2
Gary is kind.
("Gary" "is" "kind" "+")
((((((triple10 triple9) -> (rule5 % int3)) triple10) -> (rule8 % int2))) -> (rule4 % int1))
Gary is kind.
("Gary" "is" "kind" "+")
int1
Gary is white.
("Gary" "is" "white" "+")
int2
Gary is red.
("Gary" "is" "red" "+")
int3