include "LTL/LTLToLIN.ma". include "LTL/LTL_semantics.ma". include "LIN/LIN_semantics.ma". include "joint/Traces.ma". include "common/StatusSimulation.ma". (* this should come directly from linearise proof *) axiom LTLToLIN_ok : ∀stacksizes : ident → option ℕ. (* are hypotheses needed here? *) ∀p_in : joint_program LTL. let p_out ≝ ltl_to_lin p_in in ∃[1] R. status_simulation (joint_status LTL_semantics p_in stacksizes) (joint_status LIN_semantics p_out stacksizes) R ∧ ∀init_in.make_initial_state (mk_prog_params LTL_semantics p_in stacksizes) = OK … init_in → ∃init_out. make_initial_state (mk_prog_params LIN_semantics p_out stacksizes) = OK ? init_out ∧ R init_in init_out.