source: src/RTLabs/RTLabs_classified_system.ma @ 2894

Last change on this file since 2894 was 2811, checked in by sacerdot, 7 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
15include "RTLabs/RTLabs_abstract.ma".
16include "RTLabs/RTLabs_semantics.ma".
17include "common/Measurable.ma".
18
19definition RTLabs_stack_ident :
20  genv →
21  ∀s:RTLabs_state.
22  match RTLabs_classify s with [ cl_call ⇒ True | _ ⇒ False ] →
23  ident ≝
24λge,s.
25match s return λs. match RTLabs_classify s with [ cl_call ⇒ True | _ ⇒ False ] → ident with
26[ Callstate id _ _ _ _ _ ⇒ λ_. id
27| _ ⇒ λH.⊥
28].
29try @H whd in match (RTLabs_classify …) in H; normalize nodelta in H;
30cases (next_instruction ?) in H; normalize nodelta //
31qed.
32
33definition RTLabs_pcs : preclassified_system ≝
34mk_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.