On Sun, 07 Oct 2012 13:33:55 -0400, Dan Christensen
<
Dan_Chr...@sympatico.ca> wrote:
> The OP seemed to be interested in how set theory is used in formal
> verification (of computer-programming code.) It's hard to imagine, but
> he said that ZF is actually used in some formal verification packages.
> Unless he is talking about a substantially modified form of ZF, IMHO
> this can't be a very productive approach.
Actually, originally, this discussion came up as a general assertion that
set theory was simply the wrong paradigm for any formal reasoning. The
assertion in question goes something like, "trying to do anything in set
theory is simply always the wrong abstraction; category theory is the
right one, or at least intuitionistic type theory." The fact that this
came up in the course of discussion among computer scientists means that
the resulting assertion does not surprise me. However, the claim seemed to
be made going far beyond just the verification of computer programs. The
claim seemed to encompass all formal reasoning.
Where formal verification comes in is that my background in formal
reasoning is largely among using interactive theorem provers to prove
properties about computer programs or recursive structures. This is not to
say that I am only concerned with this domain when talking about the above
assertion. However, the system which I currently use is Isabelle, which
provides two primary theories for use: HOL and ZF. Isabelle targets both
verification of computer software as well as generalized mathematics. It
has been used to do proofs on various "normal" mathematics as well as
computational mathematics.
My main interest is understanding the tradeoffs of set theory versus
something like category theory or type theory, as I have always found set
theory a little easier to think about. Indeed, when I work in HOL, despite
its type system, types to me are just sets, and I chose Isabelle partly
because it had such a relatively weak type system and did not fully
embrace the intuitionist theory of constructive types and all that which
systems like Agda and Coq seem to do. Working in an untyped world has
always been a bit more comfortable for me. However, I am surrounded on all
sides by intuitionist zealots (I jest, in part) who really embrace type
theory or category theory as the solution to all manner of things, to the
point where they really have an abhorrence of set theory. I am trying to
understand why, and why, if their abhorrence is so justified, the rest of
the mathematical community seems to do a great deal of their practical
mathematics using set theory rather than category theory.
--
Aaron W. Hsu |
arc...@sacrideo.us |
http://www.sacrideo.us
Programming is just another word for the Lost Art of Thinking.