This paper deals with a particular type of generating set, called {\it prefix-free}, for a language. Given a language $L$ over an alphabet $\Sigma$, a set $G$ is a {\it generating set} of $L$, denoted by $L \sqsubseteq G$, if $L \subseteq G^+$. It is well known that a prefix-free set $G$ has the property of {\it unique decipherability} for all strings in $G^+$. We first show that for a language $L$, the class ${\cal PFG}_L$ of all prefix-free and reduced generating sets for $L$ is a complete lattice under the relation $\sqsubseteq$ and give explicitly the least element $G_L^{\inf}$ and the greatest element $G_L^{\sup}$. Especially we are concerned with the least element $G_L^{\inf}$ of the lattice. $G_L^{\inf}$ has a {\it good} property in the sense that every string in $L$ can be represented by the minimum number of strings in $G_L^{\inf}$ among ${\cal PFG}_L$. We give a necessary and sufficient condition for $G_L^{\inf}$ to be finite. Moreover, we present a polynomial time algorithm for computing $G_L^{\inf}$ with respect to the sum of lengths of strings in $L$ for a finite language $L$. For an infinite language, we consider the problem of identifying $G_L^{\inf}$ in the framework of {\it identification in the limit} proposed by Gold for language learning, and give a polynomial time learning algorithm for computing $G_L^{\inf}$, provided that the target $G_L^{\inf}$ is finite.