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