Bob is white. Erin is furry. Erin is nice. Erin is red. Erin is young. Fiona is green. Fiona is smart. Fiona is white. Fiona is young. Gary is green. Gary is smart. White people are smart. All green, red people are white. All smart, green people are nice. Smart people are furry. Young people are furry. If Bob is red then Bob is furry. If Gary is nice then Gary is green. Nice, smart people are young. If Bob is white and Bob is furry then Bob is green.
Bob is white.
("Bob" "is" "white" "+")
Erin is furry.
("Erin" "is" "furry" "+")
Erin is nice.
("Erin" "is" "nice" "+")
Erin is red.
("Erin" "is" "red" "+")
Erin is young.
("Erin" "is" "young" "+")
Fiona is green.
("Fiona" "is" "green" "+")
Fiona is smart.
("Fiona" "is" "smart" "+")
Fiona is white.
("Fiona" "is" "white" "+")
Fiona is young.
("Fiona" "is" "young" "+")
Gary is green.
("Gary" "is" "green" "+")
Gary is smart.
("Gary" "is" "smart" "+")
White people are smart.
((("someone" "is" "white" "+")) -> ("someone" "is" "smart" "+"))
All green, red people are white.
((("someone" "is" "green" "+") ("someone" "is" "red" "+")) -> ("someone" "is" "white" "+"))
All smart, green people are nice.
((("someone" "is" "smart" "+") ("someone" "is" "green" "+")) -> ("someone" "is" "nice" "+"))
Smart people are furry.
((("someone" "is" "smart" "+")) -> ("someone" "is" "furry" "+"))
Young people are furry.
((("someone" "is" "young" "+")) -> ("someone" "is" "furry" "+"))
If Bob is red then Bob is furry.
((("Bob" "is" "red" "+")) -> ("Bob" "is" "furry" "+"))
If Gary is nice then Gary is green.
((("Gary" "is" "nice" "+")) -> ("Gary" "is" "green" "+"))
Nice, smart people are young.
((("someone" "is" "nice" "+") ("someone" "is" "smart" "+")) -> ("someone" "is" "young" "+"))
If Bob is white and Bob is furry then Bob is green.
((("Bob" "is" "white" "+") ("Bob" "is" "furry" "+")) -> ("Bob" "is" "green" "+"))
Erin is nice.
True
1
proof
[(triple3)]
("Erin" "is" "nice" "+")
triple3
Erin is not furry.
False
1
inv-proof
[(triple2 OR ((triple5) -> rule5))]
("Erin" "is" "furry" "-")
triple2
((triple5) -> (rule5 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
Bob is smart.
True
2
proof
[(((triple1) -> rule1))]
("Bob" "is" "smart" "+")
((triple1) -> (rule1 % int1))
Bob is smart.
("Bob" "is" "smart" "+")
int1
Gary is not nice.
False
3
inv-proof
[(((triple11 triple10) -> rule3))]
("Gary" "is" "nice" "-")
((triple11 triple10) -> (rule3 % int1))
Gary is nice.
("Gary" "is" "nice" "+")
int1
Gary is young.
True
5
proof
[(((((triple11 triple10) -> rule3) triple11) -> rule8))]
("Gary" "is" "young" "+")
((((triple11 triple10) -> (rule3 % int2)) triple11) -> (rule8 % int1))
Gary is young.
("Gary" "is" "young" "+")
int1
Gary is nice.
("Gary" "is" "nice" "+")
int2
Gary is not young.
False
5
inv-proof
[(((((triple11 triple10) -> rule3) triple11) -> rule8))]
("Gary" "is" "young" "-")
((((triple11 triple10) -> (rule3 % int2)) triple11) -> (rule8 % int1))
Gary is young.
("Gary" "is" "young" "+")
int1
Gary is nice.
("Gary" "is" "nice" "+")
int2
Bob is green.
True
5
proof
[(((triple1 ((((triple1) -> rule1)) -> rule4)) -> rule9))]
("Bob" "is" "green" "+")
((triple1 ((((triple1) -> (rule1 % int3))) -> (rule4 % int2))) -> (rule9 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Bob is furry.
("Bob" "is" "furry" "+")
int2
Bob is smart.
("Bob" "is" "smart" "+")
int3
Bob is not green.
False
5
inv-proof
[(((triple1 ((((triple1) -> rule1)) -> rule4)) -> rule9))]
("Bob" "is" "green" "-")
((triple1 ((((triple1) -> (rule1 % int3))) -> (rule4 % int2))) -> (rule9 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Bob is furry.
("Bob" "is" "furry" "+")
int2
Bob is smart.
("Bob" "is" "smart" "+")
int3
Bob is nice.
True
8
proof
[(((((triple1) -> rule1) ((triple1 ((((triple1) -> rule1)) -> rule4)) -> rule9)) -> rule3))]
("Bob" "is" "nice" "+")
((((triple1) -> (rule1 % int4)) ((triple1 ((((triple1) -> (rule1 % int4))) -> (rule4 % int3))) -> (rule9 % int2))) -> (rule3 % int1))
Bob is nice.
("Bob" "is" "nice" "+")
int1
Bob is green.
("Bob" "is" "green" "+")
int2
Bob is furry.
("Bob" "is" "furry" "+")
int3
Bob is smart.
("Bob" "is" "smart" "+")
int4
Bob is not nice.
False
8
inv-proof
[(((((triple1) -> rule1) ((triple1 ((((triple1) -> rule1)) -> rule4)) -> rule9)) -> rule3))]
("Bob" "is" "nice" "-")
((((triple1) -> (rule1 % int4)) ((triple1 ((((triple1) -> (rule1 % int4))) -> (rule4 % int3))) -> (rule9 % int2))) -> (rule3 % int1))
Bob is nice.
("Bob" "is" "nice" "+")
int1
Bob is green.
("Bob" "is" "green" "+")
int2
Bob is furry.
("Bob" "is" "furry" "+")
int3
Bob is smart.
("Bob" "is" "smart" "+")
int4
Bob is young.
True
11
proof
[(((((((triple1) -> rule1) ((triple1 ((((triple1) -> rule1)) -> rule4)) -> rule9)) -> rule3) ((triple1) -> rule1)) -> rule8))]
("Bob" "is" "young" "+")
((((((triple1) -> (rule1 % int5)) ((triple1 ((((triple1) -> (rule1 % int5))) -> (rule4 % int4))) -> (rule9 % int3))) -> (rule3 % int2)) ((triple1) -> (rule1 % int5))) -> (rule8 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
Bob is nice.
("Bob" "is" "nice" "+")
int2
Bob is green.
("Bob" "is" "green" "+")
int3
Bob is furry.
("Bob" "is" "furry" "+")
int4
Bob is smart.
("Bob" "is" "smart" "+")
int5
Bob is not young.
False
11
inv-proof
[(((((((triple1) -> rule1) ((triple1 ((((triple1) -> rule1)) -> rule4)) -> rule9)) -> rule3) ((triple1) -> rule1)) -> rule8))]
("Bob" "is" "young" "-")
((((((triple1) -> (rule1 % int5)) ((triple1 ((((triple1) -> (rule1 % int5))) -> (rule4 % int4))) -> (rule9 % int3))) -> (rule3 % int2)) ((triple1) -> (rule1 % int5))) -> (rule8 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
Bob is nice.
("Bob" "is" "nice" "+")
int2
Bob is green.
("Bob" "is" "green" "+")
int3
Bob is furry.
("Bob" "is" "furry" "+")
int4
Bob is smart.
("Bob" "is" "smart" "+")
int5
Erin is not smart.
Unknown
inv-rconc
[@2: Erin is smart.[CWA. Example of deepest failure = (rule1 <- rule2 <- FAIL)]]
("Erin" "is" "smart" "-")
Gary is white.
Unknown
rconc
[@1: Gary is white.[CWA. Example of deepest failure = (rule2 <- FAIL)]]
("Gary" "is" "white" "+")
Erin is not white.
Unknown
inv-rconc
[@1: Erin is white.[CWA. Example of deepest failure = (rule2 <- FAIL)]]
("Erin" "is" "white" "-")
Fiona is red.
Unknown
random
[@0: Fiona is red.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "red" "+")
Gary is not red.
Unknown
inv-random
[@0: Gary is red.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "red" "-")
Bob is red.
Unknown
random
[@0: Bob is red.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "red" "+")
@0: Bob is white.[(triple1)] Erin is furry.[(triple2 OR ((triple5) -> rule5))] Erin is nice.[(triple3)] Erin is red.[(triple4)] Erin is young.[(triple5)] Fiona is green.[(triple6)] Fiona is smart.[(triple7 OR ((triple8) -> rule1))] Fiona is white.[(triple8)] Fiona is young.[(triple9 OR ((((triple7 triple6) -> rule3) triple7) -> rule8) OR ((((triple7 triple6) -> rule3) ((triple8) -> rule1)) -> rule8) OR ((((((triple8) -> rule1) triple6) -> rule3) triple7) -> rule8) OR ((((((triple8) -> rule1) triple6) -> rule3) ((triple8) -> rule1)) -> rule8))] Gary is green.[(triple10)] Gary is smart.[(triple11)] @1: Bob is smart.[(((triple1) -> rule1))] Fiona is furry.[(((triple7) -> rule4) OR ((triple9) -> rule5) OR ((((triple8) -> rule1)) -> rule4) OR ((((((triple7 triple6) -> rule3) triple7) -> rule8)) -> rule5) OR ((((((triple7 triple6) -> rule3) ((triple8) -> rule1)) -> rule8)) -> rule5) OR ((((((((triple8) -> rule1) triple6) -> rule3) triple7) -> rule8)) -> rule5) OR ((((((((triple8) -> rule1) triple6) -> rule3) ((triple8) -> rule1)) -> rule8)) -> rule5))] Fiona is nice.[(((triple7 triple6) -> rule3) OR ((((triple8) -> rule1) triple6) -> rule3))] Gary is furry.[(((triple11) -> rule4) OR ((((((triple11 triple10) -> rule3) triple11) -> rule8)) -> rule5))] Gary is nice.[(((triple11 triple10) -> rule3))] @2: Bob is furry.[(((((triple1) -> rule1)) -> rule4))] Gary is young.[(((((triple11 triple10) -> rule3) triple11) -> rule8))] @3: Bob is green.[(((triple1 ((((triple1) -> rule1)) -> rule4)) -> rule9))] @4: Bob is nice.[(((((triple1) -> rule1) ((triple1 ((((triple1) -> rule1)) -> rule4)) -> rule9)) -> rule3))] @5: Bob is young.[(((((((triple1) -> rule1) ((triple1 ((((triple1) -> rule1)) -> rule4)) -> rule9)) -> rule3) ((triple1) -> rule1)) -> rule8))]
Bob is white.
("Bob" "is" "white" "+")
triple1
Erin is furry.
("Erin" "is" "furry" "+")
triple2
((triple5) -> (rule5 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
Erin is nice.
("Erin" "is" "nice" "+")
triple3
Erin is red.
("Erin" "is" "red" "+")
triple4
Erin is young.
("Erin" "is" "young" "+")
triple5
Fiona is green.
("Fiona" "is" "green" "+")
triple6
Fiona is smart.
("Fiona" "is" "smart" "+")
triple7
((triple8) -> (rule1 % int1))
Fiona is smart.
("Fiona" "is" "smart" "+")
int1
Fiona is white.
("Fiona" "is" "white" "+")
triple8
Fiona is young.
("Fiona" "is" "young" "+")
triple9
((((triple7 triple6) -> (rule3 % int2)) triple7) -> (rule8 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
int2
((((triple7 triple6) -> (rule3 % int3)) ((triple8) -> (rule1 % int2))) -> (rule8 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Fiona is smart.
("Fiona" "is" "smart" "+")
int2
Fiona is nice.
("Fiona" "is" "nice" "+")
int3
((((((triple8) -> (rule1 % int3)) triple6) -> (rule3 % int2)) triple7) -> (rule8 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
int2
Fiona is smart.
("Fiona" "is" "smart" "+")
int3
((((((triple8) -> (rule1 % int3)) triple6) -> (rule3 % int2)) ((triple8) -> (rule1 % int3))) -> (rule8 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
int2
Fiona is smart.
("Fiona" "is" "smart" "+")
int3
Gary is green.
("Gary" "is" "green" "+")
triple10
Gary is smart.
("Gary" "is" "smart" "+")
triple11
Bob is smart.
("Bob" "is" "smart" "+")
((triple1) -> (rule1 % int1))
Bob is smart.
("Bob" "is" "smart" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
((triple7) -> (rule4 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
((triple9) -> (rule5 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
((((triple8) -> (rule1 % int2))) -> (rule4 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is smart.
("Fiona" "is" "smart" "+")
int2
((((((triple7 triple6) -> (rule3 % int3)) triple7) -> (rule8 % int2))) -> (rule5 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is young.
("Fiona" "is" "young" "+")
int2
Fiona is nice.
("Fiona" "is" "nice" "+")
int3
((((((triple7 triple6) -> (rule3 % int4)) ((triple8) -> (rule1 % int3))) -> (rule8 % int2))) -> (rule5 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is young.
("Fiona" "is" "young" "+")
int2
Fiona is smart.
("Fiona" "is" "smart" "+")
int3
Fiona is nice.
("Fiona" "is" "nice" "+")
int4
((((((((triple8) -> (rule1 % int4)) triple6) -> (rule3 % int3)) triple7) -> (rule8 % int2))) -> (rule5 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is young.
("Fiona" "is" "young" "+")
int2
Fiona is nice.
("Fiona" "is" "nice" "+")
int3
Fiona is smart.
("Fiona" "is" "smart" "+")
int4
((((((((triple8) -> (rule1 % int4)) triple6) -> (rule3 % int3)) ((triple8) -> (rule1 % int4))) -> (rule8 % int2))) -> (rule5 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is young.
("Fiona" "is" "young" "+")
int2
Fiona is nice.
("Fiona" "is" "nice" "+")
int3
Fiona is smart.
("Fiona" "is" "smart" "+")
int4
Fiona is nice.
("Fiona" "is" "nice" "+")
((triple7 triple6) -> (rule3 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
((((triple8) -> (rule1 % int2)) triple6) -> (rule3 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is smart.
("Fiona" "is" "smart" "+")
int2
Gary is furry.
("Gary" "is" "furry" "+")
((triple11) -> (rule4 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
((((((triple11 triple10) -> (rule3 % int3)) triple11) -> (rule8 % int2))) -> (rule5 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Gary is young.
("Gary" "is" "young" "+")
int2
Gary is nice.
("Gary" "is" "nice" "+")
int3
Gary is nice.
("Gary" "is" "nice" "+")
((triple11 triple10) -> (rule3 % int1))
Gary is nice.
("Gary" "is" "nice" "+")
int1
Bob is furry.
("Bob" "is" "furry" "+")
((((triple1) -> (rule1 % int2))) -> (rule4 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Bob is smart.
("Bob" "is" "smart" "+")
int2
Gary is young.
("Gary" "is" "young" "+")
((((triple11 triple10) -> (rule3 % int2)) triple11) -> (rule8 % int1))
Gary is young.
("Gary" "is" "young" "+")
int1
Gary is nice.
("Gary" "is" "nice" "+")
int2
Bob is green.
("Bob" "is" "green" "+")
((triple1 ((((triple1) -> (rule1 % int3))) -> (rule4 % int2))) -> (rule9 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Bob is furry.
("Bob" "is" "furry" "+")
int2
Bob is smart.
("Bob" "is" "smart" "+")
int3
Bob is nice.
("Bob" "is" "nice" "+")
((((triple1) -> (rule1 % int4)) ((triple1 ((((triple1) -> (rule1 % int4))) -> (rule4 % int3))) -> (rule9 % int2))) -> (rule3 % int1))
Bob is nice.
("Bob" "is" "nice" "+")
int1
Bob is green.
("Bob" "is" "green" "+")
int2
Bob is furry.
("Bob" "is" "furry" "+")
int3
Bob is smart.
("Bob" "is" "smart" "+")
int4
Bob is young.
("Bob" "is" "young" "+")
((((((triple1) -> (rule1 % int5)) ((triple1 ((((triple1) -> (rule1 % int5))) -> (rule4 % int4))) -> (rule9 % int3))) -> (rule3 % int2)) ((triple1) -> (rule1 % int5))) -> (rule8 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
Bob is nice.
("Bob" "is" "nice" "+")
int2
Bob is green.
("Bob" "is" "green" "+")
int3
Bob is furry.
("Bob" "is" "furry" "+")
int4
Bob is smart.
("Bob" "is" "smart" "+")
int5