End PROGRAM_BEHAVIORS.
(** * Forward simulations and program behaviors *)
Section FORWARD_SIMULATIONS.
Context L1 L2 index order match_states (S: fsim_properties L1 L2 index order match_states).

(* Specifications: *)
Lemma forward_simulation_state_behaves:
forall i s1 s2 beh1,
match_states i s1 s2 -> state_behaves L1 s1 beh1 ->
exists beh2, state_behaves L2 s2 beh2 /\ behavior_improves beh1 beh2.
Lemma forward_simulation_state_behaves:
forall i s1 s2 beh1,
match_states i s1 s2 -> state_behaves L1 s1 beh1 ->
exists beh2, state_behaves L2 s2 beh2 /\ behavior_improves beh1 beh2.