  We present a method for learning multi-stage tasks from demonstrations by
learning the logical structure and atomic propositions of a consistent linear
temporal logic (LTL) formula. The learner is given successful but potentially
suboptimal demonstrations, where the demonstrator is optimizing a cost function
while satisfying the LTL formula, and the cost function is uncertain to the
learner. Our algorithm uses the Karush-Kuhn-Tucker (KKT) optimality conditions
of the demonstrations together with a counterexample-guided falsification
strategy to learn the atomic proposition parameters and logical structure of
the LTL formula, respectively. We provide theoretical guarantees on the
conservativeness of the recovered atomic proposition sets, as well as
completeness in the search for finding an LTL formula consistent with the
demonstrations. We evaluate our method on high-dimensional nonlinear systems by
learning LTL formulas explaining multi-stage tasks on 7-DOF arm and quadrotor
systems and show that it outperforms competing methods for learning LTL
formulas from positive examples.
