Section Safety.
Context (ST:Type)(SCH:Type).
Context (STEP:ST->SCH->ST->SCH-> Prop).
Context (valid: ST-> SCH -> Prop).
Hypothesis em: forall P, P \/ ~ P.

Lemma ksafe_safe:
(forall P: Prop, P \/ ~ P) ->
forall (propositional_extentionality: True),
forall (branches_finitely_on_the_state: forall x : ST,
@finite_on_x _ _ (possible_image (fun x y x' => exists y', STEP x y x' y') valid x)),
forall st,
(forall U : SCH, valid st U) ->
(forall n U, ksafe st U n) ->
(forall U, safe st U).