(* From the relation R, we derive a, dependently typed relation 
     RR for all elements satyisfying the predicate Filter*)
  Record TT :Type:= mkTT {thing: X; prf: Filter thing}.(* From the relation R, we derive a, dependently typed relation 
     RR for all elements satyisfying the predicate Filter*)
  Record TT :Type:= mkTT {thing: X; prf: Filter thing}.(* From the relation R, we derive a, dependently typed relation 
     RR for all elements satyisfying the predicate Filter*)
  Record TT :Type:= mkTT {thing: X; prf: Filter thing}.(* From the relation R, we derive a, dependently typed relation 
     RR for all elements satyisfying the predicate Filter*)
  Record TT :Type:= mkTT {thing: X; prf: Filter thing}.Inductive RR: TT->TT->Prop:=
  | stepstep: forall P x' (stp: R (thing P) x'), RR P (mkTT x' (preservation _ _ (prf P) stp)).Inductive RR: TT->TT->Prop:=
  | stepstep: forall P x' (stp: R (thing P) x'), RR P (mkTT x' (preservation _ _ (prf P) stp)).

Lemma unfiltered_to_filtered_safeN: forall n P, konig.safeN X R n (thing P) -> konig.safeN _ RR n P.