Hilbert II 
Formal Correct Mathematical Knowledge 

Overview  quick start and feature summary 
Project Goals  about this project 
Release Contents  detailed directory description of this release 
Further Installation  some more or less optional adjustments 
Licenses  these licenses apply 
Future Development  short range project plan 
This is an unstable development release of Hilbert II. In the tradition of Hilbert's program the project creates a formal correct (checkable by a proof verifier) but readable (like an ordinary LaTeX textbook) mathematical knowledge base which is freely accessible within the internet. The project started with logic and set theory.
This release contains a program suite that can produce LaTeX and UTF8 files out of QEDEQ XML files. The QEDEQ files can be checked for syntactic correctness. In Logical Language more formal details are explained. For set theory we provide some small finite models. Checks for model validity are also available.
Samples and a script with the beginning of axiomatic set theory are included. All the formulas of axioms, definitions and propositions written are written in the formal language. See Elements of Mathematical Logic for the logical background of this project. Currently all given proofs are non formal.
You could read the change history to know the difference to the previous release.
A convenient way to start this application is via Java Web Start. Just click on: START. There should be a splash screen for Java Web Start, asking you to trust the signature. Although it will be not recommended you must trust the signature of Hilbert II to start the application. If you already started an older program version via Web Start you should remove the files in the config
directory.
Precondition is a Java Runtime Environment, at least version 1.4. From Download Java 2 Platform you could get the Java Runtime Environment J2SE v 1.4.2 JRE. To work with the created LaTeX documents you need an appropriate LaTeX environment.
To start the application call:
org.qedeq.gui.se.main.QedeqMainFrame
The classpath must include the files in the lib directory. A convenient to start the application is the script qedeq_se
in the main directory. If you connect to the internet via a proxy server you should start the preferences dialog via the menu (Tools/Preferences). There you can enter the appropriate proxy parameters.
Sample XML files can be found in the sample directory. The main structure of an QEDEQ XML file looks like the LaTeX book format. There is a special kind of subsections called node
that contain an axiom, definition or proposition. Each node is labeled and could be referenced by that label. Here is the XSD and here it's documentation. The root element is called QEDEQ.
This release includes the source code and the JUnit test classes. The code coverage results of these tests where produced by clover .
The goal of Hilbert II is decentralized access to verified and readable mathematical knowledge. The knowledge base contains mathematical texts in different languages and detail levels, axioms, definitions, propositions and their proofs. Beside common non formal proofs the system includes formal proofs that were verified by a proof checker.
The mathematical axioms, definitions and propositions are combined to socalled QEDEQ modules. Such a module could be seen as a mathematical textbook. At least all proposition formulas are written in a formal language and each proposition can also have a formal correct proof. The proposition is verified iff it has a formal proof and all required propositions are also verified.
Hilbert II will provide a program suite that enables a mathematician to put data into that knowledge base and retrieve various documents and analyze results out of the system. This includes the generation of LaTeX files that look like a common mathematical textbook and the answer to questions like "assumes this theorem the axiom of choice?" for verified propositions. As it's name already suggests, this project is in the tradition of Hilbert's program.
Because this system is not centrally administered and references to any location in the internet are possible, a world wide mathematical knowledge base could be build. Any proof of a theorem in this "mathematical web" could be drilled down to the very elementary rules and axioms. Think of an incredible number of mathematical textbooks with hyperlinks and each of its proofs could be verified by Hilbert II. For each theorem the dependency of other theorems, definitions and axioms could be easily derived.
See also under QEDEQ basic concept for more project details. This document was generated out of the following XML file: qedeq_basic_concept.xml.
This release contains also the beginning of a script about axiomatic set theory. This script is also available in German and has this XML source.
The XML files have a formal structure that is defined here or here. The logical language is described in qedeq_logic_language_en.pdf (in development). The mathematical logical propositions are noted in qedeq_logic_v1.pdf.
Directory  Description 

