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