We propose a low-level way of combining distributional and logical ideas into a single formal system. This will be an instantiation of a more general system, adding weights to proof rules. These weights will not measure some sort of "confidence the proof is valid", but rather act as a way to prefer some proofs over others, where preference can mean "easier to process (for humans)" or "more coherent (combining words that make sense together)". The resulting system of weighted theorem proving can be implemented either as a best-first proof search strategy or as a polynomial-time approximation of proof search for NP-complete parsing problems. 1 introduction Type-logical grammars (and formal semantics in general) are agnostic about the meaning of atomic terms, such as those corresponding to nouns and verbs (though not about the meaning corresponding to words with logical content such as "not", "and", "all", "which"). Another way to see this is that in standard formal semantics, entailment only holds under strict identity of predicates. As a consequence, practical use of the output of a system computing such formal semantics depends to a large extent on the available world knowledge (Bos and Markert 2005), possibly stated in the form of additional axioms or meaning postulates, stating that "pub'' and "bar'' (in one meaning of the word) are synonyms, and that "good" and "bad" are antonyms, i.e. "bad" entails "not good" and inversely.