A Logic of Arbitrary and Indefinite Objects, LA, has been developed as the logic for knowledge representation and reasoning systems designed to support natural language understanding and generation, and commonsense reasoning. The motivations for the design of LA are given, along with an informal introduction to the theory of arbitrary and indefinite objects, and to LA itself. LA is then formally defined by presenting its syntax, proof theory, and semantics, which are given via a translation scheme between LA and the standard classical First-Order Predicate Logic. Soundness is proved. The completeness theorem for LA is stated, and its proof is sketched. LA is being implemented as the logic of SNePS3, the latest member of the SNePS family of Knowledge Representation and Reasoning systems.