Last change
on this file since 3041 was
2946,
checked in by tranquil, 8 years ago
|
main novelties:
- there is an in-built stack_usage nat in joint states, at the base of the new division of RTL's semantics (with separate stacks, with separate stacks but with an artificial overflow error, with a unique stack)
- a premain is added semantically to the global env, so initial cost label and main call and return are observed
- proper initialization is now in LINToASM (to be sure, endianess should be checked ;-)
The update breaks proofs of back end atm. compiler.ma should be okay, but I have not had time to complete its compilation.
|
File size:
746 bytes
|
Rev | Line | |
---|
[2796] | 1 | include "LTL/LTLToLIN.ma". |
---|
| 2 | include "LTL/LTL_semantics.ma". |
---|
| 3 | include "LIN/LIN_semantics.ma". |
---|
| 4 | include "joint/Traces.ma". |
---|
| 5 | include "common/StatusSimulation.ma". |
---|
| 6 | |
---|
| 7 | (* this should come directly from linearise proof *) |
---|
| 8 | axiom LTLToLIN_ok : |
---|
| 9 | ∀stacksizes : ident → option ℕ. (* are hypotheses needed here? *) |
---|
[2946] | 10 | ∀p_in : joint_program LTL. |
---|
[2796] | 11 | let p_out ≝ ltl_to_lin p_in in |
---|
| 12 | ∃[1] R. |
---|
| 13 | status_simulation |
---|
| 14 | (joint_status LTL_semantics p_in stacksizes) |
---|
| 15 | (joint_status LIN_semantics p_out stacksizes) |
---|
[2946] | 16 | R ∧ |
---|
| 17 | ∀init_in.make_initial_state |
---|
| 18 | (mk_prog_params LTL_semantics p_in stacksizes) = OK … init_in → |
---|
| 19 | ∃init_out. |
---|
| 20 | make_initial_state |
---|
| 21 | (mk_prog_params LIN_semantics p_out stacksizes) = |
---|
| 22 | OK ? init_out ∧ |
---|
| 23 | R init_in init_out. |
---|
Note: See
TracBrowser
for help on using the repository browser.