Last change
on this file since 3003 was
2811,
checked in by sacerdot, 8 years ago
|
Pre-classified system for RTLabs.
|
File size:
1.7 KB
|
Line | |
---|
1 | (**************************************************************************) |
---|
2 | (* ___ *) |
---|
3 | (* ||M|| *) |
---|
4 | (* ||A|| A project by Andrea Asperti *) |
---|
5 | (* ||T|| *) |
---|
6 | (* ||I|| Developers: *) |
---|
7 | (* ||T|| The HELM team. *) |
---|
8 | (* ||A|| http://helm.cs.unibo.it *) |
---|
9 | (* \ / *) |
---|
10 | (* \ / This file is distributed under the terms of the *) |
---|
11 | (* v GNU General Public License Version 2 *) |
---|
12 | (* *) |
---|
13 | (**************************************************************************) |
---|
14 | |
---|
15 | include "RTLabs/RTLabs_abstract.ma". |
---|
16 | include "RTLabs/RTLabs_semantics.ma". |
---|
17 | include "common/Measurable.ma". |
---|
18 | |
---|
19 | definition RTLabs_stack_ident : |
---|
20 | genv → |
---|
21 | ∀s:RTLabs_state. |
---|
22 | match RTLabs_classify s with [ cl_call ⇒ True | _ ⇒ False ] → |
---|
23 | ident ≝ |
---|
24 | λge,s. |
---|
25 | match s return λs. match RTLabs_classify s with [ cl_call ⇒ True | _ ⇒ False ] → ident with |
---|
26 | [ Callstate id _ _ _ _ _ ⇒ λ_. id |
---|
27 | | _ ⇒ λH.⊥ |
---|
28 | ]. |
---|
29 | try @H whd in match (RTLabs_classify …) in H; normalize nodelta in H; |
---|
30 | cases (next_instruction ?) in H; normalize nodelta // |
---|
31 | qed. |
---|
32 | |
---|
33 | definition RTLabs_pcs : preclassified_system ≝ |
---|
34 | mk_preclassified_system |
---|
35 | RTLabs_fullexec |
---|
36 | (λ_.RTLabs_cost) |
---|
37 | (λ_.RTLabs_classify) |
---|
38 | RTLabs_stack_ident. |
---|
Note: See
TracBrowser
for help on using the repository browser.