Bob is furry. Charlie is furry. Charlie is white. Charlie is young. Fiona is blue. Fiona is kind. Gary is young. Young, cold people are kind. Kind people are furry. Young, white people are kind. If someone is kind then they are cold. All blue people are green. All furry, kind people are white. Young people are white. Furry people are blue. If Gary is cold and Gary is white then Gary is blue.
Bob is furry.
("Bob" "is" "furry" "+")
Charlie is furry.
("Charlie" "is" "furry" "+")
Charlie is white.
("Charlie" "is" "white" "+")
Charlie is young.
("Charlie" "is" "young" "+")
Fiona is blue.
("Fiona" "is" "blue" "+")
Fiona is kind.
("Fiona" "is" "kind" "+")
Gary is young.
("Gary" "is" "young" "+")
Young, cold people are kind.
((("someone" "is" "young" "+") ("someone" "is" "cold" "+")) -> ("someone" "is" "kind" "+"))
Kind people are furry.
((("someone" "is" "kind" "+")) -> ("someone" "is" "furry" "+"))
Young, white people are kind.
((("someone" "is" "young" "+") ("someone" "is" "white" "+")) -> ("someone" "is" "kind" "+"))
If someone is kind then they are cold.
((("someone" "is" "kind" "+")) -> ("someone" "is" "cold" "+"))
All blue people are green.
((("someone" "is" "blue" "+")) -> ("someone" "is" "green" "+"))
All furry, kind people are white.
((("someone" "is" "furry" "+") ("someone" "is" "kind" "+")) -> ("someone" "is" "white" "+"))
Young people are white.
((("someone" "is" "young" "+")) -> ("someone" "is" "white" "+"))
Furry people are blue.
((("someone" "is" "furry" "+")) -> ("someone" "is" "blue" "+"))
If Gary is cold and Gary is white then Gary is blue.
((("Gary" "is" "cold" "+") ("Gary" "is" "white" "+")) -> ("Gary" "is" "blue" "+"))
Charlie is young.
True
1
proof
[(triple4)]
("Charlie" "is" "young" "+")
triple4
Charlie is not young.
False
1
inv-proof
[(triple4)]
("Charlie" "is" "young" "-")
triple4
Gary is white.
True
2
proof
[(((triple7) -> rule7))]
("Gary" "is" "white" "+")
((triple7) -> (rule7 % int1))
Gary is white.
("Gary" "is" "white" "+")
int1
Charlie is not blue.
False
2
inv-proof
[(((triple2) -> rule8) OR ((((((triple4 triple3) -> rule3)) -> rule2)) -> rule8) OR ((((((triple4 ((triple4) -> rule7)) -> rule3)) -> rule2)) -> rule8))]
("Charlie" "is" "blue" "-")
((triple2) -> (rule8 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
((((((triple4 triple3) -> (rule3 % int3))) -> (rule2 % int2))) -> (rule8 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
int2
Charlie is kind.
("Charlie" "is" "kind" "+")
int3
((((((triple4 ((triple4) -> (rule7 % int4))) -> (rule3 % int3))) -> (rule2 % int2))) -> (rule8 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
int2
Charlie is kind.
("Charlie" "is" "kind" "+")
int3
Charlie is white.
("Charlie" "is" "white" "+")
int4
Bob is green.
True
3
proof
[(((((triple1) -> rule8)) -> rule5))]
("Bob" "is" "green" "+")
((((triple1) -> (rule8 % int2))) -> (rule5 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Bob is blue.
("Bob" "is" "blue" "+")
int2
Gary is not kind.
False
4
inv-proof
[(((triple7 ((triple7) -> rule7)) -> rule3))]
("Gary" "is" "kind" "-")
((triple7 ((triple7) -> (rule7 % int2))) -> (rule3 % int1))
Gary is kind.
("Gary" "is" "kind" "+")
int1
Gary is white.
("Gary" "is" "white" "+")
int2
Gary is cold.
True
5
proof
[(((((triple7 ((triple7) -> rule7)) -> rule3)) -> rule4))]
("Gary" "is" "cold" "+")
((((triple7 ((triple7) -> (rule7 % int3))) -> (rule3 % int2))) -> (rule4 % int1))
Gary is cold.
("Gary" "is" "cold" "+")
int1
Gary is kind.
("Gary" "is" "kind" "+")
int2
Gary is white.
("Gary" "is" "white" "+")
int3
Gary is not cold.
False
5
inv-proof
[(((((triple7 ((triple7) -> rule7)) -> rule3)) -> rule4))]
("Gary" "is" "cold" "-")
((((triple7 ((triple7) -> (rule7 % int3))) -> (rule3 % int2))) -> (rule4 % int1))
Gary is cold.
("Gary" "is" "cold" "+")
int1
Gary is kind.
("Gary" "is" "kind" "+")
int2
Gary is white.
("Gary" "is" "white" "+")
int3
Gary is blue.
True
6
proof
[(((((((triple7 ((triple7) -> rule7)) -> rule3)) -> rule2)) -> rule8) OR ((((((triple7 ((triple7) -> rule7)) -> rule3)) -> rule4) ((triple7) -> rule7)) -> rule9))]
("Gary" "is" "blue" "+")
((((((triple7 ((triple7) -> (rule7 % int4))) -> (rule3 % int3))) -> (rule2 % int2))) -> (rule8 % int1))
Gary is blue.
("Gary" "is" "blue" "+")
int1
Gary is furry.
("Gary" "is" "furry" "+")
int2
Gary is kind.
("Gary" "is" "kind" "+")
int3
Gary is white.
("Gary" "is" "white" "+")
int4
((((((triple7 ((triple7) -> (rule7 % int4))) -> (rule3 % int3))) -> (rule4 % int2)) ((triple7) -> (rule7 % int4))) -> (rule9 % int1))
Gary is blue.
("Gary" "is" "blue" "+")
int1
Gary is cold.
("Gary" "is" "cold" "+")
int2
Gary is kind.
("Gary" "is" "kind" "+")
int3
Gary is white.
("Gary" "is" "white" "+")
int4
Gary is not blue.
False
6
inv-proof
[(((((((triple7 ((triple7) -> rule7)) -> rule3)) -> rule2)) -> rule8) OR ((((((triple7 ((triple7) -> rule7)) -> rule3)) -> rule4) ((triple7) -> rule7)) -> rule9))]
("Gary" "is" "blue" "-")
((((((triple7 ((triple7) -> (rule7 % int4))) -> (rule3 % int3))) -> (rule2 % int2))) -> (rule8 % int1))
Gary is blue.
("Gary" "is" "blue" "+")
int1
Gary is furry.
("Gary" "is" "furry" "+")
int2
Gary is kind.
("Gary" "is" "kind" "+")
int3
Gary is white.
("Gary" "is" "white" "+")
int4
((((((triple7 ((triple7) -> (rule7 % int4))) -> (rule3 % int3))) -> (rule4 % int2)) ((triple7) -> (rule7 % int4))) -> (rule9 % int1))
Gary is blue.
("Gary" "is" "blue" "+")
int1
Gary is cold.
("Gary" "is" "cold" "+")
int2
Gary is kind.
("Gary" "is" "kind" "+")
int3
Gary is white.
("Gary" "is" "white" "+")
int4
Gary is green.
True
7
proof
[(((((((((triple7 ((triple7) -> rule7)) -> rule3)) -> rule2)) -> rule8)) -> rule5) OR ((((((((triple7 ((triple7) -> rule7)) -> rule3)) -> rule4) ((triple7) -> rule7)) -> rule9)) -> rule5))]
("Gary" "is" "green" "+")
((((((((triple7 ((triple7) -> (rule7 % int5))) -> (rule3 % int4))) -> (rule2 % int3))) -> (rule8 % int2))) -> (rule5 % int1))
Gary is green.
("Gary" "is" "green" "+")
int1
Gary is blue.
("Gary" "is" "blue" "+")
int2
Gary is furry.
("Gary" "is" "furry" "+")
int3
Gary is kind.
("Gary" "is" "kind" "+")
int4
Gary is white.
("Gary" "is" "white" "+")
int5
((((((((triple7 ((triple7) -> (rule7 % int5))) -> (rule3 % int4))) -> (rule4 % int3)) ((triple7) -> (rule7 % int5))) -> (rule9 % int2))) -> (rule5 % int1))
Gary is green.
("Gary" "is" "green" "+")
int1
Gary is blue.
("Gary" "is" "blue" "+")
int2
Gary is cold.
("Gary" "is" "cold" "+")
int3
Gary is kind.
("Gary" "is" "kind" "+")
int4
Gary is white.
("Gary" "is" "white" "+")
int5
Gary is not green.
False
7
inv-proof
[(((((((((triple7 ((triple7) -> rule7)) -> rule3)) -> rule2)) -> rule8)) -> rule5) OR ((((((((triple7 ((triple7) -> rule7)) -> rule3)) -> rule4) ((triple7) -> rule7)) -> rule9)) -> rule5))]
("Gary" "is" "green" "-")
((((((((triple7 ((triple7) -> (rule7 % int5))) -> (rule3 % int4))) -> (rule2 % int3))) -> (rule8 % int2))) -> (rule5 % int1))
Gary is green.
("Gary" "is" "green" "+")
int1
Gary is blue.
("Gary" "is" "blue" "+")
int2
Gary is furry.
("Gary" "is" "furry" "+")
int3
Gary is kind.
("Gary" "is" "kind" "+")
int4
Gary is white.
("Gary" "is" "white" "+")
int5
((((((((triple7 ((triple7) -> (rule7 % int5))) -> (rule3 % int4))) -> (rule4 % int3)) ((triple7) -> (rule7 % int5))) -> (rule9 % int2))) -> (rule5 % int1))
Gary is green.
("Gary" "is" "green" "+")
int1
Gary is blue.
("Gary" "is" "blue" "+")
int2
Gary is cold.
("Gary" "is" "cold" "+")
int3
Gary is kind.
("Gary" "is" "kind" "+")
int4
Gary is white.
("Gary" "is" "white" "+")
int5
Bob is not kind.
Unknown
inv-rconc
[@1: Bob is kind.[CWA. Example of deepest failure = (rule1 <- FAIL)]]
("Bob" "is" "kind" "-")
Bob is cold.
Unknown
rconc
[@2: Bob is cold.[CWA. Example of deepest failure = (rule4 <- rule1 <- FAIL)]]
("Bob" "is" "cold" "+")
Bob is not white.
Unknown
inv-rconc
[@2: Bob is white.[CWA. Example of deepest failure = (rule6 <- rule1 <- FAIL)]]
("Bob" "is" "white" "-")
Bob is young.
Unknown
random
[@0: Bob is young.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "young" "+")
@0: Bob is furry.[(triple1)] Charlie is furry.[(triple2 OR ((((triple4 triple3) -> rule3)) -> rule2) OR ((((triple4 ((triple4) -> rule7)) -> rule3)) -> rule2))] Charlie is white.[(triple3 OR ((triple4) -> rule7))] Charlie is young.[(triple4)] Fiona is blue.[(triple5 OR ((((triple6) -> rule2)) -> rule8))] Fiona is kind.[(triple6)] Gary is young.[(triple7)] @1: Bob is blue.[(((triple1) -> rule8))] Charlie is blue.[(((triple2) -> rule8) OR ((((((triple4 triple3) -> rule3)) -> rule2)) -> rule8) OR ((((((triple4 ((triple4) -> rule7)) -> rule3)) -> rule2)) -> rule8))] Charlie is kind.[(((triple4 triple3) -> rule3) OR ((triple4 ((triple4) -> rule7)) -> rule3))] Fiona is cold.[(((triple6) -> rule4))] Fiona is furry.[(((triple6) -> rule2))] Fiona is green.[(((triple5) -> rule5) OR ((((((triple6) -> rule2)) -> rule8)) -> rule5))] Gary is white.[(((triple7) -> rule7))] @2: Bob is green.[(((((triple1) -> rule8)) -> rule5))] Charlie is cold.[(((((triple4 triple3) -> rule3)) -> rule4) OR ((((triple4 ((triple4) -> rule7)) -> rule3)) -> rule4))] Charlie is green.[(((((triple2) -> rule8)) -> rule5) OR ((((((((triple4 triple3) -> rule3)) -> rule2)) -> rule8)) -> rule5) OR ((((((((triple4 ((triple4) -> rule7)) -> rule3)) -> rule2)) -> rule8)) -> rule5))] Fiona is white.[(((((triple6) -> rule2) triple6) -> rule6))] Gary is kind.[(((triple7 ((triple7) -> rule7)) -> rule3))] @3: Gary is cold.[(((((triple7 ((triple7) -> rule7)) -> rule3)) -> rule4))] Gary is furry.[(((((triple7 ((triple7) -> rule7)) -> rule3)) -> rule2))] @4: Gary is blue.[(((((((triple7 ((triple7) -> rule7)) -> rule3)) -> rule2)) -> rule8) OR ((((((triple7 ((triple7) -> rule7)) -> rule3)) -> rule4) ((triple7) -> rule7)) -> rule9))] @5: Gary is green.[(((((((((triple7 ((triple7) -> rule7)) -> rule3)) -> rule2)) -> rule8)) -> rule5) OR ((((((((triple7 ((triple7) -> rule7)) -> rule3)) -> rule4) ((triple7) -> rule7)) -> rule9)) -> rule5))]
Bob is furry.
("Bob" "is" "furry" "+")
triple1
Charlie is furry.
("Charlie" "is" "furry" "+")
triple2
((((triple4 triple3) -> (rule3 % int2))) -> (rule2 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Charlie is kind.
("Charlie" "is" "kind" "+")
int2
((((triple4 ((triple4) -> (rule7 % int3))) -> (rule3 % int2))) -> (rule2 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Charlie is kind.
("Charlie" "is" "kind" "+")
int2
Charlie is white.
("Charlie" "is" "white" "+")
int3
Charlie is white.
("Charlie" "is" "white" "+")
triple3
((triple4) -> (rule7 % int1))
Charlie is white.
("Charlie" "is" "white" "+")
int1
Charlie is young.
("Charlie" "is" "young" "+")
triple4
Fiona is blue.
("Fiona" "is" "blue" "+")
triple5
((((triple6) -> (rule2 % int2))) -> (rule8 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
int2
Fiona is kind.
("Fiona" "is" "kind" "+")
triple6
Gary is young.
("Gary" "is" "young" "+")
triple7
Bob is blue.
("Bob" "is" "blue" "+")
((triple1) -> (rule8 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
Charlie is blue.
("Charlie" "is" "blue" "+")
((triple2) -> (rule8 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
((((((triple4 triple3) -> (rule3 % int3))) -> (rule2 % int2))) -> (rule8 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
int2
Charlie is kind.
("Charlie" "is" "kind" "+")
int3
((((((triple4 ((triple4) -> (rule7 % int4))) -> (rule3 % int3))) -> (rule2 % int2))) -> (rule8 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
int2
Charlie is kind.
("Charlie" "is" "kind" "+")
int3
Charlie is white.
("Charlie" "is" "white" "+")
int4
Charlie is kind.
("Charlie" "is" "kind" "+")
((triple4 triple3) -> (rule3 % int1))
Charlie is kind.
("Charlie" "is" "kind" "+")
int1
((triple4 ((triple4) -> (rule7 % int2))) -> (rule3 % int1))
Charlie is kind.
("Charlie" "is" "kind" "+")
int1
Charlie is white.
("Charlie" "is" "white" "+")
int2
Fiona is cold.
("Fiona" "is" "cold" "+")
((triple6) -> (rule4 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
((triple6) -> (rule2 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is green.
("Fiona" "is" "green" "+")
((triple5) -> (rule5 % int1))
Fiona is green.
("Fiona" "is" "green" "+")
int1
((((((triple6) -> (rule2 % int3))) -> (rule8 % int2))) -> (rule5 % int1))
Fiona is green.
("Fiona" "is" "green" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
int2
Fiona is furry.
("Fiona" "is" "furry" "+")
int3
Gary is white.
("Gary" "is" "white" "+")
((triple7) -> (rule7 % int1))
Gary is white.
("Gary" "is" "white" "+")
int1
Bob is green.
("Bob" "is" "green" "+")
((((triple1) -> (rule8 % int2))) -> (rule5 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Bob is blue.
("Bob" "is" "blue" "+")
int2
Charlie is cold.
("Charlie" "is" "cold" "+")
((((triple4 triple3) -> (rule3 % int2))) -> (rule4 % int1))
Charlie is cold.
("Charlie" "is" "cold" "+")
int1
Charlie is kind.
("Charlie" "is" "kind" "+")
int2
((((triple4 ((triple4) -> (rule7 % int3))) -> (rule3 % int2))) -> (rule4 % int1))
Charlie is cold.
("Charlie" "is" "cold" "+")
int1
Charlie is kind.
("Charlie" "is" "kind" "+")
int2
Charlie is white.
("Charlie" "is" "white" "+")
int3
Charlie is green.
("Charlie" "is" "green" "+")
((((triple2) -> (rule8 % int2))) -> (rule5 % int1))
Charlie is green.
("Charlie" "is" "green" "+")
int1
Charlie is blue.
("Charlie" "is" "blue" "+")
int2
((((((((triple4 triple3) -> (rule3 % int4))) -> (rule2 % int3))) -> (rule8 % int2))) -> (rule5 % int1))
Charlie is green.
("Charlie" "is" "green" "+")
int1
Charlie is blue.
("Charlie" "is" "blue" "+")
int2
Charlie is furry.
("Charlie" "is" "furry" "+")
int3
Charlie is kind.
("Charlie" "is" "kind" "+")
int4
((((((((triple4 ((triple4) -> (rule7 % int5))) -> (rule3 % int4))) -> (rule2 % int3))) -> (rule8 % int2))) -> (rule5 % int1))
Charlie is green.
("Charlie" "is" "green" "+")
int1
Charlie is blue.
("Charlie" "is" "blue" "+")
int2
Charlie is furry.
("Charlie" "is" "furry" "+")
int3
Charlie is kind.
("Charlie" "is" "kind" "+")
int4
Charlie is white.
("Charlie" "is" "white" "+")
int5
Fiona is white.
("Fiona" "is" "white" "+")
((((triple6) -> (rule2 % int2)) triple6) -> (rule6 % int1))
Fiona is white.
("Fiona" "is" "white" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
int2
Gary is kind.
("Gary" "is" "kind" "+")
((triple7 ((triple7) -> (rule7 % int2))) -> (rule3 % int1))
Gary is kind.
("Gary" "is" "kind" "+")
int1
Gary is white.
("Gary" "is" "white" "+")
int2
Gary is cold.
("Gary" "is" "cold" "+")
((((triple7 ((triple7) -> (rule7 % int3))) -> (rule3 % int2))) -> (rule4 % int1))
Gary is cold.
("Gary" "is" "cold" "+")
int1
Gary is kind.
("Gary" "is" "kind" "+")
int2
Gary is white.
("Gary" "is" "white" "+")
int3
Gary is furry.
("Gary" "is" "furry" "+")
((((triple7 ((triple7) -> (rule7 % int3))) -> (rule3 % int2))) -> (rule2 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Gary is kind.
("Gary" "is" "kind" "+")
int2
Gary is white.
("Gary" "is" "white" "+")
int3
Gary is blue.
("Gary" "is" "blue" "+")
((((((triple7 ((triple7) -> (rule7 % int4))) -> (rule3 % int3))) -> (rule2 % int2))) -> (rule8 % int1))
Gary is blue.
("Gary" "is" "blue" "+")
int1
Gary is furry.
("Gary" "is" "furry" "+")
int2
Gary is kind.
("Gary" "is" "kind" "+")
int3
Gary is white.
("Gary" "is" "white" "+")
int4
((((((triple7 ((triple7) -> (rule7 % int4))) -> (rule3 % int3))) -> (rule4 % int2)) ((triple7) -> (rule7 % int4))) -> (rule9 % int1))
Gary is blue.
("Gary" "is" "blue" "+")
int1
Gary is cold.
("Gary" "is" "cold" "+")
int2
Gary is kind.
("Gary" "is" "kind" "+")
int3
Gary is white.
("Gary" "is" "white" "+")
int4
Gary is green.
("Gary" "is" "green" "+")
((((((((triple7 ((triple7) -> (rule7 % int5))) -> (rule3 % int4))) -> (rule2 % int3))) -> (rule8 % int2))) -> (rule5 % int1))
Gary is green.
("Gary" "is" "green" "+")
int1
Gary is blue.
("Gary" "is" "blue" "+")
int2
Gary is furry.
("Gary" "is" "furry" "+")
int3
Gary is kind.
("Gary" "is" "kind" "+")
int4
Gary is white.
("Gary" "is" "white" "+")
int5
((((((((triple7 ((triple7) -> (rule7 % int5))) -> (rule3 % int4))) -> (rule4 % int3)) ((triple7) -> (rule7 % int5))) -> (rule9 % int2))) -> (rule5 % int1))
Gary is green.
("Gary" "is" "green" "+")
int1
Gary is blue.
("Gary" "is" "blue" "+")
int2
Gary is cold.
("Gary" "is" "cold" "+")
int3
Gary is kind.
("Gary" "is" "kind" "+")
int4
Gary is white.
("Gary" "is" "white" "+")
int5