Bob is big. Bob is nice. Bob is quiet. Bob is rough. Bob is round. Charlie is quiet. Charlie is rough. Dave is green. Dave is nice. Erin is rough. Erin is round. Erin is smart. Rough things are big. If Dave is nice then Dave is green. If something is round then it is green. If something is green and quiet then it is nice. Rough, big things are round. Quiet, nice things are rough. All quiet, smart things are green. Quiet, smart things are nice. If something is nice then it is smart.
Bob is big.
("Bob" "is" "big" "+")
Bob is nice.
("Bob" "is" "nice" "+")
Bob is quiet.
("Bob" "is" "quiet" "+")
Bob is rough.
("Bob" "is" "rough" "+")
Bob is round.
("Bob" "is" "round" "+")
Charlie is quiet.
("Charlie" "is" "quiet" "+")
Charlie is rough.
("Charlie" "is" "rough" "+")
Dave is green.
("Dave" "is" "green" "+")
Dave is nice.
("Dave" "is" "nice" "+")
Erin is rough.
("Erin" "is" "rough" "+")
Erin is round.
("Erin" "is" "round" "+")
Erin is smart.
("Erin" "is" "smart" "+")
Rough things are big.
((("something" "is" "rough" "+")) -> ("something" "is" "big" "+"))
If Dave is nice then Dave is green.
((("Dave" "is" "nice" "+")) -> ("Dave" "is" "green" "+"))
If something is round then it is green.
((("something" "is" "round" "+")) -> ("something" "is" "green" "+"))
If something is green and quiet then it is nice.
((("something" "is" "green" "+") ("something" "is" "quiet" "+")) -> ("something" "is" "nice" "+"))
Rough, big things are round.
((("something" "is" "rough" "+") ("something" "is" "big" "+")) -> ("something" "is" "round" "+"))
Quiet, nice things are rough.
((("something" "is" "quiet" "+") ("something" "is" "nice" "+")) -> ("something" "is" "rough" "+"))
All quiet, smart things are green.
((("something" "is" "quiet" "+") ("something" "is" "smart" "+")) -> ("something" "is" "green" "+"))
Quiet, smart things are nice.
((("something" "is" "quiet" "+") ("something" "is" "smart" "+")) -> ("something" "is" "nice" "+"))
If something is nice then it is smart.
((("something" "is" "nice" "+")) -> ("something" "is" "smart" "+"))
Erin is rough.
True
1
proof
[(triple10)]
("Erin" "is" "rough" "+")
triple10
Charlie is not quiet.
False
1
inv-proof
[(triple6)]
("Charlie" "is" "quiet" "-")
triple6
Charlie is big.
True
2
proof
[(((triple7) -> rule1))]
("Charlie" "is" "big" "+")
((triple7) -> (rule1 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Bob is not smart.
False
2
inv-proof
[(((triple2) -> rule9) OR ((((((triple5) -> rule3) triple3) -> rule4)) -> rule9) OR ((((((((triple4 triple1) -> rule5)) -> rule3) triple3) -> rule4)) -> rule9) OR ((((((((triple4 ((triple4) -> rule1)) -> rule5)) -> rule3) triple3) -> rule4)) -> rule9))]
("Bob" "is" "smart" "-")
((triple2) -> (rule9 % int1))
Bob is smart.
("Bob" "is" "smart" "+")
int1
((((((triple5) -> (rule3 % int3)) triple3) -> (rule4 % int2))) -> (rule9 % int1))
Bob is smart.
("Bob" "is" "smart" "+")
int1
Bob is nice.
("Bob" "is" "nice" "+")
int2
Bob is green.
("Bob" "is" "green" "+")
int3
((((((((triple4 triple1) -> (rule5 % int4))) -> (rule3 % int3)) triple3) -> (rule4 % int2))) -> (rule9 % int1))
Bob is smart.
("Bob" "is" "smart" "+")
int1
Bob is nice.
("Bob" "is" "nice" "+")
int2
Bob is green.
("Bob" "is" "green" "+")
int3
Bob is round.
("Bob" "is" "round" "+")
int4
((((((((triple4 ((triple4) -> (rule1 % int5))) -> (rule5 % int4))) -> (rule3 % int3)) triple3) -> (rule4 % int2))) -> (rule9 % int1))
Bob is smart.
("Bob" "is" "smart" "+")
int1
Bob is nice.
("Bob" "is" "nice" "+")
int2
Bob is green.
("Bob" "is" "green" "+")
int3
Bob is round.
("Bob" "is" "round" "+")
int4
Bob is big.
("Bob" "is" "big" "+")
int5
Charlie is round.
True
4
proof
[(((triple7 ((triple7) -> rule1)) -> rule5))]
("Charlie" "is" "round" "+")
((triple7 ((triple7) -> (rule1 % int2))) -> (rule5 % int1))
Charlie is round.
("Charlie" "is" "round" "+")
int1
Charlie is big.
("Charlie" "is" "big" "+")
int2
Charlie is not round.
False
4
inv-proof
[(((triple7 ((triple7) -> rule1)) -> rule5))]
("Charlie" "is" "round" "-")
((triple7 ((triple7) -> (rule1 % int2))) -> (rule5 % int1))
Charlie is round.
("Charlie" "is" "round" "+")
int1
Charlie is big.
("Charlie" "is" "big" "+")
int2
Charlie is green.
True
5
proof
[(((((triple7 ((triple7) -> rule1)) -> rule5)) -> rule3))]
("Charlie" "is" "green" "+")
((((triple7 ((triple7) -> (rule1 % int3))) -> (rule5 % int2))) -> (rule3 % int1))
Charlie is green.
("Charlie" "is" "green" "+")
int1
Charlie is round.
("Charlie" "is" "round" "+")
int2
Charlie is big.
("Charlie" "is" "big" "+")
int3
Charlie is not green.
False
5
inv-proof
[(((((triple7 ((triple7) -> rule1)) -> rule5)) -> rule3))]
("Charlie" "is" "green" "-")
((((triple7 ((triple7) -> (rule1 % int3))) -> (rule5 % int2))) -> (rule3 % int1))
Charlie is green.
("Charlie" "is" "green" "+")
int1
Charlie is round.
("Charlie" "is" "round" "+")
int2
Charlie is big.
("Charlie" "is" "big" "+")
int3
Charlie is nice.
True
7
proof
[(((((((triple7 ((triple7) -> rule1)) -> rule5)) -> rule3) triple6) -> rule4))]
("Charlie" "is" "nice" "+")
((((((triple7 ((triple7) -> (rule1 % int4))) -> (rule5 % int3))) -> (rule3 % int2)) triple6) -> (rule4 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Charlie is green.
("Charlie" "is" "green" "+")
int2
Charlie is round.
("Charlie" "is" "round" "+")
int3
Charlie is big.
("Charlie" "is" "big" "+")
int4
Charlie is not nice.
False
7
inv-proof
[(((((((triple7 ((triple7) -> rule1)) -> rule5)) -> rule3) triple6) -> rule4))]
("Charlie" "is" "nice" "-")
((((((triple7 ((triple7) -> (rule1 % int4))) -> (rule5 % int3))) -> (rule3 % int2)) triple6) -> (rule4 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Charlie is green.
("Charlie" "is" "green" "+")
int2
Charlie is round.
("Charlie" "is" "round" "+")
int3
Charlie is big.
("Charlie" "is" "big" "+")
int4
Charlie is smart.
True
8
proof
[(((((((((triple7 ((triple7) -> rule1)) -> rule5)) -> rule3) triple6) -> rule4)) -> rule9))]
("Charlie" "is" "smart" "+")
((((((((triple7 ((triple7) -> (rule1 % int5))) -> (rule5 % int4))) -> (rule3 % int3)) triple6) -> (rule4 % int2))) -> (rule9 % int1))
Charlie is smart.
("Charlie" "is" "smart" "+")
int1
Charlie is nice.
("Charlie" "is" "nice" "+")
int2
Charlie is green.
("Charlie" "is" "green" "+")
int3
Charlie is round.
("Charlie" "is" "round" "+")
int4
Charlie is big.
("Charlie" "is" "big" "+")
int5
Charlie is not smart.
False
8
inv-proof
[(((((((((triple7 ((triple7) -> rule1)) -> rule5)) -> rule3) triple6) -> rule4)) -> rule9))]
("Charlie" "is" "smart" "-")
((((((((triple7 ((triple7) -> (rule1 % int5))) -> (rule5 % int4))) -> (rule3 % int3)) triple6) -> (rule4 % int2))) -> (rule9 % int1))
Charlie is smart.
("Charlie" "is" "smart" "+")
int1
Charlie is nice.
("Charlie" "is" "nice" "+")
int2
Charlie is green.
("Charlie" "is" "green" "+")
int3
Charlie is round.
("Charlie" "is" "round" "+")
int4
Charlie is big.
("Charlie" "is" "big" "+")
int5
Dave is not round.
Unknown
inv-rconc
[@2: Dave is round.[CWA. Example of deepest failure = (rule5 <- rule6 <- FAIL)]]
("Dave" "is" "round" "-")
Dave is rough.
Unknown
rconc
[@1: Dave is rough.[CWA. Example of deepest failure = (rule6 <- FAIL)]]
("Dave" "is" "rough" "+")
Erin is not nice.
Unknown
inv-rconc
[@1: Erin is nice.[CWA. Example of deepest failure = (rule4 <- FAIL)]]
("Erin" "is" "nice" "-")
Dave is big.
Unknown
rconc
[@2: Dave is big.[CWA. Example of deepest failure = (rule1 <- rule6 <- FAIL)]]
("Dave" "is" "big" "+")
Erin is not quiet.
Unknown
inv-random
[@0: Erin is quiet.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "quiet" "-")
Dave is quiet.
Unknown
random
[@0: Dave is quiet.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "quiet" "+")
@0: Bob is big.[(triple1 OR ((triple4) -> rule1) OR ((((triple3 triple2) -> rule6)) -> rule1) OR ((((triple3 ((((triple5) -> rule3) triple3) -> rule4)) -> rule6)) -> rule1))] Bob is nice.[(triple2 OR ((((triple5) -> rule3) triple3) -> rule4) OR ((((((triple4 triple1) -> rule5)) -> rule3) triple3) -> rule4) OR ((((((triple4 ((triple4) -> rule1)) -> rule5)) -> rule3) triple3) -> rule4))] Bob is quiet.[(triple3)] Bob is rough.[(triple4 OR ((triple3 triple2) -> rule6) OR ((triple3 ((((triple5) -> rule3) triple3) -> rule4)) -> rule6))] Bob is round.[(triple5 OR ((triple4 triple1) -> rule5) OR ((triple4 ((triple4) -> rule1)) -> rule5) OR ((((triple3 triple2) -> rule6) triple1) -> rule5) OR ((((triple3 triple2) -> rule6) ((triple4) -> rule1)) -> rule5) OR ((triple4 ((((triple3 triple2) -> rule6)) -> rule1)) -> rule5) OR ((((triple3 triple2) -> rule6) ((((triple3 triple2) -> rule6)) -> rule1)) -> rule5))] Charlie is quiet.[(triple6)] Charlie is rough.[(triple7)] Dave is green.[(triple8 OR ((triple9) -> rule2))] Dave is nice.[(triple9)] Erin is rough.[(triple10)] Erin is round.[(triple11 OR ((triple10 ((triple10) -> rule1)) -> rule5))] Erin is smart.[(triple12)] @1: Bob is green.[(((triple5) -> rule3) OR ((((triple4 triple1) -> rule5)) -> rule3) OR ((triple3 ((triple2) -> rule9)) -> rule7) OR ((((triple4 ((triple4) -> rule1)) -> rule5)) -> rule3) OR ((((((triple3 triple2) -> rule6) triple1) -> rule5)) -> rule3) OR ((((((triple3 triple2) -> rule6) ((triple4) -> rule1)) -> rule5)) -> rule3) OR ((((triple4 ((((triple3 triple2) -> rule6)) -> rule1)) -> rule5)) -> rule3) OR ((((((triple3 triple2) -> rule6) ((((triple3 triple2) -> rule6)) -> rule1)) -> rule5)) -> rule3))] Bob is smart.[(((triple2) -> rule9) OR ((((((triple5) -> rule3) triple3) -> rule4)) -> rule9) OR ((((((((triple4 triple1) -> rule5)) -> rule3) triple3) -> rule4)) -> rule9) OR ((((((((triple4 ((triple4) -> rule1)) -> rule5)) -> rule3) triple3) -> rule4)) -> rule9))] Charlie is big.[(((triple7) -> rule1))] Dave is smart.[(((triple9) -> rule9))] Erin is big.[(((triple10) -> rule1))] Erin is green.[(((triple11) -> rule3) OR ((((triple10 ((triple10) -> rule1)) -> rule5)) -> rule3))] @2: Charlie is round.[(((triple7 ((triple7) -> rule1)) -> rule5))] @3: Charlie is green.[(((((triple7 ((triple7) -> rule1)) -> rule5)) -> rule3))] @4: Charlie is nice.[(((((((triple7 ((triple7) -> rule1)) -> rule5)) -> rule3) triple6) -> rule4))] @5: Charlie is smart.[(((((((((triple7 ((triple7) -> rule1)) -> rule5)) -> rule3) triple6) -> rule4)) -> rule9))]
Bob is big.
("Bob" "is" "big" "+")
triple1
((triple4) -> (rule1 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
((((triple3 triple2) -> (rule6 % int2))) -> (rule1 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
Bob is rough.
("Bob" "is" "rough" "+")
int2
((((triple3 ((((triple5) -> (rule3 % int4)) triple3) -> (rule4 % int3))) -> (rule6 % int2))) -> (rule1 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
Bob is rough.
("Bob" "is" "rough" "+")
int2
Bob is nice.
("Bob" "is" "nice" "+")
int3
Bob is green.
("Bob" "is" "green" "+")
int4
Bob is nice.
("Bob" "is" "nice" "+")
triple2
((((triple5) -> (rule3 % int2)) triple3) -> (rule4 % int1))
Bob is nice.
("Bob" "is" "nice" "+")
int1
Bob is green.
("Bob" "is" "green" "+")
int2
((((((triple4 triple1) -> (rule5 % int3))) -> (rule3 % int2)) triple3) -> (rule4 % int1))
Bob is nice.
("Bob" "is" "nice" "+")
int1
Bob is green.
("Bob" "is" "green" "+")
int2
Bob is round.
("Bob" "is" "round" "+")
int3
((((((triple4 ((triple4) -> (rule1 % int4))) -> (rule5 % int3))) -> (rule3 % int2)) triple3) -> (rule4 % int1))
Bob is nice.
("Bob" "is" "nice" "+")
int1
Bob is green.
("Bob" "is" "green" "+")
int2
Bob is round.
("Bob" "is" "round" "+")
int3
Bob is big.
("Bob" "is" "big" "+")
int4
Bob is quiet.
("Bob" "is" "quiet" "+")
triple3
Bob is rough.
("Bob" "is" "rough" "+")
triple4
((triple3 triple2) -> (rule6 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
((triple3 ((((triple5) -> (rule3 % int3)) triple3) -> (rule4 % int2))) -> (rule6 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is nice.
("Bob" "is" "nice" "+")
int2
Bob is green.
("Bob" "is" "green" "+")
int3
Bob is round.
("Bob" "is" "round" "+")
triple5
((triple4 triple1) -> (rule5 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
((triple4 ((triple4) -> (rule1 % int2))) -> (rule5 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
Bob is big.
("Bob" "is" "big" "+")
int2
((((triple3 triple2) -> (rule6 % int2)) triple1) -> (rule5 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
Bob is rough.
("Bob" "is" "rough" "+")
int2
((((triple3 triple2) -> (rule6 % int3)) ((triple4) -> (rule1 % int2))) -> (rule5 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
Bob is big.
("Bob" "is" "big" "+")
int2
Bob is rough.
("Bob" "is" "rough" "+")
int3
((triple4 ((((triple3 triple2) -> (rule6 % int3))) -> (rule1 % int2))) -> (rule5 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
Bob is big.
("Bob" "is" "big" "+")
int2
Bob is rough.
("Bob" "is" "rough" "+")
int3
((((triple3 triple2) -> (rule6 % int3)) ((((triple3 triple2) -> (rule6 % int3))) -> (rule1 % int2))) -> (rule5 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
Bob is big.
("Bob" "is" "big" "+")
int2
Bob is rough.
("Bob" "is" "rough" "+")
int3
Charlie is quiet.
("Charlie" "is" "quiet" "+")
triple6
Charlie is rough.
("Charlie" "is" "rough" "+")
triple7
Dave is green.
("Dave" "is" "green" "+")
triple8
((triple9) -> (rule2 % int1))
Dave is green.
("Dave" "is" "green" "+")
int1
Dave is nice.
("Dave" "is" "nice" "+")
triple9
Erin is rough.
("Erin" "is" "rough" "+")
triple10
Erin is round.
("Erin" "is" "round" "+")
triple11
((triple10 ((triple10) -> (rule1 % int2))) -> (rule5 % int1))
Erin is round.
("Erin" "is" "round" "+")
int1
Erin is big.
("Erin" "is" "big" "+")
int2
Erin is smart.
("Erin" "is" "smart" "+")
triple12
Bob is green.
("Bob" "is" "green" "+")
((triple5) -> (rule3 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
((((triple4 triple1) -> (rule5 % int2))) -> (rule3 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Bob is round.
("Bob" "is" "round" "+")
int2
((triple3 ((triple2) -> (rule9 % int2))) -> (rule7 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Bob is smart.
("Bob" "is" "smart" "+")
int2
((((triple4 ((triple4) -> (rule1 % int3))) -> (rule5 % int2))) -> (rule3 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Bob is round.
("Bob" "is" "round" "+")
int2
Bob is big.
("Bob" "is" "big" "+")
int3
((((((triple3 triple2) -> (rule6 % int3)) triple1) -> (rule5 % int2))) -> (rule3 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Bob is round.
("Bob" "is" "round" "+")
int2
Bob is rough.
("Bob" "is" "rough" "+")
int3
((((((triple3 triple2) -> (rule6 % int4)) ((triple4) -> (rule1 % int3))) -> (rule5 % int2))) -> (rule3 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Bob is round.
("Bob" "is" "round" "+")
int2
Bob is big.
("Bob" "is" "big" "+")
int3
Bob is rough.
("Bob" "is" "rough" "+")
int4
((((triple4 ((((triple3 triple2) -> (rule6 % int4))) -> (rule1 % int3))) -> (rule5 % int2))) -> (rule3 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Bob is round.
("Bob" "is" "round" "+")
int2
Bob is big.
("Bob" "is" "big" "+")
int3
Bob is rough.
("Bob" "is" "rough" "+")
int4
((((((triple3 triple2) -> (rule6 % int4)) ((((triple3 triple2) -> (rule6 % int4))) -> (rule1 % int3))) -> (rule5 % int2))) -> (rule3 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Bob is round.
("Bob" "is" "round" "+")
int2
Bob is big.
("Bob" "is" "big" "+")
int3
Bob is rough.
("Bob" "is" "rough" "+")
int4
Bob is smart.
("Bob" "is" "smart" "+")
((triple2) -> (rule9 % int1))
Bob is smart.
("Bob" "is" "smart" "+")
int1
((((((triple5) -> (rule3 % int3)) triple3) -> (rule4 % int2))) -> (rule9 % int1))
Bob is smart.
("Bob" "is" "smart" "+")
int1
Bob is nice.
("Bob" "is" "nice" "+")
int2
Bob is green.
("Bob" "is" "green" "+")
int3
((((((((triple4 triple1) -> (rule5 % int4))) -> (rule3 % int3)) triple3) -> (rule4 % int2))) -> (rule9 % int1))
Bob is smart.
("Bob" "is" "smart" "+")
int1
Bob is nice.
("Bob" "is" "nice" "+")
int2
Bob is green.
("Bob" "is" "green" "+")
int3
Bob is round.
("Bob" "is" "round" "+")
int4
((((((((triple4 ((triple4) -> (rule1 % int5))) -> (rule5 % int4))) -> (rule3 % int3)) triple3) -> (rule4 % int2))) -> (rule9 % int1))
Bob is smart.
("Bob" "is" "smart" "+")
int1
Bob is nice.
("Bob" "is" "nice" "+")
int2
Bob is green.
("Bob" "is" "green" "+")
int3
Bob is round.
("Bob" "is" "round" "+")
int4
Bob is big.
("Bob" "is" "big" "+")
int5
Charlie is big.
("Charlie" "is" "big" "+")
((triple7) -> (rule1 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Dave is smart.
("Dave" "is" "smart" "+")
((triple9) -> (rule9 % int1))
Dave is smart.
("Dave" "is" "smart" "+")
int1
Erin is big.
("Erin" "is" "big" "+")
((triple10) -> (rule1 % int1))
Erin is big.
("Erin" "is" "big" "+")
int1
Erin is green.
("Erin" "is" "green" "+")
((triple11) -> (rule3 % int1))
Erin is green.
("Erin" "is" "green" "+")
int1
((((triple10 ((triple10) -> (rule1 % int3))) -> (rule5 % int2))) -> (rule3 % int1))
Erin is green.
("Erin" "is" "green" "+")
int1
Erin is round.
("Erin" "is" "round" "+")
int2
Erin is big.
("Erin" "is" "big" "+")
int3
Charlie is round.
("Charlie" "is" "round" "+")
((triple7 ((triple7) -> (rule1 % int2))) -> (rule5 % int1))
Charlie is round.
("Charlie" "is" "round" "+")
int1
Charlie is big.
("Charlie" "is" "big" "+")
int2
Charlie is green.
("Charlie" "is" "green" "+")
((((triple7 ((triple7) -> (rule1 % int3))) -> (rule5 % int2))) -> (rule3 % int1))
Charlie is green.
("Charlie" "is" "green" "+")
int1
Charlie is round.
("Charlie" "is" "round" "+")
int2
Charlie is big.
("Charlie" "is" "big" "+")
int3
Charlie is nice.
("Charlie" "is" "nice" "+")
((((((triple7 ((triple7) -> (rule1 % int4))) -> (rule5 % int3))) -> (rule3 % int2)) triple6) -> (rule4 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Charlie is green.
("Charlie" "is" "green" "+")
int2
Charlie is round.
("Charlie" "is" "round" "+")
int3
Charlie is big.
("Charlie" "is" "big" "+")
int4
Charlie is smart.
("Charlie" "is" "smart" "+")
((((((((triple7 ((triple7) -> (rule1 % int5))) -> (rule5 % int4))) -> (rule3 % int3)) triple6) -> (rule4 % int2))) -> (rule9 % int1))
Charlie is smart.
("Charlie" "is" "smart" "+")
int1
Charlie is nice.
("Charlie" "is" "nice" "+")
int2
Charlie is green.
("Charlie" "is" "green" "+")
int3
Charlie is round.
("Charlie" "is" "round" "+")
int4
Charlie is big.
("Charlie" "is" "big" "+")
int5