Skip to content
Open
Show file tree
Hide file tree
Changes from 6 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
41 changes: 41 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
name: CI

on: [push, pull_request]

jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Install LaTeX
run: |
sudo apt-get -qq update
sudo apt-get install -y --no-install-recommends \
dvipng cm-super \
texlive-fonts-recommended \
texlive-latex-extra \
texlive-fonts-extra \
texlive-latex-recommended \
texlive-lang-german
sudo updmap -sys
- name: Build metamath-narrow.pdf
run: ./make-narrow
- name: Build metamath.pdf
run: ./generate-pdf
- name: Build metamath-de.pdf
run: ./generate-pdf normal de
- uses: actions/upload-artifact@v3
with:
name: metamath-pdf
path: |
metamath.pdf
metamath-narrow.pdf
metamath-de.pdf
- name: Release
uses: softprops/action-gh-release@v1
if: github.event_name == 'push' && github.ref == 'refs/heads/master'
with:
files: |
metamath.pdf
metamath-narrow.pdf
metamath-de.pdf
19 changes: 19 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
*.aux
*.bbl
*.bib
*.blg
*.fdb_latexmk
*.fls
*.idx
*.ind
*.ilg
*.log
*.out
*.pdf
*.toc
*.synctex.gz
/realref.sty
/temp-metamath/
/temp-metamath-narrow/
/temp-metamath-de/
/temp-metamath-de-narrow/
23 changes: 0 additions & 23 deletions .travis.yml

This file was deleted.

2 changes: 2 additions & 0 deletions allowed-errors
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
LaTeX Warning: File `realref.sty' already exists on the system.
LaTeX Warning: File `metamath.bib' already exists on the system.
Package amsmath Warning: Foreign command \atop;
LaTeX Font Warning: Font shape `OMS/cmtt/m/n' undefined
LaTeX Font Warning: Font shape `OMS/cmtt/bx/n' undefined
LaTeX Font Warning: Font shape `TS1/cmtt/bx/n' undefined
LaTeX Font Warning: Some font shapes were not available, defaults substituted.
26 changes: 20 additions & 6 deletions generate-pdf
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,27 @@ set -ex
style="${1:-normal}"
style="${style%.sty}"

texfile="${2:-metamath}"
lang="${2:-en}"

texfile="${3:-metamath}"
texfile="${texfile%.tex}"

if [ "$style" == 'normal' ]; then
outfile="$texfile"
if [ "$lang" = 'en' ]; then
basename="$texfile"
basedir="."
else
basename="${texfile}-${lang}"
if [ "$lang" = 'de' ]; then
basedir="german"
else
basedir="$lang"
fi
fi

if [ "$style" = 'normal' ]; then
outfile="$basename"
else
outfile="${texfile}-${style}"
outfile="${basename}-${style}"
fi
# Try to remove output .pdf first - if we can't, no point in going further.
rm -f "${outfile}.pdf"
Expand All @@ -28,8 +42,8 @@ do_pdflatex () {
tempdir="temp-$outfile"
rm -fr "$tempdir"
mkdir -p "$tempdir"
cp -p "${texfile}.tex" "$tempdir"
cp -p "${style}.sty" "$tempdir/special-settings.sty"
cp -p "$basedir/${texfile}.tex" "$tempdir"
cp -p "$basedir/${style}.sty" "$tempdir/special-settings.sty"

cd "temp-$outfile"
touch metamath.ind
Expand Down
Binary file removed german/metamath.pdf
Binary file not shown.
19 changes: 10 additions & 9 deletions german/metamath.tex
Original file line number Diff line number Diff line change
Expand Up @@ -766,7 +766,8 @@
% * "tabu" much more capable and seems to be recommended. So use that.

\usepackage{makecell} % Enable forced line splits within a table cell
\usepackage{longtable} % Enable multi-page tables
% v4.13 needed for tabu: https://tex.stackexchange.com/questions/600724/dimension-too-large-after-recent-longtable-update
\usepackage{longtable}[=v4.13] % Enable multi-page tables
\usepackage{tabu} % Multi-page tables with wrapped text in a cell

% You can find more Tex packages using commands like:
Expand Down Expand Up @@ -1686,7 +1687,7 @@ \subsection{Beweisverifizierer}\label{proofverifiers}
Nach dem Stand von 2019 ist die Ghilbert-Gemeinschaft kleiner und weniger aktiv als die Metamath-Gemeinschaft.
Dennoch gibt es Überschneidungen zwischen der Metamath- und der Ghilbert-Gemeinschaft, und im Laufe der Jahre haben viele Male fruchtbare Gespräche zwischen ihnen stattgefunden.

\subsection{Erstellung einer Datenbasis für formalisierte\\ Mathematik}\label{mathdatabase}
\subsection{Erstellung einer Datenbasis für formalisierte\texorpdfstring{\\}{} Mathematik}\label{mathdatabase}

Neben Metamath gibt es mehrere andere laufende Projekte mit dem Ziel, die Mathematik in durch Computer verifizierbare Datenbasen zu formalisieren. Um sie zu verstehen hilft ein Rückblick auf deren Historie.

Expand Down Expand Up @@ -2554,7 +2555,7 @@ \section{Ihr erster Beweis}\label{frstprf}

Ein oft nützlicher Befehl ist \texttt{minimize{\char`\_}with*/brief}, der versucht, den Beweis zu verkürzen. Er kann den Prozess des Beweisens effizienter machen, indem er Sie einen etwas "`schlampigen"' Beweis schreiben lässt und ihn dann durch einige feine Optimierungsdetails für Sie bereinigt (obwohl er keine Wunder vollbringen kann, wie z.B. die Umstrukturierung des gesamten Beweises).

