Given a Horn CNF representing a Boolean function f, the problem of Horn min
imization consists in constructing a CNF representation of f which has a mi
nimum possible number of clauses. This problem is the formalization of the
problem of knowledge compression for speeding up queries to propositional H
orn expert systems, and it is known to be NP-hard. In this paper we present
a linear time algorithm which takes a Horn CNF as an input, and through a
series of decompositions reduces the minimization of the input CNF to the m
inimization problem on a "shorter" CNF. The correctness of this decompositi
on algorithm rests on several interesting properties of Horn functions whic
h, as we prove here, turn out to be independent of the particular CNF repre
sentations.