(** Streicher's axiom K is a direct consequence of Uniqueness of Reflexive Identity Proofs *)

(* Specifications: *)
Lemma UIP_refl_on__Streicher_K_on (x : U) (P : x = x -> Prop) :
UIP_refl_on_ x -> Streicher_K_on_ x P.
Lemma UIP_refl__Streicher_K : UIP_refl_ -> Streicher_K_.
Proof (fun UIP_refl x P =>
@UIP_refl_on__Streicher_K_on x P (UIP_refl x)).
Lemma Streicher_K :
forall (x:U) (P:x = x -> Prop), P (eq_refl x) -> forall p:x = x, P p.