Instantiation-based automated reasoning aims at combining the efficiency of propositional SAT and SMT technologies with the expressiveness of firstorder logic. Propositional SAT and SMT solvers are probably the most successful reasoners applied to real-world problems, due to extremely efficient propositional methods and optimized implementations. However, the expressiveness of firstorder logic is essential in many applications ranging from formal verification of software and hardware to knowledge representation and querying. Therefore, there is a growing demand to integrate efficient propositional and more generally ground reasoning modulo theories into first-order reasoning.The basic idea behind instantiation-based reasoning is to interleave smart generation of instances of first-order formulae with propositional type reasoning. Instantiation-based methods can be divided into two major categories: (i) finegrained interleaving of instantiation with efficient propositional inference rules, and (ii) modular combination of instantiation and propositional reasoning. Examples from the first category include the disconnection calculus (DCTP) [8,24], which combines instance generation with an efficient tableau data structure, and the model evolution calculus (ME) [6], which interleaves instance generation with DPLL style reasoning. Both DCTP and ME methods have advanced implementations DCTP [33] and Darwin [3], respectively.Our approach to instantiation-based reasoning [15,21] falls into the second category, where propositional reasoning is integrated in a modular fashion and was inspired by work on hyper-linking and its extensions (see [23,31,18]). The main advantage of the modular combination is that it allows one to use off-theshelf SAT/SMT solvers in the context of first-order reasoning. One of our main goals was to develop a flexible theoretical framework, called Inst-Gen, for modular combination of instantiation with propositional reasoning and more generally with ground reasoning modulo theories. This framework provides methods for proving completeness of instantiation calculi, powerful redundancy elimination criteria and flexible saturation strategies. All these ingredients are crucial for developing reasoning systems which can be used in practical applications. We also show that most of the powerful machinery developed in the resolution-based framework can be suitably adapted for the Inst-Gen method.Based on these theoretical results we have developed and implemented an automated reasoning system, called iProver [22]. iProver features state-of-theart implementation techniques such as unification and simplification indexes;Supported by The Royal Society