Group Theory - HOL
Table of Contents
1. Introduction
The basic idea is that set membership \(x\in A\) is modeled by the predicate \(\mathtt{InA}[x] := x\in A\). We then blur this distinction, and just consider a set to be a HOL term with signature \(A\colon\ast\to\mathrm{bool}\).
Then a group is a pair \((G,*)\) satisfying a bunch of properties. The definition we will formalize is:
A Group consists of a set \(G\) and a binary operator \(\mathtt{prod}\) such that
- for every pair of elements \(x,y\in G\), the element \(\mathtt{prod}~x~y~\in G\) (so \(G\) is closed under \(\mathtt{prod}\))
- For every \(x,y,z\in G\) we have \(\mathtt{prod}~(\mathtt{prod}~x~y)~z=\mathtt{prod}~x~(\mathtt{prod}~y~z)\)
- There exists an element \(e\in G\) such that:
- for every \(x\in G\), we have \(\mathtt{prod}~e~x=x\) (i.e., \(e\) is a
left identity element for
prod
) - For every \(x\in G\), there exists a \(y\in G\) such that \(\mathtt{prod}~y~x=e\) (i.e., \(G\) has left inverses with respect to \(e\)).
- for every \(x\in G\), we have \(\mathtt{prod}~e~x=x\) (i.e., \(e\) is a
left identity element for
Everything else may be derived from these axioms.
GROUP-DEF = |- !G prod. GROUP(G,prod)= (!x y. G x /\ G y ==> G(prod x y)) /\ (!x y z. G x /\ G y /\ G z ==> (prod(prod x y)z = prod x(prod y z ))) /\ (?e. G e /\ (!x. G x ==> (prod e x = x)) /\ (!x. G x ==> (?y. G y /\ (prod y x = e))))
2. References
- Elsa L. Gunter,
"Doing Algebra in Simple Type Theory".
U. Pennsylvania, Tech. Report No. MS-CIS-89-38, June 1989. Eprint, 44 pages.