\section{\sloppy Hinweise zur Bearbeitung einer Daten\-basis}
\section{Hinweise zur Bearbeitung einer Daten\-basis}
Copy link
Contributor

@avekens avekens Dec 22, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Without the \sloppy command, LaTex does not wrap "Datenbasis", but creates a single line which is a little bit longer than the block size. I would suggest to insert \texorpdfstring{\\}{} before "Datenbasis" (wraps the line before "Datenbasis",).


Sobald die Quelldatei ihrer Datenbasis Beweise enthält, gibt es einige Einschränkungen für deren Bearbeitung, damit die Beweise gültig bleiben.
Diese Regeln sollten Sie besonders beachten, da Sie sonst mühsam erzielte Ergebnisse verlieren können. Es ist sinnvoll, alle Beweise regelmäßig mit \texttt{verify proof *} zu überprüfen, um ihre Integrität sicherzustellen.
Expand Down Expand Up @@ -2882,7 +2883,7 @@ \subsection{Aussagenlogik}\label{propcalc}\index{Axiome der Aussagenlogik}


\needspace{7\baselineskip}
\subsection{Axiome der Prädikatenlogik mit Gleichheit\\--- Tarskis S2}\index{Axiome der Prädikatenlogik}
\subsection{Axiome der Prädikatenlogik mit Gleichheit\texorpdfstring{\\---}{ ---} Tarskis S2}\index{Axiome der Prädikatenlogik}