bin 
executable files, currently empty 
config 
configuration files 
log4j.xml 
log4j property file, change "error" to "debug" to get a little more log output; change it to "fatal" to reduce the logging events. To enable logging you also have to mark "Tools / Preferences / Enable trace output generation" 
mengenlehreMathOperators.xml 
LaTeX operator information, used from the parser to transform LaTeX formulas into QEDEQ XML; can be manually edited 
doc 
documentation 
project 
project specific 
qedeq_basic_concept_en.pdf 
basic concept of Hilbert II 
qedeq_logic_language_en.pdf 
explanation of the logical language of Hilbert II (in development) 
projektbeschreibung.pdf 
project description (in German, a little bit outdated) 
changes.txt 
change history to previous versions 
math 
mathematical texts 
qedeq_set_theory_v1_en.pdf 
beginning of axiomatic set theory, this is already a QEDEQ module 
axiomatic_set_theory.txt 
beginning of set theory as non formal (ASCII text) file, it shows the intention of this project (parts in German) 
qedeq_logic_v1_en.pdf 
logical background 
lib 
libraries for running the application 
commonscodec1.3.jar 
apache commons codec component 
commonshttpclient3.1.jar 
apache commons httpclient component 
commonsio1.4.jar 
apache commons io component 
commonslang2.4.jar 
apache commons lang component 
commonslogging1.1.1.jar 
apache commons logging component 
forms1.1.0.jar 
JGoodies Forms GUI support 
jh2.0.5.jar 
Java Help help file creation and display 
log4j1.2.14.jar 
log4j logging implementation 
looks2.1.4.jar 
JGoodies Looks GUI support 
qedeq_gui_se0.04.01.jar 
binary GUI release of Hilbert II 
qedeq_kernel0.04.01.jar 
binary kernel release of Hilbert II 
xercesImpl.jar 
apache XML parser xerces 
xmlapis.jar 
XML standard API definition 
license 
various license files 
license/apache_license.txt 
apache software license 
license/fdl.html 
GNU Free Documentation License 
license/gpl.html 
GNU General Public License 
license/forms_license.txt 
BSD license for JGoodies Forms 
license/looks_license.txt 
BSD license for JGoodies Looks 
license/oil_licenses_full.txt 
Licenses for the Open Icon Library 
license/tango_license.txt 
Creative Commons Attribution ShareAlike license for the tango theme 
log 
log files are written herein 
sample 
sample XML files 
qedeq_basic_concept.xml 
qedeq basic concept as QEDEQ XML document 
qedeq_set_theory_v1.xml 
beginning of axiomatic set theory 
qedeq_sample1.xml 
mathematical sample module 
qedeq_sample2.xml 
We just use the two main QEDEQ modules and show a simple proposition. 
qedeq_sample3.xml 
This module contains proofs that should be formally correct. 
qedeq_error_sample_00.xml 
usage of an unknown logical operator 
qedeq_error_sample_01.xml 
too many arguments for logical implication operator 
qedeq_error_sample_02.xml 
second quantification over same variable 
qedeq_error_sample_03.xml 
subject variable occurs free and bound 
qedeq_error_sample_04.xml 
subject variable occurs bound and free 
qedeq_error_sample_05.xml 
import of a QEDEQ module that has errors 
qedeq_error_sample_12.xml 
semantic error in QEDEQ file, a node id is used twice 
qedeq_error_sample_13.xml 
syntax error in XML file, violates XML syntax 
qedeq_error_sample_14.xml 
syntax error in XML file, violates XSD 
qedeq_error_sample_15.xml 
logic error in XML file, quantify over already bound subject variable 
qedeq_error_sample_16.xml 
logic error in XML file, "unknown" is an unknown predicate 
qedeq_error_sample_17.xml 
logic error in XML file, a subject variable occurs free and bound 
qedeq_error_sample_18.xml 
semantic error in XML file, duplicate language entries 
src 
source code of Hilbert II 
eclipse 
all needed eclipse projects 
maven 
project structure in maven format 
reports 
various project reports 
qedeq_kernel 
QEDEQ kernel 
qedeq_kernel/clover 
code coverage report 
qedeq_gui_se 
QEDEQ GUI 
xml 
XML schemata and their documentation 
qedeq.xsd 
XSD for QEDEQ format 
qedeq.html 
documentation of QEDEQ XSD 
parser.xsd 
XSD for operator definition for text parser 
parser.html 
documentation of parser XSD 
qedeq 

index.html 
another documentation of QEDEQ XSD 
Beside the steps mentioned in Overview you should install a correction for the buggy LaTeX package longtable. One possibility is this patch from Chungchieh Shan. It was used to produce the provided PDF files.
The QEDEQ XML files stand under the GNU Free Documentation License (GFDL), the software of this project under the GNU General Public License (GPL).
For XML parsing the apache parser is used which falls under the apache license. This license applies also to the class com.sun.syndication.io.XmlReader
which was taken on 20080306 from project Rome (see https://rome.dev.java.net/../XmlReader.java
). The GUI uses the tango theme that is under the Creative Commons Attribution ShareAlike license.
There are also some icons of the Open Icon Library included. These icons stand under different licenses.
Hilbert II uses JGoodies Looks and JGoodies Forms, distributed by JGoodies under the terms of the BSD License see looks license and forms license for details. Also included are three additional classes (SimpleInternalFrame, Factory and UIFSplitPane) by Karsten Lentzsch, which are distributed under these terms.
We also used some great work of Santhosh Kumar. This code is distributed under the GNU Lesser General Public License.
For the current source code you could browse the subversion tree.
Here are descriptions of the next minor releases. Subversions are not listed. All these releases are characterised as "unstable" and are only of interest for developers.
0.01 brigand 
First XSD releases. XML could be parsed and value objects are created. Very simple generation of LaTeX files is possible. There are two QEDEQ modules: the project handbook and a mathematical example. Beside the XSD verification no checking is done. The LaTeX generation works directly on the value objects. 
0.02 moster 
Some elements of the BO (business object) layer exist. The script of axiomatic set theory includes at least most of the axioms. First attempts of a small LaTeX to QEDEQ XML converter. 
0.03 mongaga 
Formal checks for single formulas could be done ("is this formula well formed"). 
0.04 gaffsie 
QEDEQ modules and the referenced modules are loaded from the web. The formula checking incorporates also all required QEDEQ modules and handles external definitions. External predicate and function constants are resolved. 
0.05 toffle 
Simple formal proofs can be written down in QEDEQ syntax. 
0.06 misabel 
Simple formal proofs can be checked. 
0.07 joxter 
All needed formal proof methods for Axiomatic Set Theory can be written down in QEDEQ syntax. 
0.08 hodgkins 
All proof methods that can be expressed within the QEDEQ syntax can be checked. 