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.

222<br />

Theories The HOL system is organised in theories. Each of them contains sets of<br />

types, constants, definitions and axioms and a list of theorems that are proven<br />

from the axioms and definitions. A theory is potentially expandable, and the<br />

HOL system ensures that only well-formed theories are constructed by allowing<br />

theorems to be created only by formal proof.<br />

Defining what it means to be a theorem leads to the description of the proof<br />

system of HOL. This is built with the help of the programming language ML,<br />

being the meta language in this sense. The deductive system of the HOL system<br />

is based on eight rules of inference that are as follows:<br />

– Assumption introduction:<br />

– Reflexivity:<br />

t ⊢ t<br />

⊢ t = t<br />

– Beta conversion: Lett 1 [t 2 /x] be the result of substituting t 2 for x in t 1 ,with<br />

suitable renaming of variables to prevent free variables in t 2 becoming bound<br />

after substitution.<br />

⊢ (λx. t 1 )t 2 = t 1 [t 2 /x]<br />

– Substitution: Lett[t 1 ,...,t n ] denote a term t with some free occurrences<br />

of subterms t 1 , ... , t n singled out, and let t[t ′ 1,...,t ′ n]denotetheresult<br />

of replacing each selected occurrence of t i by t ′ i (for 1≤i≤n), with suitable<br />

renaming of variables to prevent free variables in t ′ i becoming bound after<br />

substitution.<br />

Γ 1 ⊢ t 1 = t ′ 1 ··· Γ n ⊢ t n = t ′ n Γ ⊢ t[t 1 ,...,t n ]<br />

Γ 1 ∪···∪Γ n ∪ Γ ⊢ t[t ′ 1,...,t ′ n]<br />

– Abstraction: Letx be not free in Γ .<br />

Γ ⊢ t 1 = t 2<br />

Γ ⊢ (λx. t 1 )=(λx. t 2 )<br />

– Type instantiation: Lett[σ 1 ,...,σ n /α 1 ,...,α n ] be the result of substituting<br />

the types σ 1 , ..., σ n for type variables α 1 , ..., α n in t, and let none of the<br />

type variables α 1 , ... , α n occur in Γ , and no distinct variables in t become<br />

identified after the instantiation.<br />

– Discharging an assumption:<br />

Γ ⊢ t<br />

Γ ⊢ t[σ 1 ,...,σ n /α 1 ,...,α n ]<br />

Γ ⊢ t 2<br />

Γ −{t 1 } ⊢ t 1 ⇒ t 2

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!