Model checking of recursion schemes, known as higher-order model checking, has actively been studied recently and is becoming a basis for verification of higher-order programs. Some practical model checking algorithms have been developed based on the reduction from model checking to intersection type inference, but they are not completely satisfactory. We propose a novel approach to developing ...