(**************************************************************************) (* ___ *) (* ||M|| *) (* ||A|| A project by Andrea Asperti *) (* ||T|| *) (* ||I|| Developers: *) (* ||T|| The HELM team. *) (* ||A|| http://helm.cs.unibo.it *) (* \ / *) (* \ / This file is distributed under the terms of the *) (* v GNU General Public License Version 2 *) (* *) (**************************************************************************) include "RTLabs/RTLabs_abstract.ma". include "RTLabs/RTLabs_semantics.ma". include "common/Measurable.ma". definition RTLabs_stack_ident : genv → ∀s:RTLabs_state. match RTLabs_classify s with [ cl_call ⇒ True | _ ⇒ False ] → ident ≝ λge,s. match s return λs. match RTLabs_classify s with [ cl_call ⇒ True | _ ⇒ False ] → ident with [ Callstate id _ _ _ _ _ ⇒ λ_. id | _ ⇒ λH.⊥ ]. try @H whd in match (RTLabs_classify …) in H; normalize nodelta in H; cases (next_instruction ?) in H; normalize nodelta // qed. definition RTLabs_pcs : preclassified_system ≝ mk_preclassified_system RTLabs_fullexec (λ_.RTLabs_cost) (λ_.RTLabs_classify) RTLabs_stack_ident.