Isabelle/HOL Support Wiki

Site Tools

reference:rule_calculus

Rule (calculus)

In Logics

In a logical calculus, a rule is given by

$\displaystyle\quad\frac{\alpha_1, \dots, \alpha_k}{\beta}$

with $\alpha_1, \dots, \alpha_k, \beta$ formula in the considered logic. Of course, $\beta$ might depend on any combination of the $\alpha_i$.

The meaning is this: If you can prove $\alpha_1, \dots, \alpha_k$ in your calculus, you can also prove $\beta$. In other terms, a set of rules together with some axioms (rules with $k=0$) gives an inductive definition of the set of theorems in your theory.

A rule is correct if and only if $\beta$ is valid if all $\alpha_1, \dots, \alpha_k$ are valid. That means you can never get an inconsistent theory if you have only correct rules and valid axioms.

In Isabelle/HOL

In Isabelle/HOL, rules are theorems in PURE logics. They are denoted as

$\quad[| P_1; \dots ; P_n |] \Longrightarrow Q$

which is equivalent to above definition.

The nice things about Isabelle/HOL is that you can use your own theorems as rules if they have this format. You can tell Isabelle to transform a theorem into this form (if possible) by using the rule_format directive.