We define a new unification problem, which we call β-unification and which can be used to characterize the β-strong normalization of terms in the λ-calculus. We prove the undecidability of β-unification, its connection with the system of intersection types, and several of its basic properties.

Various static analyses of functional programming languages
that permit infinite data structures make use of set
constants like Top, Inf, and Bot, denoting
all terms, all lists not eventually ending in Nil, and
all non-terminating programs, respectively. We use a set
language that permits union, constructors and recursive
definition of set constants with a greatest fixpoint semantics
in the set of all, also infinite, computable trees,
where all term constructors are non-strict.
This...