pattern c in |- *; elim c; auto.
Qed.
Inductive prod_3 (A B C : Set) : Set :=
triplet : A -> B -> C -> prod_3 A B C.
Section programming_3.
Variable A B C : Set.

(* Specifications: *)
Theorem fst_3 : prod_3 A B C -> A.
simple induction 1; try trivial.