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