source: src/ERTL/ERTLToLTLAxiom.ma @ 3018

Last change on this file since 3018 was 3014, checked in by tranquil, 7 years ago

ERTL to ERTLptr pass suppressed (it introduced a bug in the later ERTLptr to LTL), and integrated in a single ERTToLTL pass like before

File size: 976 bytes
Line 
1include "ERTL/ERTLToLTL.ma".
2include "ERTL/ERTL_semantics.ma".
3include "LTL/LTL_semantics.ma".
4include "joint/Traces.ma".
5include "common/StatusSimulation.ma".
6include "common/AssocList.ma".
7
8(* Inefficient, replace with Trie lookup *)
9definition lookup_stack_cost ≝
10 λp.λid : ident.
11  assoc_list_lookup ? ℕ id (eq_identifier …) p.
12
13axiom ERTLToLTL_ok :
14∀fix_comp : fixpoint_computer.
15∀colour : coloured_graph_computer.
16∀p_in : ertl_program.
17let 〈p_out, m, n〉 ≝ ertl_to_ltl fix_comp colour p_in in
18(* what should we do with n? *)
19let stacksizes ≝ lookup_stack_cost m in
20∃[1] R.
21  status_simulation
22    (joint_status ERTL_semantics p_in stacksizes)
23    (joint_status LTL_semantics p_out stacksizes)
24    R ∧
25  ∀init_in.make_initial_state
26    (mk_prog_params ERTL_semantics p_in stacksizes) = OK … init_in →
27  ∃init_out.
28    make_initial_state
29     (mk_prog_params LTL_semantics p_out stacksizes) =
30      OK ? init_out ∧
31   R init_in init_out.
Note: See TracBrowser for help on using the repository browser.