diff options
Diffstat (limited to 'backend/Lineartyping.v')
-rw-r--r-- | backend/Lineartyping.v | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/backend/Lineartyping.v b/backend/Lineartyping.v index 390b6302..3930da32 100644 --- a/backend/Lineartyping.v +++ b/backend/Lineartyping.v @@ -153,18 +153,23 @@ Proof. auto. Qed. +Lemma wt_undef_locs: + forall locs ls, wt_locset ls -> wt_locset (Locmap.undef locs ls). +Proof. + induction locs; simpl; intros. auto. apply IHlocs. apply wt_setloc; auto. red; auto. +Qed. + Lemma wt_undef_temps: forall ls, wt_locset ls -> wt_locset (undef_temps ls). Proof. - unfold undef_temps. generalize temporaries. induction l; simpl; intros. - auto. - apply IHl. apply wt_setloc; auto. red; auto. + intros; unfold undef_temps. apply wt_undef_locs; auto. Qed. Lemma wt_undef_op: forall op ls, wt_locset ls -> wt_locset (undef_op op ls). Proof. - intros. generalize (wt_undef_temps ls H); intro. case op; simpl; auto. + intros. generalize (wt_undef_temps ls H); intro. + unfold undef_op; destruct op; auto; apply wt_undef_locs; auto. Qed. Lemma wt_undef_getstack: @@ -173,6 +178,12 @@ Proof. intros. unfold undef_getstack. destruct s; auto. apply wt_setloc; auto. red; auto. Qed. +Lemma wt_undef_setstack: + forall ls, wt_locset ls -> wt_locset (undef_setstack ls). +Proof. + intros. unfold undef_setstack. apply wt_undef_locs; auto. +Qed. + Lemma wt_call_regs: forall ls, wt_locset ls -> wt_locset (call_regs ls). Proof. |