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

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

271<br />

ARW_TAC[NMR,DNM] THEN<br />

RAT_ABS_EQUIV_TAC THEN<br />

REWRITE_TAC[rat_equiv_def] THEN<br />

DNM_POS_ASM_TAC ‘‘1i‘‘ THEN<br />

DNM_POS_ASM_TAC ‘‘dnm (rep_rat a) * dnm (rep_rat a)‘‘ THEN<br />

ARW_TAC[NMR,DNM] THEN<br />

INT_RING_TAC );<br />

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

‘‘!a. rat_add (rat_ainv a) a = rat_0‘‘,<br />

ONCE_REWRITE_TAC[RAT_ADD_COMM] THEN<br />

ARW_TAC[RAT_ADD_RINV] );<br />

val RAT_MULT_RINV =<br />

let<br />

val lemmaX = prove(‘‘(a = rat_0) = (nmr (rep_rat a) = 0)‘‘,<br />

EQ_TAC THENL<br />

[<br />

REWRITE_TAC[rat_0_def, frac_0_def] THEN<br />

STRIP_TAC THEN<br />

ASM_REWRITE_TAC[] THEN<br />

ARW_TAC[NMR_EQ0_CONG] THEN<br />

DNM_POS_ASM_TAC‘‘1i‘‘ THEN<br />

ARW_TAC[NMR]<br />

,<br />

REWRITE_TAC[rat_0_def, frac_0_def] THEN<br />

ONCE_REWRITE_TAC[EQ_SYM_EQ] THEN<br />

ASM_REWRITE_TAC[] THEN<br />

SUBST_TAC[GSYM (SPEC ‘‘a:rat‘‘ (CONJUNCT1 rat_def))] THEN<br />

RAT_ABS_EQUIV_TAC THEN<br />

REWRITE_TAC[rat_equiv_def] THEN<br />

ARW_TAC[rat_def] THEN<br />

DNM_POS_ASM_TAC‘‘1i‘‘ THEN<br />

ARW_TAC[NMR,DNM] THEN<br />

UNDISCH_TAC ‘‘0 = nmr (rep_rat a)‘‘ THEN<br />

ONCE_REWRITE_TAC[EQ_SYM_EQ] THEN<br />

ARW_TAC[INT_MUL_LZERO]<br />

] );<br />

val lemmaY = prove(‘‘! x y. 0 0 < dnm x * y‘‘,<br />

REPEAT GEN_TAC THEN<br />

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

ARW_TAC[INT_MUL_POS_SIGN]);<br />

in<br />

store_thm("RAT_MULT_RINV", ‘‘!a. ~(a=rat_0) ==><br />

(rat_mul a (rat_minv a) = rat_1)‘‘,<br />

GEN_TAC THEN<br />

REWRITE_TAC[rat_mul_def, rat_minv_def, rat_1_def] THEN<br />

REWRITE_TAC[RAT_MULT_CONG] THEN<br />

REWRITE_TAC[mul_def, minv_def, frac_1_def] THEN<br />

REWRITE_TAC[lemmaX] THEN

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!