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.

242<br />

REWRITE_TAC[is_gcd_def] THEN<br />

REWRITE_TAC[DIVIDES_DOUBLE] THEN<br />

ONCE_REWRITE_TAC[CONJ_ASSOC] THEN<br />

EQ_TAC THENL<br />

[<br />

ARW_TAC[] THEN<br />

LEFT_NO_FORALL_TAC 2 ‘‘2*d‘‘ THEN<br />

UNDISCH_TAC ‘‘divides d b‘‘ THEN<br />

UNDISCH_TAC ‘‘divides d a‘‘ THEN<br />

REWRITE_TAC[GSYM ASM_IMP_CONJ] THEN<br />

ONCE_REWRITE_TAC[GSYM DIVIDES_DOUBLE] THEN<br />

ARW_TAC[]<br />

,<br />

STRIP_TAC THEN<br />

ARW_TAC[] THEN<br />

UNDISCH_TAC ‘‘divides d (2*b)‘‘ THEN<br />

UNDISCH_TAC ‘‘divides d (2*a)‘‘ THEN<br />

REWRITE_TAC[GSYM ASM_IMP_CONJ] THEN<br />

DISJ_CASES_TAC (SPEC ‘‘d:num‘‘ EVEN_OR_ODD) THENL<br />

[<br />

UNDISCH_TAC ‘‘EVEN d‘‘ THEN<br />

REWRITE_TAC[EVEN_EXISTS] THEN<br />

STRIP_TAC THEN<br />

ASM_REWRITE_TAC[] THEN<br />

REWRITE_TAC[DIVIDES_DOUBLE] THEN<br />

LEFT_NO_FORALL_TAC 1 ‘‘m:num‘‘ THEN<br />

ARW_TAC[]<br />

,<br />

STRIP_TAC THEN<br />

ASSUME_TAC( UNDISCH_ALL (REWRITE_RULE [ASM_IMP_CONJ]<br />

(SPEC‘‘a:num‘‘ (SPEC‘‘d:num‘‘ DIVIDES_ODD_EVEN)))) THEN<br />

ASSUME_TAC( UNDISCH_ALL (REWRITE_RULE [ASM_IMP_CONJ]<br />

(SPEC‘‘b:num‘‘ (SPEC‘‘d:num‘‘ DIVIDES_ODD_EVEN)))) THEN<br />

LEFT_NO_FORALL_TAC 5 ‘‘d:num‘‘ THEN<br />

ONCE_REWRITE_TAC[MULT_COMM] THEN<br />

MATCH_MP_TAC (SPEC ‘‘2‘‘( SPEC ‘‘c:num‘‘<br />

(SPEC ‘‘d:num‘‘ DIVIDES_MULT))) THEN<br />

ARW_TAC[]<br />

]<br />

] );<br />

val IS_GCD_EQ = store_thm("IS_GCD_EQ", ‘‘!a b c. is_gcd a b c = (c = gcd a b)‘‘,<br />

REPEAT GEN_TAC THEN<br />

EQ_TAC THENL<br />

[<br />

STRIP_TAC THEN<br />

ASSUME_TAC (SPEC ‘‘gcd a b‘‘ (SPEC ‘‘c:num‘‘ (SPEC ‘‘b:num‘‘<br />

(SPEC ‘‘a:num‘‘ IS_GCD_UNIQUE)))) THEN<br />

ASSUME_TAC (SPEC_ALL GCD_IS_GCD) THEN<br />

ARW_TAC[]

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!