Makarius
2018-09-02 17:24:52 UTC
lemma refl: "t = t"
proof -
have "(THE x. x = t) = t" by (rule the_eq_trivial)
from this and this show "t = t" by (rule subst)
qed
What can we learn from that?proof -
have "(THE x. x = t) = t" by (rule the_eq_trivial)
from this and this show "t = t" by (rule subst)
qed
The usual way to characterize equality is via refl and subst,
independently of later add-ons to the logic.
The axiomatization of Isabelle/HOL is somewhat historic and accidental,
following a report by Mike Gordon from 1986, which in turn followed the
paper by Alonzo Church from 1940.
In this distance past logicians where still following a bad habit to
make the textual representation of the foundations as small as possible,
without taking care about clarity. Who in his right mind would base the
EX quantifier on Hilbert's Choice operator, for example? There are other
historical oddities and tidbits to be (re)discovered.
Here is also my own version of Higher-Order Logic for illustrative
purposes: $ISABELLE_HOME/src/HOL/Isar_Examples/Higher_Order_Logic.thy --
it introduces Hilbert's "Eps" late in the theory, but omits the definite
description operator "The".
Many more variations on the theme are possible, but they have no
practical relevance of using the HOL logic in applications: definitional
packages and proof tools are much more important than axiomatizations.
That is the main lesson learned after decades of trying to make logics
work in Interactive Theorem Proving.
Makarius