proposition: Lemma axiom_15 : forall {A : Type'} (a : list A), (@_mk_list A (@_dest_list A a)) = a.
proof: Proof. intros A l. unfold _mk_list. match goal with [|- ε ?x = _] => set (L' := x); set (l' := ε L') end. assert (i : exists l', L' l'). exists l. reflexivity. generalize (ε_spec i). fold l'. unfold L', _mk_list_pred. apply _dest_list_inj. Qed.
imports: Coq.Logic.ClassicalEpsilon ClassicalFacts PropExtensionalityFacts Lia PeanoNat ProofIrrelevance