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.

266<br />

end;<br />

* dnm (rep_rat (abs_rat x)) = nmr y * (dnm x<br />

* dnm (rep_rat (abs_rat x)))‘‘)] THEN<br />

REWRITE_TAC[EQT_ELIM (RING_CONV ‘‘nmr y * dnm (rep_rat (abs_rat x))<br />

* dnm x = nmr y * (dnm (rep_rat (abs_rat x)) * dnm x)‘‘)] THEN<br />

ARW_TAC[lemmaX] THEN<br />

REWRITE_TAC[GSYM INT_SUB_LDISTRIB, GSYM INT_SUB_RDISTRIB] THEN<br />

REWRITE_TAC[EQT_ELIM (RING_CONV<br />

‘‘dnm x * dnm (rep_rat (abs_rat x))<br />

= dnm (rep_rat (abs_rat x)) * dnm x‘‘)] THEN<br />

ARW_TAC[INT_MUL_RZERO,INT_SUB_REFL] THEN<br />

ARW_TAC[lemmaY] THEN<br />

ARW_TAC[INT_EQ_SUB_LADD, INT_ADD_LID] THEN<br />

REWRITE_TAC[GSYM rat_equiv_def] THEN<br />

ARW_TAC[GSYM REP_ABS_EQUIV] )<br />

val RAT_ADD_CONG2 = store_thm("RAT_ADD_CONG",<br />

‘‘!x y. abs_rat (add x (rep_rat (abs_rat y))) = abs_rat (add x y)‘‘,<br />

ONCE_REWRITE_TAC[FRAC_ADD_COMM] THEN<br />

ARW_TAC[RAT_ADD_CONG1]);<br />

val RAT_ADD_CONG = save_thm<br />

("RAT_ADD_CONG", CONJ RAT_ADD_CONG1 RAT_ADD_CONG2);<br />

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

* RAT_MULT_CONG1: thm<br />

* |- !x y. abs_rat (mul (rep_rat (abs_rat x)) y) = abs_rat (mul x y)<br />

*<br />

* RAT_MULT_CONG2: thm<br />

* |- !x y. abs_rat (mul x (rep_rat (abs_rat y))) = abs_rat (mul x y)<br />

*<br />

* RAT_MULT_CONG: thm<br />

* |- !x y. abs_rat (mul (rep_rat (abs_rat x)) y) = abs_rat (mul x y) /\<br />

* !x y. abs_rat (mul x (rep_rat (abs_rat y))) = abs_rat (mul x y)<br />

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

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

‘‘!x y. abs_rat (mul (rep_rat (abs_rat x)) y) = abs_rat (mul x y)‘‘,<br />

REPEAT GEN_TAC THEN<br />

REWRITE_TAC[RAT_ABS_EQUIV] THEN<br />

REWRITE_TAC[rat_equiv_def,mul_def] THEN<br />

DNM_POS_ASM_TAC ‘‘dnm x * dnm y‘‘ THEN<br />

DNM_POS_ASM_TAC ‘‘dnm (rep_rat (abs_rat x)) * dnm y‘‘ THEN<br />

ARW_TAC[NMR,DNM] THEN<br />

REWRITE_TAC[EQT_ELIM (RING_CONV ‘‘nmr (rep_rat (abs_rat x))<br />

* nmr y * (dnm x * dnm y) = nmr (rep_rat (abs_rat x)) *dnm x<br />

* nmr y * dnm y‘‘)] THEN<br />

REWRITE_TAC[EQT_ELIM (RING_CONV ‘‘nmr x * nmr y<br />

* (dnm (rep_rat (abs_rat x)) * dnm y) = nmr x

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!