\needspace{3\baselineskip}
\noindent Regel der Verallgemeinerung.\index{Regel der Verallgemeinerung}
Expand Down Expand Up @@ -2964,7 +2965,7 @@ \subsection{Axiome der Prädikatenlogik mit Gleichheit\\--- Tarskis S2}\index{Ax


\needspace{4\baselineskip}
\subsection{Axiome der Prädikatenlogik mit Gleichheit\\--- Hilfsaxiome}\index{Axiome der Prädikatenlogik - Hilfsaxiome}
\subsection{Axiome der Prädikatenlogik mit Gleichheit\texorpdfstring{\\---}{ ---} Hilfsaxiome}\index{Axiome der Prädikatenlogik - Hilfsaxiome}

\needspace{2\baselineskip}
\noindent Axiom der quantifizierten Negation.
Expand Down Expand Up @@ -4678,11 +4679,11 @@ \subsection{Die Axiome für reelle und komplexe Zahlen selbst}\label{realactual}

In \texttt{set.mm} definieren wir die positiven ganzen Zahlen $\mathbb{N}$, die nichtnegativen ganzen Zahlen $\mathbb{N}_0$, die ganzen Zahlen $\mathbb{Z}$ und die rationalen Zahlen $\mathbb{Q}$ als Teilmengen von $\mathbb{R}$. Dies führt zu der schönen Teilmengenkette $\mathbb{N} \subseteq \mathbb{N}_0 \subseteq \mathbb{Z} \subseteq \mathbb{Q} \subseteq \mathbb{R} \subseteq \mathbb{C}$, was uns einen einheitlichen Rahmen für die Arithmetik gibt, in dem zum Beispiel eine Eigenschaft wie die Kommutativität der Addition komplexer Zahlen automatisch für ganze Zahlen gilt. Die natürlichen Zahlen $\mathbb{N}$\footnote{Anm. der Übersetzer: sowohl im Deutschen als auch im Englischen ist nicht eindeutig festgelegt, ob mit dem Begriff "`natürliche Zahlen"' die positiven ganzen Zahlen $\mathbb{N}$ oder die nichtnegativen ganzen Zahlen $\mathbb{N}_0$ gemeint werden.} unterscheiden sich von der zuvor definierten Menge $\omega$, aber beide erfüllen die Peanoschen Postulate.

\subsection{Axiome für komplexe Zahlen in Texten zur \\Analysis}
\subsection{Axiome für komplexe Zahlen in Texten zur \texorpdfstring{\\}{}Analysis}

Die meisten Texte zur Analysis konstruieren komplexe Zahlen als geordnete Paare von reellen Zahlen, was zu konstruktionsabhängigen Eigenschaften führt, die diese Axiome erfüllen, aber nicht in ihrer reinen Form angegeben werden. (Dies geschieht auch in \texttt{set.mm}, aber unsere Axiome abstrahieren von dieser Konstruktion.) In anderen Texten heißt es einfach, dass $\mathbb{R}$ ein "`komplettes geordnetes Teilfeld von $\mathbb{C}$ ist"', was zu redundanten Axiomen führt, wenn man diese Phrase vollständig ausformuliert. Tatsächlich habe ich noch keinen Text gesehen, der die Axiome in der obigen expliziten Form enthält. Keines dieser Axiome ist individuell einzigartig, aber diese sorgfältig ausgearbeitete Sammlung von Axiomen ist das Ergebnis jahrelanger Arbeit der Metamath-Gemeinschaft.

\subsection{Beseitigung unnötiger Axiome für komplexe \\Zahlen}
\subsection{Beseitigung unnötiger Axiome für komplexe \texorpdfstring{\\}{}Zahlen}

Metamath hatte ursprünglich mehr Axiome für reelle und komplexe Zahlen, aber im Laufe der Zeit haben wir (die Metamath-Gemeinschaft) Wege gefunden, unnötige Axiome zu eliminieren (indem wir sie anhand anderer Axiome bewiesen haben) oder sie abzuschwächen (indem wir schwächere Behauptungen aufgestellt haben, ohne die Beweisbarkeit der auf sie aufbauenden Theoreme zu reduzieren). Es folgen einige Aussagen, die früher Axiome für komplexe Zahlen waren, die aber inzwischen (mit Metamath) formal als überflüssig nachgewiesen wurden:

Expand Down Expand Up @@ -5275,7 +5276,7 @@ \section{Erforschung der Mengenlehre-Datenbasis}\label{exploring}
...
\end{verbatim}

\subsection{Eine Anmerkung zum "`kompakten"' \\Beweis\-format}
\subsection{Eine Anmerkung zum "`kompakten"'\texorpdfstring{\\}{} Beweis\-format}

Das Programm Metamath zeigt Beweise in einem "`kompakten"'\index{kompakter Beweis} Format an, wenn der Beweis in komprimiertem Format in der Datenbasis gespeichert ist. Dies kann etwas verwirrend sein, wenn man nicht weiß, wie dies zu interpretieren ist. Wenn Sie zum Beispiel den vollständigen Beweis des Theorems \texttt{id1} anzeigen lassen, wird er wie folgt beginnen:

Expand Down Expand Up @@ -7042,7 +7043,7 @@ \subsection{Hinzufügen von Einschränkungen für Definitionen}

\end{enumerate}

\subsection{Zusammenfassung des Metamath-Ansatzes für\\ Definitionen}
\subsection{Zusammenfassung des Metamath-Ansatzes für\texorpdfstring{\\}{} Definitionen}

Kurz gesagt, bei einem rigorosen Vorgehen stellt sich heraus, dass Definitionen subtil sein können und manchmal schwierige Metatheoreme erfordern, um zu beweisen, dass sie nicht kreativ sind.

Expand Down
3 changes: 2 additions & 1 deletion metamath.tex
Original file line number Diff line number Diff line change
Expand Up @@ -763,7 +763,8 @@
% * "tabu" much more capable and seems to be recommended. So use that.

\usepackage{makecell} % Enable forced line splits within a table cell
\usepackage{longtable} % Enable multi-page tables
% v4.13 needed for tabu: https://tex.stackexchange.com/questions/600724/dimension-too-large-after-recent-longtable-update
\usepackage{longtable}[=v4.13] % Enable multi-page tables
\usepackage{tabu} % Multi-page tables with wrapped text in a cell

% You can find more Tex packages using commands like:
Expand Down