25.11.2014 Aufrufe

Verifikation reaktiver Systeme - Universität Kaiserslautern

Verifikation reaktiver Systeme - Universität Kaiserslautern

Verifikation reaktiver Systeme - Universität Kaiserslautern

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

249<br />

REWRITE_TAC[nmr_def] THEN<br />

REWRITE_TAC[FRAC_REP_ABS_SUBST] );<br />

(* DNM: !a b. 0 < b ==> (nmr (abs_frac (a,b)) = a) *)<br />

val DNM = store_thm("DNM", ‘‘!a b. 0 < b ==> (dnm (abs_frac (a,b)) = b)‘‘,<br />

REPEAT STRIP_TAC THEN<br />

REWRITE_TAC[dnm_def] THEN<br />

REWRITE_TAC[FRAC_REP_ABS_SUBST] );<br />

(*--------------------------------------------------------------------------<br />

* FRAC_ID: thm<br />

* |- !f. abs_frac (nmr f,dnm f) = f<br />

*--------------------------------------------------------------------------*)<br />

val FRAC_ID = store_thm("FRAC_ID", ‘‘!f. abs_frac (nmr f,dnm f) = f‘‘,<br />

STRIP_TAC THEN<br />

REWRITE_TAC[nmr_def,dnm_def]<br />

THEN ARW_TAC[FRAC_ABS_REP_SUBST]);<br />

(*--------------------------------------------------------------------------<br />

* FRAC_EXPLODE_THM: thm<br />

* |- !f a b. 0 < b ==> ((f = abs_frac(a,b)) = (nmr f = a) /\ (dnm f = b))<br />

*--------------------------------------------------------------------------*)<br />

val FRAC_EXPLODE_THM = store_thm("FRAC_EXPLODE_THM",<br />

‘‘!f a b. 0 < b ==> ((f = abs_frac (a,b)) = (nmr f = a) /\ (dnm f = b))‘‘,<br />

REPEAT STRIP_TAC THEN<br />

EQ_TAC THEN<br />

STRIP_TAC THEN<br />

ARW_TAC[NMR,DNM,FRAC_ID] );<br />

(*--------------------------------------------------------------------------<br />

* FRAC_ADD_ASSOC: thm<br />

* |- !a b c. add a (add b c) = add (add a b) c<br />

*<br />

* FRAC_MULT_ASSOC: thm<br />

* |- !a b c. mul a (mul b c) = mul (mul a b) c<br />

*--------------------------------------------------------------------------*)<br />

val FRAC_ADD_ASSOC = store_thm("FRAC_ADD_ASSOC",<br />

‘‘!a b c. add a (add b c) = add (add a b) c‘‘,<br />

REPEAT STRIP_TAC THEN REWRITE_TAC[add_def]<br />

THEN DNM_POS_ASM_TAC ‘‘dnm a * dnm b‘‘<br />

THEN DNM_POS_ASM_TAC ‘‘dnm b * dnm c‘‘<br />

THEN ARW_TAC[NMR,DNM]<br />

THEN FRAC_EQ_TAC THEN INT_RING_TAC );<br />

val FRAC_MULT_ASSOC = store_thm("FRAC_MULT_ASSOC",<br />

‘‘!a b c. mul a (mul b c) = mul (mul a b) c‘‘,<br />

REPEAT STRIP_TAC THEN REWRITE_TAC[mul_def]

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!