24.04.2013 Views

Verification of Parameterised FPGA Circuit Descriptions with Layout ...

Verification of Parameterised FPGA Circuit Descriptions with Layout ...

Verification of Parameterised FPGA Circuit Descriptions with Layout ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

CHAPTER 2. BACKGROUND AND RELATED WORK 28<br />

A shallow embedding is typically much easier to construct than a deep embedding since the<br />

meaning <strong>of</strong> the language can be encoded directly. With a deep embedding the meaning <strong>of</strong><br />

the language must be defined as a function over the abstract syntax in a way that can be<br />

cumbersome however it does have the advantage that the theorem prover is able to reason<br />

over syntactic structures and state theorems about all programs.<br />

2.5 Isabelle: A Generic Theorem Prover<br />

Although the work presented in this thesis is not dependent on a particular theorem prover,<br />

we make extensive use <strong>of</strong> the Isabelle pro<strong>of</strong> tool and a basic understanding <strong>of</strong> its capabilities<br />

and how they can be used is useful for understanding the work presented in Chapter 4 in<br />

particular.<br />

2.5.1 Meta-logic<br />

Isabelle’s distinctive feature is its representation <strong>of</strong> logics <strong>with</strong>in a small fragment <strong>of</strong> a higher-<br />

order logic, called the meta-logic [60].<br />

Isabelle’s meta-logic is typed <strong>with</strong> basic and function types σ → τ. The basic types depend<br />

on the logic being represented but always include the type prop for propositions. The terms <strong>of</strong><br />

the meta-logic are essentially those <strong>of</strong> the typed λ-calculus - constants, variables, abstractions<br />

and function applications.<br />

There are essentially three operations <strong>with</strong>in the meta-logic: universal quantification, meta-<br />

implication and meta-equality. Isabelle uses the symbols , =⇒ and ≡ for these operations to<br />

avoid confusion <strong>with</strong> the equivalent operations in object logics. Implication expresses logical<br />

entailment, quantification expresses generality in rules and axiom schemes and meta-equality<br />

is intended for expressing definitions.<br />

Isabelle’s meta-logic is simply a logic like any other complete <strong>with</strong> basic inference rules. For<br />

example, Figure 2.5.1 shows the meta-logic rules for universal quantification and implication<br />

introduction and elimination.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!