Bob is big. Bob is young. Charlie is furry. Charlie is nice. Erin is green. Fiona is white. Fiona is young. If something is white then it is green. If something is big then it is white. If Fiona is kind and Fiona is green then Fiona is furry. Furry things are big. White, green things are kind. If something is young and not kind then it is nice. All kind, big things are nice.
Bob is big.
("Bob" "is" "big" "+")
Bob is young.
("Bob" "is" "young" "+")
Charlie is furry.
("Charlie" "is" "furry" "+")
Charlie is nice.
("Charlie" "is" "nice" "+")
Erin is green.
("Erin" "is" "green" "+")
Fiona is white.
("Fiona" "is" "white" "+")
Fiona is young.
("Fiona" "is" "young" "+")
If something is white then it is green.
((("something" "is" "white" "+")) -> ("something" "is" "green" "+"))
If something is big then it is white.
((("something" "is" "big" "+")) -> ("something" "is" "white" "+"))
If Fiona is kind and Fiona is green then Fiona is furry.
((("Fiona" "is" "kind" "+") ("Fiona" "is" "green" "+")) -> ("Fiona" "is" "furry" "+"))
Furry things are big.
((("something" "is" "furry" "+")) -> ("something" "is" "big" "+"))
White, green things are kind.
((("something" "is" "white" "+") ("something" "is" "green" "+")) -> ("something" "is" "kind" "+"))
If something is young and not kind then it is nice.
((("something" "is" "young" "+") ("something" "is" "kind" "~")) -> ("something" "is" "nice" "+"))
All kind, big things are nice.
((("something" "is" "kind" "+") ("something" "is" "big" "+")) -> ("something" "is" "nice" "+"))
Bob is big.
True
1
proof
[(triple1)]
("Bob" "is" "big" "+")
triple1
Charlie is not furry.
False
1
inv-proof
[(triple3)]
("Charlie" "is" "furry" "-")
triple3
Fiona is green.
True
2
proof
[(((triple6) -> rule1))]
("Fiona" "is" "green" "+")
((triple6) -> (rule1 % int1))
Fiona is green.
("Fiona" "is" "green" "+")
int1
Charlie is not big.
False
2
inv-proof
[(((triple3) -> rule4))]
("Charlie" "is" "big" "-")
((triple3) -> (rule4 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Fiona is kind.
True
4
proof
[(((triple6 ((triple6) -> rule1)) -> rule5))]
("Fiona" "is" "kind" "+")
((triple6 ((triple6) -> (rule1 % int2))) -> (rule5 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
Fiona is green.
("Fiona" "is" "green" "+")
int2
Fiona is not kind.
False
4
inv-proof
[(((triple6 ((triple6) -> rule1)) -> rule5))]
("Fiona" "is" "kind" "-")
((triple6 ((triple6) -> (rule1 % int2))) -> (rule5 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
Fiona is green.
("Fiona" "is" "green" "+")
int2
Charlie is green.
True
4
proof
[(((((((triple3) -> rule4)) -> rule2)) -> rule1))]
("Charlie" "is" "green" "+")
((((((triple3) -> (rule4 % int3))) -> (rule2 % int2))) -> (rule1 % int1))
Charlie is green.
("Charlie" "is" "green" "+")
int1
Charlie is white.
("Charlie" "is" "white" "+")
int2
Charlie is big.
("Charlie" "is" "big" "+")
int3
Fiona is not furry.
False
7
inv-proof
[(((((triple6 ((triple6) -> rule1)) -> rule5) ((triple6) -> rule1)) -> rule3))]
("Fiona" "is" "furry" "-")
((((triple6 ((triple6) -> (rule1 % int3))) -> (rule5 % int2)) ((triple6) -> (rule1 % int3))) -> (rule3 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is kind.
("Fiona" "is" "kind" "+")
int2
Fiona is green.
("Fiona" "is" "green" "+")
int3
Charlie is kind.
True
8
proof
[(((((((triple3) -> rule4)) -> rule2) ((((((triple3) -> rule4)) -> rule2)) -> rule1)) -> rule5))]
("Charlie" "is" "kind" "+")
((((((triple3) -> (rule4 % int4))) -> (rule2 % int3)) ((((((triple3) -> (rule4 % int4))) -> (rule2 % int3))) -> (rule1 % int2))) -> (rule5 % int1))
Charlie is kind.
("Charlie" "is" "kind" "+")
int1
Charlie is green.
("Charlie" "is" "green" "+")
int2
Charlie is white.
("Charlie" "is" "white" "+")
int3
Charlie is big.
("Charlie" "is" "big" "+")
int4
Charlie is not kind.
False
8
inv-proof
[(((((((triple3) -> rule4)) -> rule2) ((((((triple3) -> rule4)) -> rule2)) -> rule1)) -> rule5))]
("Charlie" "is" "kind" "-")
((((((triple3) -> (rule4 % int4))) -> (rule2 % int3)) ((((((triple3) -> (rule4 % int4))) -> (rule2 % int3))) -> (rule1 % int2))) -> (rule5 % int1))
Charlie is kind.
("Charlie" "is" "kind" "+")
int1
Charlie is green.
("Charlie" "is" "green" "+")
int2
Charlie is white.
("Charlie" "is" "white" "+")
int3
Charlie is big.
("Charlie" "is" "big" "+")
int4
Fiona is nice.
True
13
proof
[(((((triple6 ((triple6) -> rule1)) -> rule5) ((((((triple6 ((triple6) -> rule1)) -> rule5) ((triple6) -> rule1)) -> rule3)) -> rule4)) -> rule7))]
("Fiona" "is" "nice" "+")
((((triple6 ((triple6) -> (rule1 % int5))) -> (rule5 % int4)) ((((((triple6 ((triple6) -> (rule1 % int5))) -> (rule5 % int4)) ((triple6) -> (rule1 % int5))) -> (rule3 % int3))) -> (rule4 % int2))) -> (rule7 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is big.
("Fiona" "is" "big" "+")
int2
Fiona is furry.
("Fiona" "is" "furry" "+")
int3
Fiona is kind.
("Fiona" "is" "kind" "+")
int4
Fiona is green.
("Fiona" "is" "green" "+")
int5
Fiona is not nice.
False
13
inv-proof
[(((((triple6 ((triple6) -> rule1)) -> rule5) ((((((triple6 ((triple6) -> rule1)) -> rule5) ((triple6) -> rule1)) -> rule3)) -> rule4)) -> rule7))]
("Fiona" "is" "nice" "-")
((((triple6 ((triple6) -> (rule1 % int5))) -> (rule5 % int4)) ((((((triple6 ((triple6) -> (rule1 % int5))) -> (rule5 % int4)) ((triple6) -> (rule1 % int5))) -> (rule3 % int3))) -> (rule4 % int2))) -> (rule7 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is big.
("Fiona" "is" "big" "+")
int2
Fiona is furry.
("Fiona" "is" "furry" "+")
int3
Fiona is kind.
("Fiona" "is" "kind" "+")
int4
Fiona is green.
("Fiona" "is" "green" "+")
int5
Erin is not nice.
Unknown
inv-rconc
[@2: Erin is nice.[CWA. Example of deepest failure = (rule7 <- rule4 <- FAIL)]]
("Erin" "is" "nice" "-")
Erin is kind.
Unknown
rconc
[@3: Erin is kind.[CWA. Example of deepest failure = (rule5 <- rule2 <- rule4 <- FAIL)]]
("Erin" "is" "kind" "+")
Erin is not big.
Unknown
inv-rconc
[@1: Erin is big.[CWA. Example of deepest failure = (rule4 <- FAIL)]]
("Erin" "is" "big" "-")
Erin is white.
Unknown
rconc
[@2: Erin is white.[CWA. Example of deepest failure = (rule2 <- rule4 <- FAIL)]]
("Erin" "is" "white" "+")
Bob is not furry.
Unknown
inv-random
[@0: Bob is furry.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "furry" "-")
Erin is young.
Unknown
random
[@0: Erin is young.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "young" "+")
Erin is not furry.
Unknown
inv-random
[@0: Erin is furry.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "furry" "-")
Charlie is young.
Unknown
random
[@0: Charlie is young.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "young" "+")
@0: Bob is big.[(triple1)] Bob is young.[(triple2)] Charlie is furry.[(triple3)] Charlie is nice.[(triple4 OR ((((((((triple3) -> rule4)) -> rule2) ((((((triple3) -> rule4)) -> rule2)) -> rule1)) -> rule5) ((triple3) -> rule4)) -> rule7))] Erin is green.[(triple5)] Fiona is white.[(triple6)] Fiona is young.[(triple7)] @1: Bob is white.[(((triple1) -> rule2))] Charlie is big.[(((triple3) -> rule4))] Fiona is green.[(((triple6) -> rule1))] @2: Bob is green.[(((((triple1) -> rule2)) -> rule1))] Charlie is white.[(((((triple3) -> rule4)) -> rule2))] Fiona is kind.[(((triple6 ((triple6) -> rule1)) -> rule5))] @3: Bob is kind.[(((((triple1) -> rule2) ((((triple1) -> rule2)) -> rule1)) -> rule5))] Charlie is green.[(((((((triple3) -> rule4)) -> rule2)) -> rule1))] Fiona is furry.[(((((triple6 ((triple6) -> rule1)) -> rule5) ((triple6) -> rule1)) -> rule3))] @4: Bob is nice.[(((((((triple1) -> rule2) ((((triple1) -> rule2)) -> rule1)) -> rule5) triple1) -> rule7))] Charlie is kind.[(((((((triple3) -> rule4)) -> rule2) ((((((triple3) -> rule4)) -> rule2)) -> rule1)) -> rule5))] Fiona is big.[(((((((triple6 ((triple6) -> rule1)) -> rule5) ((triple6) -> rule1)) -> rule3)) -> rule4))] @5: Fiona is nice.[(((((triple6 ((triple6) -> rule1)) -> rule5) ((((((triple6 ((triple6) -> rule1)) -> rule5) ((triple6) -> rule1)) -> rule3)) -> rule4)) -> rule7))]
Bob is big.
("Bob" "is" "big" "+")
triple1
Bob is young.
("Bob" "is" "young" "+")
triple2
Charlie is furry.
("Charlie" "is" "furry" "+")
triple3
Charlie is nice.
("Charlie" "is" "nice" "+")
triple4
((((((((triple3) -> (rule4 % int5))) -> (rule2 % int4)) ((((((triple3) -> (rule4 % int5))) -> (rule2 % int4))) -> (rule1 % int3))) -> (rule5 % int2)) ((triple3) -> (rule4 % int5))) -> (rule7 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Charlie is kind.
("Charlie" "is" "kind" "+")
int2
Charlie is green.
("Charlie" "is" "green" "+")
int3
Charlie is white.
("Charlie" "is" "white" "+")
int4
Charlie is big.
("Charlie" "is" "big" "+")
int5
Erin is green.
("Erin" "is" "green" "+")
triple5
Fiona is white.
("Fiona" "is" "white" "+")
triple6
Fiona is young.
("Fiona" "is" "young" "+")
triple7
Bob is white.
("Bob" "is" "white" "+")
((triple1) -> (rule2 % int1))
Bob is white.
("Bob" "is" "white" "+")
int1
Charlie is big.
("Charlie" "is" "big" "+")
((triple3) -> (rule4 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Fiona is green.
("Fiona" "is" "green" "+")
((triple6) -> (rule1 % int1))
Fiona is green.
("Fiona" "is" "green" "+")
int1
Bob is green.
("Bob" "is" "green" "+")
((((triple1) -> (rule2 % int2))) -> (rule1 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Bob is white.
("Bob" "is" "white" "+")
int2
Charlie is white.
("Charlie" "is" "white" "+")
((((triple3) -> (rule4 % int2))) -> (rule2 % int1))
Charlie is white.
("Charlie" "is" "white" "+")
int1
Charlie is big.
("Charlie" "is" "big" "+")
int2
Fiona is kind.
("Fiona" "is" "kind" "+")
((triple6 ((triple6) -> (rule1 % int2))) -> (rule5 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
Fiona is green.
("Fiona" "is" "green" "+")
int2
Bob is kind.
("Bob" "is" "kind" "+")
((((triple1) -> (rule2 % int3)) ((((triple1) -> (rule2 % int3))) -> (rule1 % int2))) -> (rule5 % int1))
Bob is kind.
("Bob" "is" "kind" "+")
int1
Bob is green.
("Bob" "is" "green" "+")
int2
Bob is white.
("Bob" "is" "white" "+")
int3
Charlie is green.
("Charlie" "is" "green" "+")
((((((triple3) -> (rule4 % int3))) -> (rule2 % int2))) -> (rule1 % int1))
Charlie is green.
("Charlie" "is" "green" "+")
int1
Charlie is white.
("Charlie" "is" "white" "+")
int2
Charlie is big.
("Charlie" "is" "big" "+")
int3
Fiona is furry.
("Fiona" "is" "furry" "+")
((((triple6 ((triple6) -> (rule1 % int3))) -> (rule5 % int2)) ((triple6) -> (rule1 % int3))) -> (rule3 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is kind.
("Fiona" "is" "kind" "+")
int2
Fiona is green.
("Fiona" "is" "green" "+")
int3
Bob is nice.
("Bob" "is" "nice" "+")
((((((triple1) -> (rule2 % int4)) ((((triple1) -> (rule2 % int4))) -> (rule1 % int3))) -> (rule5 % int2)) triple1) -> (rule7 % int1))
Bob is nice.
("Bob" "is" "nice" "+")
int1
Bob is kind.
("Bob" "is" "kind" "+")
int2
Bob is green.
("Bob" "is" "green" "+")
int3
Bob is white.
("Bob" "is" "white" "+")
int4
Charlie is kind.
("Charlie" "is" "kind" "+")
((((((triple3) -> (rule4 % int4))) -> (rule2 % int3)) ((((((triple3) -> (rule4 % int4))) -> (rule2 % int3))) -> (rule1 % int2))) -> (rule5 % int1))
Charlie is kind.
("Charlie" "is" "kind" "+")
int1
Charlie is green.
("Charlie" "is" "green" "+")
int2
Charlie is white.
("Charlie" "is" "white" "+")
int3
Charlie is big.
("Charlie" "is" "big" "+")
int4
Fiona is big.
("Fiona" "is" "big" "+")
((((((triple6 ((triple6) -> (rule1 % int4))) -> (rule5 % int3)) ((triple6) -> (rule1 % int4))) -> (rule3 % int2))) -> (rule4 % int1))
Fiona is big.
("Fiona" "is" "big" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
int2
Fiona is kind.
("Fiona" "is" "kind" "+")
int3
Fiona is green.
("Fiona" "is" "green" "+")
int4
Fiona is nice.
("Fiona" "is" "nice" "+")
((((triple6 ((triple6) -> (rule1 % int5))) -> (rule5 % int4)) ((((((triple6 ((triple6) -> (rule1 % int5))) -> (rule5 % int4)) ((triple6) -> (rule1 % int5))) -> (rule3 % int3))) -> (rule4 % int2))) -> (rule7 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is big.
("Fiona" "is" "big" "+")
int2
Fiona is furry.
("Fiona" "is" "furry" "+")
int3
Fiona is kind.
("Fiona" "is" "kind" "+")
int4
Fiona is green.
("Fiona" "is" "green" "+")
int5