  In conic linear programming -- in contrast to linear programming -- the
Lagrange dual is not an exact dual: it may not attain its optimal value, or
there may be a positive duality gap. The corresponding Farkas' lemma is also
not exact (it does not always prove infeasibility). We describe exact duals,
and certificates of infeasibility and weak infeasibility for conic LPs which
are nearly as simple as the Lagrange dual, but do not rely on any constraint
qualification. Some of our exact duals generalize the SDP duals of Ramana, and
Klep and Schweighofer to the context of general conic LPs. Some of our
infeasibility certificates generalize the row echelon form of a linear system
of equations: they consist of a small, trivially infeasible subsystem obtained
by elementary row operations. We prove analogous results for weakly infeasible
systems.
  We obtain some fundamental geometric corollaries: an exact characterization
of when the linear image of a closed convex cone is closed, and an exact
characterization of nice cones.
  Our infeasibility certificates provide algorithms to generate {\em all}
infeasible conic LPs over several important classes of cones; and {\em all}
weakly infeasible SDPs in a natural class. Using these algorithms we generate a
public domain library of infeasible and weakly infeasible SDPs. The status of
our instances can be verified by inspection in exact arithmetic, but they turn
out to be challenging for commercial and research codes.
