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.

255<br />

(* interactive mode<br />

app load ["fractionTheory", "fractionLib", "quotient"];<br />

*)<br />

open<br />

pairTheory arithmeticTheory ringTheory ringLib<br />

integerTheory intLib integerRingTheory integerRingLib<br />

fractionTheory fractionLib quotient;<br />

val _ = new_theory "rational";<br />

val ARW_TAC = RW_TAC int_ss;<br />

val frac_bij = DB.fetch "fraction" "frac_tybij";<br />

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

* some lemmas<br />

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

(* LESS_IMP_NOT_0: |- !n. 0i ~(n=0i) *)<br />

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

‘‘!n:int. 0i ~(n=0i)‘‘,<br />

GEN_TAC THEN<br />

ASM_CASES_TAC ‘‘n=0i‘‘<br />

THEN ARW_TAC[] );<br />

(* INT_EQ_RMUL_EXP: |- !a b n. 0 ((a=b) = (a*n=b*n)) *)<br />

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

‘‘!a:int b:int n:int. 0 ((a=b) = (a*n=b*n))‘‘,<br />

REPEAT STRIP_TAC<br />

THEN EQ_TAC<br />

THEN ASSUME_TAC (prove(‘‘0i ~(n=0i)‘‘,<br />

ASM_CASES_TAC ‘‘n=0i‘‘ THEN ARW_TAC[]))<br />

THEN ASSUME_TAC (SPEC ‘‘n:int‘‘ (SPEC ‘‘b:int‘‘<br />

(SPEC ‘‘a:int‘‘ INT_EQ_RMUL_IMP)))<br />

THEN ARW_TAC[] );<br />

(* INT_LT_RMUL_EXP: |- !a b n. 0 ((ab*n<br />

REPEAT STRIP_TAC THEN<br />

REWRITE_TAC[int_gt] THEN<br />

ASSUME_TAC (UNDISCH_ALL (GSYM (SPEC ‘‘a:int‘‘ (SPEC ‘‘b:int‘‘<br />

(SPEC ‘‘n:int‘‘ INT_LT_MONO))))) THEN<br />

ARW_TAC[INT_MUL_SYM] );

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!