1. A computerized method for cost optimized generation of a set of output grammatical sentences for conveying input propositions, comprising the following steps: providing a plurality of different corpus sentence instances, each of said corpus sentence instances including at least one proposition; providing a set of input propositions using a data entry element; calculating an initial upper bound (UB) of an expected optimized solution cost, wherein said calculating operations are performed by a processing unit and include: calculating a greedy set partition based UB, based on given insertion costs, given deletion costs, and given sentence boundary costs, the deletion cost representing a given cost of deleting a proposition from a corpus sentence instance, the inserti on cost representing a given cost of adding a proposition to a corpus sentence instance, and the sentence boundary cost representing a cost of a corpus sentence instance being included in the set of output sentences, calculating a greedy minimum set covering UB, based on the given insertion costs, the given deletion costs, and the given sentence boundary costs, calculating a one maximum overlapping sentence UB, based on the given insertion costs, the given deletion costs, and the given sentence boundary costs, comparing the greedy set partition based UB, the greedy minimum set covering UB, and the one maximum overlapping sentence based UB, and setting the UB based on the lowest UP identified by said comparing; initializing an overall cost, said overall cost including a deletion sum cost, an insertion sum cost and a sentence boundary sum cost; identifying all corpus sentence instances having at least one of the input propositions; forming a search tree structure having a search branch for each of said identified corpus sentence instances; exploring each search branch to form an explored search branch representing a possible solution, said exploring operations are performed by said processing unit and include: a) identifying one of the search branches; b) deleting propositions within the corpus sentence corresponding to the search branch that are not within the set of input propositions and, for each deletion, identifying a deletion cost; c) computing the deletion sum cost based on the deletion cost identified for each deletion; d) updating the overall cost based on said deletion sum cost; e) forming a set I having all propositions within the set of input propositions that are not within the corpus sentence instance corresponding to the search branch; f) identifying as E all possible subsets E j that can be formed from the propositions in I g) identifying one of the subsets E j of the propositions in I and updating I as I=I−E j h) inserting the one subset E j into the corpus sentence instance corresponding to the search branch; i) realizing all propositions in I as independent sentences and updating the overall cost based on the sentence boundary cost sum of said independent sentences; j) computing the insertion sum cost based on the insertion cost identified for each insertion, k) updating the overall cost based on said computed insertion sum cost, l) comparing the updated overall cost to said UB, m) performing the following computerized operations in the case the updated overall cost is higher than said UB: i) pruning the search branch, ii) determining if any subsets E j remain in E, iii) if any subsets E j remain then continue exploring the search branch by identifying another one of the subsets E j and repeating steps h through m, else iv) identifying the search branch as explored and determining if any search branches remain unexplored and, if any remain unexplored, identifying another search branch and repeating steps b) through m), else not repeating; and comparing the overall cost of the possible solutions represented by the search branches, and outputting to a data output element the lowest cost of the possible solutions as the optimized set of output grammatical sentences for conveying the input propositions.