Changeset 3112 for src/ASM/ASMCosts.ma


Ignore:
Timestamp:
Apr 9, 2013, 6:05:49 PM (7 years ago)
Author:
tranquil
Message:

added invariant that costlabels are only assigned to NOPs (not proved
yet, assembly has a new cases daemon)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/ASM/ASMCosts.ma

    r3102 r3112  
    5050 * #st whd in ⊢ (??%? → ?); cases current_instruction [7: *] normalize
    5151 try (#x #y #abs) try (#x #abs) try #abs destruct
     52qed.
     53
     54lemma OC_costed_is_nop : ∀loc.
     55let S ≝ OC_abstract_status loc in
     56∀st,l.as_label S st = Some ? l → current_instruction (cm loc) st = NOP ?.
     57#loc #st #l #EQ
     58whd in ⊢ (??%?);
     59whd in match fetch; normalize nodelta
     60>(oc_costlabels_are_zero loc … EQ) % qed.
     61
     62lemma OC_class_to_uncosted : ∀loc.
     63let S ≝ OC_abstract_status loc in
     64∀st.
     65match as_classify S st with
     66[ cl_other ⇒ True | _ ⇒ ¬as_costed … st ].
     67#loc #st
     68whd in match (as_costed ??); inversion (as_label ??)
     69[ #_ cases (as_classify ??) %* #A @A % ]
     70#l #EQ whd in match (as_classify ??); >(OC_costed_is_nop … EQ) %
    5271qed.
    5372
Note: See TracChangeset for help on using the changeset viewer.