Try these: [apply] [grind .] for pattern: [@Membership.mem #4 (List _) _ #1 #3, @Membership.mem _ (List _) _ (@List.cons _ #2 #1) #3] [apply] [grind →] for pattern: [@Membership.mem #4 (List _) _ (@List.cons _ #2 #1) #3] [apply] [grind! .] for pattern: [@Membership.mem #4 (List _) _ #1 #3, @List.cons _ #2 #1] Try these: [apply] [grind .] for pattern: [@Membership.mem #2 (List _) _ (@List.cons _ #1 #0) #1] [apply] [grind! .] for pattern: [@List.cons #2 #1 #0] Try these: [apply] [grind .] for pattern: [@Membership.mem #4 (List _) _ (@List.cons _ #3 #1) #2] [apply] [grind =>] for pattern: [@Membership.mem #4 (List _) _ #1 #2, @Membership.mem _ (List _) _ (@List.cons _ #3 #1) #2] [apply] [grind! =>] for pattern: [@Membership.mem #4 (List _) _ #1 #2, @List.cons _ #3 #1]