Logiweb(TM)

Logiweb body of equivalence-relations in pyk

Up Help

"File page.tex
\documentclass [fleqn,titlepage]{article}
\setlength {\overfullrule }{1mm}
\input{lgwinclude}

\usepackage{latexsym}

%\setlength{\parindent}{0em}
%\setlength{\parskip}{1ex}

% The font of each Logiweb construct is under tight control except that
% strings are typeset in whatever font is in effect at the time of
% typesetting. This is done to enhance the readability of strings in the
% TeX source generated by Logiweb. The default font for typesetting
% strings is \rm:
\everymath{\rm}

\usepackage{makeidx}
%\usepackage{page} - fjernet 3.5.06
%\makeindex - fjernet 3.5.06
\newcommand{\intro}[1]{\emph{#1}}
\newcommand{\indexintro}[1]{\index{#1}\intro{#1}}
\newlength{\bracketwidth}
\settowidth{\bracketwidth}{$[{}$}
\newcommand{\back}{\protect\makebox[-1.0\bracketwidth]{}}

% tilfoejede pakker
\usepackage{lscape}
\usepackage{multicol}
\usepackage{float}
\usepackage[latin1]{inputenc}
\usepackage[dvips]{graphicx}
\usepackage{verbatim}
\usepackage[danish]{babel}
\usepackage{graphpap}

\usepackage[dvipdfm=true]{hyperref}
\hypersetup{pdfpagemode=none}
\hypersetup{pdfstartpage=1}
\hypersetup{pdfstartview=FitBH}
\hypersetup{pdfpagescrop={120 130 490 730}}
%\hypersetup{pdftitle=}
\hypersetup{colorlinks=false}
\bibliographystyle{plain}

% \tex{something} writes something to page.otx for later inclusion
\newwrite\outex
\newtoks\toktex
\immediate\openout\outex=page.otx
\newcommand{\tex}[1]{\toktex={\item #1}\immediate\write\outex{\the\toktex}}

% \test{something} writes something to page.tst for later inclusion
\newwrite\outest
\immediate\openout\outest=page.tst
\newcommand{\test}[1]{\toktex={\item #1}\immediate\write\outest{\the\toktex}}

% Concerning \catcode`\@=11 : See the TeXbook, Appendix B (page 344).
% \afterheading suppresses indentation once, c.f. latex.ltx.
% \display{something} displays something as a displayed equation except
% that linebreaking is possible and displaymath is not turned on by default.
% The first paragraph after \display{something} is unindented.
% Glue below formulas may be wrong. The definition of \display misses
% something like \addvspace{\belowdisplayskip}.
\catcode`\@=11
\def\afterheading{\@afterheading}
\catcode`\@=12
\newcommand{\display}[1]{\begin{list}{}{\setlength{\leftmargin}{\mathindent}}
\item #1\end{list}
\afterheading}
\newcommand{\statement}[1]{\begin{list}{}{\setlength{\leftmargin}{0mm}}
\item #1\end{list}
\afterheading}

\begin {document}

\floatplacement{figure}{h!}
\floatplacement{table}{h!}
\hyphenation{her-ud-over ek-si-stens-va-ri-ab-le an-dre dob-belt-im-pli-ka-ti-on ob-jekt-kvan-tor de-fi-ni-tions-lem-ma ens-be-tyd-en-de
und-er-af-snit slut-ning-en inde-hol-der for-klar-ing-en si-de-be-ting-el-sen
des-uden be-vis-check-er-en}


\title {\Huge{\AE{}kvivalensrelationer i Logiweb}}
\author {Frederik Eriksen \texttt{(eriksen@diku.dk)}}
\date{22.\ juni 2006}
\maketitle


\newpage

\tableofcontents
\listoffigures

" [ ragged right expansion ] "

\newpage

\section{Indledning}

Denne rapport indeholder et aksiomsystem for en reduceret version af ZF
m\ae{}ngdel\ae{}re, som jeg kalder for ``" [ math system zf end math ] "''. Ud fra dette aksiomsystem vil jeg vise en r\ae{}kke basale s\ae{}tninger inden for udsagnslogik og m\ae{}ngdel\ae{}re. Hovedresultatet er, at en \ae{}kvivalensrelation p\aa{} en m\ae{}ngde " [ math meta big set end math ] " implicit definerer en partition af " [ math meta big set end math ] "\footnote{Jeg vil referere til denne s\ae{}tning som ``hovedresultatet''. Oprindeligt var det ogs\aa{} et m\aa{}l at bevise det modsatte resultat --- at enhver partition implicit definerer en \ae{}kvivalensrelation --- men det har der ikke v\ae{}ret tid til.}. Alt det formelle arbejde i rapporten er gennemf\o{}rt med henblik p\aa{} at bevise dette resultat.

Rapporten er udarbejdet ved hj\ae{}lp af Logiweb, som er et system til verifikation og publicering af tekster, der indeholder formel matematik.
Logiweb har verificeret rapportens beviser og publiceret rapporten p\aa{} WWW-adressen

\noindent \resizebox{\textwidth}{!}{\url{http://www.diku.dk/~grue/logiweb/20060417/home/eriksen/equivalence-relations}.}

Det matematiske indhold af denne rapport er ikke synderligt avanceret; f.eks.\ fylder materialet om \ae{}kvivalensrelationer knap to sider i l\ae{}rebogen \cite{kn:hrba} (s.\ 29--31). Ideen med rapporten er snarere at afpr\o{}ve Logiweb end at redeg\o{}re for en matematisk teori. Derfor vil jeg ikke g\o{}re alt for meget ud af at forklare de matematiske begreber; fokus vil i h\o{}jere grad ligge p\aa{} tekniske forhold omkring formaliseringen.

Rapporten er struktureret som f\o{}lger: Afsnit \ref{sec:logiweb} er en kort beskrivelse af nogle detaljer ved Logiweb, som er nyttige at kende for en l\ae{}ser af et Logiweb-dokument som dette\footnote{Dette afsnit er en revideret udgave af afsnit 2 i \cite{kn:peano}.}. Afsnit \ref{sec:syntaks} og \ref{sec:aksiomsystem} omhandler syntaksen og aksiomsystemet for " [ math system zf end math ] ", og afsnit \ref{sec:makro} indf\o{}rer de makrodefinitioner, jeg vil g\o{}re brug af. S\aa{} kommer vi til lemmaerne og beviserne; vi skal igennem fem afsnit med hj\ae{}lpes\ae{}tninger (afsnit \ref{sec:udsagn}--\ref{sec:lighedslemmaer}), f\o{}r vi endelig kan bevise hovedresultatet i afsnit \ref{sec:hoved}. Afsnit \ref{sec:kon} slutter af med en konklusion p\aa{} det hele.

\section{Lidt om Logiweb} \label{sec:logiweb}

Som n\ae{}vnt i indledningen er denne rapport skrevet ved hj\ae{}lp af Logiweb. Dette betyder dels,
at rapportens formelle indhold er defineret ud fra nogle andre Logiweb-dokumenter, dels at et par afsnit indeholder nogle s\ae{}rlige definitioner og tabeller, og endelig at et par andre afsnit indeholder en del programkode. I dette afsnit vil jeg kort beskrive disse f\ae{}nomener. For en detaljeret beskrivelse af hele Logiweb systemet vil jeg henvise til \cite{kn:base}; her kan man bla.\ l\ae{}se om den bevischecker, der har verificeret rapportens beviser.

\subsection{Formelle konstruktioner} \label{sec:formelkon}

Det formelle indhold af et Logiweb-dokument er sammensat af en r\ae{}kke formelle konstruktioner. En formel konstruktion kan repr\ae{}sentere alt, hvad der har med formel matematik at g\o{}re: Variable, funktioner, lemmaer, beviser, osv. Der er to kilder til konstruktionerne i et Logiweb-dokument: Dels kan man indf\o{}re sine egne konstruktioner, og dels kan man importere konstruktioner fra andre Logiweb-dokumenter. De importerede konstruktioner i denne rapport har to kilder: Dels
\cite{kn:base}, og dels de 3 .pdf filer \cite{kn:check}, som tilsammen udg\o{}r \'{e}t Logiweb-dokument.

\subsection{S\ae{}rlige definitioner og tabeller} \label{sec:saerlig}

Den formelle del af et Logiweb-dokument skrives i et formateringssprog ved navn ``pyk''. Hver formel konstruktion, man arbejder med i dokumentet, har tilknyttet en s\aa{}kaldt ``pyk definition''. Dette er en angivelse af, hvad man skal skrive, hvis man i et andet Logiweb-dokument \o{}nsker at benytte den p\aa{}g\ae{}ldende konstruktion. Hvis man indf\o{}rer en ny konstruktion i sit Logiweb-dokument, er det et krav, at man g\o{}r den tilsvarende pyk definition tilg\ae{}ngelig i dokumentet. Denne rapports pyk definitioner er vedlagt i bilag \ref{sec:pyk}.

Logiweb genererer det f\ae{}rdige dokument ved hj\ae{}lp af det kendte formateringssprog \LaTeX. Derfor har hver formel konstruktion ogs\aa{} tilknyttet en s\aa{}kaldt ``\TeX{} definition'', som angiver, hvordan konstruktionen skal skrives i \LaTeX. Ligesom pyk definitioner skal ogs\aa{} \TeX{} definitioner v\ae{}re tilg\ae{}ngelige i dokumentet. Denne rapports \TeX{} definitioner er vedlagt i bilag \ref{sec:tex}.

Endelig indeholder bilag \ref{sec:prio} en tabel over alle de formelle konstruktioner i denne rapport --- b\aa{}de de importerede og dem, jeg selv har defineret. Denne tabel er f\o{}rst og fremmest med, for at andre Logiweb-dokumenter skal kunne referere til rapporten; uden tabellen kan s\aa{}danne referencer ikke finde sted.

\subsection{L-kode} \label{sec:l}

Logiweb-dokumentet \cite{kn:base} indeholder et funktionelt programmeringssprog, som jeg vil kalde for ``L''. Der er en del forekomster af L-kode i rapporten. For en forklaring af de konstruktioner fra L, som jeg bruger, vil jeg henvise til funktionsbeskrivelserne i appendikset til \cite{kn:check}, afsnit 3.2, s.\ 6. Herudover vil jeg supplere med et par kommentarer undervejs.

\newpage
\section{Syntaks for " [ math system zf end math ] " } \label{sec:syntaks}

Som n\ae{}vnt i indledningen vil jeg arbejde med en reduceret version af ZF m\ae{}ngdel\ae{}re, som jeg kalder for ``" [ math system zf end math ] "''. Dette afsnit beskriver syntaksen for " [ math system zf end math ] ". Der er to syntaktiske hovedkategorier i " [ math system zf end math ] ": Termer og formler. Underafsnit \ref{sec:termer} beskriver syntaksen for termer, og underafsnit \ref{sec:formler} beskriver syntaksen for formler.

\subsection{Termer} \label{sec:termer}

Syntaksen for en term " [ math meta t end math ] " kan beskrives ved den f\o{}lgende BNF-grammatik:
%
\begin{eqnarray*}
" [ meta t ] " & ::= & " [ vaerdi ] " \; | \; " [ variabel ] " \\
" [ vaerdi ] "
& ::= & " [ zermelo empty set ] " \; | \;
" [ zermelo pair meta t comma meta t end pair ] " \; | \;
" [ union meta t end union ] " \; | \;
" [ power meta t end power ] " \; | \;
" [ the set of ph in meta t such that meta f end set ] " \\
" [ variabel ] " & ::= & " [ object-var ] " \; | \; " [ ex-var ] " \; | \;
" [ ph-var ] "
%\label{eq:term}
\end{eqnarray*}
%
En " [ vaerdi ] " svarer til en konkret m\ae{}ngde --- v\ae{}rditermer indeholder ingen variable. Den grundl\ae{}ggende v\ae{}rdi er den tomme m\ae{}ngde; herudfra kan vi konstruere par, f\ae{}llesm\ae{}ngder, potensm\ae{}ngder samt delm\ae{}ngder hvis elementer opfylder en bestemt egenskab. Der er s\aa{}ledes ingen individuelle konstanter i " [ math system zf end math ] "; alt er m\ae{}ngder.

En " [ variabel ] " kan for det f\o{}rste v\ae{}re en objekt-variabel, som varierer over v\ae{}rdier\footnote{Vi repr\ae{}senterer objektvariable med symbolerne ``" [ math object a end math ] "'', ``" [ math object b end math ] "'', $\cdots$ ``" [ math object z end math ] "'' samt ``" [ math object big set end math ] "''.}. De to andre typer af variable --- eksistens-variable og pladsholder-variable --- vil jeg vente med at forklare til hhv.\ afsnit \ref{sec:eksistens} og \ref{sec:separation}.

\subsection{Formler} \label{sec:formler}

Syntaksen for en formel " [ math meta f end math ] " kan beskrives ved den f\o{}lgende BNF-grammatik:
%
\begin{eqnarray*}
" [ meta f ] " & ::= & " [ meta t zermelo in meta t ] " \; | \;
" [ meta t zermelo is meta t ] " \; | \;
" [ not0 meta f ] " \; | \;
" [ meta f imply meta f ] " \; | \;
\forall \texttt{Objekt-var}
\colon {\cal F}
\end{eqnarray*}
%

\noindent Med en formel kan vi alts\aa{} p\aa{}st\aa{}, at en m\ae{}ngde tilh\o{}rer en anden m\ae{}ngde, eller at to m\ae{}ngder er lig hinanden. Desuden kan vi negere formler\footnote{Jeg skriver negationstegnet med en prik over for at undg\aa{} forveksling med konstruktionen " [ bracket not var x end bracket ] " fra \cite{kn:base}.}, lade formler implicere hinanden, samt kvantificere formler med objektvariable.

\subsection{Objektvariable vs.\ metavariable} \label{sec:objekt}

En metavariabel\footnote{Vi repr\ae{}senterer metavariable med symbolerne ``" [ math meta a end math ] "'', ``" [ math meta b end math ] "'', $\cdots$ ``" [ math meta z end math ] "'' samt ``" [ math meta big set end math ] "''.}
er en variabel, der varierer over vilk\aa{}rlige termer --- alts\aa{} ogs\aa{} over objektvariable. Denne rapport er ikke helt fri for objektvariable; men n\aa{}r vi taler om " [ math system zf end math ] " i aksiomer\footnote{Strengt taget burde jeg skrive ``aksiomskemaer'', da vi bruger metavariable. Da der kun er aksiomskemaer i denne rapport, vil jeg imidlertid bruge ordet ``aksiom'' for at g\o{}re teksten lidt lettere.}, definitioner og beviser vil jeg s\aa{} vidt muligt bruge metavariable, da de er mere fleksible end objektvariable. F.eks.\ kan ``" [ math object s end math ] "''
i formlen " [ bracket object s zermelo is meta x end bracket ] "\footnote{En fodnote om stil: Jeg vil ofte indramme matematiske udtryk i firkantede parenteser ``$[\: ]$'' for at adskille udtrykkene fra den omgivende tekst. De firkantede parenteser har ingen selvst\ae{}ndig betydning.} kun instantieres til en term; vi kan ikke skifte objektvariabel og konkludere " [ bracket object t zermelo is meta x end bracket ] ". Derimod kan vi sagtens instantiere formlen " [ bracket meta s zermelo is meta x end bracket ] " til " [ bracket object t zermelo is meta x end bracket ] ". En liste over de metavariable, jeg vil bruge, kan ses i bilag \ref{sec:variable}.

%\newpage
\section{Aksiomatisk system} \label{sec:aksiomsystem}

" [ math system zf end math ] " er en teori i 1.\ ordens pr\ae{}dikatkalkyle. Vi kan s\aa{}ledes opdele aksiomsystemet for " [ math system zf end math ] " i to: En pr\ae{}dikatlogisk del og en m\ae{}ngdeteoretisk del. Underafsnit \ref{sec:1order} gennemg\aa{}r den pr\ae{}dikatlogiske del, og underafsnit \ref{sec:axiomzf} gennemg\aa{}r den m\ae{}ngdeteoretiske del. Bilag \ref{sec:helezf} indeholder en kopi af det samlede aksiomsystem.

\subsection{1.\ ordens pr\ae{}dikatkalkyle} \label{sec:1order}

Her er de f\o{}rste slutningsregler i " [ math system zf end math ] ":

\display{
" [ math theory system zf end theory end math ] "

" [ math in theory system zf rule 1rule mp says for all terms meta a comma meta b indeed meta a imply meta b infer meta a infer meta b end rule end math ] "

" [ math in theory system zf rule 1rule gen says for all terms meta x comma meta a indeed meta a infer for all meta x indeed meta a end rule end math ] "

" [ math in theory system zf rule 1rule repetition says for all terms meta a indeed meta a infer meta a end rule end math ] "

" [ math in theory system zf rule 1rule ad absurdum says for all terms meta a comma meta b indeed not0 meta b imply meta a infer not0 meta b imply not0 meta a infer meta b end rule end math ] "

" [ math in theory system zf rule 1rule deduction says for all terms meta a comma meta b indeed 1deduction meta a conclude meta b end 1deduction endorse meta a infer meta b end rule end math ] "
}

F\o{}rst et par ord om syntaks: Konstruktionen " [ bracket var x infer var y end bracket ] " st\aa{}r for inferens, alts\aa{} at vi kan bevise " [ math var y end math ] ", hvis vi har et bevis for " [ math var x end math ] ". Konstruktionen " [ bracket var x endorse var y end bracket ] " betyder, at
" [ math var y end math ] " g\ae{}lder, hvis sidebetingelsen " [ math var x end math ] " er sand. Endelig er konstruktionen " [ bracket for all terms var x indeed var y end bracket ] " en meta-alkvantor; betydningen er, at metavariablen " [ math var x end math ] " kan instantieres til hvad som helst --- selv andre metavariable.

De viste slutningsregler er n\ae{}sten identiske med
reglerne " [ math rule mp end math ] ", " [ math rule gen end math ] ", " [ math double negation end math ] " og " [ math deduction end math ] " i systemet " [ math system s end math ] " fra \cite{kn:check}. Der er dog to \ae{}ndringer. For det f\o{}rste har jeg tilf\o{}jet " [ bracket for all terms meta a indeed meta a infer meta a end bracket ] " som en slutningsregel. (I \cite{kn:check} vises " [ bracket for all terms meta a indeed meta a infer meta a end bracket ] " med et lav-niveau bevis). For det andet har jeg lavet en lille \ae{}ndring i deduktionsreglen " [ math 1rule deduction end math ] ", som g\o{}r den i stand til at h\aa{}ndtere sidebetingelser bedre. Jeg beskriver \ae{}ndringen i bilag \ref{sec:deduktion}.

Som n\ae{}vnt i \cite{kn:check} kan deduktionsreglen erstatte enhver anvendelse af aksiomskemaerne A4 og A5 fra \cite{kn:mendel} (se evt.\ Mendelsons system p\aa{} s.\ 69). Derfor har jeg ikke medtaget disse aksiomskemaer. P\aa{} denne m\aa{}de f\aa{}r vi ogs\aa{} afpr\o{}vet deduktionsreglens brugervenlighed; vi skal straks se et eksempel, hvor A4 kunne have gjort nytte.

\verb| |

\subsubsection{H\aa{}ndtering af eksistenskvantorer}
\label{sec:eksistens}

Et sp\o{}rgsm\aa{}l er nemlig, hvordan man skal h\aa{}ndtere introduktion og elimination af eksistenskvantorer --- alts\aa{} slutninger som f.eks.\
" [ bracket zermelo empty set zermelo is zermelo empty set infer exist object x indeed object x zermelo is object x end bracket ] " og
" [ bracket exist object x indeed object x zermelo is object x infer object c zermelo is object c end bracket ] " (hvor ``" [ math object c end math ] "'' er et ikke tidligere anvendt navn p\aa{} en konstant).

Det er muligt at h\aa{}ndtere denne slags slutninger alene med reglerne fra afsnit \ref{sec:1order}, men det er omst\ae{}ndigt og tidskr\ae{}vende (sammenlign f.eks.\ de to beviser p\aa{} s.\ 81 i \cite{kn:mendel}). Som et minimum kr\ae{}ver det, at man har A4 fra \cite{kn:mendel} til r\aa{}dighed --- og som n\ae{}vnt ovenfor har jeg valgt ikke at medtage dette aksiomskema.

Jeg har i stedet implementeret en l\o{}sning, der er baseret p\aa{} begrebet ``eksistensvariabel''. Vi indf\o{}rer en un\ae{}r operator " [ bracket var x is existential var end bracket ] " og definerer, at en term er en ekistens-variabel, hviss den har " [ bracket var x is existential var end bracket ] " som principal operator. Funktionen " [ bracket var x is existential var end bracket ] " tester, om " [ math var x end math ] " er en eksistens-variabel:

\display{" [ math value define var x is existential var as var x term root equal quote existential var var x end var end quote end define end math ] "\footnote{Konstruktionen " [ math value define var x as var y end define end math ] " er en s\aa{}kaldt ``v\ae{}rdidefinition'' i L (jvf.\ afsnit \ref{sec:l}). Den svarer til en almindelig funktionsdefinition; vi knytter funktionssignaturen " [ math var x end math ] " til kroppen " [ math var y end math ] ".}
}

\noindent Vi kan da definere de fire eksistens-variable, som denne rapport vil g\o{}re brug af (jvf.\ bilag \ref{sec:variable}):

\verb| |

\display{
" [ math macro define ex1 as existential var var a end var end define end math ] "\footnote{Konstruktionen " [ math macro define var x as var y end define end math ] " st\aa{}r for ``makrodefinition'' i L. Vi definerer " [ math var x end math ] " som v\ae{}rende en forkortelse for " [ math var y end math ] ". Ud fra bevischeckerens synspunkt er der ingen forskel p\aa{} " [ math var x end math ] " og " [ math var y end math ] ".}

" [ math macro define ex2 as existential var var b end var end define end math ] "

" [ math macro define ex10 as existential var var j end var end define end math ] "

" [ math macro define ex20 as existential var var t end var end define end math ] "\footnote{``j'' og ``t'' er hhv.\ bogstav nr.\ 10 og 20 i alfabetet.}
}

\noindent Ideen med disse definitioner er at repr\ae{}sentere en formel som f.eks.\ \mbox{" [ bracket exist object x indeed object x zermelo is object x end bracket ] "} ved formlen " [ bracket meta x zermelo is meta x end bracket ] ", hvor ``" [ math meta x end math ] "'' er en eksistensvariabel. P\aa{} denne m\aa{}de kommer eksistensvariablene til at fungere som erstatning for eksistenskvantoren. Dette betyder ogs\aa{}, at der ikke er brug for at nogen regel, der eksplicit fjerner eksistenskvantorer --- de er allerede v\ae{}k.

Til geng\ae{}ld f\aa{}r vi brug for en regel, der kan introducere eksistensvariable. Til den ende definerer vi pr\ae{}dikatet " [ math exist-sub var a is var b where var x is var t end sub end math ] " i L:

\verb| |

\begin{list}{}{
\setlength{\leftmargin}{0em}
\setlength{\itemindent}{0em}
\setlength{\itemsep}{1ex}}

\item " [ math macro define exist-sub var a is var b where var x is var t end sub as exist-sub0 quote var a end quote is quote var b end quote where quote var x end quote is quote var t end quote end sub end define end math ] "

\item " [ math value define exist-sub0 var a is var b where var x is var t end sub as lambda var c dot var x is existential var and exist-sub1 var a is var b where var x is var t end sub end define end math ] "

\item " [ math value define exist-sub1 var a is var b where var x is var t end sub as var a tagged guard var x tagged guard var t tagged guard newline open if var b term root equal quote for all var u indeed var v end quote then false else newline open if var b is existential var and var b term equal var x then var a term equal var t else newline var a term root equal var b macro and exist-sub* var a tail is var b tail where var x is var t end sub end define end math ] "

\item " [ math value define exist-sub* var a is var b where var x is var t end sub as var b tagged guard var x tagged guard var t tagged guard tagged if var a then true else exist-sub1 var a head is var b head where var x is var t end sub macro and exist-sub* var a tail is var b tail where var x is var t end sub end if end define end math ] "

\end{list}

\noindent Pr\ae{}dikatet " [ math exist-sub var a is var b where var x is var t end sub end math ] " er sandt, hvis " [ math var x end math ] " er en eksistens-variabel, og hvis formlen " [ math var a end math ] " er identisk med resultatet af at erstatte alle forekomster af " [ math var x end math ] " i formlen " [ math var b end math ] " med termen " [ math var t end math ] ". F.eks.\ er " [ math exist-sub parenthesis zermelo empty set zermelo is zermelo empty set end parenthesis is parenthesis ex1 zermelo is ex1 end parenthesis where ex1 is zermelo empty set end sub end math ] " sand. Herudover er det et krav, at hverken " [ math var a end math ] " eller " [ math var b end math ] " m\aa{} indeholde objektkvantorer; s\aa{}ledes er " [ math exist-sub parenthesis for all object s indeed object s zermelo is zermelo empty set end parenthesis is parenthesis for all object s indeed object s zermelo is ex1 end parenthesis where ex1 is zermelo empty set end sub end math ] " falsk. Dette krav er udelukkende indf\o{}rt for at g\o{}re koden for " [ math exist-sub var a is var b where var x is var t end sub end math ] " s\aa{} simpel som mulig; det har ikke v\ae{}ret n\o{}dvendigt at s\ae{}tte " [ math exist-sub var a is var b where var x is var t end sub end math ] " i stand til at h\aa{}ndtere kvantificering.

Vi kan nu definere den slutningsregel, der st\aa{}r for introduktion af eksistensvariable:

\display{
" [ math in theory system zf rule 1rule exist intro says for all terms meta x comma meta t comma meta a comma meta b indeed exist-sub meta a is meta b where meta x is meta t end sub endorse meta a infer meta b end rule end math ] "
%
\footnote{I denne definition varierer ``" [ math meta x end math ] "'' over eksistens-variable.}
%
}

\noindent Med " [ math 1rule exist intro end math ] " kan vi f.eks.\ slutte " [ bracket ex1 zermelo is ex1 end bracket ] " ud fra " [ bracket zermelo empty set zermelo is zermelo empty set end bracket ] ". Vi har nu defineret seks aksiomer, der tilsammen d\ae{}kker 1. ordens pr\ae{}dikatkalkyle.

\verb| |

\subsection{Selve m\ae{}ngdel\ae{}ren} \label{sec:axiomzf}

De aksiomer i " [ math system zf end math ] ", der vedr\o{}rer selve m\ae{}ngdel\ae{}ren, har jeg hentet fra kapitel 4.3 og 4.4 i \cite{kn:gold}. Her er de f\o{}rste fem:

\display{
" [ math in theory system zf rule axiom extensionality says for all terms meta x comma meta y indeed meta x zermelo is meta y iff for all object s indeed parenthesis object s zermelo in meta x iff object s zermelo in meta y end parenthesis end rule end math ] "

" [ math in theory system zf rule axiom empty set says for all terms meta s indeed not0 meta s zermelo in zermelo empty set end rule end math ] "

" [ math in theory system zf rule axiom pair definition says for all terms meta s comma meta x comma meta y indeed meta s zermelo in zermelo pair meta x comma meta y end pair iff meta s zermelo is meta x or0 meta s zermelo is meta y end rule end math ] "

" [ math in theory system zf rule axiom union definition says for all terms meta s comma meta x indeed meta s zermelo in union meta x end union iff parenthesis meta s zermelo in ex10 and0 ex10 zermelo in meta x end parenthesis end rule end math ] "

" [ math in theory system zf rule axiom power definition says for all terms meta s comma meta x indeed meta s zermelo in power meta x end power iff for all object s indeed parenthesis object s zermelo in meta s imply object s zermelo in meta x end parenthesis end rule end math ] "\footnote{Konstruktionerne " [ bracket var x and0 var y end bracket ] ", " [ bracket var x or0 var y end bracket ] " og " [ bracket var x iff var y end bracket ] " svarer til de kendte konnektiver; de bliver defineret formelt i afsnit \ref{sec:konnektiver}.}
}

Reglen " [ math axiom extensionality end math ] " siger, at to m\ae{}ngder er ens, hviss de har de samme elementer. De \o{}vrige fire regler definerer begreberne ``tom m\ae{}ngde'', ``par'', ``foreningssm\ae{}ngde'' og ``potensm\ae{}ngde''. L\ae{}g m\ae{}rke til, at
" [ bracket union meta t end union end bracket ] " er en un\ae{}r operator; ideen er, at " [ math union meta t end union end math ] " er lig med foreningsm\ae{}ngden af alle de m\ae{}ngder, som " [ math meta t end math ] " indeholder.

Bem\ae{}rk ogs\aa{} at to af aksiomerne indeholder objektvariablen " [ math object s end math ] ". Forklaringen herp\aa{} er, at aksiomerne indeholder objektkvantoren " [ bracket for all var x indeed var y end bracket ] "; og deduktionsreglen fra \cite{kn:check} er ikke egnet til at h\aa{}ndtere kombinationen ``objektkvantor og metavariabel''. Derfor vil " [ math var x end math ] " i " [ bracket for all var x indeed var y end bracket ] " altid v\ae{}re en objektvariabel i denne rapport.

\verb| |

\subsubsection{Separation og pladsholdervariable}
\label{sec:separation}

Vi mangler stadigv\ae{}k et ``separationsaksiom'' --- dvs.\ et aksiom, der giver mening til konstruktionen " [ bracket the set of ph in meta t such that meta f end set end bracket ] " fra afsnit \ref{sec:termer}. For at implementere separationsaksiomet indf\o{}rer vi begrebet ``pladsholder-variabel''. Fremgangsm\aa{}den er den samme som ved eksistens-variable i afsnit \ref{sec:eksistens}. F\o{}rst indf\o{}rer vi en un\ae{}r operator " [ bracket placeholder-var var x end var end bracket ] " og definerer, at en term er en pladsholder-variabel, hviss den har " [ bracket placeholder-var var x end var end bracket ] " som prim\ae{}r operator. Funktionen " [ bracket var x is placeholder-var end bracket ] " checker, om " [ math var x end math ] " er en pladsholder-variabel:

%\verb| |

\display{" [ math value define var x is placeholder-var as var x term root equal quote placeholder-var var x end var end quote end define end math ] "
}

\noindent Vi kan nu definere de pladsholder-variable, vi f\aa{}r brug for, som f\o{}lger (jvf.\ bilag \ref{sec:variable}):

\verb| |

\display{
" [ math macro define placeholder-var1 as placeholder-var var a end var end define end math ] "

" [ math macro define placeholder-var2 as placeholder-var var b end var end define end math ] "

" [ math macro define placeholder-var3 as placeholder-var var c end var end define end math ] "
}

\noindent S\aa{} definerer vi pr\ae{}dikatet " [ math ph-sub var a is var b where var x is var t end sub end math ] " i L:

\verb| |

\begin{list}{}{
\setlength{\leftmargin}{0em}
\setlength{\itemindent}{0em}
\setlength{\itemsep}{1ex}}

\item
" [ math macro define ph-sub var a is var b where var x is var t end sub as ph-sub0 quote var a end quote is quote var b end quote where quote var x end quote is quote var t end quote end sub end define end math ] "

\item " [ math value define ph-sub0 var a is var b where var x is var t end sub as lambda var c dot var x is placeholder-var and ph-sub1 var a is var b where var x is var t end sub end define end math ] "

\item " [ math value define ph-sub1 var a is var b where var x is var t end sub as var a tagged guard var x tagged guard var t tagged guard newline open if var b term root equal quote for all var u indeed var v end quote then false else newline open if var b is placeholder-var and var b term equal var x then var a term equal var t else newline open if var b is existential var then var a term root equal var b else newline var a term root equal var b macro and ph-sub* var a tail is var b tail where var x is var t end sub end define end math ] "

\item " [ math value define ph-sub* var a is var b where var x is var t end sub as var b tagged guard var x tagged guard var t tagged guard tagged if var a then true else ph-sub1 var a head is var b head where var x is var t end sub macro and ph-sub* var a tail is var b tail where var x is var t end sub end if end define end math ] "

\end{list}

\noindent Pr\ae{}dikatet " [ math ph-sub var a is var b where var x is var t end sub end math ] " er sandt, hvis " [ math var x end math ] " er en pladsholder-variabel, og hvis formlen " [ math var a end math ] " er identisk med resultatet af at erstatte alle forekomster af " [ math var x end math ] " i formlen " [ math var b end math ] " med termen " [ math var t end math ] ".
Ligesom ved " [ math exist-sub var a is var b where var x is var t end sub end math ] " kr\ae{}ver vi, at hverken " [ math var a end math ] " eller " [ math var b end math ] " indeholder objektkvantorer.
F.eks.\ er " [ math ph-sub parenthesis zermelo empty set zermelo in meta s end parenthesis is parenthesis placeholder-var1 zermelo in meta s end parenthesis where placeholder-var1 is zermelo empty set end sub end math ] " sand. Det er i \o{}vrigt tilladt, at " [ math var a end math ] " og " [ math var b end math ] " indeholder forskellige ekistensvariable; s\aa{}ledes er " [ math ph-sub ex1 is ex2 where placeholder-var1 is zermelo empty set end sub end math ] " sand. P\aa{} denne m\aa{}de kan vi im\o{}dekomme kravet om, at en eksistens-variabel skal v\ae{}re ubrugt, n\aa{}r den introduceres i et bevis.

Vi definerer nu separationsaksiomet " [ math axiom separation definition end math ] " ud fra " [ math ph-sub var a is var b where var x is var t end sub end math ] ":

\display{
" [ math in theory system zf rule axiom separation definition says for all terms meta a comma meta b comma meta p comma meta x comma meta z indeed meta p is placeholder-var and ph-sub meta b is meta a where meta p is meta z end sub endorse macro newline meta z zermelo in the set of ph in meta x such that meta a end set iff meta z zermelo in meta x and0 meta b end rule end math ] "
}

\noindent Ved f\o{}rste \o{}jekast virker konjunkten " [ bracket meta p is placeholder-var end bracket ] " i denne definition overfl\o{}dig, fordi " [ math ph-sub meta b is meta a where meta p is meta z end sub end math ] " i forvejen kr\ae{}ver, at " [ math meta p end math ] " er en pladsholder-variabel. Forklaringen er, at ``" [ math meta p end math ] "'' kun optr\ae{}der i definitionens sidebetingelse. Dette betyder, at bevischeckeren har sv\ae{}rt ved at finde ud af, hvordan ``" [ math meta p end math ] "'' skal instantieres, n\aa{}r vi anvender definitionen. Det ekstra krav " [ bracket meta p is placeholder-var end bracket ] " hj\ae{}lper bevischeckeren til at instantiere ``" [ math meta p end math ] "'' korrekt.

Med " [ math axiom separation definition end math ] " til r\aa{}dighed kan vi nu f.eks.\ definere " [ math contains-empty var x end empty end math ] " som den delm\ae{}ngde af " [ math var x end math ] ", hvis elementer indeholder " [ math zermelo empty set end math ] ":

\verb| |

\display{" [ math macro define contains-empty var x end empty as the set of ph in var x such that zermelo empty set zermelo in placeholder-var1 end set end define end math ] ",}

\noindent og vi kan slutte " [ bracket meta s zermelo in meta x and0 zermelo empty set zermelo in meta s end bracket ] " ud fra " [ bracket meta s zermelo in contains-empty meta x end empty end bracket ] ".

Vi bruger alts\aa{} en pladsholder-variabel som fri variabel i d\'{e}n formel " [ math meta f end math ] ", der definerer delm\ae{}ngden " [ math the set of ph in meta x such that meta f end set end math ] ". Ideen med at bruge pladsholder-variable (frem for objekt- eller metavariable) til dette form\aa{}l er, at vi ikke \o{}nsker at kvantificere eller instantiere den frie variabel i " [ math meta f end math ] ". Det er f.eks.\ noget sludder at skrive ``" [ math for all placeholder-var1 indeed the set of ph in meta x such that zermelo empty set zermelo in placeholder-var1 end set end math ] "'' eller at konkludere ``" [ math the set of ph in meta x such that zermelo empty set zermelo in zermelo empty set end set end math ] "'' ud fra definitionen af " [ math contains-empty meta x end empty end math ] ". Den frie variabel i " [ math meta f end math ] " skal blot v\ae{}re en pladsholder; derfor pladsholder-variable.

\verb| |

\section{Makrodefinitioner} \label{sec:makro}

Dette afsnit indeholder d\'{e} makrodefinitioner, som vi vil g\o{}re brug af i resten af rapporten. Definitionerne drejer sig for det meste om m\ae{}ngdeteoretiske begreber, f.eks.\ ``\ae{}kvivalensklasse'' og ``partition''. Til sidst i afsnittet formulerer vi hovedresultatet --- at der til enhver \ae{}kvivalensrelation svarer en partition --- som et formelt teorem.

\subsection{Konnektiver} \label{sec:konnektiver}

Ud fra de to basale konnektiver " [ bracket not0 var x end bracket ] " og " [ bracket var x imply var y end bracket ] " definerer vi konjunktion, disjunktion og dobbeltimplikation:

\display{" [ math macro define var x and0 var y as not0 parenthesis var x imply not0 var y end parenthesis end define end math ] "

" [ math macro define var x or0 var y as not0 var x imply var y end define end math ] "

" [ math macro define var x iff var y as parenthesis var x imply var y end parenthesis and0 parenthesis var y imply var x end parenthesis end define end math ] "
}

\subsection{Negerede formler}

Det er ganske enkelt at definere negeret lighed (" [ math var x zermelo ~is var y end math ] ") og negeret medlemskab (" [ math var x zermelo ~in var y end math ] "):

\display{
" [ math macro define var x zermelo ~is var y as not0 var x zermelo is var y end define end math ] "

" [ math macro define var x zermelo ~in var y as not0 var x zermelo in var y end define end math ] "\footnote{H\o{}jresiderne i disse definitioner skal l\ae{}ses som hhv.\ " [ bracket not0 parenthesis var x zermelo is var y end parenthesis end bracket ] " og " [ bracket not0 parenthesis var x zermelo in var y end parenthesis end bracket ] ".}
}

\subsection{Delm\ae{}ngde} \label{sec:subset}

M\ae{}ngden " [ math var x end math ] " er en delm\ae{}ngde af " [ math var y end math ] " hviss ethvert medlem af " [ math var x end math ] " ogs\aa{} tilh\o{}rer " [ math var y end math ] ":

\display{
" [ math macro define var x is subset of var y as parenthesis object s zermelo in var x imply object s zermelo in var y end parenthesis end define end math ] "
}

Vi kommer ikke til at bruge denne definition ret ofte. Man f\aa{}r tit en bedre f\o{}ling med, hvad der foreg\aa{}r i beviserne, hvis man skriver definitionen ud. Desuden bruger denne definition af " [ bracket var x is subset of var y end bracket ] " objektvariable og implikation; vi vil ofte foretr\ae{}kke at bruge metavariable og inferens i stedet (som f.eks.\ i \mbox{" [ bracket meta s zermelo in var x infer meta s zermelo in var y end bracket ] "}).

\verb| |

\subsection{Singleton-m\ae{}ngde} \label{sec:single}

" [ bracket zermelo singleton var x end singleton end bracket ] " er m\ae{}ngden, der indeholder " [ math var x end math ] " som sit eneste
element. Vi definerer " [ bracket zermelo singleton var x end singleton end bracket ] " ved at parre " [ math var x end math ] " med sig selv:

\display{" [ math macro define zermelo singleton var x end singleton as zermelo pair var x comma var x end pair end define end math ] "}

\subsection{Bin\ae{}r foreningsm\ae{}ngde og f\ae{}llesm\ae{}ngde}
\label{sec:makrobin}

Vi definerer foreningsm\ae{}ngden mellem to m\ae{}ngder " [ math var x end math ] " og " [ math var y end math ] " som f\o{}lger:

\display{
" [ math macro define binary-union var x comma var y end union as union zermelo pair zermelo singleton var x end singleton comma zermelo singleton var y end singleton end pair end union end define end math ] "
}

F\ae{}llesm\ae{}ngden mellem to m\ae{}ngder " [ math var x end math ] " og " [ math var y end math ] " er en delm\ae{}ngde af deres foreningsm\ae{}ngde:

\verb| |

\display{
" [ math macro define intersection var x comma var y end intersection as the set of ph in binary-union var x comma var y end union such that placeholder-var3 zermelo in var x and0 placeholder-var3 zermelo in var y end set end define end math ] "
}

\subsection{Relation} \label{sec:relation}

Det ordnede par " [ math zermelo ordered pair var x comma var y end pair end math ] " indeholder " [ math var x end math ] " som ``f\o{}rstekomponent'' og " [ math var y end math ] " som ``andenkomponent''. Den f\o{}lgende definition af " [ math zermelo ordered pair var x comma var y end pair end math ] " er den mest udbredte i litteraturen (se f.eks.\ afsnit 4.3 i \cite{kn:gold} og afsnit 2.1 i \cite{kn:hrba}):

\verb| |

\display{" [ math macro define zermelo ordered pair var x comma var y end pair as zermelo pair zermelo singleton var x end singleton comma zermelo pair var x comma var y end pair end pair end define end math ] "}

Vi kan nu definere en ``relation'' som en m\ae{}ngde af ordnede par. Vi udtrykker denne definition ved at formalisere, hvad det vil sige, at " [ math var x end math ] " er relateret til " [ math var y end math ] " i kraft af relationen " [ math var r end math ] ":

\verb| |

\display{" [ math macro define var x is related to var y under var r as zermelo ordered pair var x comma var y end pair zermelo in var r end define end math ] "}

Vi kommer faktisk ikke til at bruge disse to definitioner i rapporten; beviserne vil behandle " [ bracket var x is related to var y under var r end bracket ] " som en primitiv konstruktion. Men det er alligevel betryggende at have det formelle grundlag for relationsbegrebet p\aa{} plads.

\newpage

\subsection{\AE{}kvivalensrelation} \label{sec:eqrel}

At en relation er refleksiv p\aa{} en m\ae{}ngde " [ math var x end math ] " vil sige, at alle elementer i " [ math var x end math ] " er relateret til sig selv:

\display{" [ math macro define var r is reflexive relation in var x as for all object s indeed parenthesis object s zermelo in var x imply object s is related to object s under var r end parenthesis end define end math ] "}

At en relation er symmetrisk p\aa{} en m\ae{}ngde " [ math var x end math ] " vil sige, at alle elementer i " [ math var x end math ] " opfylder den f\o{}lgende implikation:

\verb| |

\display{" [ math macro define var r is symmetric relation in var x as for all object s comma object t indeed parenthesis object s zermelo in var x imply object t zermelo in var x imply object s is related to object t under var r imply object t is related to object s under var r end parenthesis end define end math ] "}

At en relation er transitiv p\aa{} en m\ae{}ngde " [ math var x end math ] " vil sige, at alle elementer i " [ math var x end math ] " opfylder den f\o{}lgende implikation:

\verb| |

\display{" [ math macro define var r is transitive relation in var x as macro newline for all object s comma object t comma object u indeed parenthesis object s zermelo in var x imply object t zermelo in var x imply object u zermelo in var x imply object s is related to object t under var r imply object t is related to object u under var r imply object s is related to object u under var r end parenthesis end define end math ] "}

Endelig er en \ae{}kvivalensrelation det samme som en relation, der er refleksiv, symmetrisk og transitiv:

\verb| |

\display{" [ math macro define var r is equivalence relation in var x as var r is reflexive relation in var x and0 var r is symmetric relation in var x and0 var r is transitive relation in var x end define end math ] "}

\subsection{M\ae{}ngde-variable}

Mange af rapportens beviser sker i forhold til en uspecificeret m\ae{}ngde. Vi vil referere til denne m\ae{}ngde med metavariablen " [ math meta big set end math ] " og objektvariablen " [ math object big set end math ] ":

\display{
" [ math macro define meta big set as metavar var big set end metavar end define end math ] "

" [ math macro define object big set as object var var big set end var end define end math ] "\footnote{Navnene ``" [ math meta big set end math ] "'' og ``" [ math object big set end math ] "'' st\aa{}r for hhv.\ for ``big set'' og ``object big set''. Konstruktionerne " [ bracket metavar var x end metavar end bracket ] " og " [ bracket object var var x end var end bracket ] " omdanner " [ math var x end math ] " til hhv.\ en meta- og en objektvariabel. Variablen " [ bracket var big set end bracket ] " vil ogs\aa{} blive brugt i nogle af de kommende definitioner, men ikke i selve beviserne.}
}

\noindent Vi vil s\aa{} vidt muligt bruge metavariablen, men i afsnit \ref{sec:sameinter} og senere bliver det n\o{}dvendigt at g\aa{} over til objektvariablen.

\verb| |

\subsection{\AE{}kvivalensklasse} \label{sec:eqclass}

Lad " [ math var r end math ] " v\ae{}re en \ae{}kvivalensrelation defineret p\aa{} " [ math var big set end math ] ", og lad " [ math var x end math ] " v\ae{}re et medlem af " [ math var big set end math ] ". Vi definerer \ae{}kvivalensklassen " [ math equivalence class of var x in var big set modulo var r end math ] " som den delm\ae{}ngde af " [ math var big set end math ] ", hvis medlemmer st\aa{}r i forhold til " [ math var x end math ] ":

\display{
" [ math macro define equivalence class of var x in var big set modulo var r as the set of ph in var big set such that placeholder-var1 is related to var x under var r end set end define end math ] "
}

\AE{}kvivalenssystemet " [ math eq-system of var big set modulo var r end math ] " er m\ae{}ngden af alle de \ae{}kvivalensklasser, som " [ math var big set end math ] " definerer p\aa{} " [ math var r end math ] ". Vi definerer " [ math eq-system of var big set modulo var r end math ] " som en delm\ae{}ngde af potensm\ae{}ngden " [ math power var big set end power end math ] ":

\verb| |

\display{
" [ math macro define eq-system of var big set modulo var r as the set of ph in power var big set end power such that ex20 zermelo in var big set and0 equivalence class of ex20 in var big set modulo var r zermelo is placeholder-var2 end set end define end math ] "
}

\newpage
\subsection{Partition} \label{sec:partition}

En partition af en m\ae{}ngde " [ math var big set end math ] " er en m\ae{}ngde " [ math var p end math ] ", som opfylder tre krav:
%
\begin{enumerate}
\item Ingen af m\ae{}ngderne i " [ math var p end math ] " er tomme.
\item Alle m\ae{}ngderne i " [ math var p end math ] " er indbyrdes disjunkte.
\item Foreningsm\ae{}ngden af alle m\ae{}ngderne i " [ math var p end math ] " er lig med " [ math var big set end math ] ".
\end{enumerate}
%
Den formelle version af denne definition ser s\aa{}ledes ud:

\display{
" [ math macro define var p is partition of var big set as parenthesis for all object s indeed parenthesis object s zermelo in var p imply object s zermelo ~is zermelo empty set end parenthesis end parenthesis and0 macro newline parenthesis for all object s comma object t indeed parenthesis object s zermelo in var p imply object t zermelo in var p imply object s zermelo ~is object t imply intersection object s comma object t end intersection zermelo is zermelo empty set end parenthesis end parenthesis and0 macro newline union var p end union zermelo is var big set end define end math ] "
}

Vi kan nu formulere hovedresultatet som et formelt lemma (hvor vi bruger objektvariable):

\verb| |

\begin{list}{}{
\setlength{\leftmargin}{0em}
\setlength{\itemindent}{0em}
\setlength{\itemsep}{1ex}}

\item " [ math in theory system zf lemma theorem eq-system is partition says object r is equivalence relation in object big set infer eq-system of object big set modulo object r is partition of object big set end lemma end math ] "

\end{list}

\noindent Form\aa{}let med resten af rapporten er at bevise " [ math theorem eq-system is partition end math ] ".

\section{Udsagnslogisk bibliotek} \label{sec:udsagn}

I dette afsnit vil jeg bevise en samling af udsagnslogiske sandheder ( eller ``tautologier''), som vil blive brugt i de f\o{}lgende afsnit. De fleste af disse tautologier har mange andre anvendelser end lige netop m\ae{}ngdel\ae{}re. Beviserne er fordelt p\aa{} syv underafsnit; figur 1 giver et overblik over, hvordan beviserne forholder sig til hinanden. Jeg vil kommentere de fleste af beviserne; dog er nogle af dem s\aa{} tekniske, at jeg har ladet dem st\aa{} alene.

% figur 1
\begin{figure}
\resizebox{\textwidth}{!}{
\includegraphics[0cm,0cm][20cm,30cm]{/net/urd/home/disk15/eriksen/.logiweb/grafik/prop.eps}}
\caption[Bevisstrukturen for tautologierne]{Bevisstrukturen for tautologierne. En pil fra lemma " [ math var x end math ] " til lemma " [ math var y end math ] " betyder, at " [ math var x end math ] " bruges i beviset for " [ math var y end math ] ". MP-lemmaerne fra afsnit \ref{sec:mplemmaer} er ikke vist. ``ImpTrans'' st\aa{}r for ``ImplyTransitivity''.}

\end{figure}
\clearpage

\subsection{MP-lemmaer} \label{sec:mplemmaer}

Man f\aa{}r ofte brug for at anvende slutningsreglen " [ math 1rule mp end math ] " flere gange i tr\ae{}k. Derfor vil jeg begynde med at vise fire lemmaer, der kan klare mellem 2 og 5 anvendelser af " [ math 1rule mp end math ] "\footnote{I afsnit \ref{sec:transdef} f\aa{}r vi faktisk brug for at anvende " [ math 1rule mp end math ] " 6 gange i tr\ae{}k; men et eller andet sted skal man jo stoppe.}:

\begin{list}{}{
\setlength{\leftmargin}{0em}
\setlength{\itemindent}{0em}
\setlength{\itemsep}{1ex}}

\item " [ math in theory system zf lemma prop lemma mp2 says for all terms meta a comma meta b comma meta c indeed meta a imply meta b imply meta c infer meta a infer meta b infer meta c end lemma end math ] "

\item " [ math in theory system zf lemma prop lemma mp3 says for all terms meta a comma meta b comma meta c comma meta d indeed meta a imply meta b imply meta c imply meta d infer meta a infer meta b infer meta c infer meta d end lemma end math ] "

\item " [ math in theory system zf lemma prop lemma mp4 says for all terms meta a comma meta b comma meta c comma meta d comma meta e indeed macro newline meta a imply meta b imply meta c imply meta d imply meta e infer meta a infer meta b infer meta c infer meta d infer meta e end lemma end math ] "

\item " [ math in theory system zf lemma prop lemma mp5 says for all terms meta a comma meta b comma meta c comma meta d comma meta e comma meta f indeed macro newline meta a imply meta b imply meta c imply meta d imply meta e imply meta f infer meta a infer meta b infer meta c infer meta d infer meta e infer meta f end lemma end math ] "

\end{list}

\subsubsection{Det f\o{}rste bevis}

Vi begynder med at bevise " [ math prop lemma mp2 end math ] ":

\begin{list}{}{
\setlength{\leftmargin}{0em}
\setlength{\itemindent}{0em}
\setlength{\itemsep}{1ex}}

\item " [ math in theory system zf lemma prop lemma mp2 says for all terms meta a comma meta b comma meta c indeed meta a imply meta b imply meta c infer meta a infer meta b infer meta c end lemma end math ] "

\item " [ math system zf proof of prop lemma mp2 reads any term meta a comma meta b comma meta c end line line ell a premise meta a imply meta b imply meta c end line line ell b premise meta a end line line ell c premise meta b end line line ell d because 1rule mp modus ponens ell a modus ponens ell b indeed meta b imply meta c end line because 1rule mp modus ponens ell d modus ponens ell c indeed meta c qed end math ] "

\end{list}

\noindent Da dette er rapportens f\o{}rste bevis, vil jeg bringe nogle ekstra kommentarer\footnote{Denne beskrivelse er en revideret udgave af afsnit 5.1 i \cite{kn:peano}.}. Oven over beviset har jeg gentaget definitionen af det, der skal bevises; dette er kun for overblikkets skyld --- det er ikke en formel n\o{}dvendighed. Selve beviset for " [ math prop lemma mp2 end math ] " best\aa{}r af seks linier, nummereret fra 1 til 6. En bevislinie kan have to former. Den f\o{}rste form er:
%
\begin{eqnarray*}
\texttt{Argumentation} & \gg & \texttt{Konklusion} %\label{eq:linie}
\end{eqnarray*}
%
hvor \texttt{Konklusion} er det som linien beviser, mens teksten i \texttt{Argumentation} udg\o{}r en begrundelse for, at \texttt{Konklusion} g\ae{}lder. F.eks.\ siger linie 5, at meta-formlen \mbox{" [ bracket meta b imply meta c end bracket ] "} g\ae{}lder, fordi den kan udledes fra slutningsreglen " [ math 1rule mp end math ] " ved substitution. Argumentationen skal l\ae{}ses p\aa{} den m\aa{}de, at konklusionerne fra linie 2 og 3 bliver brugt som pr\ae{}misser til " [ math 1rule mp end math ] ". Den generelle betydning af konstruktionen " [ bracket var x modus ponens var y end bracket ] " er, at konklusionen fra linie " [ math var y end math ] " bliver brugt som pr\ae{}mis i forhold til " [ math var x end math ] ".

Den anden form, en bevislinie kan have, er:
%
\begin{eqnarray*}
\texttt{N\o{}gleord} & \gg & \texttt{Konklusion} %\label{eq:linie2}
\end{eqnarray*}
%
hvor \texttt{N\o{}gleord} er et af de tre ord ``Arbitrary'', ``Premise'' eller ``Side-condition''. Betydningen af ordene ``Premise'' og ``Side-condition'' er \aa{}benlys: De angiver, at liniens konklusion indg\aa{}r som en pr\ae{}mis (hhv.\ sidebetingelse) i den s\ae{}tning, der skal bevises. F.eks.\ siger bevisets linie 2, at " [ math prop lemma mp2 end math ] " bruger meta-formlen \\ \mbox{" [ bracket meta a imply meta b imply meta c end bracket ] "}
som pr\ae{}mis. N\aa{}r ordet ``Arbitrary'' bruges, best\aa{}r konklusionen af en liste af meta-variable (f.eks. " [ bracket meta a comma meta b comma meta c end bracket ] " i linie 1). Ideen hermed er at udtrykke, at vi ikke antager noget om de p\aa{}g\ae{}ldende meta-variable, og at vi derfor har ret til at binde dem med en meta-alkvantor i den s\ae{}tning, der skal bevises. I det forh\aa{}ndenv\ae{}rende bevis berettiger linien med ``Arbitrary'' alts\aa{}, at " [ math prop lemma mp2 end math ] " er kvantificeret med " [ bracket for all terms meta a comma meta b comma meta c indeed cdots end bracket ] ".

Alt dette har drejet sig om den formelle syntaks for et Logiweb bevis. Der er ikke s\aa{} meget at sige om selve beviset for " [ math prop lemma mp2 end math ] "; vi indkapsler simpelthen to p\aa{} hinanden f\o{}lgende anvendelser af " [ math 1rule mp end math ] ".

\subsubsection{Beviser for de andre MP-lemmaer}

Beviserne for de \o{}vrige MP-lemmaer er lige ud ad landevejen:

\begin{list}{}{
\setlength{\leftmargin}{0em}
\setlength{\itemindent}{0em}
\setlength{\itemsep}{1ex}}

\item " [ math in theory system zf lemma prop lemma mp3 says for all terms meta a comma meta b comma meta c comma meta d indeed meta a imply meta b imply meta c imply meta d infer meta a infer meta b infer meta c infer meta d end lemma end math ] "

\item
" [ math system zf proof of prop lemma mp3 reads any term meta a comma meta b comma meta c comma meta d end line line ell q premise meta a imply meta b imply meta c imply meta d end line line ell a premise meta a end line line ell b premise meta b end line line ell c premise meta c end line line ell d because prop lemma mp2 modus ponens ell q modus ponens ell a modus ponens ell b indeed meta c imply meta d end line because 1rule mp modus ponens ell d modus ponens ell c indeed meta d qed end math ] "

" [ math in theory system zf lemma prop lemma mp4 says for all terms meta a comma meta b comma meta c comma meta d comma meta e indeed macro newline meta a imply meta b imply meta c imply meta d imply meta e infer meta a infer meta b infer meta c infer meta d infer meta e end lemma end math ] "

" [ math system zf proof of prop lemma mp4 reads any term meta a comma meta b comma meta c comma meta d comma meta e end line line ell q premise meta a imply meta b imply meta c imply meta d imply meta e end line line ell a premise meta a end line line ell b premise meta b end line line ell c premise meta c end line line ell d premise meta d end line line ell r because prop lemma mp2 modus ponens ell q modus ponens ell a modus ponens ell b indeed meta c imply meta d imply meta e end line because prop lemma mp2 modus ponens ell r modus ponens ell c modus ponens ell d indeed meta e qed end math ] "

" [ math in theory system zf lemma prop lemma mp5 says for all terms meta a comma meta b comma meta c comma meta d comma meta e comma meta f indeed macro newline meta a imply meta b imply meta c imply meta d imply meta e imply meta f infer meta a infer meta b infer meta c infer meta d infer meta e infer meta f end lemma end math ] "

" [ math system zf proof of prop lemma mp5 reads any term meta a comma meta b comma meta c comma meta d comma meta e comma meta f end line line ell q premise meta a imply meta b imply meta c imply meta d imply meta e imply meta f end line line ell a premise meta a end line line ell b premise meta b end line line ell c premise meta c end line line ell d premise meta d end line line ell e premise meta e end line line ell r because prop lemma mp3 modus ponens ell q modus ponens ell a modus ponens ell b modus ponens ell c indeed meta d imply meta e imply meta f end line because prop lemma mp2 modus ponens ell r modus ponens ell d modus ponens ell e indeed meta f qed end math ] "

\end{list}

\subsection{ Implikation }

Dette afsnit indeholder en r\ae{}kke lemmaer vedr.\ implikation, grupperet i fire under-underafsnit.

\subsubsection{Refleksivitet; blok-konstruktionen}

Lemmaet " [ math prop lemma auto imply end math ] " udsiger, at implikations-relationen er refleksiv:

\begin{list}{}{
\setlength{\leftmargin}{0em}
\setlength{\itemindent}{0em}
\setlength{\itemsep}{1ex}}

\item " [ math in theory system zf lemma prop lemma auto imply says for all terms meta a indeed meta a imply meta a end lemma end math ] "

\item " [ math system zf proof of prop lemma auto imply reads block any term macro indent meta a end line line ell a premise macro indent meta a end line because 1rule repetition modus ponens ell a indeed macro indent meta a end line line ell b end block any term meta a end line because 1rule deduction modus ponens ell b indeed meta a imply meta a qed end math ] "


\item Beviset for " [ math prop lemma auto imply end math ] " indeholder to nye ting i forhold til de hidtidige beviser: En bevisblok, og en anvendelse af deduktions-reglen. En bevisblok er selvst\ae{}ndig enhed i et bevis; den afh\ae{}nger ikke af den \o{}vrige del af beviset. Den ovenst\aa{}ende bevisblok indeholder et bevis for lemmaet " [ bracket for all terms meta a indeed meta a infer meta a end bracket ] ". Pointen er nu, at blokkens sidste linie (linie 5) fungerer som en forkortelse for dette lemma. Vi kan da anvende deduktionsreglen p\aa{} denne linie til at omdanne inferensen " [ bracket for all terms meta a indeed meta a infer meta a end bracket ] " til implikationen " [ bracket meta a imply meta a end bracket ] ". Det vigtigste form\aa{}l med deduktionsreglen er netop, at vi let kan skifte fra inferens til implikation.

\end{list}

\subsubsection{Transitivitet}

Lemmaet " [ math prop lemma imply transitivity end math ] " udsiger, at implikations-relationen er transitiv:

\begin{list}{}{
\setlength{\leftmargin}{0em}
\setlength{\itemindent}{0em}
\setlength{\itemsep}{1ex}}

\item " [ math in theory system zf lemma prop lemma imply transitivity says for all terms meta a comma meta b comma meta c indeed meta a imply meta b infer meta b imply meta c infer meta a imply meta c end lemma end math ] "

\item Vi viser " [ math prop lemma imply transitivity end math ] " ved hj\ae{}lp af " [ math 1rule mp end math ] " og deduktionsreglen:

\item " [ math system zf proof of prop lemma imply transitivity reads block any term macro indent meta a comma meta b comma meta c end line line ell a premise macro indent meta a imply meta b end line line ell b premise macro indent meta b imply meta c end line line ell c premise macro indent meta a end line line ell d because 1rule mp modus ponens ell a modus ponens ell c indeed macro indent meta b end line because 1rule mp modus ponens ell b modus ponens ell d indeed macro indent meta c end line line ell e end block any term meta a comma meta b comma meta c end line line ell f premise meta a imply meta b end line line ell g premise meta b imply meta c end line line ell h because 1rule deduction modus ponens ell e indeed parenthesis meta a imply meta b end parenthesis imply parenthesis meta b imply meta c end parenthesis imply meta a imply meta c end line because prop lemma mp2 modus ponens ell h modus ponens ell f modus ponens ell g indeed meta a imply meta c qed end math ] "

\end{list}

\subsubsection{Sv\ae{}kkelse}

Vi f\aa{}r ofte brug for det f\o{}lgende r\ae{}sonnement: Hvis formlen " [ math meta a end math ] " g\ae{}lder ubetinget, s\aa{} g\ae{}lder den ogs\aa{} under antagelse af en vilk\aa{}rlig anden formel " [ math meta b end math ] ". Lemmaet " [ math prop lemma weakening end math ] " udtrykker dette r\ae{}sonnement som f\o{}lger:

\begin{list}{}{
\setlength{\leftmargin}{0em}
\setlength{\itemindent}{0em}
\setlength{\itemsep}{1ex}}

\item " [ math in theory system zf lemma prop lemma weakening says for all terms meta a comma meta b indeed meta b infer meta a imply meta b end lemma end math ] "

\item Vi beviser " [ math prop lemma weakening end math ] " ved hj\ae{}lp af deduktionsreglen:

\item " [ math system zf proof of prop lemma weakening reads block any term macro indent meta a comma meta b end line line ell b premise macro indent meta b end line line ell a premise macro indent meta a end line because 1rule repetition modus ponens ell b indeed macro indent meta b end line line ell c end block any term meta a comma meta b end line line ell e because 1rule deduction modus ponens ell c indeed meta b imply meta a imply meta b end line line ell d premise meta b end line because 1rule mp modus ponens ell e modus ponens ell d indeed meta a imply meta b qed end math ] "

\end{list}

\subsubsection{Modsigelse}

Det sidste lemma i dette afsnit vedr\o{}rer strengt taget ikke implikation, men derimod inferens (" [ math var x infer var y end math ] "). Lemmaet " [ math prop lemma from contradiction end math ] " udsiger, at vi kan bevise hvad som helst, hvis vi har bevist to formler, der modsiger hinanden:

\begin{list}{}{
\setlength{\leftmargin}{0em}
\setlength{\itemindent}{0em}
\setlength{\itemsep}{1ex}}

\item " [ math in theory system zf lemma prop lemma from contradiction says for all terms meta a comma meta b indeed meta a infer not0 meta a infer meta b end lemma end math ] "

\item Beviset bruger " [ math prop lemma weakening end math ] " og slutningsreglen " [ math 1rule ad absurdum end math ] ":

\item " [ math system zf proof of prop lemma from contradiction reads any term meta a comma meta b end line line ell a premise meta a end line line ell b premise not0 meta a end line line ell c because prop lemma weakening modus ponens ell a indeed not0 meta b imply meta a end line line ell d because prop lemma weakening modus ponens ell b indeed not0 meta b imply not0 meta a end line because 1rule ad absurdum modus ponens ell c modus ponens ell d indeed meta b qed end math ] "

\end{list}

\subsection{H\aa{}ndtering af dobbeltnegationer}

De to lemmaer " [ math prop lemma remove double neg end math ] " og " [ math prop lemma add double neg end math ] " tillader os hhv.\ at fjerne og tilf\o{}je dobbeltnegationer. Jeg vil ikke kommentere beviserne:

\begin{list}{}{
\setlength{\leftmargin}{0em}
\setlength{\itemindent}{0em}
\setlength{\itemsep}{1ex}}

\item " [ math in theory system zf lemma prop lemma remove double neg says for all terms meta a indeed not0 not0 meta a infer meta a end lemma end math ] "

\item " [ math system zf proof of prop lemma remove double neg reads any term meta a end line line ell a premise not0 not0 meta a end line line ell b because prop lemma weakening modus ponens ell a indeed not0 meta a imply not0 not0 meta a end line line ell e because prop lemma auto imply indeed not0 meta a imply not0 meta a end line because 1rule ad absurdum modus ponens ell e modus ponens ell b indeed meta a qed end math ] "

\item " [ math in theory system zf lemma prop lemma add double neg says for all terms meta a indeed meta a infer not0 not0 meta a end lemma end math ] "

\item " [ math system zf proof of prop lemma add double neg reads block any term macro indent meta a end line line ell b premise macro indent not0 not0 not0 meta a end line because prop lemma remove double neg modus ponens ell b indeed macro indent not0 meta a end line line ell d end block any term meta a end line line ell e because 1rule deduction modus ponens ell d indeed not0 not0 not0 meta a imply not0 meta a end line line ell a premise meta a end line line ell q because prop lemma weakening modus ponens ell a indeed not0 not0 not0 meta a imply meta a end line because 1rule ad absurdum modus ponens ell q modus ponens ell e indeed not0 not0 meta a qed end math ] "

\end{list}

\subsection{Modus tollens og besl\ae{}gtede lemmaer}

Hovedresultatet fra dette afsnit er slutningsreglen modus tollens, bevist som et lemma:

\begin{list}{}{
\setlength{\leftmargin}{0em}
\setlength{\itemindent}{0em}
\setlength{\itemsep}{1ex}}

\item " [ math in theory system zf lemma prop lemma mt says for all terms meta a comma meta b indeed meta a imply meta b infer not0 meta b infer not0 meta a end lemma end math ] "

\item For at vise " [ math prop lemma mt end math ] " begynder vi med et teknisk lemma, der ikke har den store v\ae{}rdi i sig selv:

\item " [ math in theory system zf lemma prop lemma technicality says for all terms meta a comma meta b indeed meta a imply meta b infer not0 not0 meta a imply meta b end lemma end math ] "

\item " [ math system zf proof of prop lemma technicality reads block any term macro indent meta a comma meta b end line line ell a premise macro indent meta a imply meta b end line line ell b premise macro indent not0 not0 meta a end line line ell c because prop lemma remove double neg modus ponens ell b indeed macro indent meta a end line because 1rule mp modus ponens ell a modus ponens ell c indeed macro indent meta b end line line ell d end block any term meta a comma meta b end line line ell e because 1rule deduction modus ponens ell d indeed parenthesis meta a imply meta b end parenthesis imply not0 not0 meta a imply meta b end line line ell p premise meta a imply meta b end line because 1rule mp modus ponens ell e modus ponens ell p indeed not0 not0 meta a imply meta b qed end math ] "

\item Uafh\ae{}ngigt af " [ math prop lemma technicality end math ] " kan vi vise en version af " [ math prop lemma mt end math ] ", hvor " [ math meta a end math ] " optr\ae{}der i negeret form:

\item " [ math in theory system zf lemma prop lemma negative mt says for all terms meta a comma meta b indeed not0 meta a imply meta b infer not0 meta b infer meta a end lemma end math ] "

\item " [ math system zf proof of prop lemma negative mt reads any term meta a comma meta b end line line ell a premise not0 meta a imply meta b end line line ell b premise not0 meta b end line line ell c because prop lemma weakening modus ponens ell b indeed not0 meta a imply not0 meta b end line because 1rule ad absurdum modus ponens ell a modus ponens ell c indeed meta a qed end math ] "

\item Ud fra " [ math prop lemma technicality end math ] " og " [ math prop lemma negative mt end math ] " kan vi nu vise " [ math prop lemma mt end math ] ":

\item " [ math in theory system zf lemma prop lemma mt says for all terms meta a comma meta b indeed meta a imply meta b infer not0 meta b infer not0 meta a end lemma end math ] "

\item " [ math system zf proof of prop lemma mt reads any term meta a comma meta b end line line ell a premise meta a imply meta b end line line ell b premise not0 meta b end line line ell c because prop lemma technicality indeed not0 not0 meta a imply meta b end line because prop lemma negative mt modus ponens ell c modus ponens ell b indeed not0 meta a qed end math ] "

\item Vi slutter dette underafsnit med en variant af " [ math prop lemma mt end math ] ", som erstatter en inferens med en implikation:

\item " [ math in theory system zf lemma prop lemma contrapositive says for all terms meta a comma meta b indeed meta a imply meta b infer not0 meta b imply not0 meta a end lemma end math ] "

\item N\aa{}r en inferens skal erstattes med en implikation, er det altid deduktionsreglen, der skal i spil:

\item " [ math system zf proof of prop lemma contrapositive reads block any term macro indent meta a comma meta b end line line ell a premise macro indent meta a imply meta b end line line ell b premise macro indent not0 meta b end line because prop lemma mt modus ponens ell a modus ponens ell b indeed macro indent not0 meta a end line line ell c end block any term meta a comma meta b end line line ell d premise meta a imply meta b end line line ell e because 1rule deduction modus ponens ell c indeed parenthesis meta a imply meta b end parenthesis imply not0 meta b imply not0 meta a end line because 1rule mp modus ponens ell e modus ponens ell d indeed not0 meta b imply not0 meta a qed end math ] "

\end{list}

\subsection{Konjunktion}

Hovedm\aa{}let med dette underafsnit er at konvertere mellem formlerne " [ math meta a end math ] " og " [ math meta b end math ] " og deres konjunktion " [ bracket meta a and0 meta b end bracket ] ".

\subsubsection{Forening af konjunkter}

Vi begynder med at sl\aa{} " [ math meta a end math ] " og " [ math meta b end math ] " sammen til " [ bracket meta a and0 meta b end bracket ] ":

\begin{list}{}{
\setlength{\leftmargin}{0em}
\setlength{\itemindent}{0em}
\setlength{\itemsep}{1ex}}

\item " [ math in theory system zf lemma prop lemma join conjuncts says for all terms meta a comma meta b indeed meta a infer meta b infer meta a and0 meta b end lemma end math ] "

\item Beviset for " [ math prop lemma join conjuncts end math ] " er af teknisk karakter. Vi viser den makroekspanderede form " [ bracket not0 parenthesis meta a imply not0 meta b end parenthesis end bracket ] ", som vi i bevisets sidste linie konverterer til " [ bracket meta a and0 meta b end bracket ] ". Denne sidste linie er ikke n\o{}dvendig for bevischeckeren, men den g\o{}r beviset lidt nemmere at l\ae{}se:

\item " [ math system zf proof of prop lemma join conjuncts reads block any term macro indent meta a comma meta b end line line ell z premise macro indent meta a end line line ell c premise macro indent meta a imply not0 meta b end line because 1rule mp modus ponens ell c modus ponens ell z indeed macro indent not0 meta b end line line ell d end block any term meta a comma meta b end line line ell e because 1rule deduction modus ponens ell d indeed meta a imply parenthesis meta a imply not0 meta b end parenthesis imply not0 meta b end line line ell a premise meta a end line line ell b premise meta b end line line ell f because 1rule mp modus ponens ell e modus ponens ell a indeed parenthesis meta a imply not0 meta b end parenthesis imply not0 meta b end line line ell q because prop lemma add double neg modus ponens ell b indeed not0 not0 meta b end line line ell big z because prop lemma mt modus ponens ell f modus ponens ell q indeed not0 parenthesis meta a imply not0 meta b end parenthesis end line because 1rule repetition modus ponens ell big z indeed meta a and0 meta b qed end math ] "

\end{list}

\subsubsection{Udskilning af anden konjunkt}

Tautologien " [ math prop lemma second conjunct end math ] " lader os udskille den anden konjunkt fra " [ bracket meta a and0 meta b end bracket ] ". Jeg vil ikke kommentere beviset:

\begin{list}{}{
\setlength{\leftmargin}{0em}
\setlength{\itemindent}{0em}
\setlength{\itemsep}{1ex}}

\item " [ math in theory system zf lemma prop lemma second conjunct says for all terms meta a comma meta b indeed meta a and0 meta b infer meta b end lemma end math ] "

\item " [ math system zf proof of prop lemma second conjunct reads block any term macro indent macro indent meta a comma meta b end line line ell c premise macro indent not0 meta b end line because prop lemma weakening modus ponens ell c indeed macro indent meta a imply not0 meta b end line line ell e end block any term meta a comma meta b end line line ell f because 1rule deduction modus ponens ell e indeed not0 meta b imply meta a imply not0 meta b end line line ell big z premise meta a and0 meta b end line line ell a because 1rule repetition modus ponens ell big z indeed not0 parenthesis meta a imply not0 meta b end parenthesis end line because prop lemma negative mt modus ponens ell f modus ponens ell a indeed meta b qed end math ] "

\end{list}

\subsubsection{Udskilning af f\o{}rste konjunkt}

For at udskille " [ math meta a end math ] " fra " [ bracket meta a and0 meta b end bracket ] " viser vi f\o{}rst, at " [ bracket meta a and0 meta b end bracket ] " er kommutativ. Jeg vil ikke kommentere beviset:

\begin{list}{}{
\setlength{\leftmargin}{0em}
\setlength{\itemindent}{0em}
\setlength{\itemsep}{1ex}}

\item " [ math in theory system zf lemma prop lemma and commutativity says for all terms meta a comma meta b indeed meta a and0 meta b infer meta b and0 meta a end lemma end math ] "

\item " [ math system zf proof of prop lemma and commutativity reads block any term macro indent macro indent meta a comma meta b end line line ell b premise macro indent meta b imply not0 meta a end line line ell c premise macro indent meta a end line line ell d because prop lemma add double neg modus ponens ell c indeed macro indent not0 not0 meta a end line because prop lemma mt modus ponens ell b modus ponens ell d indeed macro indent not0 meta b end line line ell e end block any term meta a comma meta b end line line ell f because 1rule deduction modus ponens ell e indeed parenthesis meta b imply not0 meta a end parenthesis imply meta a imply not0 meta b end line line ell big z premise meta a and0 meta b end line line ell a because 1rule repetition indeed not0 parenthesis meta a imply not0 meta b end parenthesis end line line ell big y because prop lemma mt modus ponens ell f modus ponens ell a indeed not0 parenthesis meta b imply not0 meta a end parenthesis end line because 1rule repetition modus ponens ell big y indeed meta b and0 meta a qed end math ] "

\item Nu er det let at udskille den f\o{}rste konjunkt fra " [ bracket meta a and0 meta b end bracket ] ": F\o{}rst vender vi konjunktionen om til " [ bracket meta b and0 meta a end bracket ] " ved hj\ae{}lp af " [ math prop lemma and commutativity end math ] ", og s\aa{} udskiller vi " [ math meta a end math ] " ved hj\ae{}lp af " [ math prop lemma second conjunct end math ] ":

\item " [ math in theory system zf lemma prop lemma first conjunct says for all terms meta a comma meta b indeed meta a and0 meta b infer meta a end lemma end math ] "

\item " [ math system zf proof of prop lemma first conjunct reads any term meta a comma meta b end line line ell a premise meta a and0 meta b end line line ell b because prop lemma and commutativity modus ponens ell a indeed meta b and0 meta a end line because prop lemma second conjunct modus ponens ell b indeed meta a qed end math ] "

\end{list}

\subsection{Dobbeltimplikation}

I dette underafsnit viser vi tre enkle resultater vedr.\ dobbeltimplikation.

\subsubsection{Brug sammen med modus ponens}

De f\o{}lgende to tautologier g\o{}r det let at bruge anvende slutningsreglen " [ math 1rule mp end math ] " p\aa{} dobbeltimplikationer. Beviserne er enkle og kr\ae{}ver ingen kommentarer:

\begin{list}{}{
\setlength{\leftmargin}{0em}
\setlength{\itemindent}{0em}
\setlength{\itemsep}{1ex}}

\item " [ math in theory system zf lemma prop lemma iff first says for all terms meta a comma meta b indeed meta a iff meta b infer meta b infer meta a end lemma end math ] "

\item " [ math system zf proof of prop lemma iff first reads any term meta a comma meta b end line line ell a premise meta a iff meta b end line line ell b premise meta b end line line ell c because prop lemma second conjunct modus ponens ell a indeed meta b imply meta a end line because 1rule mp modus ponens ell c modus ponens ell b indeed meta a qed end math ] "

\item" [ math in theory system zf lemma prop lemma iff second says for all terms meta a comma meta b indeed meta a iff meta b infer meta a infer meta b end lemma end math ] "

\item " [ math system zf proof of prop lemma iff second reads any term meta a comma meta b end line line ell a premise meta a iff meta b end line line ell b premise meta a end line line ell c because prop lemma first conjunct modus ponens ell a indeed meta a imply meta b end line because 1rule mp modus ponens ell c modus ponens ell b indeed meta b qed end math ] "

\end{list}

\subsubsection{Kommutativitet}

Lemmaet " [ math prop lemma iff commutativity end math ] " f\o{}lger direkte af, at operatoren " [ bracket var x and0 var y end bracket ] "
er kommutativ:

\begin{list}{}{
\setlength{\leftmargin}{0em}
\setlength{\itemindent}{0em}
\setlength{\itemsep}{1ex}}

\item " [ math in theory system zf lemma prop lemma iff commutativity says for all terms meta a comma meta b indeed meta a iff meta b infer meta b iff meta a end lemma end math ] "

\item " [ math system zf proof of prop lemma iff commutativity reads any term meta a comma meta b end line line ell a premise meta a iff meta b end line line ell b because 1rule repetition modus ponens ell a indeed parenthesis meta a imply meta b end parenthesis and0 parenthesis meta b imply meta a end parenthesis end line line ell c because prop lemma and commutativity modus ponens ell b indeed parenthesis meta b imply meta a end parenthesis and0 parenthesis meta a imply meta b end parenthesis end line because 1rule repetition modus ponens ell c indeed meta b iff meta a qed end math ] "

\end{list}

\subsection{Disjunktion}

Dette underafsnit indeholder tre lemmaer vedr.\ disjunktion, som vi fordeler p\aa{} to under-underafsnit.

\subsubsection{Sv\ae{}kkelse}

Givet en p\aa{}stand " [ math meta b end math ] " vil vi gerne udlede de svagere p\aa{}stande " [ bracket meta a or0 meta b end bracket ] " og " [ bracket meta b or0 meta a end bracket ] ". Den f\o{}rste slutning varetages af lemmaet " [ math prop lemma weaken or first end math ] ":

\begin{list}{}{
\setlength{\leftmargin}{0em}
\setlength{\itemindent}{0em}
\setlength{\itemsep}{1ex}}

\item " [ math in theory system zf lemma prop lemma weaken or first says for all terms meta a comma meta b indeed meta b infer meta a or0 meta b end lemma end math ] "

\item Beviset best\aa{}r af en simpel anvendelse af " [ math prop lemma weakening end math ] ":

\item " [ math system zf proof of prop lemma weaken or first reads any term meta a comma meta b end line line ell a premise meta b end line line ell b because prop lemma weakening modus ponens ell a indeed not0 meta a imply meta b end line because 1rule repetition modus ponens ell b indeed meta a or0 meta b qed end math ] "

\item Slutningen fra " [ math meta a end math ] " til " [ bracket meta a or0 meta b end bracket ] " varetages af lemmaet " [ math prop lemma weaken or second end math ] ":

\item " [ math in theory system zf lemma prop lemma weaken or second says for all terms meta a comma meta b indeed meta a infer meta a or0 meta b end lemma end math ] "

\item Kernen i beviset for " [ math prop lemma weaken or second end math ] " er en anvendelse af " [ math prop lemma from contradiction end math ] ":

\item " [ math system zf proof of prop lemma weaken or second reads block any term macro indent meta a comma meta b end line line ell a premise macro indent meta a end line line ell b premise macro indent not0 meta a end line because prop lemma from contradiction modus ponens ell a modus ponens ell b indeed macro indent meta b end line line ell c end block any term meta a comma meta b end line line ell e because 1rule deduction modus ponens ell c indeed meta a imply not0 meta a imply meta b end line line ell d premise meta a end line line ell f because 1rule mp modus ponens ell e modus ponens ell d indeed not0 meta a imply meta b end line because 1rule repetition modus ponens ell f indeed meta a or0 meta b qed end math ] "

\end{list}

\subsubsection{Slutning ud fra disjunktion}

Lemmaet " [ math prop lemma from disjuncts end math ] " lader os drage slutninger ud fra en disjunktion:

\begin{list}{}{
\setlength{\leftmargin}{0em}
\setlength{\itemindent}{0em}
\setlength{\itemsep}{1ex}}

\item " [ math in theory system zf lemma prop lemma from disjuncts says for all terms meta a comma meta b comma meta c indeed meta a or0 meta b infer meta a imply meta c infer meta b imply meta c infer meta c end lemma end math ] "

\item Om beviset vil jeg kun sige, at det er en ret elegant \o{}velse i bevisteknik:

\item " [ math system zf proof of prop lemma from disjuncts reads any term meta a comma meta b comma meta c end line line ell a premise meta a or0 meta b end line line ell b premise meta a imply meta c end line line ell c premise meta b imply meta c end line line ell d because 1rule repetition modus ponens ell a indeed not0 meta a imply meta b end line line ell e because prop lemma contrapositive modus ponens ell d indeed not0 meta b imply not0 not0 meta a end line line ell f because prop lemma technicality modus ponens ell b indeed not0 not0 meta a imply meta c end line line ell g because prop lemma imply transitivity modus ponens ell e modus ponens ell f indeed not0 meta b imply meta c end line line ell h because prop lemma contrapositive modus ponens ell g indeed not0 meta c imply not0 not0 meta b end line line ell i because prop lemma contrapositive modus ponens ell c indeed not0 meta c imply not0 meta b end line because 1rule ad absurdum modus ponens ell i modus ponens ell h indeed meta c qed end math ] "

\end{list}

\newpage
\section{Regellemaer} \label{sec:regel}

Alle aksiomerne i afsnit \ref{sec:axiomzf} er formuleret som dobbeltimplikationer. Dette er gjort for at holde antallet af aksiomer nede p\aa{} et minimum; men n\aa{}r aksiomerne skal bruges i beviser, er det mere bekvemt at have regler af formen " [ bracket meta a infer meta b end bracket ] " til r\aa{}dighed. Heldigvis kan vi altid bevise
" [ bracket meta a infer meta b end bracket ] ",
hvis vi i forvejen har et bevis for " [ bracket meta a imply meta b end bracket ] " --- der kr\ae{}ves blot en rutinem\ae{}ssig anvendelse af " [ math 1rule mp end math ] ".

I dette afsnit viser vi regellemmaer svarende til aksiomerne " [ math axiom separation definition end math ] ", " [ math axiom pair definition end math ] ", " [ math axiom union definition end math ] ", " [ math axiom power definition end math ] " og " [ math axiom extensionality end math ] ".

\subsection{Par} \label{sec:parlemma}

I tilf\ae{}ldet ``" [ math axiom pair definition end math ] "'' forl\o{}ber b\aa{}de definition og bevis af regellemmaerne s\aa{} enkelt, som det er muligt. F\o{}rst formulerer vi den ene halvdel af aksiomets dobbelt-implikation som et lemma:

\begin{list}{}{
\setlength{\leftmargin}{0em}
\setlength{\itemindent}{0em}
\setlength{\itemsep}{1ex}}

\item " [ math in theory system zf lemma lemma pair2formula says for all terms meta s comma meta x comma meta y indeed meta s zermelo in zermelo pair meta x comma meta y end pair infer meta s zermelo is meta x or0 meta s zermelo is meta y end lemma end math ] "

\item Derefter beviser vi dette lemma ved at anvende " [ math prop lemma iff second end math ] " p\aa{} aksiomet og pr\ae{}missen:

\item " [ math system zf proof of lemma pair2formula reads any term meta s comma meta x comma meta y end line line ell a premise meta s zermelo in zermelo pair meta x comma meta y end pair end line line ell b because axiom pair definition indeed meta s zermelo in zermelo pair meta x comma meta y end pair iff meta s zermelo is meta x or0 meta s zermelo is meta y end line because prop lemma iff second modus ponens ell b modus ponens ell a indeed meta s zermelo is meta x or0 meta s zermelo is meta y qed end math ] "

\item Til sidst gentager vi hele processen mht.\ den anden halvdel af dobbeltimplikationen. Den eneste reelle forskel er, at vi bruger " [ math prop lemma iff first end math ] " i beviset (i stedet for " [ math prop lemma iff second end math ] "):

\item " [ math in theory system zf lemma lemma formula2pair says for all terms meta s comma meta x comma meta y indeed meta s zermelo is meta x or0 meta s zermelo is meta y infer meta s zermelo in zermelo pair meta x comma meta y end pair end lemma end math ] "

\item " [ math system zf proof of lemma formula2pair reads any term meta s comma meta x comma meta y end line line ell a premise meta s zermelo is meta x or0 meta s zermelo is meta y end line line ell b because axiom pair definition indeed meta s zermelo in zermelo pair meta x comma meta y end pair iff meta s zermelo is meta x or0 meta s zermelo is meta y end line because prop lemma iff first modus ponens ell b modus ponens ell a indeed meta s zermelo in zermelo pair meta x comma meta y end pair qed end math ] "

\end{list}

\subsection{Foreningsm\ae{}ngde}

I tilf\ae{}ldet ``" [ math axiom union definition end math ] "'' bruger vi stort set den samme fremgangsm\aa{}de som i afsnit \ref{sec:parlemma}. F\o{}rst h\aa{}ndterer vi den ene halvdel af dobbeltimplikationen:

\begin{list}{}{
\setlength{\leftmargin}{0em}
\setlength{\itemindent}{0em}
\setlength{\itemsep}{1ex}}

\item " [ math in theory system zf lemma lemma union2formula says for all terms meta s comma meta x indeed meta s zermelo in union meta x end union infer meta s zermelo in ex10 and0 ex10 zermelo in meta x end lemma end math ] "

\item " [ math system zf proof of lemma union2formula reads any term meta s comma meta x end line line ell a premise meta s zermelo in union meta x end union end line line ell b because axiom union definition indeed meta s zermelo in union meta x end union iff macro newline parenthesis meta s zermelo in ex10 and0 ex10 zermelo in meta x end parenthesis end line because prop lemma iff second modus ponens ell b modus ponens ell a indeed meta s zermelo in ex10 and0 ex10 zermelo in meta x qed end math ] "

\item S\aa{} er turen kommet til den anden halvdel af dobbeltimplikationen:

\item " [ math in theory system zf lemma lemma formula2union says for all terms meta s comma meta x indeed meta s zermelo in ex10 infer ex10 zermelo in meta x infer meta s zermelo in union meta x end union end lemma end math ] "

\item Der er det lille raffinement, at vi i formuleringen af " [ math lemma formula2union end math ] " har delt formlen " [ bracket meta s zermelo in ex10 and0 ex10 zermelo in meta x end bracket ] " op i sine konjunkter. Beviset for " [ math lemma formula2union end math ] " kr\ae{}ver derfor en ekstra anvendelse af " [ math prop lemma join conjuncts end math ] ":

\item " [ math system zf proof of lemma formula2union reads any term meta s comma meta x end line line ell a premise meta s zermelo in ex10 end line line ell b premise ex10 zermelo in meta x end line line ell c because prop lemma join conjuncts modus ponens ell a modus ponens ell b indeed meta s zermelo in ex10 and0 ex10 zermelo in meta x end line line ell d because axiom union definition indeed meta s zermelo in union meta x end union iff macro newline parenthesis meta s zermelo in ex10 and0 ex10 zermelo in meta x end parenthesis end line because prop lemma iff first modus ponens ell d modus ponens ell c indeed meta s zermelo in union meta x end union qed end math ] "

\end{list}

\subsection{Potensm\ae{}ngde; sidebetingelser} \label{sec:potside}

Tilf\ae{}ldet ``" [ math axiom power definition end math ] "'' er mere kompliceret end de hidtidige tilf\ae{}lde. Det ene af de to regellemmaer er nemt nok:

\begin{list}{}{
\setlength{\leftmargin}{0em}
\setlength{\itemindent}{0em}
\setlength{\itemsep}{1ex}}

\item " [ math in theory system zf lemma lemma subset in power set says for all terms meta s comma meta x indeed meta s is subset of meta x infer meta s zermelo in power meta x end power end lemma end math ] "

\item " [ math system zf proof of lemma subset in power set reads any term meta s comma meta x end line line ell a premise object s zermelo in meta s imply object s zermelo in meta x end line line ell b because 1rule gen modus ponens ell a indeed for all object s indeed parenthesis object s zermelo in meta s imply object s zermelo in meta x end parenthesis end line line ell c because axiom power definition indeed meta s zermelo in power meta x end power iff macro newline for all object s indeed parenthesis object s zermelo in meta s imply object s zermelo in meta x end parenthesis end line because prop lemma iff first modus ponens ell c modus ponens ell b indeed meta s zermelo in power meta x end power qed end math ] "

\end{list}

\noindent Det andet regellemma er ogs\aa{} nemt, hvis vi n\o{}jes med at vise:

" [ bracket for all terms meta s comma meta x indeed meta s zermelo in power meta x end power infer for all object s indeed parenthesis object s zermelo in meta s imply object s zermelo in meta x end parenthesis end bracket ] ".

\noindent For at komme videre med konklusionen " [ bracket for all object s indeed object s zermelo in meta s imply object s zermelo in meta x end bracket ] "
m\aa{} vi imidlertid slippe af med objektkvantoren; og dette kan vi lige s\aa{} godt g\o{}re med det samme. Derfor bliver m\aa{}let i stedet at vise:

" [ bracket for all terms meta s comma meta x indeed meta s zermelo in power meta x end power infer meta s is subset of meta x end bracket ] ", hvor " [ math meta s is subset of meta x end math ] " som n\ae{}vnt i afsnit \ref{sec:subset} er en forkortelse for " [ bracket object s zermelo in meta s imply object s zermelo in meta x end bracket ] ".

For at n\aa{} dette m\aa{}l m\aa{} vi begynde med et hj\ae{}lpelemma, der ser s\aa{}ledes ud:

\begin{list}{}{
\setlength{\leftmargin}{0em}
\setlength{\itemindent}{0em}
\setlength{\itemsep}{1ex}}

\item " [ math in theory system zf lemma lemma power set is subset0 says for all terms meta s comma meta x comma meta y indeed object s avoid meta x endorse object s avoid meta y endorse macro newline for all object s indeed parenthesis object s zermelo in meta x imply object s zermelo in meta y end parenthesis imply meta s zermelo in meta x imply meta s zermelo in meta y end lemma end math ] "

\end{list}

\noindent De to sidebetingelser " [ bracket object s avoid meta x end bracket ] " og " [ bracket object s avoid meta y end bracket ] " er her n\o{}dvendige pga. antecedenten\footnote{Jeg kalder " [ math var x end math ] " i " [ bracket var x imply var y end bracket ] " for ``antecedenten''; og jeg kalder " [ math var y end math ] " for ``konsekvensen''.} " [ bracket for all object s indeed parenthesis object s zermelo in meta x imply object s zermelo in meta y end parenthesis end bracket ] ". Hvis vi i denne formel instantierer " [ math meta x end math ] " eller " [ math meta y end math ] " til en term, der indeholder frie forekomster af " [ math object s end math ] ", s\aa{} \ae{}ndres formlens mening. F.eks.\ er formlen " [ bracket for all object s indeed parenthesis object s zermelo in object s imply object s zermelo in object y end parenthesis end bracket ] " n\o{}dvendigvis sand, fordi ingen m\ae{}ngder i " [ math system zf end math ] " er medlem af sig selv; men den oprindelige formel " [ bracket for all object s indeed parenthesis object s zermelo in meta x imply object s zermelo in meta y end parenthesis end bracket ] " er ikke n\o{}dvendigvis sand. Konstruktionen " [ bracket var x avoid var y end bracket ] " (der er defineret i appendikset til \cite{kn:check}) udsiger netop, at objektvariablen " [ math var x end math ] " ikke forekommer frit i termen " [ math var y end math ] "\footnote{Vi siger at ``" [ math var x end math ] " undg\aa{}r " [ math var y end math ] "'' (eller at ``" [ math var y end math ] " undg\aa{}r " [ math var x end math ] "'').}. Vi kommer til at se mange flere eksempler p\aa{} sidebetingelser af formen " [ bracket var x avoid var y end bracket ] ": De er n\o{}dvendige, n\aa{}r metavariablen " [ math var y end math ] " optr\ae{}der i en kontekst, der er kvantificeret med objektvariablen " [ math var x end math ] ".

Indholdet af selve lemmaet er, at vi kan fjerne objektkvantoren fra
\\ \mbox{" [ bracket for all object s indeed parenthesis object s zermelo in meta x imply object s zermelo in meta y end parenthesis end bracket ] "}, og endda erstatte objektvariablen " [ math object s end math ] " med metavariablen " [ math meta s end math ] ". Her er beviset:

\begin{list}{}{
\setlength{\leftmargin}{0em}
\setlength{\itemindent}{0em}
\setlength{\itemsep}{1ex}}

\item " [ math system zf proof of lemma power set is subset0 reads block any term macro indent meta x comma meta y end line line ell a premise macro indent object s zermelo in meta x imply object s zermelo in meta y end line because 1rule repetition modus ponens ell a indeed macro indent object s zermelo in meta x imply object s zermelo in meta y end line line ell b end block any term meta s comma meta x comma meta y end line because 1rule deduction modus ponens ell b indeed object s avoid meta x endorse object s avoid meta y endorse for all object s indeed parenthesis object s zermelo in meta x imply object s zermelo in meta y end parenthesis imply meta s zermelo in meta x imply meta s zermelo in meta y qed end math ] "

\end{list}

\noindent Beviset illustrerer styrken af slutningsreglen " [ math 1rule deduction end math ] ": I dette tilf\ae{}lde omdanner den en inferens (nemlig " [ bracket for all terms meta x comma meta y indeed object s zermelo in meta x imply object s zermelo in meta y infer object s zermelo in meta x imply object s zermelo in meta y end bracket ] ") til en implikation (nemlig " [ bracket parenthesis object s zermelo in meta x imply object s zermelo in meta y end parenthesis imply object s zermelo in meta x imply object s zermelo in meta y end bracket ] "), s\ae{}tter en alkvantor p\aa{} antecedenten (s\aa{} vi f\aa{}r " [ bracket for all object s indeed parenthesis object s zermelo in meta x imply object s zermelo in meta y end parenthesis imply object s zermelo in meta x imply object s zermelo in meta y end bracket ] "), og erstatter den frie forekomst af ``" [ math object s end math ] "'' med ``" [ math meta s end math ] "'' --- alt sammen p\aa{} \'{e}n gang. Dog skal de to sidebetingelser med, for at reglen kan anvendes.

Formuleringen af det andet regellemma bliver nu som f\o{}lger:

\begin{list}{}{
\setlength{\leftmargin}{0em}
\setlength{\itemindent}{0em}
\setlength{\itemsep}{1ex}}

\item " [ math in theory system zf lemma lemma power set is subset says for all terms meta s comma meta x indeed object s avoid meta s endorse object s avoid meta x endorse meta s zermelo in power meta x end power infer meta s is subset of meta x end lemma end math ] "

\end{list}

\noindent Da " [ math lemma power set is subset end math ] " benytter sig af " [ math lemma power set is subset0 end math ] ", bliver vi n\o{}dt til at lade " [ math lemma power set is subset end math ] " ``arve'' de to sidebetingelser fra
%\\ \mbox{" [ math lemma power set is subset0 end math ] "}
dette lemma. Vi kan ikke undg\aa{} sidebetingelserne ved at instantiere de to metavariable " [ math meta x end math ] " og " [ math meta y end math ] " fra " [ math lemma power set is subset0 end math ] " til nogle andre metavariable; for der er jo ingen garanti for, at disse metavariable vil undg\aa{} " [ math object s end math ] ", n\aa{}r de engang bliver instantierede. S\aa{} l\ae{}nge man arbejder med metavariable, er det alts\aa{} meget sv\ae{}rt at slippe af med denne slags sidebetingelser, n\aa{}r de f\o{}rst er blevet indf\o{}rt i en bevisk\ae{}de.

Her er beviset for " [ math lemma power set is subset end math ] ":

\begin{list}{}{
\setlength{\leftmargin}{0em}
\setlength{\itemindent}{0em}
\setlength{\itemsep}{1ex}}

\item " [ math system zf proof of lemma power set is subset reads any term meta s comma meta x end line line ell big a side condition object s avoid meta s end line line ell big b side condition object s avoid meta x end line line ell a premise meta s zermelo in power meta x end power end line line ell b because axiom power definition indeed meta s zermelo in power meta x end power iff macro newline for all object s indeed parenthesis object s zermelo in meta s imply object s zermelo in meta x end parenthesis end line line ell c because prop lemma iff second modus ponens ell b modus ponens ell a indeed for all object s indeed parenthesis object s zermelo in meta s imply object s zermelo in meta x end parenthesis end line line ell d because lemma power set is subset0 modus probans ell big a modus probans ell big b indeed for all object s indeed parenthesis object s zermelo in meta s imply object s zermelo in meta x end parenthesis imply macro newline object s zermelo in meta s imply object s zermelo in meta x end line line ell e because 1rule mp modus ponens ell d modus ponens ell c indeed object s zermelo in meta s imply object s zermelo in meta x end line because 1rule repetition modus ponens ell e indeed meta s is subset of meta x qed end math ] "

\item I linie 7 benytter vi konstruktionen " [ bracket var x modus probans var y end bracket ] " til at fort\ae{}lle bevischeckeren, at de to sidebetingelser er opfyldt, og at vi derfor kan anvende " [ math lemma power set is subset0 end math ] ".

\end{list}

\subsection{Potensm\ae{}ngde, variant}

Som n\ae{}vnt er det sv\ae{}rt at slippe af med sidebetingelser, men af og til kan det lade sig g\o{}re.
N\aa{}r vi i afsnit \ref{sec:union2} g\o{}r brug af lemmaerne " [ math lemma power set is subset0 end math ] " og " [ math lemma power set is subset end math ] ", vil metavariablen " [ math meta x end math ] " f.eks.\ blive instantieret til termer, der undg\aa{}r " [ math object s end math ] ". Hermed bliver sidebetingelsen " [ bracket object s avoid meta x end bracket ] " automatisk opfyldt, mens vi stadigv\ae{}k m\aa{} medregne " [ bracket object s avoid meta y end bracket ] " eksplicit. Imidlertid er bevischeckeren s\aa{}ledes indrettet, at de automatisk opfyldte sidebetingelser skal st\aa{} til sidst, n\aa{}r man bruger et lemma, der indeholder sidebetingelser. Derfor viser vi nu nogle varianter af " [ math lemma power set is subset end math ] " og " [ math lemma power set is subset0 end math ] ", hvor der er byttet om p\aa{} " [ bracket object s avoid meta x end bracket ] " og " [ bracket object s avoid meta y end bracket ] ":

\begin{list}{}{
\setlength{\leftmargin}{0em}
\setlength{\itemindent}{0em}
\setlength{\itemsep}{1ex}}

\item " [ math in theory system zf lemma lemma power set is subset0-switch says for all terms meta s comma meta x comma meta y indeed object s avoid meta y endorse object s avoid meta x endorse macro newline for all object s indeed parenthesis object s zermelo in meta x imply object s zermelo in meta y end parenthesis imply meta s zermelo in meta x imply meta s zermelo in meta y end lemma end math ] "

\item " [ math system zf proof of lemma power set is subset0-switch reads any term meta s comma meta x comma meta y end line line ell a side condition object s avoid meta y end line line ell b side condition object s avoid meta x end line because lemma power set is subset0 modus probans ell b modus probans ell a indeed for all object s indeed parenthesis object s zermelo in meta x imply object s zermelo in meta y end parenthesis imply macro newline meta s zermelo in meta x imply meta s zermelo in meta y qed end math ] "

\item " [ math in theory system zf lemma lemma power set is subset-switch says for all terms meta s comma meta x indeed object s avoid meta x endorse object s avoid meta s endorse macro newline meta s zermelo in power meta x end power infer meta s is subset of meta x end lemma end math ] "

\item " [ math system zf proof of lemma power set is subset-switch reads any term meta s comma meta x end line line ell a side condition object s avoid meta x end line line ell b side condition object s avoid meta s end line line ell c premise meta s zermelo in power meta x end power end line because lemma power set is subset modus probans ell b modus probans ell a modus ponens ell c indeed meta s is subset of meta x qed end math ] "

\end{list}

\noindent Vi kunne naturligvis have sparet noget plads ved at vise disse varianter til at begynde med. Jeg har ikke gjort dette, fordi vi nu har f\aa{}et illustreret en af ulemperne ved at arbejde med sidebetingelser.

Jeg vil ikke kommentere f\ae{}nomenet ``sidebetingelser af formen " [ bracket var x avoid var y end bracket ] "'' yderligere --- indtil afsnit \ref{sec:binaerforen}, hvor antallet af sidebetingelser bliver s\aa{} stort, at det ikke kan ignoreres.

\subsection{Separation} \label{sec:seplemma}

Tilf\ae{}ldet ``" [ math axiom separation definition end math ] "'' er n\ae{}sten lige s\aa{} enkelt som tilf\ae{}ldet ``" [ math axiom pair definition end math ] "'' fra afsnit \ref{sec:parlemma}. Vi skal blot huske at overf\o{}re aksiomets sidebetingelse til de to regellemmaer:

\begin{list}{}{
\setlength{\leftmargin}{0em}
\setlength{\itemindent}{0em}
\setlength{\itemsep}{1ex}}

\item " [ math in theory system zf lemma lemma separation2formula says for all terms meta a comma meta b comma meta p comma meta x comma meta y indeed meta p is placeholder-var and ph-sub meta b is meta a where meta p is meta y end sub endorse macro newline meta y zermelo in the set of ph in meta x such that meta a end set infer meta y zermelo in meta x and0 meta b end lemma end math ] "

\item " [ math system zf proof of lemma separation2formula reads any term meta a comma meta b comma meta p comma meta x comma meta y end line line ell a side condition meta p is placeholder-var and ph-sub meta b is meta a where meta p is meta y end sub end line line ell b premise meta y zermelo in the set of ph in meta x such that meta a end set end line line ell q because axiom separation definition modus probans ell a indeed meta y zermelo in the set of ph in meta x such that meta a end set iff macro newline meta y zermelo in meta x and0 meta b end line line ell c because prop lemma first conjunct modus ponens ell q indeed meta y zermelo in the set of ph in meta x such that meta a end set imply macro newline meta y zermelo in meta x and0 meta b end line because 1rule mp modus ponens ell c modus ponens ell b indeed meta y zermelo in meta x and0 meta b qed end math ] "

\item " [ math in theory system zf lemma lemma formula2separation says for all terms meta a comma meta b comma meta p comma meta x comma meta y indeed meta p is placeholder-var and ph-sub meta b is meta a where meta p is meta y end sub endorse macro newline meta y zermelo in meta x infer meta b infer meta y zermelo in the set of ph in meta x such that meta a end set end lemma end math ] "

\item " [ math system zf proof of lemma formula2separation reads any term meta a comma meta b comma meta p comma meta x comma meta y end line line ell s side condition meta p is placeholder-var and ph-sub meta b is meta a where meta p is meta y end sub end line line ell a premise meta y zermelo in meta x end line line ell r premise meta b end line line ell t because prop lemma join conjuncts modus ponens ell a modus ponens ell r indeed meta y zermelo in meta x and0 meta b end line line ell q because axiom separation definition modus probans ell s indeed parenthesis meta y zermelo in the set of ph in meta x such that meta a end set imply meta y zermelo in meta x and0 meta b end parenthesis and0 parenthesis meta y zermelo in meta x and0 meta b imply macro newline meta y zermelo in the set of ph in meta x such that meta a end set end parenthesis end line line ell b because prop lemma second conjunct modus ponens ell q indeed meta y zermelo in meta x and0 meta b imply macro newline meta y zermelo in the set of ph in meta x such that meta a end set end line because 1rule mp modus ponens ell b modus ponens ell t indeed meta y zermelo in the set of ph in meta x such that meta a end set qed end math ] "

\end{list}

\subsection{Ekstentionalitet}

Tilf\ae{}ldet ``" [ math axiom extensionality end math ] "'' er lidt mere kompliceret end det almindelige tilf\ae{}lde, fordi vi skal forholde os til objektkvantoren i meta-formlen " [ bracket meta x zermelo is meta y iff for all object s indeed parenthesis object s zermelo in meta x iff object s zermelo in meta y end parenthesis end bracket ] ". Derfor er der to underafsnit; lemmaerne i underafsnit \ref{sec:tillighed} er afledt af implikationen " [ bracket for all object s indeed parenthesis object s zermelo in meta x iff object s zermelo in meta y end parenthesis imply meta x zermelo is meta y end bracket ] ", mens lemmaerne i underafsnit \ref{sec:fralighed} er afledt af den omvendte implikation.

\subsubsection{Tilstr\ae{}kkelig betingelse for lighed}
\label{sec:tillighed}

To m\ae{}ngder er lig hinanden, hvis de er hinandens delm\ae{}ngder:

\begin{list}{}{
\setlength{\leftmargin}{0em}
\setlength{\itemindent}{0em}
\setlength{\itemsep}{1ex}}

\item " [ math in theory system zf lemma lemma set equality suff condition says for all terms meta x comma meta y indeed macro newline object s zermelo in meta x imply object s zermelo in meta y infer object s zermelo in meta y imply object s zermelo in meta x infer meta x zermelo is meta y end lemma end math ] "

\item Beviset for " [ math lemma set equality suff condition end math ] " er ret enkelt. Vi skal blot huske at s\ae{}tte en objektkvantor p\aa{} pr\ae{}misserne, hvilket g\o{}res med slutningsreglen " [ math 1rule gen end math ] ":

\item " [ math system zf proof of lemma set equality suff condition reads any term meta x comma meta y end line line ell a premise object s zermelo in meta x imply object s zermelo in meta y end line line ell b premise object s zermelo in meta y imply object s zermelo in meta x end line line ell c because prop lemma join conjuncts modus ponens ell a modus ponens ell b indeed object s zermelo in meta x iff object s zermelo in meta y end line line ell d because 1rule gen modus ponens ell c indeed for all object s indeed parenthesis object s zermelo in meta x iff object s zermelo in meta y end parenthesis end line line ell e because axiom extensionality indeed meta x zermelo is meta y iff for all object s indeed parenthesis object s zermelo in meta x iff object s zermelo in meta y end parenthesis end line line ell f because prop lemma second conjunct modus ponens ell e indeed for all object s indeed parenthesis object s zermelo in meta x iff object s zermelo in meta y end parenthesis imply meta x zermelo is meta y end line because 1rule mp modus ponens ell f modus ponens ell d indeed meta x zermelo is meta y qed end math ] "

\item I afsnit \ref{sec:parlig} f\aa{}r vi brug for en version af dette lemma, hvor objektvariablen " [ math object s end math ] " er erstattet af en anden objektvariabel (jeg har valgt " [ math object t end math ] "). For at vise denne alternative version viser vi f\o{}rst lemmaet " [ math lemma set equality suff condition(t)0 end math ] ", som indkapsler en anvendelse af deduktionsreglen:

\item " [ math in theory system zf lemma lemma set equality suff condition(t)0 says for all terms meta x comma meta y indeed object t avoid meta x endorse object t avoid meta y endorse macro newline for all object t indeed parenthesis object t zermelo in meta x imply object t zermelo in meta y end parenthesis imply parenthesis object s zermelo in meta x imply object s zermelo in meta y end parenthesis end lemma end math ] "

\item " [ math system zf proof of lemma set equality suff condition(t)0 reads block any term macro indent meta x comma meta y end line line ell a premise macro indent object t zermelo in meta x imply object t zermelo in meta y end line because 1rule repetition modus ponens ell a indeed macro indent object t zermelo in meta x imply object t zermelo in meta y end line line ell b end block any term meta x comma meta y end line because 1rule deduction modus ponens ell b indeed object t avoid meta x endorse object t avoid meta y endorse for all object t indeed parenthesis object t zermelo in meta x imply object t zermelo in meta y end parenthesis imply parenthesis object s zermelo in meta x imply object s zermelo in meta y end parenthesis qed end math ] "

\item Hovedlemmaet hedder " [ math lemma set equality suff condition(t) end math ] ":

\item " [ math in theory system zf lemma lemma set equality suff condition(t) says for all terms meta x comma meta y indeed object t avoid meta x endorse object t avoid meta y endorse macro newline object t zermelo in meta x imply object t zermelo in meta y infer object t zermelo in meta y imply object t zermelo in meta x infer meta x zermelo is meta y end lemma end math ] "

\item I beviset herfor kombinerer vi " [ math 1rule gen end math ] " med hj\ae{}lpelemmaet til at omdanne pr\ae{}missen " [ bracket object t zermelo in meta x imply object t zermelo in meta y end bracket ] " til " [ bracket object s zermelo in meta x imply object s zermelo in meta y end bracket ] " (linie 6--8). Vi gentager denne procedure mht.\ pr\ae{}missen " [ bracket object t zermelo in meta y imply object t zermelo in meta x end bracket ] " (linie 9-11). Vi kan da slutte af med en anvendelse af det oprindelige lemma " [ math lemma set equality suff condition end math ] " (linie 12):

\item " [ math system zf proof of lemma set equality suff condition(t) reads any term meta x comma meta y end line line ell big a side condition object t avoid meta x end line line ell big b side condition object t avoid meta y end line line ell a premise object t zermelo in meta x imply object t zermelo in meta y end line line ell b premise object t zermelo in meta y imply object t zermelo in meta x end line line ell c because 1rule gen modus ponens ell a indeed for all object t indeed parenthesis object t zermelo in meta x imply object t zermelo in meta y end parenthesis end line line ell e because lemma set equality suff condition(t)0 modus probans ell big a modus probans ell big b indeed for all object t indeed parenthesis object t zermelo in meta x imply object t zermelo in meta y end parenthesis imply macro newline object s zermelo in meta x imply object s zermelo in meta y end line line ell f because 1rule mp modus ponens ell e modus ponens ell c indeed object s zermelo in meta x imply object s zermelo in meta y end line line ell d because 1rule gen modus ponens ell b indeed for all object t indeed parenthesis object t zermelo in meta y imply object t zermelo in meta x end parenthesis end line line ell g because lemma set equality suff condition(t)0 modus probans ell big b modus probans ell big a indeed for all object t indeed parenthesis object t zermelo in meta y imply object t zermelo in meta x end parenthesis imply macro newline object s zermelo in meta y imply object s zermelo in meta x end line line ell h because 1rule mp modus ponens ell g modus ponens ell d indeed object s zermelo in meta y imply object s zermelo in meta x end line because lemma set equality suff condition modus ponens ell f modus ponens ell h indeed meta x zermelo is meta y qed end math ] "

\end{list}

Arbejdsfordelingen mellem " [ math lemma set equality suff condition(t)0 end math ] " og " [ math lemma set equality suff condition(t) end math ] " er temmelig uj\ae{}vn; det meste af arbejdet foreg\aa{}r i beviset for " [ math lemma set equality suff condition(t) end math ] ". At der er to lemmaer i stedet for \'{e}t, har en teknisk forklaring: Logiwebs bevischecker kan ikke arbejde med konklusioner af formen " [ bracket var x endorse var y end bracket ] ". Vi kan derfor kun referere til konklusionen " [ bracket object t avoid meta x endorse object t avoid meta y endorse cdots end bracket ] " ved at lade den v\ae{}re konklusionen p\aa{} et bevis; og derfor m\aa{} vi stoppe op, n\aa{}r vi n\aa{}r til linie 7 i " [ math lemma set equality suff condition(t)0 end math ] ". Vi vil flere gange senere komme ud for lemmaer, hvis eksistens har denne tekniske forklaring. Jeg vil bruge ordet ``lemmastump'' om disse lemmaer.


\subsubsection{N\o{}dvendig betingelse for lighed} \label{sec:fralighed}

Vi begynder dette underafsnit med et hj\ae{}lpelemma, som vi bruger til at fjerne objektkvantoren fra " [ math axiom extensionality end math ] ":

\begin{list}{}{
\setlength{\leftmargin}{0em}
\setlength{\itemindent}{0em}
\setlength{\itemsep}{1ex}}

\item " [ math in theory system zf lemma lemma set equality skip quantifier says for all terms meta s comma meta x comma meta y indeed object s avoid meta x endorse object s avoid meta y endorse macro newline for all object s indeed parenthesis object s zermelo in meta x iff object s zermelo in meta y end parenthesis imply parenthesis meta s zermelo in meta x iff meta s zermelo in meta y end parenthesis end lemma end math ] "

\item Beviset for " [ math lemma set equality skip quantifier end math ] " er en simpel anvendelse af deduktionsreglen:

\item " [ math system zf proof of lemma set equality skip quantifier reads block any term macro indent meta x comma meta y end line line ell a premise macro indent object s zermelo in meta x iff object s zermelo in meta y end line because 1rule repetition modus ponens ell a indeed macro indent object s zermelo in meta x iff object s zermelo in meta y end line line ell b end block any term meta s comma meta x comma meta y end line because 1rule deduction modus ponens ell b indeed object s avoid meta x endorse object s avoid meta y endorse for all object s indeed parenthesis object s zermelo in meta x iff object s zermelo in meta y end parenthesis imply parenthesis meta s zermelo in meta x iff meta s zermelo in meta y end parenthesis qed end math ] "

\item Hovelemmaet i dette underafsnit udsiger, at hvis " [ math meta x end math ] " er lig med " [ math meta y end math ] ", s\aa{} er " [ math meta x end math ] " en delm\ae{}ngde af " [ math meta y end math ] "\footnote{Naturligvis kan man ogs\aa{} vise, at hvis " [ math meta x end math ] " er lig med " [ math meta y end math ] ", s\aa{} er " [ math meta y end math ] " en delm\ae{}ngde af " [ math meta x end math ] ". Det har imidlertid ikke v\ae{}ret n\o{}dvendigt at bruge dette lemma.}:

\item " [ math in theory system zf lemma lemma set equality nec condition says for all terms meta s comma meta x comma meta y indeed object s avoid meta x endorse object s avoid meta y endorse macro newline meta x zermelo is meta y infer meta s zermelo in meta x infer meta s zermelo in meta y end lemma end math ] "

\item Beviset er en enkel anvendelse af " [ math axiom extensionality end math ] " og " [ math lemma set equality skip quantifier end math ] ":

\item " [ math system zf proof of lemma set equality nec condition reads any term meta s comma meta x comma meta y end line line ell big a side condition object s avoid meta x end line line ell big b side condition object s avoid meta y end line line ell a premise meta x zermelo is meta y end line line ell b premise meta s zermelo in meta x end line line ell c because axiom extensionality indeed meta x zermelo is meta y iff for all object s indeed parenthesis object s zermelo in meta x iff object s zermelo in meta y end parenthesis end line line ell d because prop lemma iff second modus ponens ell c modus ponens ell a indeed for all object s indeed parenthesis object s zermelo in meta x iff object s zermelo in meta y end parenthesis end line line ell f because lemma set equality skip quantifier modus probans ell big a modus probans ell big b indeed for all object s indeed parenthesis object s zermelo in meta x iff object s zermelo in meta y end parenthesis imply macro newline parenthesis meta s zermelo in meta x iff meta s zermelo in meta y end parenthesis end line line ell g because 1rule mp modus ponens ell f modus ponens ell d indeed meta s zermelo in meta x iff meta s zermelo in meta y end line because prop lemma iff second modus ponens ell g modus ponens ell b indeed meta s zermelo in meta y qed end math ] "

\end{list}

\section{Definitionslemmaer} \label{sec:def}

Regellemmaerne fra afsnit \ref{sec:regel} blev afledt fra aksiomer. Lemmaerne i dette afsnit bliver afledt fra makrodefinitionerne i afsnit \ref{sec:eqrel}; heraf navnet ``definitionslemmaer''. Form\aa{}let med definitionslemmaerne er at muligg\o{}re effektiv anvendelse af makrodefinitionerne i beviser.

\subsection{Refleksiv relation} \label{sec:refldef}

Den f\o{}rste definition, vi tager under behandling, er definitionen
\\ \mbox{" [ bracket define-equal meta r is reflexive relation in meta big set comma for all object s indeed parenthesis object s zermelo in meta big set imply object s is related to object s under meta r end parenthesis end equal end bracket ] "}. Vi bruger her en lemmastump ved navn " [ math lemma reflexivity0 end math ] ", som lader os fjerne objektkvantoren fra denne definitions h\o{}jreside:

\begin{list}{}{
\setlength{\leftmargin}{0em}
\setlength{\itemindent}{0em}
\setlength{\itemsep}{1ex}}

\item " [ math in theory system zf lemma lemma reflexivity0 says for all terms meta r comma meta s comma meta big set indeed object s avoid meta r endorse object s avoid meta big set endorse macro newline for all object s indeed parenthesis object s zermelo in meta big set imply object s is related to object s under meta r end parenthesis imply meta s zermelo in meta big set imply meta s is related to meta s under meta r end lemma end math ] "

\item Vi viser " [ math lemma reflexivity0 end math ] " ved hj\ae{}lp af deduktionsreglen:

\item " [ math system zf proof of lemma reflexivity0 reads block any term macro indent meta r comma meta big set end line line ell d premise macro indent object s zermelo in meta big set imply object s is related to object s under meta r end line because 1rule repetition modus ponens ell d indeed macro indent object s zermelo in meta big set imply object s is related to object s under meta r end line line ell e end block any term meta r comma meta s comma meta big set end line because 1rule deduction modus ponens ell e indeed object s avoid meta r endorse object s avoid meta big set endorse for all object s indeed parenthesis object s zermelo in meta big set imply object s is related to object s under meta r end parenthesis imply meta s zermelo in meta big set imply meta s is related to meta s under meta r qed end math ] "

\item I hovedlemmaet " [ math lemma reflexivity end math ] " omdanner vi lemmastumpens implikationer til inferenser:

\item " [ math in theory system zf lemma lemma reflexivity says for all terms meta r comma meta s comma meta big set indeed object s avoid meta r endorse object s avoid meta big set endorse meta r is reflexive relation in meta big set infer macro newline meta s zermelo in meta big set infer meta s is related to meta s under meta r end lemma end math ] "

\item " [ math system zf proof of lemma reflexivity reads any term meta r comma meta s comma meta big set end line line ell a side condition object s avoid meta r end line line ell b side condition object s avoid meta big set end line line ell c premise meta r is reflexive relation in meta big set end line line ell d premise meta s zermelo in meta big set end line line ell e because lemma reflexivity0 modus probans ell a modus probans ell b indeed meta r is reflexive relation in meta big set imply meta s zermelo in meta big set imply meta s is related to meta s under meta r end line because prop lemma mp2 modus ponens ell e modus ponens ell c modus ponens ell d indeed meta s is related to meta s under meta r qed end math ] "

\end{list}

\noindent Vi skal straks se flere eksempler p\aa{} netop denne arbejdsdeling mellem lemmastump og hovedlemma.

\subsection{Symmetrisk relation} \label{sec:symreldef}

De to lemmaer i dette underafsnit er afledt fra definitionen af ``symmetrisk relation'' i afsnit \ref{sec:eqrel}. Fremgangsm\aa{}den er den samme som i afsnit \ref{sec:refldef}. Lemmaet " [ math lemma symmetry0 end math ] " fungerer som lemmastump i forhold til " [ math lemma symmetry end math ] ":

\begin{list}{}{
\setlength{\leftmargin}{0em}
\setlength{\itemindent}{0em}
\setlength{\itemsep}{1ex}}

\item " [ math in theory system zf lemma lemma symmetry0 says for all terms meta r comma meta s comma meta t comma meta big set indeed macro newline object s avoid meta r endorse object s avoid meta big set endorse object t avoid meta r endorse object t avoid meta big set endorse meta r is symmetric relation in meta big set imply macro newline meta s zermelo in meta big set imply meta t zermelo in meta big set imply meta s is related to meta t under meta r imply meta t is related to meta s under meta r end lemma end math ] "

\item " [ math in theory system zf lemma lemma symmetry says for all terms meta r comma meta s comma meta t comma meta big set indeed object s avoid meta r endorse object s avoid meta big set endorse object t avoid meta r endorse object t avoid meta big set endorse meta r is symmetric relation in meta big set infer meta s zermelo in meta big set infer meta t zermelo in meta big set infer meta s is related to meta t under meta r infer meta t is related to meta s under meta r end lemma end math ] "


\item Beviset for " [ math lemma symmetry0 end math ] " fungerer ligesom beviset for " [ math lemma reflexivity0 end math ] " fra afsnit \ref{sec:refldef} (dog skriver vi ikke definitionen af " [ math meta r is symmetric relation in meta big set end math ] " ud):

\item " [ math system zf proof of lemma symmetry0 reads block any term macro indent meta r comma meta big set end line line ell a premise macro indent object s zermelo in meta big set imply object t zermelo in meta big set imply object s is related to object t under meta r imply object t is related to object s under meta r end line because 1rule repetition modus ponens ell a indeed macro indent object s zermelo in meta big set imply object t zermelo in meta big set imply object s is related to object t under meta r imply object t is related to object s under meta r end line line ell b end block any term meta r comma meta s comma meta t comma meta big set end line because 1rule deduction modus ponens ell b indeed object s avoid meta r endorse object s avoid meta big set endorse object t avoid meta r endorse object t avoid meta big set endorse meta r is symmetric relation in meta big set imply meta s zermelo in meta big set imply meta t zermelo in meta big set imply meta s is related to meta t under meta r imply meta t is related to meta s under meta r qed end math ] "


\item I beviset for " [ math lemma symmetry end math ] " skifter vi fra implikation til inferens:

\item " [ math system zf proof of lemma symmetry reads any term meta r comma meta s comma meta t comma meta big set end line line ell a side condition object s avoid meta r end line line ell b side condition object s avoid meta big set end line line ell c side condition object t avoid meta r end line line ell d side condition object t avoid meta big set end line line ell e premise meta r is symmetric relation in meta big set end line line ell f premise meta s zermelo in meta big set end line line ell g premise meta t zermelo in meta big set end line line ell h premise meta s is related to meta t under meta r end line line ell i because lemma symmetry0 modus probans ell a modus probans ell b modus probans ell c modus probans ell d indeed meta r is symmetric relation in meta big set imply meta s zermelo in meta big set imply meta t zermelo in meta big set imply meta s is related to meta t under meta r imply meta t is related to meta s under meta r end line because prop lemma mp4 modus ponens ell i modus ponens ell e modus ponens ell f modus ponens ell g modus ponens ell h indeed meta t is related to meta s under meta r qed end math ] "

\end{list}

\subsection{Transitiv relation} \label{sec:transdef}

De to lemmaer i dette underafsnit er afledt fra definitionen af ``transitiv relation'' i afsnit \ref{sec:eqrel}. Vi bruger n\o{}jagtig den samme fremgangsm\aa{}de som i afsnit \ref{sec:refldef} og \ref{sec:symreldef}: Lemmastumpen (" [ math lemma transitivity0 end math ] ") fjerner definitionens objektkvantor ved hj\ae{}lp af " [ math 1rule deduction end math ] ", og hovedlemmaet (" [ math lemma transitivity end math ] ") skifter fra implikation til inferens:

\begin{list}{}{
\setlength{\leftmargin}{0em}
\setlength{\itemindent}{0em}
\setlength{\itemsep}{1ex}}

\item " [ math in theory system zf lemma lemma transitivity0 says for all terms meta r comma meta s comma meta t comma meta u comma meta big set indeed macro newline object s avoid meta r endorse object s avoid meta big set endorse object t avoid meta r endorse object t avoid meta big set endorse object u avoid meta r endorse object u avoid meta big set endorse meta r is transitive relation in meta big set imply macro newline meta s zermelo in meta big set imply meta t zermelo in meta big set imply meta u zermelo in meta big set imply meta s is related to meta t under meta r imply meta t is related to meta u under meta r imply meta s is related to meta u under meta r end lemma end math ] "


\item " [ math system zf proof of lemma transitivity0 reads block any term macro indent meta r comma meta big set end line line ell a premise macro indent object s zermelo in meta big set imply object t zermelo in meta big set imply macro newline object u zermelo in meta big set imply object s is related to object t under meta r imply object t is related to object u under meta r imply object s is related to object u under meta r end line because 1rule repetition modus ponens ell a indeed macro indent object s zermelo in meta big set imply object t zermelo in meta big set imply macro newline object u zermelo in meta big set imply object s is related to object t under meta r imply object t is related to object u under meta r imply object s is related to object u under meta r end line line ell b end block any term meta r comma meta s comma meta t comma meta u comma meta big set end line because 1rule deduction modus ponens ell b indeed object s avoid meta r endorse object s avoid meta big set endorse object t avoid meta r endorse object t avoid meta big set endorse object u avoid meta r endorse object u avoid meta big set endorse meta r is transitive relation in meta big set imply meta s zermelo in meta big set imply meta t zermelo in meta big set imply meta u zermelo in meta big set imply meta s is related to meta t under meta r imply meta t is related to meta u under meta r imply meta s is related to meta u under meta r qed end math ] "

\item " [ math in theory system zf lemma lemma transitivity says for all terms meta r comma meta s comma meta t comma meta u comma meta big set indeed macro newline object s avoid meta r endorse object s avoid meta big set endorse object t avoid meta r endorse object t avoid meta big set endorse object u avoid meta r endorse object u avoid meta big set endorse meta r is transitive relation in meta big set infer macro newline meta s zermelo in meta big set infer meta t zermelo in meta big set infer meta u zermelo in meta big set infer meta s is related to meta t under meta r infer meta t is related to meta u under meta r infer meta s is related to meta u under meta r end lemma end math ] "

\item " [ math system zf proof of lemma transitivity reads any term meta r comma meta s comma meta t comma meta u comma meta big set end line line ell a side condition object s avoid meta r end line line ell b side condition object s avoid meta big set end line line ell c side condition object t avoid meta r end line line ell d side condition object t avoid meta big set end line line ell e side condition object u avoid meta r end line line ell f side condition object u avoid meta big set end line line ell g premise meta r is transitive relation in meta big set end line line ell h premise meta s zermelo in meta big set end line line ell i premise meta t zermelo in meta big set end line line ell j premise meta u zermelo in meta big set end line line ell k premise meta s is related to meta t under meta r end line line ell l premise meta t is related to meta u under meta r end line line ell m because lemma transitivity0 modus probans ell a modus probans ell b modus probans ell c modus probans ell d modus probans ell e modus probans ell f indeed meta r is transitive relation in meta big set imply meta s zermelo in meta big set imply meta t zermelo in meta big set imply meta u zermelo in meta big set imply meta s is related to meta t under meta r imply meta t is related to meta u under meta r imply meta s is related to meta u under meta r end line line ell n because prop lemma mp5 modus ponens ell m modus ponens ell g modus ponens ell h modus ponens ell i modus ponens ell j modus ponens ell k indeed meta t is related to meta u under meta r imply meta s is related to meta u under meta r end line because 1rule mp modus ponens ell n modus ponens ell l indeed meta s is related to meta u under meta r qed end math ] "

\end{list}

\subsection{\AE{}kvivalensrelation}

De tre lemmaer i dette underafsnit udsiger, at en \ae{}kvivalensrelation er hhv.\ refleksiv, symmetrisk og transitiv. Beviserne er simple; vi anvender et par tautologier p\aa{} definitionen af " [ math meta r is equivalence relation in meta big set end math ] " fra afsnit \ref{sec:eqrel}:

\begin{list}{}{
\setlength{\leftmargin}{0em}
\setlength{\itemindent}{0em}
\setlength{\itemsep}{1ex}}

\item " [ math in theory system zf lemma lemma er is reflexive says for all terms meta r indeed meta r is equivalence relation in meta big set infer meta r is reflexive relation in meta big set end lemma end math ] "

\item " [ math system zf proof of lemma er is reflexive reads any term meta r end line line ell a premise meta r is equivalence relation in meta big set end line line ell b because 1rule repetition modus ponens ell a indeed meta r is reflexive relation in meta big set and0 meta r is symmetric relation in meta big set and0 meta r is transitive relation in meta big set end line line ell c because prop lemma first conjunct modus ponens ell b indeed meta r is reflexive relation in meta big set and0 meta r is symmetric relation in meta big set end line because prop lemma first conjunct modus ponens ell c indeed meta r is reflexive relation in meta big set qed end math ] "

\item " [ math in theory system zf lemma lemma er is symmetric says for all terms meta r indeed meta r is equivalence relation in meta big set infer meta r is symmetric relation in meta big set end lemma end math ] "

\item " [ math system zf proof of lemma er is symmetric reads any term meta r end line line ell a premise meta r is equivalence relation in meta big set end line line ell b because 1rule repetition modus ponens ell a indeed meta r is reflexive relation in meta big set and0 meta r is symmetric relation in meta big set and0 meta r is transitive relation in meta big set end line line ell c because prop lemma first conjunct modus ponens ell b indeed meta r is reflexive relation in meta big set and0 meta r is symmetric relation in meta big set end line because prop lemma second conjunct modus ponens ell c indeed meta r is symmetric relation in meta big set qed end math ] "

\item " [ math in theory system zf lemma lemma er is transitive says for all terms meta r indeed meta r is equivalence relation in meta big set infer meta r is transitive relation in meta big set end lemma end math ] "

\item " [ math system zf proof of lemma er is transitive reads any term meta r end line line ell a premise meta r is equivalence relation in meta big set end line line ell b because 1rule repetition modus ponens ell a indeed meta r is reflexive relation in meta big set and0 meta r is symmetric relation in meta big set and0 meta r is transitive relation in meta big set end line because prop lemma second conjunct modus ponens ell b indeed meta r is transitive relation in meta big set qed end math ] "

\end{list}

\section{Basale s\ae{}tninger i m\ae{}ngdel\ae{}re} \label{sec:basal}

Lemmaerne i dette afsnit er en l\o{}s samling af m\ae{}ngdeteoretiske s\ae{}tninger, som bliver brugt i beviset for hovedresultatet i afsnit \ref{sec:hoved}. Lemmaerne er grupperet efter emne: Underafsnit \ref{sec:empty} omhandler den tomme m\ae{}ngde, underafsnit \ref{sec:lighed} handler om lighedsrelationen " [ bracket var x zermelo is var y end bracket ] ", og underafsnit \ref{sec:notequal} handler om negeret lighed (" [ math var x zermelo ~is var y end math ] "). Figur 2 giver et overblik over lemmaerne.

\clearpage
% figur 2
\begin{figure}
\resizebox{\textwidth}{!}{
\includegraphics[0cm,0cm][20cm,22cm]{/net/urd/home/disk15/eriksen/.logiweb/grafik/diverse.eps}}

\caption[Bevisstrukturen for afsnit \ref{sec:basal}]{Bevisstrukturen for afsnit \ref{sec:basal}. Kun lemmaer fra dette afsnit er vist. Tallene i parentes angiver, hvor mange sidebetingelser de forskellige lemmaer indeholder. En pil fra lemma " [ math var x end math ] " til lemma " [ math var y end math ] " betyder, at " [ math var x end math ] " bruges i beviset for " [ math var y end math ] ". Tallene ved pilene angiver, hvor mange sidebetingelser " [ math var y end math ] " modtager fra " [ math var x end math ] ". Hvis der f.eks.\ st\aa{}r ``$2 \cdot \mathbf{4}$'', betyder det, at " [ math var x end math ] " bliver anvendt to gange i beviset for " [ math var y end math ] ", begge gange med 4 sidebetingelser.
Der er overlap mellem nogle af sidebetingelserne, og lemmaer kan generere deres egne sidebetingelser. Derfor er der ikke n\o{}dvendigvis overensstemmelse mellem tallene i parentes og tallene ved lemmaerne.}

\end{figure}
\clearpage


\subsection{Den tomme m\ae{}ngde} \label{sec:empty}

Dette underafsnit indeholder 3 lemmaer, der hver har f\aa{}et sit under-underafsnit.

\subsubsection{En delm\ae{}ngde af alle m\ae{}ngder}

Vi viser f\o{}rst, at den tomme m\ae{}ngde er en delm\ae{}ngde af alle m\ae{}ngder:

\begin{list}{}{
\setlength{\leftmargin}{0em}
\setlength{\itemindent}{0em}
\setlength{\itemsep}{1ex}}

\item " [ math in theory system zf lemma lemma empty set is subset says for all terms meta s comma meta x indeed meta s zermelo in zermelo empty set imply meta s zermelo in meta x end lemma end math ] "

\item Beviset for " [ math lemma empty set is subset end math ] " benytter sig af deduktionsreglen og tautologien \\ \mbox{" [ math prop lemma from contradiction end math ] "}:

\item " [ math system zf proof of lemma empty set is subset reads block any term macro indent meta s comma meta x end line line ell a premise macro indent meta s zermelo in zermelo empty set end line line ell b because axiom empty set indeed macro indent meta s zermelo ~in zermelo empty set end line because prop lemma from contradiction modus ponens ell a modus ponens ell b indeed macro indent meta s zermelo in meta x end line line ell c end block any term meta s comma meta x end line because 1rule deduction modus ponens ell c indeed meta s zermelo in zermelo empty set imply meta s zermelo in meta x qed end math ] "

\end{list}

\subsubsection{Der er kun \'{e}n tom m\ae{}ngde}

Det n\ae{}ste lemma beviser p\aa{}standen ``der er kun \'{e}n tom m\ae{}ngde''. Vi formulerer denne p\aa{}stand som f\o{}lger: ``Hvis en m\ae{}ngde " [ math meta x end math ] " ikke har nogen medlemmer, s\aa{}
er " [ math meta x end math ] " lig med " [ math zermelo empty set end math ] "'':

\begin{list}{}{
\setlength{\leftmargin}{0em}
\setlength{\itemindent}{0em}
\setlength{\itemsep}{1ex}}

\item " [ math in theory system zf lemma lemma unique empty set says for all terms meta x indeed object s zermelo ~in meta x infer meta x zermelo is zermelo empty set end lemma end math ] "

\item Vi ved allerede fra lemmaet " [ math lemma empty set is subset end math ] ", at " [ math zermelo empty set end math ] " er en delm\ae{}ngde af " [ math meta x end math ] ". Alts\aa{} mangler vi blot at vise, at " [ math meta x end math ] " er en delm\ae{}ngde af " [ math zermelo empty set end math ] ". Dette klarer vi med hj\ae{}lpelemmaet " [ math lemma unique empty set0 end math ] ":

\item " [ math in theory system zf lemma lemma unique empty set0 says for all terms meta s comma meta x indeed meta s zermelo ~in meta x infer meta s zermelo in meta x imply meta s zermelo in zermelo empty set end lemma end math ] "

\item " [ math system zf proof of lemma unique empty set0 reads block any term macro indent meta s comma meta x end line line ell e premise macro indent meta s zermelo ~in meta x end line line ell f premise macro indent meta s zermelo in meta x end line because prop lemma from contradiction modus ponens ell f modus ponens ell e indeed macro indent meta s zermelo in zermelo empty set end line line ell g end block any term meta s comma meta x end line line ell b because 1rule deduction modus ponens ell g indeed meta s zermelo ~in meta x imply meta s zermelo in meta x imply meta s zermelo in zermelo empty set end line line ell a premise meta s zermelo ~in meta x end line because 1rule mp modus ponens ell b modus ponens ell a indeed meta s zermelo in meta x imply meta s zermelo in zermelo empty set qed end math ] "

\item Med " [ math lemma unique empty set0 end math ] " til r\aa{}dighed er det let at vise " [ math lemma unique empty set end math ] ":

\item " [ math in theory system zf lemma lemma unique empty set says for all terms meta x indeed object s zermelo ~in meta x infer meta x zermelo is zermelo empty set end lemma end math ] "

\item " [ math system zf proof of lemma unique empty set reads any term meta x end line line ell a premise object s zermelo ~in meta x end line line ell b because lemma unique empty set0 modus ponens ell a indeed object s zermelo in meta x imply object s zermelo in zermelo empty set end line line ell c because lemma empty set is subset indeed object s zermelo in zermelo empty set imply object s zermelo in meta x end line because lemma set equality suff condition modus ponens ell b modus ponens ell c indeed meta x zermelo is zermelo empty set qed end math ] "

\end{list}

\subsubsection{Lemmaet ``" [ math lemma member not empty end math ] "''}
\label{sec:membernotempty}

Som det sidste resultat i dette underafsnit viser vi, at en m\ae{}ngde, der har et medlem, ikke er lig med den tomme m\ae{}ngde:

\begin{list}{}{
\setlength{\leftmargin}{0em}
\setlength{\itemindent}{0em}
\setlength{\itemsep}{1ex}}

\item " [ math in theory system zf lemma lemma member not empty says for all terms meta s comma meta x indeed object s avoid meta x endorse meta s zermelo in meta x infer meta x zermelo ~is zermelo empty set end lemma end math ] "

\item Beviset for " [ math lemma member not empty end math ] " kan gengives som f\o{}lger:
%
\begin{enumerate}
\item ``Antag at " [ math meta s end math ] " tilh\o{}rer " [ math meta x end math ] ". Hvis " [ math meta x end math ] " var lig med " [ math zermelo empty set end math ] ", s\aa{} ville " [ math meta s end math ] " ogs\aa{} tilh\o{}re " [ math zermelo empty set end math ] "''.

\item ``Men " [ math meta s end math ] " tilh\o{}rer ikke " [ math zermelo empty set end math ] ". Derfor er " [ math meta x end math ] " ikke lig med " [ math zermelo empty set end math ] "''.
\end{enumerate}

\item Vi viser punkt 1 som lemmastumpen " [ math lemma member not empty0 end math ] "; herefter gennemf\o{}rer vi punkt 2 i selve beviset for " [ math lemma member not empty end math ] ":

\item " [ math in theory system zf lemma lemma member not empty0 says for all terms meta s comma meta x indeed macro newline object s avoid meta x endorse meta s zermelo in meta x imply meta x zermelo is zermelo empty set imply meta s zermelo in zermelo empty set end lemma end math ] "

\item " [ math system zf proof of lemma member not empty0 reads block any term macro indent meta s comma meta x end line line ell big a side condition macro indent object s avoid meta x end line line ell a premise macro indent meta s zermelo in meta x end line line ell b premise macro indent meta x zermelo is zermelo empty set end line because lemma set equality nec condition modus probans ell big a modus ponens ell b modus ponens ell a indeed macro indent meta s zermelo in zermelo empty set end line line ell c end block any term meta s comma meta x end line because 1rule deduction modus ponens ell c indeed object s avoid meta x endorse macro newline meta s zermelo in meta x imply meta x zermelo is zermelo empty set imply meta s zermelo in zermelo empty set qed end math ] "

\item " [ math in theory system zf lemma lemma member not empty says for all terms meta s comma meta x indeed object s avoid meta x endorse meta s zermelo in meta x infer meta x zermelo ~is zermelo empty set end lemma end math ] "

\item " [ math system zf proof of lemma member not empty reads any term meta s comma meta x end line line ell big a side condition object s avoid meta x end line line ell a premise meta s zermelo in meta x end line line ell b because lemma member not empty0 modus probans ell big a indeed meta s zermelo in meta x imply meta x zermelo is zermelo empty set imply meta s zermelo in zermelo empty set end line line ell c because 1rule mp modus ponens ell b modus ponens ell a indeed meta x zermelo is zermelo empty set imply meta s zermelo in zermelo empty set end line line ell d because axiom empty set indeed meta s zermelo ~in zermelo empty set end line because prop lemma mt modus ponens ell c modus ponens ell d indeed meta x zermelo ~is zermelo empty set qed end math ] "

\end{list}

\subsection{ " [ bracket var x zermelo is var y end bracket ] " er en \ae{}kvivalensrelation } \label{sec:lighed}

M\aa{}let med dette underafsnit er at vise, at " [ bracket var x zermelo is var y end bracket ] " er en refleksiv, symmetrisk og transitiv relation.

At " [ bracket var x zermelo is var y end bracket ] " er refleksiv, f\o{}lger af, at " [ bracket var x imply var y end bracket ] " er refleksiv:

\begin{list}{}{
\setlength{\leftmargin}{0em}
\setlength{\itemindent}{0em}
\setlength{\itemsep}{1ex}}

\item " [ math in theory system zf lemma lemma =reflexivity says for all terms meta s indeed meta s zermelo is meta s end lemma end math ] "

\item " [ math system zf proof of lemma =reflexivity reads any term meta s end line line ell a because prop lemma auto imply indeed object s zermelo in meta s imply object s zermelo in meta s end line because lemma set equality suff condition modus ponens ell a modus ponens ell a indeed meta s zermelo is meta s qed end math ] "

\item \indent \verb| | Symmetri-lemmaet for " [ bracket var x zermelo is var y end bracket ] " ser s\aa{}ledes ud:

\item " [ math in theory system zf lemma lemma =symmetry says for all terms meta x comma meta y indeed object s avoid meta x endorse object s avoid meta y endorse meta x zermelo is meta y infer meta y zermelo is meta x end lemma end math ] "

\item Vi beviser " [ math lemma =symmetry end math ] " ved at reducere termen " [ bracket meta x zermelo is meta y end bracket ] " til de to implikationer " [ bracket object s zermelo in meta x imply object s zermelo in meta y end bracket ] " og " [ bracket object s zermelo in meta y imply object s zermelo in meta x end bracket ] ". Herefter s\ae{}tter vi de to implikationer sammen i omvendt r\ae{}kkef\o{}lge, hvilket giver os " [ bracket meta y zermelo is meta x end bracket ] ":

\item " [ math system zf proof of lemma =symmetry reads any term meta x comma meta y end line line ell big a side condition object s avoid meta x end line line ell big b side condition object s avoid meta y end line line ell a premise meta x zermelo is meta y end line line ell b because axiom extensionality indeed meta x zermelo is meta y iff for all object s indeed parenthesis object s zermelo in meta x iff object s zermelo in meta y end parenthesis end line line ell c because prop lemma iff second modus ponens ell b modus ponens ell a indeed for all object s indeed parenthesis object s zermelo in meta x iff object s zermelo in meta y end parenthesis end line line ell d because lemma set equality skip quantifier modus probans ell big a modus probans ell big b indeed for all object s indeed parenthesis object s zermelo in meta x iff object s zermelo in meta y end parenthesis imply macro newline parenthesis object s zermelo in meta x iff object s zermelo in meta y end parenthesis end line line ell e because 1rule mp modus ponens ell d modus ponens ell c indeed object s zermelo in meta x iff object s zermelo in meta y end line line ell f because prop lemma first conjunct modus ponens ell e indeed object s zermelo in meta x imply object s zermelo in meta y end line line ell g because prop lemma second conjunct modus ponens ell e indeed object s zermelo in meta y imply object s zermelo in meta x end line because lemma set equality suff condition modus ponens ell g modus ponens ell f indeed meta y zermelo is meta x qed end math ] "

\item \indent \verb| | Transitivitets-lemmaet for " [ bracket var x zermelo is var y end bracket ] " ser s\aa{}ledes ud:

\item " [ math in theory system zf lemma lemma =transitivity says for all terms meta x comma meta y comma meta z indeed object s avoid meta x endorse object s avoid meta y endorse object s avoid meta z endorse macro newline meta x zermelo is meta y infer meta y zermelo is meta z infer meta x zermelo is meta z end lemma end math ] "

\item Vi viser f\o{}rst den svagere p\aa{}stand, at " [ math meta x end math ] " er en delm\ae{}ngde af " [ math meta z end math ] ":

\item " [ math in theory system zf lemma lemma =transitivity0 says for all terms meta s comma meta x comma meta y comma meta z indeed object s avoid meta x endorse object s avoid meta y endorse object s avoid meta z endorse macro newline meta x zermelo is meta y imply meta y zermelo is meta z imply meta s zermelo in meta x imply meta s zermelo in meta z end lemma end math ] "

\item Bevisets kerne best\aa{}r af to anvendelser af " [ math lemma set equality nec condition end math ] " (linie 8--9):

\item " [ math system zf proof of lemma =transitivity0 reads block any term macro indent meta s comma meta x comma meta y comma meta z end line line ell big a side condition macro indent object s avoid meta x end line line ell big b side condition macro indent object s avoid meta y end line line ell big c side condition macro indent object s avoid meta z end line line ell a premise macro indent meta x zermelo is meta y end line line ell b premise macro indent meta y zermelo is meta z end line line ell c premise macro indent meta s zermelo in meta x end line line ell d because lemma set equality nec condition modus probans ell big a modus probans ell big b modus ponens ell a modus ponens ell c indeed macro indent meta s zermelo in meta y end line because lemma set equality nec condition modus probans ell big b modus probans ell big c modus ponens ell b modus ponens ell d indeed macro indent meta s zermelo in meta z end line line ell e end block any term meta s comma meta x comma meta y comma meta z end line because 1rule deduction modus ponens ell e indeed object s avoid meta x endorse object s avoid meta y endorse object s avoid meta z endorse meta x zermelo is meta y imply meta y zermelo is meta z imply meta s zermelo in meta x imply meta s zermelo in meta z qed end math ] "

\item Vi bruger nu " [ math lemma =transitivity0 end math ] " til at vise, at " [ math meta x end math ] " er en delm\ae{}ngde af " [ math meta z end math ] " (linie 5--8), og vice versa (line 9--12):

\item " [ math in theory system zf lemma lemma =transitivity says for all terms meta x comma meta y comma meta z indeed object s avoid meta x endorse object s avoid meta y endorse object s avoid meta z endorse macro newline meta x zermelo is meta y infer meta y zermelo is meta z infer meta x zermelo is meta z end lemma end math ] "

\item " [ math system zf proof of lemma =transitivity reads any term meta x comma meta y comma meta z end line line ell big a side condition object s avoid meta x end line line ell big b side condition object s avoid meta y end line line ell big c side condition object s avoid meta z end line line ell a premise meta x zermelo is meta y end line line ell b premise meta y zermelo is meta z end line line ell c because lemma =transitivity0 modus probans ell big a modus probans ell big b modus probans ell big c indeed meta x zermelo is meta y imply meta y zermelo is meta z imply macro newline object s zermelo in meta x imply object s zermelo in meta z end line line ell d because prop lemma mp2 modus ponens ell c modus ponens ell a modus ponens ell b indeed object s zermelo in meta x imply object s zermelo in meta z end line line ell e because lemma =symmetry modus probans ell big a modus probans ell big b modus ponens ell a indeed meta y zermelo is meta x end line line ell f because lemma =symmetry modus probans ell big b modus probans ell big c modus ponens ell b indeed meta z zermelo is meta y end line line ell g because lemma =transitivity0 modus probans ell big c modus probans ell big b modus probans ell big a indeed meta z zermelo is meta y imply meta y zermelo is meta x imply macro newline object s zermelo in meta z imply object s zermelo in meta x end line line ell h because prop lemma mp2 modus ponens ell g modus ponens ell f modus ponens ell e indeed object s zermelo in meta z imply object s zermelo in meta x end line because lemma set equality suff condition modus ponens ell d modus ponens ell h indeed meta x zermelo is meta z qed end math ] "

\end{list}

\subsection{Negeret lighed} \label{sec:notequal}

I dette sidste underafsnit viser vi, at lige st\o{}rrelser kan erstatte hinanden i en negeret lighed:

\begin{list}{}{
\setlength{\leftmargin}{0em}
\setlength{\itemindent}{0em}
\setlength{\itemsep}{1ex}}

\item " [ math in theory system zf lemma lemma transfer ~is says for all terms meta x comma meta y comma meta v comma meta w indeed object s avoid meta x endorse object s avoid meta y endorse object s avoid meta v endorse object s avoid meta w endorse meta x zermelo ~is meta y infer meta x zermelo is meta v infer meta y zermelo is meta w infer meta v zermelo ~is meta w end lemma end math ] "

\item Beviset for " [ math lemma transfer ~is end math ] " kan gengives som f\o{}lger:
%
\begin{enumerate}
\item ``Antag at " [ math meta v end math ] " er lig med " [ math meta w end math ] ". Ud fra pr\ae{}misserne " [ bracket meta x zermelo is meta v end bracket ] " og " [ bracket meta y zermelo is meta w end bracket ] " f\aa{}r vi da " [ bracket meta x zermelo is meta y end bracket ] ".''

\item ``Men vi har antaget " [ bracket meta x zermelo ~is meta y end bracket ] ". Derfor kan " [ math meta v end math ] " ikke v\ae{}re lig med " [ math meta w end math ] ".''
\end{enumerate}

\item Vi viser punkt 1 som lemmastumpen " [ math lemma transfer ~is0 end math ] "; punkt 2 klares i selve beviset for " [ math lemma transfer ~is end math ] ":

\item " [ math in theory system zf lemma lemma transfer ~is0 says for all terms meta x comma meta y comma meta v comma meta w indeed macro newline object s avoid meta x endorse object s avoid meta y endorse object s avoid meta v endorse object s avoid meta w endorse meta x zermelo is meta v imply meta y zermelo is meta w imply meta v zermelo is meta w imply meta x zermelo is meta y end lemma end math ] "

\item " [ math system zf proof of lemma transfer ~is0 reads block any term macro indent meta x comma meta y comma meta v comma meta w end line line ell big x side condition macro indent object s avoid meta x end line line ell big y side condition macro indent object s avoid meta y end line line ell big v side condition macro indent object s avoid meta v end line line ell big w side condition macro indent object s avoid meta w end line line ell a premise macro indent meta x zermelo is meta v end line line ell b premise macro indent meta y zermelo is meta w end line line ell c premise macro indent meta v zermelo is meta w end line line ell d because lemma =transitivity modus probans ell big x modus probans ell big v modus probans ell big w modus ponens ell a modus ponens ell c indeed macro indent meta x zermelo is meta w end line line ell e because lemma =symmetry modus probans ell big y modus probans ell big w modus ponens ell b indeed macro indent meta w zermelo is meta y end line because lemma =transitivity modus probans ell big x modus probans ell big w modus probans ell big y modus ponens ell d modus ponens ell e indeed macro indent meta x zermelo is meta y end line line ell f end block any term meta x comma meta y comma meta v comma meta w end line because 1rule deduction modus ponens ell f indeed object s avoid meta x endorse object s avoid meta y endorse object s avoid meta v endorse object s avoid meta w endorse meta x zermelo is meta v imply meta y zermelo is meta w imply meta v zermelo is meta w imply meta x zermelo is meta y qed end math ] "

\newpage

\item " [ math in theory system zf lemma lemma transfer ~is says for all terms meta x comma meta y comma meta v comma meta w indeed object s avoid meta x endorse object s avoid meta y endorse object s avoid meta v endorse object s avoid meta w endorse meta x zermelo ~is meta y infer meta x zermelo is meta v infer meta y zermelo is meta w infer meta v zermelo ~is meta w end lemma end math ] "

\item " [ math system zf proof of lemma transfer ~is reads any term meta x comma meta y comma meta v comma meta w end line line ell big x side condition object s avoid meta x end line line ell big y side condition object s avoid meta y end line line ell big v side condition object s avoid meta v end line line ell big w side condition object s avoid meta w end line line ell a premise meta x zermelo ~is meta y end line line ell b premise meta x zermelo is meta v end line line ell c premise meta y zermelo is meta w end line line ell d because lemma transfer ~is0 modus probans ell big x modus probans ell big y modus probans ell big v modus probans ell big w indeed meta x zermelo is meta v imply meta y zermelo is meta w imply macro newline meta v zermelo is meta w imply meta x zermelo is meta y end line line ell e because prop lemma mp2 modus ponens ell d modus ponens ell b modus ponens ell c indeed meta v zermelo is meta w imply meta x zermelo is meta y end line because prop lemma mt modus ponens ell e modus ponens ell a indeed meta v zermelo ~is meta w qed end math ] "

\end{list}

\section{Lighedslemmaer} \label{sec:lighedslemmaer}

Ved et ``un\ae{}rt lighedslemma'' vil jeg forst\aa{} et lemma af f\o{}lgende form: ``Hvis der g\ae{}lder " [ bracket meta x zermelo is meta y end bracket ] ", s\aa{} g\ae{}lder " [ bracket op meta x end op zermelo is op meta y end op end bracket ] "'' --- hvor `` " [ bracket op meta x end op end bracket ] "'' st\aa{}r for en un\ae{}r syntaktisk konstruktion som f.eks.\ " [ bracket union var x end union end bracket ] " eller " [ bracket zermelo singleton var x end singleton end bracket ] ".

Tilsvarende kan vi definere et ``bin\ae{}rt lighedslemma'' som et lemma med indholdet: ``Hvis der g\ae{}lder " [ bracket meta x zermelo is meta y end bracket ] " og " [ bracket meta v zermelo is meta w end bracket ] ", s\aa{} g\ae{}lder
" [ bracket op2 meta x comma meta v end op2 zermelo is op2 meta y comma meta w end op2 end bracket ] "'' --- her kan ``" [ bracket op2 var x comma var y end op2 end bracket ] "'' f.eks.\ st\aa{} for " [ bracket zermelo pair var x comma var y end pair end bracket ] " eller " [ bracket intersection var x comma var y end intersection end bracket ] ".

I dette afsnit beviser vi lighedslemmaerne for konstruktionerne
" [ bracket zermelo pair var x comma var y end pair end bracket ] ", " [ bracket zermelo singleton var x end singleton end bracket ] ", " [ bracket union var x end union end bracket ] ", " [ bracket binary-union var x comma var y end union end bracket ] ", " [ bracket the set of ph in var x such that var f end set end bracket ] " og " [ bracket intersection var x comma var y end intersection end bracket ] ". Figur 3 giver et overblik over afsnittets lemmaer. Hele arbejdet i dette afsnit munder ud i \'{e}n eneste anvendelse af det sidste lighedslemma (``" [ math lemma same intersection end math ] "'') i beviset for hovedresultatet (i afsnit \ref{sec:alldisjoint}). Man kan alts\aa{} godt sige, at vi skyder gr\aa{}spurve med kanoner. Lighedslemmaer har dog ogs\aa{} interesse derved, at de kan bruges til at vise, at " [ math system zf end math ] " er en teori med lighed (jvf.\ afsnit 2.8 i \cite{kn:mendel}); men det er alts\aa{} ikke et s\aa{}dant bevis, som er form\aa{}let med dette afsnit.

\clearpage
% figur 3 (30cm)
\begin{figure}
\resizebox{\textwidth}{!}{
\includegraphics[0cm,0cm][20cm,25cm]{/net/urd/home/disk15/eriksen/.logiweb/grafik/same.eps}}
\caption[Bevisstrukturen for lighedslemmaerne]{Bevisstrukturen for lighedslemmaerne. Kun lighedslemmaerne er vist. Figuren skal l\ae{}ses ligesom figur 2.}
\end{figure}
\clearpage


\subsection{Par} \label{sec:parlig}

N\aa{}r vi skal vise et lighedslemma med konklusionen " [ bracket op2 meta x comma meta v end op2 zermelo is op2 meta y comma meta w end op2 end bracket ] ", er det ofte en god ide f\o{}rst at vise et ``delm\ae{}ngdelemma'' --- dvs.\ et lemma, der konkluderer, at " [ math op2 meta x comma meta v end op2 end math ] " er en delm\ae{}ngde af " [ math op2 meta y comma meta w end op2 end math ] ". Vi kan da vise lighedslemmaet ud fra " [ math lemma set equality suff condition end math ] " og to anvendelser af delm\ae{}ngdelemmaet. I dette underafsnit begynder vi med det f\o{}lgende delm\ae{}ngdelemma:

\begin{list}{}{
\setlength{\leftmargin}{0em}
\setlength{\itemindent}{0em}
\setlength{\itemsep}{1ex}}

\item " [ math in theory system zf lemma lemma pair subset says for all terms meta s comma meta x comma meta y comma meta v comma meta w indeed macro newline object s avoid meta x endorse object s avoid meta y endorse object s avoid meta v endorse object s avoid meta w endorse object s avoid meta s endorse macro newline meta x zermelo is meta y imply meta v zermelo is meta w imply meta s zermelo in zermelo pair meta x comma meta v end pair imply meta s zermelo in zermelo pair meta y comma meta w end pair end lemma end math ] "

\item Beviset for " [ math lemma pair subset end math ] " kan gengives som f\o{}lger:
\begin{enumerate}

\item ``Antag " [ bracket meta x zermelo is meta y end bracket ] ", " [ bracket meta v zermelo is meta w end bracket ] " og at " [ math meta s end math ] " tilh\o{}rer " [ math zermelo pair meta x comma meta y end pair end math ] ". Der g\ae{}lder da " [ math meta s zermelo is meta x end math ] " eller " [ math meta s zermelo is meta y end math ] ".''

\item ``" [ math meta s zermelo is meta x end math ] " medf\o{}rer " [ bracket meta s zermelo is meta y or0 meta s zermelo is meta w end bracket ] " (under antagelse af " [ bracket meta x zermelo is meta y end bracket ] ").''

\item ``" [ math meta s zermelo is meta y end math ] " medf\o{}rer ogs\aa{} " [ bracket meta s zermelo is meta y or0 meta s zermelo is meta w end bracket ] ".''

\item ``Derfor m\aa{} " [ bracket meta s zermelo is meta y or0 meta s zermelo is meta w end bracket ] " g\ae{}lde ubetinget. Dette betyder igen, at " [ math meta s end math ] " tilh\o{}rer " [ math zermelo pair meta y comma meta w end pair end math ] ", QED.''

\end{enumerate}

\item Punkt 2 og 3 varetages af de to lemmastumper " [ math lemma pair subset0 end math ] " og \\ \mbox{" [ math lemma pair subset1 end math ] "}. Punkt 1 og 4 vises i selve beviset for " [ math lemma pair subset end math ] ":

\item " [ math in theory system zf lemma lemma pair subset0 says for all terms meta s comma meta x comma meta y comma meta w indeed macro newline object s avoid meta s endorse object s avoid meta x endorse object s avoid meta y endorse object s avoid meta w endorse macro newline meta x zermelo is meta y imply meta s zermelo is meta x imply meta s zermelo is meta y or0 meta s zermelo is meta w end lemma end math ] "

\item " [ math system zf proof of lemma pair subset0 reads block any term macro indent meta s comma meta x comma meta y comma meta w end line line ell big s side condition macro indent object s avoid meta s end line line ell big x side condition macro indent object s avoid meta x end line line ell big y side condition macro indent object s avoid meta y end line line ell big w side condition macro indent object s avoid meta w end line line ell e premise macro indent meta x zermelo is meta y end line line ell f premise macro indent meta s zermelo is meta x end line line ell big a because lemma =transitivity modus probans ell big s modus probans ell big x modus probans ell big y modus ponens ell f modus ponens ell e indeed macro indent meta s zermelo is meta y end line because prop lemma weaken or second modus ponens ell big a indeed macro indent meta s zermelo is meta y or0 meta s zermelo is meta w end line line ell g end block any term meta s comma meta x comma meta y comma meta w end line because 1rule deduction modus ponens ell g indeed object s avoid meta s endorse object s avoid meta x endorse object s avoid meta y endorse object s avoid meta w endorse meta x zermelo is meta y imply meta s zermelo is meta x imply macro newline meta s zermelo is meta y or0 meta s zermelo is meta w qed end math ] "

\item " [ math in theory system zf lemma lemma pair subset1 says for all terms meta s comma meta y comma meta v comma meta w indeed macro newline object s avoid meta s endorse object s avoid meta y endorse object s avoid meta v endorse object s avoid meta w endorse macro newline meta v zermelo is meta w imply meta s zermelo is meta v imply meta s zermelo is meta y or0 meta s zermelo is meta w end lemma end math ] "

\item " [ math system zf proof of lemma pair subset1 reads block any term macro indent meta s comma meta y comma meta v comma meta w end line line ell big s side condition macro indent object s avoid meta s end line line ell big y side condition macro indent object s avoid meta y end line line ell big v side condition macro indent object s avoid meta v end line line ell big w side condition macro indent object s avoid meta w end line line ell e premise macro indent meta v zermelo is meta w end line line ell f premise macro indent meta s zermelo is meta v end line line ell big a because lemma =transitivity modus probans ell big s modus probans ell big v modus probans ell big w modus ponens ell f modus ponens ell e indeed macro indent meta s zermelo is meta w end line because prop lemma weaken or first modus ponens ell big a indeed macro indent meta s zermelo is meta y or0 meta s zermelo is meta w end line line ell g end block any term meta s comma meta y comma meta v comma meta w end line because 1rule deduction modus ponens ell g indeed object s avoid meta s endorse object s avoid meta y endorse object s avoid meta v endorse object s avoid meta w endorse meta v zermelo is meta w imply meta s zermelo is meta v imply macro newline meta s zermelo is meta y or0 meta s zermelo is meta w qed end math ] "

\item " [ math in theory system zf lemma lemma pair subset says for all terms meta s comma meta x comma meta y comma meta v comma meta w indeed macro newline object s avoid meta x endorse object s avoid meta y endorse object s avoid meta v endorse object s avoid meta w endorse object s avoid meta s endorse macro newline meta x zermelo is meta y imply meta v zermelo is meta w imply meta s zermelo in zermelo pair meta x comma meta v end pair imply meta s zermelo in zermelo pair meta y comma meta w end pair end lemma end math ] "

" [ math system zf proof of lemma pair subset reads block any term macro indent meta s comma meta x comma meta y comma meta v comma meta w end line line ell big x side condition macro indent object s avoid meta x end line line ell big y side condition macro indent object s avoid meta y end line line ell big v side condition macro indent object s avoid meta v end line line ell big w side condition macro indent object s avoid meta w end line line ell big s side condition macro indent object s avoid meta s end line line ell a premise macro indent meta x zermelo is meta y end line line ell b premise macro indent meta v zermelo is meta w end line line ell c premise macro indent meta s zermelo in zermelo pair meta x comma meta v end pair end line line ell big t because lemma pair2formula modus ponens ell c indeed macro indent meta s zermelo is meta x or0 meta s zermelo is meta v end line line ell d because lemma pair subset0 modus probans ell big s modus probans ell big x modus probans ell big y modus probans ell big w indeed macro indent meta x zermelo is meta y imply meta s zermelo is meta x imply macro newline meta s zermelo is meta y or0 meta s zermelo is meta w end line line ell i because 1rule mp modus ponens ell d modus ponens ell a indeed macro indent meta s zermelo is meta x imply meta s zermelo is meta y or0 meta s zermelo is meta w end line line ell big b because lemma pair subset1 modus probans ell big s modus probans ell big y modus probans ell big v modus probans ell big w indeed macro indent meta v zermelo is meta w imply meta s zermelo is meta v imply macro newline meta s zermelo is meta y or0 meta s zermelo is meta w end line line ell n because 1rule mp modus ponens ell big b modus ponens ell b indeed macro indent meta s zermelo is meta v imply meta s zermelo is meta y or0 meta s zermelo is meta w end line line ell o because prop lemma from disjuncts modus ponens ell big t modus ponens ell i modus ponens ell n indeed macro indent meta s zermelo is meta y or0 meta s zermelo is meta w end line because lemma formula2pair modus ponens ell o indeed macro indent meta s zermelo in zermelo pair meta y comma meta w end pair end line line ell p end block any term meta s comma meta x comma meta y comma meta v comma meta w end line because 1rule deduction modus ponens ell p indeed object s avoid meta x endorse object s avoid meta y endorse object s avoid meta v endorse object s avoid meta w endorse object s avoid meta s endorse meta x zermelo is meta y imply meta v zermelo is meta w imply macro newline meta s zermelo in zermelo pair meta x comma meta v end pair imply meta s zermelo in zermelo pair meta y comma meta w end pair qed end math ] "

\item Kommet s\aa{} vidt kan vi bevise lighedslemmaet " [ math lemma same pair end math ] ". Vi viser, at " [ math zermelo pair meta x comma meta v end pair end math ] " er en delm\ae{}ngde af " [ math zermelo pair meta y comma meta w end pair end math ] " (linie 8--11), og vice versa (linie 12--14):

\item " [ math in theory system zf lemma lemma same pair says for all terms meta x comma meta y comma meta v comma meta w indeed macro newline object s avoid meta x endorse object s avoid meta y endorse object s avoid meta v endorse object s avoid meta w endorse object t avoid zermelo pair meta x comma meta v end pair endorse object t avoid zermelo pair meta y comma meta w end pair endorse macro newline meta x zermelo is meta y infer meta v zermelo is meta w infer zermelo pair meta x comma meta v end pair zermelo is zermelo pair meta y comma meta w end pair end lemma end math ] "

\item " [ math system zf proof of lemma same pair reads any term meta x comma meta y comma meta v comma meta w end line line ell big x side condition object s avoid meta x end line line ell big y side condition object s avoid meta y end line line ell big v side condition object s avoid meta v end line line ell big w side condition object s avoid meta w end line line ell big t side condition object t avoid zermelo pair meta x comma meta v end pair end line line ell big u side condition object t avoid zermelo pair meta y comma meta w end pair end line line ell a premise meta x zermelo is meta y end line line ell b premise meta v zermelo is meta w end line line ell c because lemma pair subset modus probans ell big x modus probans ell big y modus probans ell big v modus probans ell big w indeed meta x zermelo is meta y imply meta v zermelo is meta w imply macro newline object t zermelo in zermelo pair meta x comma meta v end pair imply object t zermelo in zermelo pair meta y comma meta w end pair end line line ell big b because prop lemma mp2 modus ponens ell c modus ponens ell a modus ponens ell b indeed object t zermelo in zermelo pair meta x comma meta v end pair imply object t zermelo in zermelo pair meta y comma meta w end pair end line line ell d because lemma =symmetry modus probans ell big x modus probans ell big y modus ponens ell a indeed meta y zermelo is meta x end line line ell e because lemma =symmetry modus probans ell big v modus probans ell big w modus ponens ell b indeed meta w zermelo is meta v end line line ell big f because lemma pair subset modus probans ell big y modus probans ell big x modus probans ell big w modus probans ell big v indeed meta y zermelo is meta x imply meta w zermelo is meta v imply macro newline object t zermelo in zermelo pair meta y comma meta w end pair imply object t zermelo in zermelo pair meta x comma meta v end pair end line line ell big g because prop lemma mp2 modus ponens ell big f modus ponens ell d modus ponens ell e indeed object t zermelo in zermelo pair meta y comma meta w end pair imply object t zermelo in zermelo pair meta x comma meta v end pair end line because lemma set equality suff condition(t) modus probans ell big t modus probans ell big u modus ponens ell big b modus ponens ell big g indeed zermelo pair meta x comma meta v end pair zermelo is zermelo pair meta y comma meta w end pair qed end math ] "

\end{list}

\subsection{Singleton-m\ae{}ngde}

Lighedslemmaet for singleton-konstruktionen ser s\aa{}ledes ud:

\begin{list}{}{
\setlength{\leftmargin}{0em}
\setlength{\itemindent}{0em}
\setlength{\itemsep}{1ex}}

\item " [ math in theory system zf lemma lemma same singleton says for all terms meta x comma meta y indeed macro newline object s avoid meta x endorse object s avoid meta y endorse object t avoid zermelo pair meta x comma meta x end pair endorse object t avoid zermelo pair meta y comma meta y end pair endorse meta x zermelo is meta y infer zermelo singleton meta x end singleton zermelo is zermelo singleton meta y end singleton end lemma end math ] "

\item Da " [ bracket zermelo singleton var x end singleton end bracket ] " er makrodefineret som " [ bracket zermelo pair var x comma var x end pair end bracket ] ", kan vi let vise " [ math lemma same singleton end math ] " ud fra " [ math lemma same pair end math ] ":

\item " [ math system zf proof of lemma same singleton reads any term meta x comma meta y end line line ell big a side condition object s avoid meta x end line line ell big b side condition object s avoid meta y end line line ell big c side condition object t avoid zermelo pair meta x comma meta x end pair end line line ell big d side condition object t avoid zermelo pair meta y comma meta y end pair end line line ell a premise meta x zermelo is meta y end line line ell b because lemma same pair modus probans ell big a modus probans ell big b modus probans ell big a modus probans ell big b modus probans ell big c modus probans ell big d modus ponens ell a modus ponens ell a indeed zermelo pair meta x comma meta x end pair zermelo is zermelo pair meta y comma meta y end pair end line because 1rule repetition modus ponens ell b indeed zermelo singleton meta x end singleton zermelo is zermelo singleton meta y end singleton qed end math ] "

\end{list}

\subsection{Foreningsm\ae{}ngde}

Delm\ae{}ngdelemmaet mht.\ " [ bracket union var x end union end bracket ] " ser s\aa{}ledes ud:

\begin{list}{}{
\setlength{\leftmargin}{0em}
\setlength{\itemindent}{0em}
\setlength{\itemsep}{1ex}}

\item " [ math in theory system zf lemma lemma union subset says for all terms meta s comma meta x comma meta y indeed object s avoid meta x endorse object s avoid meta y endorse macro newline meta x zermelo is meta y imply meta s zermelo in union meta x end union imply meta s zermelo in union meta y end union end lemma end math ] "

\item Bevisets kerne (linie 7--11) er en simpel anvendelse af definitionen af " [ bracket union var x end union end bracket ] ":

\item " [ math system zf proof of lemma union subset reads block any term macro indent meta s comma meta x comma meta y end line line ell big a side condition macro indent object s avoid meta x end line line ell big b side condition macro indent object s avoid meta y end line line ell a premise macro indent meta x zermelo is meta y end line line ell b premise macro indent meta s zermelo in union meta x end union end line line ell c because lemma union2formula modus ponens ell b indeed macro indent meta s zermelo in ex10 and0 ex10 zermelo in meta x end line line ell d because prop lemma first conjunct modus ponens ell c indeed macro indent meta s zermelo in ex10 end line line ell e because prop lemma second conjunct modus ponens ell c indeed macro indent ex10 zermelo in meta x end line line ell f because lemma set equality nec condition modus probans ell big a modus probans ell big b modus ponens ell a modus ponens ell e indeed macro indent ex10 zermelo in meta y end line because lemma formula2union modus ponens ell d modus ponens ell f indeed macro indent meta s zermelo in union meta y end union end line line ell g end block any term meta s comma meta x comma meta y end line because 1rule deduction modus ponens ell g indeed object s avoid meta x endorse object s avoid meta y endorse macro newline meta x zermelo is meta y imply meta s zermelo in union meta x end union imply meta s zermelo in union meta y end union qed end math ] "

\item I beviset for lighedslemmaet " [ math lemma same union end math ] " viser vi, at " [ math union meta x end union end math ] " er en delm\ae{}ngde af " [ math union meta y end union end math ] " (linie 4--6), og vice versa (line 7--9):

\item " [ math in theory system zf lemma lemma same union says for all terms meta x comma meta y indeed object s avoid meta x endorse object s avoid meta y endorse meta x zermelo is meta y infer union meta x end union zermelo is union meta y end union end lemma end math ] "

\item " [ math system zf proof of lemma same union reads any term meta x comma meta y end line line ell big a side condition object s avoid meta x end line line ell big b side condition object s avoid meta y end line line ell a premise meta x zermelo is meta y end line line ell b because lemma union subset modus probans ell big a modus probans ell big b indeed meta x zermelo is meta y imply object s zermelo in union meta x end union imply object s zermelo in union meta y end union end line line ell c because 1rule mp modus ponens ell b modus ponens ell a indeed object s zermelo in union meta x end union imply object s zermelo in union meta y end union end line line ell d because lemma =symmetry modus probans ell big a modus probans ell big b modus ponens ell a indeed meta y zermelo is meta x end line line ell e because lemma union subset modus probans ell big b modus probans ell big a indeed meta y zermelo is meta x imply object s zermelo in union meta y end union imply object s zermelo in union meta x end union end line line ell f because 1rule mp modus ponens ell e modus ponens ell d indeed object s zermelo in union meta y end union imply object s zermelo in union meta x end union end line because lemma set equality suff condition modus ponens ell c modus ponens ell f indeed union meta x end union zermelo is union meta y end union qed end math ] "

\end{list}

\subsection{Bin\ae{}r foreningsm\ae{}ngde} \label{sec:binaerforen}

I lighedslemmaet for " [ bracket binary-union var x comma var y end union end bracket ] " bliver problemet med sidebetingelserne meget tydeligt:

\begin{list}{}{
\setlength{\leftmargin}{0em}
\setlength{\itemindent}{0em}
\setlength{\itemsep}{1ex}}

\item" [ math in theory system zf lemma lemma same binary union says for all terms meta x comma meta y comma meta v comma meta w indeed object s avoid meta x endorse object s avoid meta y endorse object t avoid zermelo pair meta x comma meta x end pair endorse object t avoid zermelo pair meta y comma meta y end pair endorse object s avoid meta v endorse object s avoid meta w endorse object t avoid zermelo pair meta v comma meta v end pair endorse object t avoid zermelo pair meta w comma meta w end pair endorse object s avoid zermelo singleton meta x end singleton endorse object s avoid zermelo singleton meta y end singleton endorse object s avoid zermelo singleton meta v end singleton endorse object s avoid zermelo singleton meta w end singleton endorse object s avoid zermelo pair zermelo singleton meta x end singleton comma zermelo singleton meta v end singleton end pair endorse object s avoid zermelo pair zermelo singleton meta y end singleton comma zermelo singleton meta w end singleton end pair endorse object t avoid zermelo pair zermelo singleton meta x end singleton comma zermelo singleton meta v end singleton end pair endorse object t avoid zermelo pair zermelo singleton meta y end singleton comma zermelo singleton meta w end singleton end pair endorse meta x zermelo is meta y infer meta v zermelo is meta w infer binary-union meta x comma meta v end union zermelo is binary-union meta y comma meta w end union end lemma end math ] "

\end{list}

Alt i alt er der 16 sidebetingelser. Et s\aa{}dant lemma er jo ikke til at arbejde med. Derfor vil vi bruge objektvariable i formuleringen af de lemmaer, der afh\ae{}nger af " [ math lemma same binary union end math ] ". P\aa{} d\'{e}n m\aa{}de bliver alle sidebetingelserne automatisk opfyldt, og vi beh\o{}ver ikke at behandle dem eksplicit.

Problemet med " [ math lemma same binary union end math ] " er, at det nedarver sidebetingelser fra tre forskellige lemmaer (jvf.\ figur 3), og at der ikke er noget overlap mellem sidebetingelserne. Mange af sidebetingelserne er ensbetydende; f.eks.\ medf\o{}rer " [ bracket object s avoid meta x end bracket ] " og " [ bracket object s avoid zermelo singleton meta x end singleton end bracket ] " hinanden. Bevischeckeren er imidlertid ikke i stand til at udnytte dette; vi kan ikke g\o{}re andet end at opremse alle sidebetingelserne.

Ironisk nok er selve beviset for " [ math lemma same binary union end math ] " ret enkelt. Vi s\ae{}tter blot lighedslemmaerne " [ math lemma same singleton end math ] ", " [ math lemma same pair end math ] " og " [ math lemma same union end math ] " sammen:

\begin{list}{}{
\setlength{\leftmargin}{0em}
\setlength{\itemindent}{0em}
\setlength{\itemsep}{1ex}}

\item " [ math system zf proof of lemma same binary union reads any term meta x comma meta y comma meta v comma meta w end line line ell big a side condition object s avoid meta x end line line ell big b side condition object s avoid meta y end line line ell big c side condition object t avoid zermelo pair meta x comma meta x end pair end line line ell big d side condition object t avoid zermelo pair meta y comma meta y end pair end line line ell big e side condition object s avoid meta v end line line ell big f side condition object s avoid meta w end line line ell big g side condition object t avoid zermelo pair meta v comma meta v end pair end line line ell big h side condition object t avoid zermelo pair meta w comma meta w end pair end line line ell big i side condition object s avoid zermelo singleton meta x end singleton end line line ell big j side condition object s avoid zermelo singleton meta y end singleton end line line ell big k side condition object s avoid zermelo singleton meta v end singleton end line line ell big l side condition object s avoid zermelo singleton meta w end singleton end line line ell big o side condition object s avoid zermelo pair zermelo singleton meta x end singleton comma zermelo singleton meta v end singleton end pair end line line ell big p side condition object s avoid zermelo pair zermelo singleton meta y end singleton comma zermelo singleton meta w end singleton end pair end line line ell big m side condition object t avoid zermelo pair zermelo singleton meta x end singleton comma zermelo singleton meta v end singleton end pair end line line ell big n side condition object t avoid zermelo pair zermelo singleton meta y end singleton comma zermelo singleton meta w end singleton end pair end line line ell a premise meta x zermelo is meta y end line line ell b premise meta v zermelo is meta w end line line ell c because lemma same singleton modus probans ell big a modus probans ell big b modus probans ell big c modus probans ell big d modus ponens ell a indeed zermelo singleton meta x end singleton zermelo is zermelo singleton meta y end singleton end line line ell d because lemma same singleton modus probans ell big e modus probans ell big f modus probans ell big g modus probans ell big h modus ponens ell b indeed zermelo singleton meta v end singleton zermelo is zermelo singleton meta w end singleton end line line ell e because lemma same pair modus probans ell big i modus probans ell big j modus probans ell big k modus probans ell big l modus probans ell big m modus probans ell big n modus ponens ell c modus ponens ell d indeed zermelo pair zermelo singleton meta x end singleton comma zermelo singleton meta v end singleton end pair zermelo is zermelo pair zermelo singleton meta y end singleton comma zermelo singleton meta w end singleton end pair end line line ell f because lemma same union modus probans ell big o modus probans ell big p modus ponens ell e indeed union zermelo pair zermelo singleton meta x end singleton comma zermelo singleton meta v end singleton end pair end union zermelo is union zermelo pair zermelo singleton meta y end singleton comma zermelo singleton meta w end singleton end pair end union end line because 1rule repetition modus ponens ell f indeed binary-union meta x comma meta v end union zermelo is binary-union meta y comma meta w end union qed end math ] "

\end{list}

\subsection{Separation}

Delm\ae{}ngdelemmaet for konstruktionen " [ bracket the set of ph in meta t such that meta f end set end bracket ] " ser s\aa{}ledes ud:

\begin{list}{}{
\setlength{\leftmargin}{0em}
\setlength{\itemindent}{0em}
\setlength{\itemsep}{1ex}}

\item " [ math in theory system zf lemma lemma separation subset says for all terms meta a comma meta b comma meta s comma meta x comma meta y indeed object s avoid meta x endorse object s avoid meta y endorse macro newline meta x zermelo is meta y imply parenthesis meta a iff meta b end parenthesis imply meta s zermelo in the set of ph in meta x such that meta a end set imply meta s zermelo in the set of ph in meta y such that meta b end set end lemma end math ] "

\item I beviset g\aa{}r vi fra " [ bracket meta s zermelo in meta x end bracket ] " til " [ bracket meta s zermelo in meta y end bracket ] " (linie 9--10), og fra " [ bracket meta a end bracket ] " til " [ bracket meta b end bracket ] " (linie 11--12):

\item " [ math system zf proof of lemma separation subset reads block any term macro indent meta a comma meta b comma meta s comma meta x comma meta y end line line ell big a side condition macro indent object s avoid meta x end line line ell big b side condition macro indent object s avoid meta y end line line ell a premise macro indent meta x zermelo is meta y end line line ell b premise macro indent meta a iff meta b end line line ell c premise macro indent meta s zermelo in the set of ph in meta x such that meta a end set end line line ell d because lemma separation2formula modus ponens ell c indeed macro indent meta s zermelo in meta x and0 meta a end line line ell e because prop lemma first conjunct modus ponens ell d indeed macro indent meta s zermelo in meta x end line line ell f because lemma set equality nec condition modus probans ell big a modus probans ell big b modus ponens ell a modus ponens ell e indeed macro indent meta s zermelo in meta y end line line ell g because prop lemma second conjunct modus ponens ell d indeed macro indent meta a end line line ell h because prop lemma iff second modus ponens ell b modus ponens ell g indeed macro indent meta b end line because lemma formula2separation modus ponens ell f modus ponens ell h indeed macro indent meta s zermelo in the set of ph in meta y such that meta b end set end line line ell j end block any term meta a comma meta b comma meta s comma meta x comma meta y end line because 1rule deduction modus ponens ell j indeed object s avoid meta x endorse object s avoid meta y endorse meta x zermelo is meta y imply macro newline parenthesis meta a iff meta b end parenthesis imply meta s zermelo in the set of ph in meta x such that meta a end set imply meta s zermelo in the set of ph in meta y such that meta b end set qed end math ] "

\item I beviset for lighedslemmaet " [ math lemma same separation end math ] " viser vi, at " [ math the set of ph in meta x such that meta a end set end math ] " er en delm\ae{}ngde af " [ math the set of ph in meta y such that meta b end set end math ] " (linie 4--7), og vice versa (linie 8--11):

\item " [ math in theory system zf lemma lemma same separation says for all terms meta a comma meta b comma meta x comma meta y indeed object s avoid meta x endorse object s avoid meta y endorse macro newline meta x zermelo is meta y infer meta a iff meta b infer the set of ph in meta x such that meta a end set zermelo is the set of ph in meta y such that meta b end set end lemma end math ] "

\item " [ math system zf proof of lemma same separation reads any term meta a comma meta b comma meta x comma meta y end line line ell big a side condition object s avoid meta x end line line ell big b side condition object s avoid meta y end line line ell a premise meta x zermelo is meta y end line line ell b premise meta a iff meta b end line line ell c because lemma separation subset modus probans ell big a modus probans ell big b indeed meta x zermelo is meta y imply parenthesis meta a iff meta b end parenthesis imply macro newline object s zermelo in the set of ph in meta x such that meta a end set imply macro newline object s zermelo in the set of ph in meta y such that meta b end set end line line ell d because prop lemma mp2 modus ponens ell c modus ponens ell a modus ponens ell b indeed object s zermelo in the set of ph in meta x such that meta a end set imply macro newline object s zermelo in the set of ph in meta y such that meta b end set end line line ell e because lemma =symmetry modus probans ell big a modus probans ell big b modus ponens ell a indeed meta y zermelo is meta x end line line ell f because prop lemma iff commutativity modus ponens ell b indeed meta b iff meta a end line line ell g because lemma separation subset modus probans ell big b modus probans ell big a indeed meta y zermelo is meta x imply parenthesis meta b iff meta a end parenthesis imply macro newline object s zermelo in the set of ph in meta y such that meta b end set imply macro newline object s zermelo in the set of ph in meta x such that meta a end set end line line ell h because prop lemma mp2 modus ponens ell g modus ponens ell e modus ponens ell f indeed object s zermelo in the set of ph in meta y such that meta b end set imply macro newline object s zermelo in the set of ph in meta x such that meta a end set end line because lemma set equality suff condition modus ponens ell d modus ponens ell h indeed the set of ph in meta x such that meta a end set zermelo is the set of ph in meta y such that meta b end set qed end math ] "

\end{list}

\subsection{Bin\ae{}r f\ae{}llesm\ae{}ngde} \label{sec:sameinter}

Delm\ae{}ngdelemmaet for konstruktionen " [ bracket intersection var x comma var y end intersection end bracket ] " adskiller sig fra normen ved ikke at n\ae{}vne " [ bracket intersection var x comma var y end intersection end bracket ] " eksplicit:

\begin{list}{}{
\setlength{\leftmargin}{0em}
\setlength{\itemindent}{0em}
\setlength{\itemsep}{1ex}}

\item " [ math in theory system zf lemma lemma intersection subset says for all terms meta s comma meta x comma meta y comma meta v comma meta w indeed macro newline object s avoid meta x endorse object s avoid meta y endorse object s avoid meta v endorse object s avoid meta w endorse macro newline meta x zermelo is meta y imply meta v zermelo is meta w imply meta s zermelo in meta x and0 meta s zermelo in meta v imply meta s zermelo in meta y and0 meta s zermelo in meta w end lemma end math ] "

\item Bevisets kerne best\aa{}r af to anvendelser af " [ math lemma set equality nec condition end math ] " (linie 10--11 og \mbox{12--13}):

\item " [ math system zf proof of lemma intersection subset reads block any term macro indent meta s comma meta x comma meta y comma meta v comma meta w end line line ell big a side condition macro indent object s avoid meta x end line line ell big b side condition macro indent object s avoid meta y end line line ell big c side condition macro indent object s avoid meta v end line line ell big d side condition macro indent object s avoid meta w end line line ell a premise macro indent meta x zermelo is meta y end line line ell b premise macro indent meta v zermelo is meta w end line line ell c premise macro indent meta s zermelo in meta x and0 meta s zermelo in meta v end line line ell d because prop lemma first conjunct modus ponens ell c indeed macro indent meta s zermelo in meta x end line line ell e because lemma set equality nec condition modus probans ell big a modus probans ell big b modus ponens ell a modus ponens ell d indeed macro indent meta s zermelo in meta y end line line ell f because prop lemma second conjunct modus ponens ell c indeed macro indent meta s zermelo in meta v end line line ell g because lemma set equality nec condition modus probans ell big c modus probans ell big d modus ponens ell b modus ponens ell f indeed macro indent meta s zermelo in meta w end line because prop lemma join conjuncts modus ponens ell e modus ponens ell g indeed macro indent meta s zermelo in meta y and0 meta s zermelo in meta w end line line ell h end block any term meta s comma meta x comma meta y comma meta v comma meta w end line because 1rule deduction modus ponens ell h indeed object s avoid meta x endorse object s avoid meta y endorse object s avoid meta v endorse object s avoid meta w endorse meta x zermelo is meta y imply meta v zermelo is meta w imply meta s zermelo in meta x and0 meta s zermelo in meta v imply meta s zermelo in meta y and0 meta s zermelo in meta w qed end math ] "

\end{list}

S\aa{} er vi kommet til lighedslemmaet " [ math lemma same intersection end math ] ". Da dette lemma afh\ae{}nger af " [ math lemma same binary union end math ] ", sl\aa{}r vi her over til objektvariable (jvf.\ afsnit \ref{sec:binaerforen}). Den store ulempe herved er, at objektvariable ikke kan instantieres til andre variable. Derfor vil en formulering som f.eks.
" [ bracket object x zermelo is object y infer object v zermelo is object w infer intersection object x comma object v end intersection zermelo is intersection object y comma object w end intersection end bracket ] "
sandsynligvis ikke kunne anvendes senere hen i rapporten, da vi ikke kan instantiere " [ math object x end math ] ", " [ math object y end math ] ", " [ math object v end math ] " eller " [ math object w end math ] ".

Vi m\aa{} alts\aa{} unders\o{}ge, hvad " [ math lemma same intersection end math ] " egentlig skal bruges til, f\o{}r vi formulerer lemmaet. Det viser sig, at den f\o{}lgende formulering kan bruges:

\begin{list}{}{
\setlength{\leftmargin}{0em}
\setlength{\itemindent}{0em}
\setlength{\itemsep}{1ex}}

\item " [ math in theory system zf lemma lemma same intersection says object x zermelo is equivalence class of ex1 in object big set modulo object r infer object y zermelo is equivalence class of ex2 in object big set modulo object r infer intersection object x comma object y end intersection zermelo is intersection equivalence class of ex1 in object big set modulo object r comma equivalence class of ex2 in object big set modulo object r end intersection end lemma end math ] "

\item Man kan sige, at vi har instantieret objektvariablene ``p\aa{} forh\aa{}nd''.

\item Beviset for " [ math lemma same intersection end math ] " kan beskrives som f\o{}lger:
%
\item
\begin{enumerate}
\item Fra " [ math lemma same binary union end math ] " f\aa{}r vi, at de to bin\ae{}re foreningsm\ae{}ngder er \'{e}ns (linie 3).
\item De to formler " [ bracket placeholder-var3 zermelo in object x and0 placeholder-var3 zermelo in object y end bracket ] " og \\ \mbox{" [ bracket placeholder-var3 zermelo in equivalence class of ex1 in object big set modulo object r and0 placeholder-var3 zermelo in equivalence class of ex2 in object big set modulo object r end bracket ] "} implicerer hinanden (linie 4--5 og 6--9).
\item Fra punkt 1, punkt 2 og " [ math lemma same separation end math ] " f\aa{}r vi da, at de to bin\ae{}re f\ae{}llesm\ae{}ngder er \'{e}ns (linie 10--12).
\end{enumerate}
%
\item Her er beviset:

\item " [ math system zf proof of lemma same intersection reads line ell a premise object x zermelo is equivalence class of ex1 in object big set modulo object r end line line ell b premise object y zermelo is equivalence class of ex2 in object big set modulo object r end line line ell c because lemma same binary union modus ponens ell a modus ponens ell b indeed binary-union object x comma object y end union zermelo is macro newline binary-union equivalence class of ex1 in object big set modulo object r comma equivalence class of ex2 in object big set modulo object r end union end line line ell d because lemma intersection subset indeed object x zermelo is equivalence class of ex1 in object big set modulo object r imply macro newline object y zermelo is equivalence class of ex2 in object big set modulo object r imply macro newline placeholder-var3 zermelo in object x and0 placeholder-var3 zermelo in object y imply macro newline placeholder-var3 zermelo in equivalence class of ex1 in object big set modulo object r and0 macro newline placeholder-var3 zermelo in equivalence class of ex2 in object big set modulo object r end line line ell e because prop lemma mp2 modus ponens ell d modus ponens ell a modus ponens ell b indeed placeholder-var3 zermelo in object x and0 placeholder-var3 zermelo in object y imply macro newline placeholder-var3 zermelo in equivalence class of ex1 in object big set modulo object r and0 macro newline placeholder-var3 zermelo in equivalence class of ex2 in object big set modulo object r end line line ell f because lemma =symmetry modus ponens ell a indeed equivalence class of ex1 in object big set modulo object r zermelo is object x end line line ell g because lemma =symmetry modus ponens ell b indeed equivalence class of ex2 in object big set modulo object r zermelo is object y end line line ell h because lemma intersection subset indeed equivalence class of ex1 in object big set modulo object r zermelo is object x imply macro newline equivalence class of ex2 in object big set modulo object r zermelo is object y imply macro newline placeholder-var3 zermelo in equivalence class of ex1 in object big set modulo object r and0 macro newline placeholder-var3 zermelo in equivalence class of ex2 in object big set modulo object r imply macro newline placeholder-var3 zermelo in object x and0 placeholder-var3 zermelo in object y end line line ell i because prop lemma mp2 modus ponens ell h modus ponens ell f modus ponens ell g indeed placeholder-var3 zermelo in equivalence class of ex1 in object big set modulo object r and0 macro newline placeholder-var3 zermelo in equivalence class of ex2 in object big set modulo object r imply macro newline placeholder-var3 zermelo in object x and0 placeholder-var3 zermelo in object y end line line ell j because prop lemma join conjuncts modus ponens ell e modus ponens ell i indeed placeholder-var3 zermelo in object x and0 placeholder-var3 zermelo in object y iff macro newline placeholder-var3 zermelo in equivalence class of ex1 in object big set modulo object r and0 macro newline placeholder-var3 zermelo in equivalence class of ex2 in object big set modulo object r end line line ell k because lemma same separation modus ponens ell c modus ponens ell j indeed the set of ph in binary-union object x comma object y end union such that placeholder-var3 zermelo in object x and0 placeholder-var3 zermelo in object y end set zermelo is macro newline the set of ph in binary-union equivalence class of ex1 in object big set modulo object r comma equivalence class of ex2 in object big set modulo object r end union such that placeholder-var3 zermelo in equivalence class of ex1 in object big set modulo object r and0 placeholder-var3 zermelo in equivalence class of ex2 in object big set modulo object r end set end line because 1rule repetition modus ponens ell k indeed intersection object x comma object y end intersection zermelo is macro newline intersection equivalence class of ex1 in object big set modulo object r comma equivalence class of ex2 in object big set modulo object r end intersection qed end math ] "

\end{list}

\section{Hovedresultatet} \label{sec:hoved}

Vi kan nu endelig g\aa{} i gang med hovedresultatet, som vi allerede udtrykte formelt i afsnit \ref{sec:partition}:

\begin{list}{}{
\setlength{\leftmargin}{0em}
\setlength{\itemindent}{0em}
\setlength{\itemsep}{1ex}}

\item " [ math in theory system zf lemma theorem eq-system is partition says object r is equivalence relation in object big set infer eq-system of object big set modulo object r is partition of object big set end lemma end math ] "

\end{list}

Vi skal vise tre ting:
\begin{itemize}
\item Ingen \ae{}kvivalensklasser er tomme (underafsnit \ref{sec:nummer1}),
\item Alle \ae{}kvivalensklasser er disjunkte (underafsnit \ref{sec:nummer2}), og
\item F\ae{}llesm\ae{}ngden af alle \ae{}kvivalensklasserne er lig den oprindelige m\ae{}ngde " [ math object big set end math ] " (underafsnit \ref{sec:nummer3}).
\end{itemize}

\noindent Til sidst binder vi alle tr\aa{}dene sammen i underafsnit \ref{sec:sidste}.

\subsection{Ingen \ae{}kvivalensklasser er tomme} \label{sec:nummer1}

Lemmaet " [ math lemma auto member end math ] " udsiger, at \ae{}kvivalensklassen " [ math equivalence class of meta s in meta big set modulo meta r end math ] " indeholder " [ math meta s end math ] " selv som medlem:

\begin{list}{}{
\setlength{\leftmargin}{0em}
\setlength{\itemindent}{0em}
\setlength{\itemsep}{1ex}}

\item " [ math in theory system zf lemma lemma auto member says for all terms meta r comma meta s comma meta big set indeed object s avoid meta r endorse object s avoid meta big set endorse meta r is equivalence relation in meta big set infer macro newline meta s zermelo in meta big set infer meta s zermelo in equivalence class of meta s in meta big set modulo meta r end lemma end math ] "

\item " [ math lemma auto member end math ] " f\o{}lger af, at vi har " [ math meta s is related to meta s under meta r end math ] ", fordi \ae{}kvivalensrelationen " [ math meta r end math ] " er refleksiv:

\item " [ math system zf proof of lemma auto member reads any term meta r comma meta s comma meta big set end line line ell big a side condition object s avoid meta r end line line ell big b side condition object s avoid meta big set end line line ell a premise meta r is equivalence relation in meta big set end line line ell b premise meta s zermelo in meta big set end line line ell c because lemma er is reflexive modus ponens ell a indeed meta r is reflexive relation in meta big set end line line ell d because lemma reflexivity modus probans ell big a modus probans ell big b modus ponens ell c modus ponens ell b indeed meta s is related to meta s under meta r end line because lemma formula2separation modus ponens ell b modus ponens ell d indeed meta s zermelo in the set of ph in meta big set such that placeholder-var1 is related to meta s under meta r end set qed end math ] "

\item Ud fra " [ math lemma auto member end math ] " kan vi nu vise, at ingen medlemmer af et \ae{}kvivalenssystem er tomme:

\item " [ math in theory system zf lemma lemma eq-system not empty says for all terms meta r comma meta s comma meta big set indeed object s avoid meta r endorse object s avoid meta s endorse object s avoid meta big set endorse macro newline object s avoid equivalence class of ex1 in meta big set modulo meta r endorse object t avoid meta r endorse object t avoid meta big set endorse object u avoid meta r endorse object u avoid meta big set endorse meta r is equivalence relation in meta big set infer macro newline meta s zermelo in eq-system of meta big set modulo meta r imply meta s zermelo ~is zermelo empty set end lemma end math ] "

\item Pga.\ sidebetingelserne deler vi beviset op i to, med " [ math lemma eq-system not empty0 end math ] " som lemmastump:

\item " [ math in theory system zf lemma lemma eq-system not empty0 says for all terms meta r comma meta s comma meta big set indeed object s avoid meta r endorse object s avoid meta s endorse object s avoid meta big set endorse macro newline object s avoid equivalence class of ex1 in meta big set modulo meta r endorse object t avoid meta r endorse object t avoid meta big set endorse object u avoid meta r endorse object u avoid meta big set endorse meta r is equivalence relation in meta big set imply macro newline meta s zermelo in eq-system of meta big set modulo meta r imply meta s zermelo ~is zermelo empty set end lemma end math ] "


\item N\ae{}sten hele beviset varetages af " [ math lemma eq-system not empty0 end math ] ". Beviset forl\o{}ber som f\o{}lger: Lad " [ math meta s end math ] " v\ae{}re et medlem af et \ae{}kvivalenssystem (linie 8). Pr. definition er " [ math meta s end math ] " en \ae{}kvivalensklasse (linie 9--12). Da enhver \ae{}kvivalensklasse har et medlem, har " [ math meta s end math ] " et medlem (linie 13--14). Da enhver m\ae{}ngde med et medlem ikke er tom, er " [ math meta s end math ] " ikke tom, QED (linie 15).

\item " [ math system zf proof of lemma eq-system not empty0 reads block any term macro indent meta r comma meta s comma meta big set end line line ell big a side condition macro indent object s avoid meta r end line line ell big c side condition macro indent object s avoid meta s end line line ell big b side condition macro indent object s avoid meta big set end line line ell big d side condition macro indent object s avoid equivalence class of ex1 in meta big set modulo meta r end line line ell a premise macro indent meta r is equivalence relation in meta big set end line line ell b premise macro indent meta s zermelo in eq-system of meta big set modulo meta r end line line ell c because lemma separation2formula modus ponens ell b indeed macro indent meta s zermelo in power meta big set end power and0 parenthesis ex1 zermelo in meta big set and0 equivalence class of ex1 in meta big set modulo meta r zermelo is meta s end parenthesis end line line ell d because prop lemma second conjunct modus ponens ell c indeed macro indent ex1 zermelo in meta big set and0 equivalence class of ex1 in meta big set modulo meta r zermelo is meta s end line line ell e because prop lemma first conjunct modus ponens ell d indeed macro indent ex1 zermelo in meta big set end line line ell f because prop lemma second conjunct modus ponens ell d indeed macro indent equivalence class of ex1 in meta big set modulo meta r zermelo is meta s end line line ell g because lemma auto member modus probans ell big a modus probans ell big b modus ponens ell a modus ponens ell e indeed macro indent ex1 zermelo in equivalence class of ex1 in meta big set modulo meta r end line line ell h because lemma set equality nec condition modus probans ell big d modus probans ell big c modus ponens ell f modus ponens ell g indeed macro indent ex1 zermelo in meta s end line because lemma member not empty modus probans ell big c modus ponens ell h indeed macro indent meta s zermelo ~is zermelo empty set end line line ell i end block any term meta r comma meta s comma meta big set end line because 1rule deduction modus ponens ell i indeed object s avoid meta r endorse object s avoid meta s endorse object s avoid meta big set endorse object s avoid equivalence class of ex1 in meta big set modulo meta r endorse object t avoid meta r endorse object t avoid meta big set endorse object u avoid meta r endorse object u avoid meta big set endorse meta r is equivalence relation in meta big set imply meta s zermelo in eq-system of meta big set modulo meta r imply meta s zermelo ~is zermelo empty set qed end math ] "

\item I hovedlemmaet skifter vi en implikation ud med en inferens:

\item " [ math in theory system zf lemma lemma eq-system not empty says for all terms meta r comma meta s comma meta big set indeed object s avoid meta r endorse object s avoid meta s endorse object s avoid meta big set endorse macro newline object s avoid equivalence class of ex1 in meta big set modulo meta r endorse object t avoid meta r endorse object t avoid meta big set endorse object u avoid meta r endorse object u avoid meta big set endorse meta r is equivalence relation in meta big set infer macro newline meta s zermelo in eq-system of meta big set modulo meta r imply meta s zermelo ~is zermelo empty set end lemma end math ] "

\item " [ math system zf proof of lemma eq-system not empty reads any term meta r comma meta s comma meta big set end line line ell big a side condition object s avoid meta r end line line ell big c side condition object s avoid meta s end line line ell big b side condition object s avoid meta big set end line line ell big d side condition object s avoid equivalence class of ex1 in meta big set modulo meta r end line line ell big e side condition object t avoid meta r end line line ell big f side condition object t avoid meta big set end line line ell big g side condition object u avoid meta r end line line ell big h side condition object u avoid meta big set end line line ell a premise meta r is equivalence relation in meta big set end line line ell b because lemma eq-system not empty0 modus probans ell big a modus probans ell big c modus probans ell big b modus probans ell big d modus probans ell big e modus probans ell big f modus probans ell big g modus probans ell big h indeed meta r is equivalence relation in meta big set imply macro newline meta s zermelo in eq-system of meta big set modulo meta r imply meta s zermelo ~is zermelo empty set end line because 1rule mp modus ponens ell b modus ponens ell a indeed meta s zermelo in eq-system of meta big set modulo meta r imply meta s zermelo ~is zermelo empty set qed end math ] "

\end{list}

\subsection{Alle \ae{}kvivalensklasser er disjunkte} \label{sec:nummer2}

Dette underafsnit indeholder den mest komplicerede del af beviset for hovedresultatet. Som det kan ses af figur 4, har jeg m\aa{}ttet tage et ``snyde-aksiom'' til hj\ae{}lp for at blive f\ae{}rdig.

\clearpage
% figur 4
\begin{figure}
\resizebox{\textwidth}{!}{
\includegraphics[0cm,5cm][20cm,30cm]{/net/urd/home/disk15/eriksen/.logiweb/grafik/nummer2.eps}}
\caption[Bevisstrukturen for underafsnit \ref{sec:nummer2}]{Bevisstrukturen for underafsnit \ref{sec:nummer2}. Kun lemmaerne fra dette afsnit er vist. Figuren skal l\ae{}ses ligesom figur 2. Kassen m\ae{}rket ``" [ math cheating axiom all disjoint end math ] "'' repr\ae{}senterer et ``snyde-aksiom'', s\aa{} der g\aa{}r ingen pile ind i denne kasse.}
\end{figure}
\clearpage

\subsubsection{Lemmaet ``" [ math lemma eq subset end math ] "''}

Indholdet af det f\o{}rste lemma, " [ math lemma eq subset end math ] ", kan udtrykkes som f\o{}lger: ``Lad " [ math meta x end math ] " og " [ math meta y end math ] " v\ae{}re to medlemmer af " [ math meta big set end math ] ". Hvis der g\ae{}lder " [ math meta x is related to meta y under meta r end math ] ", s\aa{} er \ae{}kvivalensklassen " [ math equivalence class of meta x in meta big set modulo meta r end math ] " en delm\ae{}ngde af \ae{}kvivalensklassen " [ math equivalence class of meta y in meta big set modulo meta r end math ] "'':

\begin{list}{}{
\setlength{\leftmargin}{0em}
\setlength{\itemindent}{0em}
\setlength{\itemsep}{1ex}}

\item " [ math in theory system zf lemma lemma eq subset says for all terms meta r comma meta s comma meta x comma meta y comma meta big set indeed macro newline object s avoid meta r endorse object s avoid meta big set endorse object t avoid meta r endorse object t avoid meta big set endorse object u avoid meta r endorse object u avoid meta big set endorse macro newline meta x zermelo in meta big set infer meta y zermelo in meta big set infer meta r is equivalence relation in meta big set infer meta x is related to meta y under meta r infer macro newline meta s zermelo in equivalence class of meta x in meta big set modulo meta r imply meta s zermelo in equivalence class of meta y in meta big set modulo meta r end lemma end math ] "

\item Beviset forl\o{}ber som f\o{}lger:
%
\begin{enumerate}
\item Lad " [ math meta s end math ] " v\ae{}re et vilk\aa{}rligt medlem af " [ math equivalence class of meta x in meta big set modulo meta r end math ] ". Vi har da " [ math meta s is related to meta x under meta r end math ] " \\
\mbox{(linie 13--16)}.
\item Ud fra " [ math meta s is related to meta x under meta r end math ] "
og antagelsen " [ math meta x is related to meta y under meta r end math ] "
f\aa{}r vi " [ math meta s is related to meta y under meta r end math ] ", da " [ math meta r end math ] " er transitiv (linie 17--19).
\item " [ math meta s is related to meta y under meta r end math ] " medf\o{}rer igen " [ math meta s zermelo in equivalence class of meta y in meta big set modulo meta r end math ] ", QED (linie 20).
\end{enumerate}
%

\item Hele dette r\ae{}sonnement gennemf\o{}res i lemmastumpen " [ math lemma eq subset0 end math ] ". Selve beviset for " [ math lemma eq subset end math ] " best\aa{}r af den s\ae{}dvanlige omskrivning fra implikation til inferens. Her er beviserne:

\item " [ math in theory system zf lemma lemma eq subset0 says for all terms meta r comma meta s comma meta x comma meta y comma meta big set indeed macro newline object s avoid meta r endorse object s avoid meta big set endorse object t avoid meta r endorse object t avoid meta big set endorse object u avoid meta r endorse object u avoid meta big set endorse macro newline meta x zermelo in meta big set imply meta y zermelo in meta big set imply meta r is equivalence relation in meta big set imply meta x is related to meta y under meta r imply macro newline meta s zermelo in equivalence class of meta x in meta big set modulo meta r imply meta s zermelo in equivalence class of meta y in meta big set modulo meta r end lemma end math ] "

\item " [ math system zf proof of lemma eq subset0 reads block any term macro indent meta r comma meta s comma meta x comma meta y comma meta big set end line line ell big a side condition macro indent object s avoid meta r end line line ell big e side condition macro indent object s avoid meta big set end line line ell big f side condition macro indent object t avoid meta r end line line ell big j side condition macro indent object t avoid meta big set end line line ell big k side condition macro indent object u avoid meta r end line line ell big o side condition macro indent object u avoid meta big set end line line ell r premise macro indent meta x zermelo in meta big set end line line ell s premise macro indent meta y zermelo in meta big set end line line ell big z premise macro indent meta r is equivalence relation in meta big set end line line ell q premise macro indent meta x is related to meta y under meta r end line line ell b premise macro indent meta s zermelo in equivalence class of meta x in meta big set modulo meta r end line line ell big r because 1rule repetition modus ponens ell b indeed macro indent meta s zermelo in the set of ph in meta big set such that placeholder-var1 is related to meta x under meta r end set end line line ell c because lemma separation2formula modus ponens ell big r indeed macro indent meta s zermelo in meta big set and0 meta s is related to meta x under meta r end line line ell e because prop lemma second conjunct modus ponens ell c indeed macro indent meta s is related to meta x under meta r end line line ell t because lemma er is transitive modus ponens ell big z indeed macro indent meta r is transitive relation in meta big set end line line ell d because prop lemma first conjunct modus ponens ell c indeed macro indent meta s zermelo in meta big set end line line ell g because lemma transitivity modus probans ell big a modus probans ell big e modus probans ell big f modus probans ell big j modus probans ell big k modus probans ell big o modus ponens ell t modus ponens ell d modus ponens ell r modus ponens ell s modus ponens ell e modus ponens ell q indeed macro indent meta s is related to meta y under meta r end line because lemma formula2separation modus ponens ell d modus ponens ell g indeed macro indent meta s zermelo in equivalence class of meta y in meta big set modulo meta r end line line ell i end block any term meta r comma meta s comma meta x comma meta y comma meta big set end line because 1rule deduction modus ponens ell i indeed object s avoid meta r endorse object s avoid meta big set endorse object t avoid meta r endorse object t avoid meta big set endorse object u avoid meta r endorse object u avoid meta big set endorse meta x zermelo in meta big set imply meta y zermelo in meta big set imply meta r is equivalence relation in meta big set imply meta x is related to meta y under meta r imply meta s zermelo in equivalence class of meta x in meta big set modulo meta r imply macro newline meta s zermelo in equivalence class of meta y in meta big set modulo meta r qed end math ] "

\item " [ math in theory system zf lemma lemma eq subset says for all terms meta r comma meta s comma meta x comma meta y comma meta big set indeed macro newline object s avoid meta r endorse object s avoid meta big set endorse object t avoid meta r endorse object t avoid meta big set endorse object u avoid meta r endorse object u avoid meta big set endorse macro newline meta x zermelo in meta big set infer meta y zermelo in meta big set infer meta r is equivalence relation in meta big set infer meta x is related to meta y under meta r infer macro newline meta s zermelo in equivalence class of meta x in meta big set modulo meta r imply meta s zermelo in equivalence class of meta y in meta big set modulo meta r end lemma end math ] "

\item " [ math system zf proof of lemma eq subset reads any term meta r comma meta s comma meta x comma meta y comma meta big set end line line ell big a side condition object s avoid meta r end line line ell big e side condition object s avoid meta big set end line line ell big f side condition object t avoid meta r end line line ell big j side condition object t avoid meta big set end line line ell big k side condition object u avoid meta r end line line ell big o side condition object u avoid meta big set end line line ell a premise meta x zermelo in meta big set end line line ell b premise meta y zermelo in meta big set end line line ell c premise meta r is equivalence relation in meta big set end line line ell d premise meta x is related to meta y under meta r end line line ell e because lemma eq subset0 modus probans ell big a modus probans ell big e modus probans ell big f modus probans ell big j modus probans ell big k modus probans ell big o indeed meta x zermelo in meta big set imply meta y zermelo in meta big set imply meta r is equivalence relation in meta big set imply meta x is related to meta y under meta r imply meta s zermelo in equivalence class of meta x in meta big set modulo meta r imply macro newline meta s zermelo in equivalence class of meta y in meta big set modulo meta r end line because prop lemma mp4 modus ponens ell e modus ponens ell a modus ponens ell b modus ponens ell c modus ponens ell d indeed meta s zermelo in equivalence class of meta x in meta big set modulo meta r imply macro newline meta s zermelo in equivalence class of meta y in meta big set modulo meta r qed end math ] "

\end{list}

\subsubsection{Lemmaet ``" [ math lemma equivalence nec condition end math ] "''}

Det er nu en let sag at vise den st\ae{}rkere p\aa{}stand, at " [ math equivalence class of meta x in meta big set modulo meta r end math ] " rent faktisk er lig med " [ math equivalence class of meta y in meta big set modulo meta r end math ] "\footnote{Dette er lemma 4.4.a.1 i \cite{kn:hrba}.}. Som s\aa{} ofte f\o{}r ligger den interessante del af beviset i en lemmastump, der her hedder ``" [ math lemma equivalence nec condition0 end math ] "'':

\begin{list}{}{
\setlength{\leftmargin}{0em}
\setlength{\itemindent}{0em}
\setlength{\itemsep}{1ex}}

\item " [ math in theory system zf lemma lemma equivalence nec condition0 says for all terms meta r comma meta x comma meta y comma meta big set indeed macro newline object s avoid meta r endorse object s avoid meta big set endorse object t avoid meta r endorse object t avoid meta big set endorse object u avoid meta r endorse object u avoid meta big set endorse macro newline meta x zermelo in meta big set imply meta y zermelo in meta big set imply meta r is equivalence relation in meta big set imply meta x is related to meta y under meta r imply equivalence class of meta x in meta big set modulo meta r zermelo is equivalence class of meta y in meta big set modulo meta r end lemma end math ] "

\item Beviset kan beskrives som f\o{}lger:
\begin{enumerate}
\item Fra " [ math lemma eq subset end math ] " ved vi, at antagelsen " [ math meta x is related to meta y under meta r end math ] " medf\o{}rer, at " [ math equivalence class of meta x in meta big set modulo meta r end math ] " er en delm\ae{}ngde af " [ math equivalence class of meta x in meta big set modulo meta r end math ] ". (Linie 13).
\item Da " [ math meta r end math ] " er symmetrisk, g\ae{}lder der ogs\aa{} " [ math meta y is related to meta x under meta r end math ] ". (Linie 14--15).
\item Vi kan derfor bruge " [ math lemma eq subset end math ] " \'{e}n gang til --- vi f\aa{}r, at " [ math equivalence class of meta y in meta big set modulo meta r end math ] " er en delm\ae{}ngde af " [ math equivalence class of meta x in meta big set modulo meta r end math ] ". (Linie 16).
\item Ud fra punkt 1 og 3 f\o{}lger " [ bracket equivalence class of meta x in meta big set modulo meta r zermelo is equivalence class of meta y in meta big set modulo meta r end bracket ] ", QED. (Linie 17).
\end{enumerate}

\item Her er selve beviset:

\item " [ math system zf proof of lemma equivalence nec condition0 reads block any term macro indent meta r comma meta x comma meta y comma meta big set end line line ell big a side condition macro indent object s avoid meta r end line line ell big b side condition macro indent object s avoid meta big set end line line ell big c side condition macro indent object t avoid meta r end line line ell big d side condition macro indent object t avoid meta big set end line line ell big e side condition macro indent object u avoid meta r end line line ell big f side condition macro indent object u avoid meta big set end line line ell a premise macro indent meta x zermelo in meta big set end line line ell b premise macro indent meta y zermelo in meta big set end line line ell c premise macro indent meta r is equivalence relation in meta big set end line line ell d premise macro indent meta x is related to meta y under meta r end line line ell f because lemma eq subset modus probans ell big a modus probans ell big b modus probans ell big c modus probans ell big d modus probans ell big e modus probans ell big f modus ponens ell a modus ponens ell b modus ponens ell c modus ponens ell d indeed macro indent object s zermelo in equivalence class of meta x in meta big set modulo meta r imply macro newline object s zermelo in equivalence class of meta y in meta big set modulo meta r end line line ell g because lemma er is symmetric modus ponens ell c indeed macro indent meta r is symmetric relation in meta big set end line line ell h because lemma symmetry modus probans ell big a modus probans ell big b modus probans ell big c modus probans ell big d modus ponens ell g modus ponens ell a modus ponens ell b modus ponens ell d indeed macro indent meta y is related to meta x under meta r end line line ell i because lemma eq subset modus probans ell big a modus probans ell big b modus probans ell big c modus probans ell big d modus probans ell big e modus probans ell big f modus ponens ell b modus ponens ell a modus ponens ell c modus ponens ell h indeed macro indent object s zermelo in equivalence class of meta y in meta big set modulo meta r imply macro newline object s zermelo in equivalence class of meta x in meta big set modulo meta r end line because lemma set equality suff condition modus ponens ell f modus ponens ell i indeed macro indent equivalence class of meta x in meta big set modulo meta r zermelo is equivalence class of meta y in meta big set modulo meta r end line line ell j end block any term meta r comma meta x comma meta y comma meta big set end line because 1rule deduction modus ponens ell j indeed object s avoid meta r endorse object s avoid meta big set endorse object t avoid meta r endorse object t avoid meta big set endorse object u avoid meta r endorse object u avoid meta big set endorse meta x zermelo in meta big set imply meta y zermelo in meta big set imply meta r is equivalence relation in meta big set imply meta x is related to meta y under meta r imply equivalence class of meta x in meta big set modulo meta r zermelo is equivalence class of meta y in meta big set modulo meta r qed end math ] "

\item Vi mangler nu blot at skifte fra implikationer til inferenser:

\item " [ math in theory system zf lemma lemma equivalence nec condition says for all terms meta r comma meta x comma meta y comma meta big set indeed macro newline object s avoid meta r endorse object s avoid meta big set endorse object t avoid meta r endorse object t avoid meta big set endorse object u avoid meta r endorse object u avoid meta big set endorse macro newline meta x zermelo in meta big set infer meta y zermelo in meta big set infer meta r is equivalence relation in meta big set infer meta x is related to meta y under meta r imply equivalence class of meta x in meta big set modulo meta r zermelo is equivalence class of meta y in meta big set modulo meta r end lemma end math ] "

\item " [ math system zf proof of lemma equivalence nec condition reads any term meta r comma meta x comma meta y comma meta big set end line line ell big a side condition object s avoid meta r end line line ell big b side condition object s avoid meta big set end line line ell big c side condition object t avoid meta r end line line ell big d side condition object t avoid meta big set end line line ell big e side condition object u avoid meta r end line line ell big f side condition object u avoid meta big set end line line ell a premise meta x zermelo in meta big set end line line ell b premise meta y zermelo in meta big set end line line ell c premise meta r is equivalence relation in meta big set end line line ell d because lemma equivalence nec condition0 modus probans ell big a modus probans ell big b modus probans ell big c modus probans ell big d modus probans ell big e modus probans ell big f indeed meta x zermelo in meta big set imply meta y zermelo in meta big set imply meta r is equivalence relation in meta big set imply meta x is related to meta y under meta r imply equivalence class of meta x in meta big set modulo meta r zermelo is equivalence class of meta y in meta big set modulo meta r end line because prop lemma mp3 modus ponens ell d modus ponens ell a modus ponens ell b modus ponens ell c indeed meta x is related to meta y under meta r imply macro newline equivalence class of meta x in meta big set modulo meta r zermelo is equivalence class of meta y in meta big set modulo meta r qed end math ] "

\end{list}

\subsubsection{Lemmaet ``" [ math lemma none-equivalence nec condition end math ] "''}

Resultatet fra dette under-underafsnit kan formuleres som f\o{}lger: ``Lad " [ math meta x end math ] " og " [ math meta y end math ] " v\ae{}re to medlemmer af
" [ math meta big set end math ] ", som ikke opfylder " [ math meta x is related to meta y under meta r end math ] ". Da er de to \ae{}kvivalensklasser " [ math equivalence class of meta x in meta big set modulo meta r end math ] " og " [ math equivalence class of meta y in meta big set modulo meta r end math ] " indbyrdes disjunkte.''\footnote{Dette er lemma 4.4.b.1 i \cite{kn:hrba}.}

Vi viser dette ved at vise den kontrapositive p\aa{}stand: Hvis \ae{}kvivalensklasserne har et medlem tilf\ae{}lles, s\aa{} g\ae{}lder " [ math meta x is related to meta y under meta r end math ] ". Dette varetages af lemmaet " [ math lemma none-equivalence nec condition0 end math ] ":

\begin{list}{}{
\setlength{\leftmargin}{0em}
\setlength{\itemindent}{0em}
\setlength{\itemsep}{1ex}}


\item " [ math in theory system zf lemma lemma none-equivalence nec condition0 says for all terms meta r comma meta s comma meta x comma meta y comma meta big set indeed macro newline object s avoid meta r endorse object s avoid meta big set endorse object t avoid meta r endorse object t avoid meta big set endorse object u avoid meta r endorse object u avoid meta big set endorse macro newline meta x zermelo in meta big set imply meta y zermelo in meta big set imply meta r is equivalence relation in meta big set imply macro newline meta s zermelo in intersection equivalence class of meta x in meta big set modulo meta r comma equivalence class of meta y in meta big set modulo meta r end intersection imply meta x is related to meta y under meta r end lemma end math ] "

\item Beviset for " [ math lemma equivalence nec condition0 end math ] " kan beskrives som f\o{}lger:
%
\begin{enumerate}
\item Antag at " [ math meta s end math ] " tilh\o{}rer b\aa{}de " [ math equivalence class of meta x in meta big set modulo meta r end math ] " og " [ math equivalence class of meta y in meta big set modulo meta r end math ] ". Da g\ae{}lder " [ math meta s is related to meta x under meta r end math ] " (linie 17--19) og " [ math meta s is related to meta y under meta r end math ] " (linie 20--22).
\item Da " [ math meta r end math ] " er symmetrisk, f\o{}lger " [ math meta x is related to meta s under meta r end math ] " af " [ math meta s is related to meta x under meta r end math ] ". (Linie 24).
\item Da " [ math meta r end math ] " ogs\aa{} er transitiv, medf\o{}rer " [ math meta x is related to meta s under meta r end math ] " og " [ math meta s is related to meta y under meta r end math ] " tilsammen " [ math meta x is related to meta y under meta r end math ] ", QED. (Linie 25).
\end{enumerate}
%
Her er selve beviset:

\item " [ math system zf proof of lemma none-equivalence nec condition0 reads block any term meta r comma meta s comma meta x comma meta y comma meta big set end line line ell big e side condition object s avoid meta r end line line ell big f side condition object s avoid meta big set end line line ell big g side condition object t avoid meta r end line line ell big h side condition object t avoid meta big set end line line ell big i side condition object u avoid meta r end line line ell big j side condition object u avoid meta big set end line line ell big x premise meta x zermelo in meta big set end line line ell big y premise meta y zermelo in meta big set end line line ell big a premise meta r is equivalence relation in meta big set end line line ell a premise meta s zermelo in intersection equivalence class of meta x in meta big set modulo meta r comma equivalence class of meta y in meta big set modulo meta r end intersection end line line ell big b because lemma er is symmetric modus ponens ell big a indeed meta r is symmetric relation in meta big set end line line ell big c because lemma er is transitive modus ponens ell big a indeed meta r is transitive relation in meta big set end line line ell b because lemma separation2formula modus ponens ell a indeed meta s zermelo in binary-union equivalence class of meta x in meta big set modulo meta r comma equivalence class of meta y in meta big set modulo meta r end union and0 parenthesis meta s zermelo in equivalence class of meta x in meta big set modulo meta r and0 macro newline meta s zermelo in equivalence class of meta y in meta big set modulo meta r end parenthesis end line line ell c because prop lemma second conjunct modus ponens ell b indeed meta s zermelo in equivalence class of meta x in meta big set modulo meta r and0 macro newline meta s zermelo in equivalence class of meta y in meta big set modulo meta r end line line ell d because prop lemma first conjunct modus ponens ell c indeed meta s zermelo in equivalence class of meta x in meta big set modulo meta r end line line ell e because lemma separation2formula modus ponens ell d indeed meta s zermelo in meta big set and0 meta s is related to meta x under meta r end line line ell f because prop lemma second conjunct modus ponens ell e indeed meta s is related to meta x under meta r end line line ell g because prop lemma second conjunct modus ponens ell c indeed meta s zermelo in equivalence class of meta y in meta big set modulo meta r end line line ell h because lemma separation2formula modus ponens ell g indeed meta s zermelo in meta big set and0 meta s is related to meta y under meta r end line line ell i because prop lemma second conjunct modus ponens ell h indeed meta s is related to meta y under meta r end line line ell big s because prop lemma first conjunct modus ponens ell e indeed meta s zermelo in meta big set end line line ell j because lemma symmetry modus probans ell big e modus probans ell big f modus probans ell big g modus probans ell big h modus ponens ell big b modus ponens ell big s modus ponens ell big x modus ponens ell f indeed meta x is related to meta s under meta r end line because lemma transitivity modus probans ell big e modus probans ell big f modus probans ell big g modus probans ell big h modus probans ell big i modus probans ell big j modus ponens ell big c modus ponens ell big x modus ponens ell big s modus ponens ell big y modus ponens ell j modus ponens ell i indeed meta x is related to meta y under meta r end line line ell k end block any term meta r comma meta s comma meta x comma meta y comma meta big set end line because 1rule deduction modus ponens ell k indeed object s avoid meta r endorse object s avoid meta big set endorse object t avoid meta r endorse object t avoid meta big set endorse object u avoid meta r endorse object u avoid meta big set endorse meta x zermelo in meta big set imply meta y zermelo in meta big set imply meta r is equivalence relation in meta big set imply macro newline meta s zermelo in intersection equivalence class of meta x in meta big set modulo meta r comma equivalence class of meta y in meta big set modulo meta r end intersection imply meta x is related to meta y under meta r qed end math ] "

\item Vi bruger nu modus tollens til at vise en kontrapositiv version af
\\ \mbox{" [ math lemma none-equivalence nec condition0 end math ] "}. Dette sker i beviset for en lemmastump ved navn " [ math lemma none-equivalence nec condition1 end math ] ":

\item " [ math in theory system zf lemma lemma none-equivalence nec condition1 says for all terms meta r comma meta x comma meta y comma meta big set indeed macro newline object s avoid meta r endorse object s avoid meta big set endorse object t avoid meta r endorse object t avoid meta big set endorse object u avoid meta r endorse object u avoid meta big set endorse macro newline meta x zermelo in meta big set imply meta y zermelo in meta big set imply meta r is equivalence relation in meta big set imply macro newline not0 meta x is related to meta y under meta r imply intersection equivalence class of meta x in meta big set modulo meta r comma equivalence class of meta y in meta big set modulo meta r end intersection zermelo is zermelo empty set end lemma end math ] "

\item " [ math system zf proof of lemma none-equivalence nec condition1 reads block any term macro indent meta r comma meta x comma meta y comma meta big set end line line ell big e side condition macro indent object s avoid meta r end line line ell big f side condition macro indent object s avoid meta big set end line line ell big g side condition macro indent object t avoid meta r end line line ell big h side condition macro indent object t avoid meta big set end line line ell big i side condition macro indent object u avoid meta r end line line ell big j side condition macro indent object u avoid meta big set end line line ell big x premise macro indent meta x zermelo in meta big set end line line ell big y premise macro indent meta y zermelo in meta big set end line line ell big a premise macro indent meta r is equivalence relation in meta big set end line line ell a premise macro indent not0 meta x is related to meta y under meta r end line line ell b because lemma none-equivalence nec condition0 modus probans ell big e modus probans ell big f modus probans ell big g modus probans ell big h modus probans ell big i modus probans ell big j indeed macro indent meta x zermelo in meta big set imply meta y zermelo in meta big set imply meta r is equivalence relation in meta big set imply macro newline object s zermelo in intersection equivalence class of meta x in meta big set modulo meta r comma equivalence class of meta y in meta big set modulo meta r end intersection imply meta x is related to meta y under meta r end line line ell c because prop lemma mp3 modus ponens ell b modus ponens ell big x modus ponens ell big y modus ponens ell big a indeed macro indent object s zermelo in intersection equivalence class of meta x in meta big set modulo meta r comma equivalence class of meta y in meta big set modulo meta r end intersection imply meta x is related to meta y under meta r end line line ell d because prop lemma mt modus ponens ell c modus ponens ell a indeed macro indent object s zermelo ~in intersection equivalence class of meta x in meta big set modulo meta r comma equivalence class of meta y in meta big set modulo meta r end intersection end line because lemma unique empty set modus ponens ell d indeed macro indent intersection equivalence class of meta x in meta big set modulo meta r comma equivalence class of meta y in meta big set modulo meta r end intersection zermelo is zermelo empty set end line line ell e end block any term meta r comma meta x comma meta y comma meta big set end line because 1rule deduction modus ponens ell e indeed object s avoid meta r endorse object s avoid meta big set endorse object t avoid meta r endorse object t avoid meta big set endorse object u avoid meta r endorse object u avoid meta big set endorse macro newline meta x zermelo in meta big set imply meta y zermelo in meta big set imply meta r is equivalence relation in meta big set imply macro newline not0 meta x is related to meta y under meta r imply macro newline intersection equivalence class of meta x in meta big set modulo meta r comma equivalence class of meta y in meta big set modulo meta r end intersection zermelo is zermelo empty set qed end math ] "

\item I beviset for hovedlemmaet " [ math lemma none-equivalence nec condition end math ] " foretager vi den s\ae{}dvanlige konvertering fra " [ bracket var x imply var y end bracket ] " til " [ bracket var x infer var y end bracket ] ":

\item " [ math in theory system zf lemma lemma none-equivalence nec condition says for all terms meta r comma meta x comma meta y comma meta big set indeed macro newline object s avoid meta r endorse object s avoid meta big set endorse object t avoid meta r endorse object t avoid meta big set endorse object u avoid meta r endorse object u avoid meta big set endorse macro newline meta x zermelo in meta big set infer meta y zermelo in meta big set infer meta r is equivalence relation in meta big set infer macro newline not0 meta x is related to meta y under meta r imply intersection equivalence class of meta x in meta big set modulo meta r comma equivalence class of meta y in meta big set modulo meta r end intersection zermelo is zermelo empty set end lemma end math ] "

\item " [ math system zf proof of lemma none-equivalence nec condition reads any term meta r comma meta x comma meta y comma meta big set end line line ell big e side condition object s avoid meta r end line line ell big f side condition object s avoid meta big set end line line ell big g side condition object t avoid meta r end line line ell big h side condition object t avoid meta big set end line line ell big i side condition object u avoid meta r end line line ell big j side condition object u avoid meta big set end line line ell big x premise meta x zermelo in meta big set end line line ell big y premise meta y zermelo in meta big set end line line ell big r premise meta r is equivalence relation in meta big set end line line ell b because lemma none-equivalence nec condition1 modus probans ell big e modus probans ell big f modus probans ell big g modus probans ell big h modus probans ell big i modus probans ell big j indeed meta x zermelo in meta big set imply meta y zermelo in meta big set imply meta r is equivalence relation in meta big set imply not0 meta x is related to meta y under meta r imply macro newline intersection equivalence class of meta x in meta big set modulo meta r comma equivalence class of meta y in meta big set modulo meta r end intersection zermelo is zermelo empty set end line because prop lemma mp3 modus ponens ell b modus ponens ell big x modus ponens ell big y modus ponens ell big r indeed not0 meta x is related to meta y under meta r imply macro newline intersection equivalence class of meta x in meta big set modulo meta r comma equivalence class of meta y in meta big set modulo meta r end intersection zermelo is zermelo empty set qed end math ] "

\end{list}

\subsubsection{To \ae{}kvivalensklasser er disjunkte}

Vi kan nu bevise, at to forskellige \ae{}kvivalensklasser er disjunkte:

\begin{list}{}{
\setlength{\leftmargin}{0em}
\setlength{\itemindent}{0em}
\setlength{\itemsep}{1ex}}

\item " [ math in theory system zf lemma lemma equivalence classes are disjoint says for all terms meta r comma meta x comma meta y comma meta big set indeed macro newline object s avoid meta r endorse object s avoid meta big set endorse object t avoid meta r endorse object t avoid meta big set endorse object u avoid meta r endorse object u avoid meta big set endorse macro newline meta x zermelo in meta big set infer meta y zermelo in meta big set infer meta r is equivalence relation in meta big set infer macro newline equivalence class of meta x in meta big set modulo meta r zermelo ~is equivalence class of meta y in meta big set modulo meta r infer intersection equivalence class of meta x in meta big set modulo meta r comma equivalence class of meta y in meta big set modulo meta r end intersection zermelo is zermelo empty set end lemma end math ] "

\item Beviset for " [ math lemma equivalence classes are disjoint end math ] " forl\o{}ber som f\o{}lger:
%
\begin{enumerate}
\item Vi antager, at " [ math equivalence class of meta x in meta big set modulo meta r end math ] " og " [ math equivalence class of meta y in meta big set modulo meta r end math ] " ikke er lig med hinanden. Fra " [ math lemma equivalence nec condition end math ] " ved vi, at hvis der gjaldt " [ math meta x is related to meta y under meta r end math ] ", s\aa{} ville " [ math equivalence class of meta x in meta big set modulo meta r end math ] " og " [ math equivalence class of meta y in meta big set modulo meta r end math ] " v\ae{}re lig med hinanden. Derfor m\aa{} der g\ae{}lde " [ math not0 meta x is related to meta y under meta r end math ] ". \mbox{(Linie 12--13)}.
\item Fra " [ math lemma none-equivalence nec condition end math ] " ved vi, at " [ math not0 meta x is related to meta y under meta r end math ] " medf\o{}rer, at de to \ae{}kvivalensklasser er disjunkte; QED. (Linie 14--15).
\end{enumerate}
%
Her er beviset:

\item " [ math system zf proof of lemma equivalence classes are disjoint reads any term meta r comma meta x comma meta y comma meta big set end line line ell big a side condition object s avoid meta r end line line ell big b side condition object s avoid meta big set end line line ell big c side condition object t avoid meta r end line line ell big d side condition object t avoid meta big set end line line ell big e side condition object u avoid meta r end line line ell big f side condition object u avoid meta big set end line line ell a premise meta x zermelo in meta big set end line line ell b premise meta y zermelo in meta big set end line line ell c premise meta r is equivalence relation in meta big set end line line ell d premise equivalence class of meta x in meta big set modulo meta r zermelo ~is equivalence class of meta y in meta big set modulo meta r end line line ell e because lemma equivalence nec condition modus probans ell big a modus probans ell big b modus probans ell big c modus probans ell big d modus probans ell big e modus probans ell big f modus ponens ell a modus ponens ell b modus ponens ell c indeed meta x is related to meta y under meta r imply macro newline equivalence class of meta x in meta big set modulo meta r zermelo is equivalence class of meta y in meta big set modulo meta r end line line ell f because prop lemma mt modus ponens ell e modus ponens ell d indeed not0 meta x is related to meta y under meta r end line line ell g because lemma none-equivalence nec condition modus probans ell big a modus probans ell big b modus probans ell big c modus probans ell big d modus probans ell big e modus probans ell big f modus ponens ell a modus ponens ell b modus ponens ell c indeed not0 meta x is related to meta y under meta r imply macro newline intersection equivalence class of meta x in meta big set modulo meta r comma equivalence class of meta y in meta big set modulo meta r end intersection zermelo is zermelo empty set end line because 1rule mp modus ponens ell g modus ponens ell f indeed intersection equivalence class of meta x in meta big set modulo meta r comma equivalence class of meta y in meta big set modulo meta r end intersection zermelo is zermelo empty set qed end math ] "

\end{list}

\subsubsection{Alle \ae{}kvivalensklasser er disjunkte}
\label{sec:alldisjoint}

Ud fra " [ math lemma equivalence classes are disjoint end math ] " kan vi nu vise, at alle medlemmer af et \ae{}kvivalenssystem er parvis disjunkte. Da beviset afh\ae{}nger af " [ math lemma same intersection end math ] ", som igen afh\ae{}nger af " [ math lemma same binary union end math ] ", bruger vi objektvariable (jvf.\ afsnit \ref{sec:binaerforen}):

\begin{list}{}{
\setlength{\leftmargin}{0em}
\setlength{\itemindent}{0em}
\setlength{\itemsep}{1ex}}

\item " [ math in theory system zf lemma lemma all disjoint says object r is equivalence relation in object big set infer macro newline object x zermelo in eq-system of object big set modulo object r infer object y zermelo in eq-system of object big set modulo object r infer object x zermelo ~is object y infer intersection object x comma object y end intersection zermelo is zermelo empty set end lemma end math ] "

\item Beviset forl\o{}ber som f\o{}lger:
%
\begin{enumerate}
\item Lad " [ math object x end math ] " og " [ math object y end math ] " v\ae{}re to forskellige medlemmer af et \ae{}kvivalenssystem " [ math eq-system of object big set modulo object r end math ] " (linie 2--4).
\item M\ae{}ngden " [ math object x end math ] " m\aa{} v\ae{}re en \ae{}kvivalensklasse; vi kan alts\aa{} skrive \\
" [ math object x zermelo is equivalence class of ex1 in object big set modulo object r end math ] " for et " [ math ex1 end math ] ", som tilh\o{}rer " [ math object big set end math ] ". (Linie 5--9).
\item Det samme g\ae{}lder for " [ math object y end math ] "; her skriver vi
" [ math object y zermelo is equivalence class of ex2 in object big set modulo object r end math ] ". (Linie 10--14).
\item Da " [ math object x end math ] " og " [ math object y end math ] " er forskellige, m\aa{} " [ math equivalence class of ex1 in object big set modulo object r end math ] " og " [ math equivalence class of ex2 in object big set modulo object r end math ] " ogs\aa{} v\ae{}re forskellige. (Linie 15).
\item Heraf f\o{}lger, at f\ae{}llesm\ae{}ngden mellem " [ math equivalence class of ex1 in object big set modulo object r end math ] " og " [ math equivalence class of ex2 in object big set modulo object r end math ] " er tom. (Linie 16).
\item Af lighedslemmaet " [ math lemma same intersection end math ] " f\aa{}r vi \\ \mbox{" [ math intersection object x comma object y end intersection zermelo is intersection equivalence class of ex1 in object big set modulo object r comma equivalence class of ex1 in object big set modulo object r end intersection end math ] "}. (Linie 17).
\item Da " [ math intersection equivalence class of ex1 in object big set modulo object r comma equivalence class of ex1 in object big set modulo object r end intersection end math ] " er tom (punkt 5), m\aa{} " [ math intersection object x comma object y end intersection end math ] " derfor ogs\aa{} v\ae{}re tom, QED. (Linie 18).
\end{enumerate}
%
Her er beviset:

\item " [ math system zf proof of lemma all disjoint reads line ell a premise object r is equivalence relation in object big set end line line ell b premise object x zermelo in eq-system of object big set modulo object r end line line ell c premise object y zermelo in eq-system of object big set modulo object r end line line ell d premise object x zermelo ~is object y end line line ell e because lemma separation2formula modus ponens ell b indeed object x zermelo in power object big set end power and0 parenthesis ex1 zermelo in object big set and0 equivalence class of ex1 in object big set modulo object r zermelo is object x end parenthesis end line line ell f because prop lemma second conjunct modus ponens ell e indeed ex1 zermelo in object big set and0 equivalence class of ex1 in object big set modulo object r zermelo is object x end line line ell big s because prop lemma first conjunct modus ponens ell f indeed ex1 zermelo in object big set end line line ell g because prop lemma second conjunct modus ponens ell f indeed equivalence class of ex1 in object big set modulo object r zermelo is object x end line line ell big r because lemma =symmetry modus ponens ell g indeed object x zermelo is equivalence class of ex1 in object big set modulo object r end line line ell h because lemma separation2formula modus ponens ell c indeed object y zermelo in power object big set end power and0 parenthesis ex2 zermelo in object big set and0 equivalence class of ex2 in object big set modulo object r zermelo is object y end parenthesis end line line ell i because prop lemma second conjunct modus ponens ell h indeed ex2 zermelo in object big set and0 equivalence class of ex2 in object big set modulo object r zermelo is object y end line line ell big t because prop lemma first conjunct modus ponens ell i indeed ex2 zermelo in object big set end line line ell j because prop lemma second conjunct modus ponens ell i indeed equivalence class of ex2 in object big set modulo object r zermelo is object y end line line ell big u because lemma =symmetry modus ponens ell j indeed object y zermelo is equivalence class of ex2 in object big set modulo object r end line line ell r because lemma transfer ~is modus ponens ell d modus ponens ell big r modus ponens ell big u indeed equivalence class of ex1 in object big set modulo object r zermelo ~is equivalence class of ex2 in object big set modulo object r end line line ell s because lemma equivalence classes are disjoint modus ponens ell big s modus ponens ell big t modus ponens ell a modus ponens ell r indeed intersection equivalence class of ex1 in object big set modulo object r comma equivalence class of ex2 in object big set modulo object r end intersection zermelo is zermelo empty set end line line ell t because lemma same intersection modus ponens ell big r modus ponens ell big u indeed intersection object x comma object y end intersection zermelo is macro newline intersection equivalence class of ex1 in object big set modulo object r comma equivalence class of ex2 in object big set modulo object r end intersection end line because lemma =transitivity modus ponens ell t modus ponens ell s indeed intersection object x comma object y end intersection zermelo is zermelo empty set qed end math ] "

\item Bem\ae{}rk at vi i dette bevis introducerer b\aa{}de " [ math ex1 end math ] " og " [ math ex2 end math ] " ud fra definitionen af " [ bracket eq-system of object big set modulo object r end bracket ] ", selvom denne definition bruger eksistensvariablen " [ math ex20 end math ] ". Vi nyder her gavn af, at separationsaksiomet tillader introduktion af ubrugte eksistens-variable (som n\ae{}vnt i afsnit \ref{sec:separation}).

\end{list}

\subsubsection{Implikation i stedet for inferens} \label{sec:konvertering}

Det sidste skridt i dette afsnit er at skifte inferenserne fra " [ math lemma all disjoint end math ] " ud med implikationer. (Dette er p\aa{}kr\ae{}vet for, at resultatet fra " [ math lemma all disjoint end math ] " kan bruges i beviset for hovedresultatet). Vi plejer jo at bruge deduktionsreglen til d\'{e}n slags konverteringer; men der et problem. Vi kan ikke konkludere

\display{
" [ bracket object r is equivalence relation in object big set imply object x zermelo in eq-system of object big set modulo object r imply macro newline object y zermelo in eq-system of object big set modulo object r imply object x zermelo ~is object y imply intersection object x comma object y end intersection zermelo is zermelo empty set end bracket ] "}

\noindent ud fra " [ math 1rule deduction end math ] "; vi kan kun konkludere

\verb| |

\display{" [ bracket for all object r comma object big set indeed object r is equivalence relation in object big set imply for all object r comma object x comma object big set indeed object x zermelo in eq-system of object big set modulo object r imply macro newline for all object r comma object y comma object big set indeed object y zermelo in eq-system of object big set modulo object r imply for all object x comma object y indeed object x zermelo ~is object y imply intersection object x comma object y end intersection zermelo is zermelo empty set end bracket ] ".}

\noindent Deduktionsreglen tillader alts\aa{} ikke frie objektvariable i antecedenterne. Dette er ogs\aa{} et rimeligt krav; ellers ville vi f.eks.\ kunne slutte den falske implikation " [ bracket object s zermelo is zermelo empty set imply for all object s indeed object s zermelo is zermelo empty set end bracket ] " ud fra lemmaet " [ bracket object s zermelo is zermelo empty set infer for all object s indeed object s zermelo is zermelo empty set end bracket ] ". Problemet er, at beviset for hovedresultatet kr\ae{}ver, at implikationen er renset for objektkvantorer. S\aa{} vi er alts\aa{} havnet i en blindgyde.

Vi l\o{}ser problemet ved at indf\o{}re f\o{}lgende ``snyde-aksiom'':

\verb| |

\display{" [ math in theory system zf rule cheating axiom all disjoint says for all terms meta r comma meta x comma meta y comma meta big set indeed meta r is equivalence relation in meta big set infer macro newline meta x zermelo in eq-system of meta big set modulo meta r infer meta y zermelo in eq-system of meta big set modulo meta r infer meta x zermelo ~is meta y infer intersection meta x comma meta y end intersection zermelo is zermelo empty set end rule end math ] "}

\noindent I " [ math cheating axiom all disjoint end math ] " formulerer vi " [ math lemma all disjoint end math ] " ved hj\ae{}lp af metavariable. Vi kan opfatte " [ math cheating axiom all disjoint end math ] " som d\'{e}t resultat, vi var n\aa{}et frem til, hvis vi havde k\ae{}mpet videre med de mange sidebetingelser (bortset fra at der ikke er nogen sidebetingelser i formuleringen af " [ math cheating axiom all disjoint end math ] "). Ud fra denne formulering af " [ math lemma all disjoint end math ] " er det nemt at aflede en implikation:

\verb| |

\begin{list}{}{
\setlength{\leftmargin}{0em}
\setlength{\itemindent}{0em}
\setlength{\itemsep}{1ex}}

\item " [ math in theory system zf lemma lemma all disjoint-imply says for all terms meta r comma meta x comma meta y comma meta big set indeed macro newline object s avoid meta r endorse object s avoid meta big set endorse object t avoid meta r endorse object t avoid meta big set endorse object u avoid meta r endorse object u avoid meta big set endorse meta r is equivalence relation in meta big set imply macro newline meta x zermelo in eq-system of meta big set modulo meta r imply meta y zermelo in eq-system of meta big set modulo meta r imply meta x zermelo ~is meta y imply intersection meta x comma meta y end intersection zermelo is zermelo empty set end lemma end math ] "

\item " [ math system zf proof of lemma all disjoint-imply reads block any term macro indent meta r comma meta x comma meta y comma meta big set end line line ell a premise macro indent meta r is equivalence relation in meta big set end line line ell b premise macro indent meta x zermelo in eq-system of meta big set modulo meta r end line line ell c premise macro indent meta y zermelo in eq-system of meta big set modulo meta r end line line ell d premise macro indent meta x zermelo ~is meta y end line because cheating axiom all disjoint modus ponens ell a modus ponens ell b modus ponens ell c modus ponens ell d indeed macro indent intersection meta x comma meta y end intersection zermelo is zermelo empty set end line line ell e end block any term meta r comma meta x comma meta y comma meta big set end line because 1rule deduction modus ponens ell e indeed object s avoid meta r endorse object s avoid meta big set endorse object t avoid meta r endorse object t avoid meta big set endorse object u avoid meta r endorse object u avoid meta big set endorse meta r is equivalence relation in meta big set imply meta x zermelo in eq-system of meta big set modulo meta r imply meta y zermelo in eq-system of meta big set modulo meta r imply meta x zermelo ~is meta y imply macro newline intersection meta x comma meta y end intersection zermelo is zermelo empty set qed end math ] "

\item Vores brug af metavariable betyder, at sidebetingelserne straks vender tilbage --- dog i et t\aa{}leligt omfang. Det er lemmaet " [ math lemma all disjoint-imply end math ] ", som vi kommer til at bruge i beviset for " [ math theorem eq-system is partition end math ] ".

\end{list}

\subsection{\AE{}kvivalensklassernes foreningsm\ae{}ngde}
\label{sec:nummer3}

I dette underafsnit viser vi f\o{}rst, at " [ math meta big set end math ] " er en delm\ae{}ngde af \ae{}kvivalensklassernes foreningsm\ae{}ngde " [ math union parenthesis eq-system of meta big set modulo meta r end parenthesis end union end math ] " (under-underafsnit \ref{sec:union1}), og vice versa (under-underafsnit \ref{sec:union2}). Herudfra kan vi let vise, at de to m\ae{}ngder er lig hinanden (under-underafsnit \ref{sec:union3}).

\subsubsection{Den ene halvdel} \label{sec:union1}


Lemmaet " [ math lemma equivalence class is subset end math ] " udsiger, at en \ae{}kvivalensklasse " [ math equivalence class of meta x in meta big set modulo meta r end math ] " defineret p\aa{} en m\ae{}ngde " [ math meta big set end math ] " er en delm\ae{}ngde af " [ math meta big set end math ] ":

\begin{list}{}{
\setlength{\leftmargin}{0em}
\setlength{\itemindent}{0em}
\setlength{\itemsep}{1ex}}

\item " [ math in theory system zf lemma lemma equivalence class is subset says for all terms meta r comma meta s comma meta x comma meta big set indeed meta s zermelo in equivalence class of meta x in meta big set modulo meta r imply meta s zermelo in meta big set end lemma end math ] "

\item Lemmaet f\o{}lger direkte af definitionen af " [ bracket equivalence class of meta x in meta big set modulo meta r end bracket ] " fra afsnit \ref{sec:eqclass}:

\item " [ math system zf proof of lemma equivalence class is subset reads block any term macro indent meta r comma meta s comma meta x comma meta big set end line line ell a premise macro indent meta s zermelo in equivalence class of meta x in meta big set modulo meta r end line line ell b because lemma separation2formula modus ponens ell a indeed macro indent meta s zermelo in meta big set and0 meta s is related to meta x under meta r end line because prop lemma first conjunct modus ponens ell b indeed macro indent meta s zermelo in meta big set end line line ell c end block any term meta r comma meta s comma meta x comma meta big set end line because 1rule deduction modus ponens ell c indeed meta s zermelo in equivalence class of meta x in meta big set modulo meta r imply meta s zermelo in meta big set qed end math ] "

\item Kommet s\aa{} vidt kan vi bevise, at " [ math meta big set end math ] " er en delm\ae{}ngde af " [ math union parenthesis eq-system of meta big set modulo meta r end parenthesis end union end math ] ":

\item " [ math in theory system zf lemma lemma bs subset union(bs/r) says for all terms meta r comma meta s comma meta big set indeed macro newline object s avoid meta r endorse object s avoid meta big set endorse object t avoid meta r endorse object t avoid meta big set endorse object u avoid meta r endorse object u avoid meta big set endorse meta r is equivalence relation in meta big set imply macro newline meta s zermelo in meta big set imply meta s zermelo in union parenthesis eq-system of meta big set modulo meta r end parenthesis end union end lemma end math ] "

\item Beviset for " [ math lemma bs subset union(bs/r) end math ] " falder i tre dele:
%
\begin{enumerate}
\item Lad " [ math meta s end math ] " v\ae{}re et vilk\aa{}rligt medlem af " [ math meta big set end math ] ". Ud fra " [ math lemma auto member end math ] " har vi, at " [ math meta s end math ] " tilh\o{}rer sin egen \ae{}kvivalensklasse " [ math equivalence class of meta s in meta big set modulo meta r end math ] " (linie 6--7).
\item Videre har vi, at denne \ae{}kvivalensklasse tilh\o{}rer \ae{}kvivalenssystemet \\
\mbox{" [ math eq-system of meta big set modulo meta r end math ] "}
(linie 8--13).
\item Ud fra punkt 1 og 2 og definitionen af ``foreningsm\ae{}ngde'' f\aa{}r vi, at " [ math meta s end math ] " tilh\o{}rer \ae{}kvivalenssystemets foreningsm\ae{}ngde " [ math union parenthesis eq-system of meta big set modulo meta r end parenthesis end union end math ] ", QED \\ \mbox{(linie 14--16)}.
\end{enumerate}
%
Her er selve beviset:

\item " [ math system zf proof of lemma bs subset union(bs/r) reads block any term macro indent meta r comma meta s comma meta big set end line line ell big a side condition macro indent object s avoid meta r end line line ell big b side condition macro indent object s avoid meta big set end line line ell a premise macro indent meta r is equivalence relation in meta big set end line line ell b premise macro indent meta s zermelo in meta big set end line line ell c because lemma auto member modus probans ell big a modus probans ell big b modus ponens ell a modus ponens ell b indeed macro indent meta s zermelo in equivalence class of meta s in meta big set modulo meta r end line line ell g because lemma equivalence class is subset indeed macro indent object s zermelo in equivalence class of meta s in meta big set modulo meta r imply object s zermelo in meta big set end line line ell h because lemma subset in power set modus ponens ell g indeed macro indent equivalence class of meta s in meta big set modulo meta r zermelo in power meta big set end power end line line ell d because lemma =reflexivity indeed macro indent equivalence class of meta s in meta big set modulo meta r zermelo is equivalence class of meta s in meta big set modulo meta r end line line ell e because prop lemma join conjuncts modus ponens ell b modus ponens ell d indeed macro indent meta s zermelo in meta big set and0 macro newline equivalence class of meta s in meta big set modulo meta r zermelo is equivalence class of meta s in meta big set modulo meta r end line line ell f because 1rule exist intro at ex1 at meta s modus ponens ell e indeed macro indent ex1 zermelo in meta big set and0 macro newline equivalence class of ex1 in meta big set modulo meta r zermelo is equivalence class of meta s in meta big set modulo meta r end line line ell j because lemma formula2separation modus ponens ell h modus ponens ell f indeed macro indent equivalence class of meta s in meta big set modulo meta r zermelo in eq-system of meta big set modulo meta r end line line ell k because 1rule exist intro at ex10 at macro newline equivalence class of meta s in meta big set modulo meta r modus ponens ell c indeed macro indent meta s zermelo in ex10 end line line ell l because 1rule exist intro at ex10 at macro newline equivalence class of meta s in meta big set modulo meta r modus ponens ell j indeed macro indent ex10 zermelo in eq-system of meta big set modulo meta r end line because lemma formula2union modus ponens ell k modus ponens ell l indeed macro indent meta s zermelo in union parenthesis eq-system of meta big set modulo meta r end parenthesis end union end line line ell m end block any term meta r comma meta s comma meta big set end line because 1rule deduction modus ponens ell m indeed object s avoid meta r endorse object s avoid meta big set endorse object t avoid meta r endorse object t avoid meta big set endorse object u avoid meta r endorse object u avoid meta big set endorse meta r is equivalence relation in meta big set imply meta s zermelo in meta big set imply meta s zermelo in union parenthesis eq-system of meta big set modulo meta r end parenthesis end union qed end math ] "

\end{list}

\noindent I beviset bruger vi for f\o{}rste gang slutningsreglen " [ math 1rule exist intro end math ] ". Vi anvender her konstruktionen " [ bracket var x at var y end bracket ] " til at fort\ae{}lle bevischeckeren, hvordan metavariablene " [ math meta x end math ] " og " [ math meta t end math ] " i " [ math 1rule exist intro end math ] " skal instantieres. Dette kan bevischeckeren ikke selv finde frem til, da b\aa{}de ``" [ math meta x end math ] "'' og ``" [ math meta t end math ] "''
kun optr\ae{}der i reglens sidebetingelse. Det er med andre ord det samme problem som ved separationsaksiomet i afsnit \ref{sec:separation}, som vi her har l\o{}st p\aa{} en anden m\aa{}de.

\subsubsection{Den anden halvdel} \label{sec:union2}

Vi viser nu det modsatte resultat af " [ math lemma bs subset union(bs/r) end math ] ": " [ math meta big set end math ] " er en delm\ae{}ngde af " [ math union parenthesis eq-system of meta big set modulo meta r end parenthesis end union end math ] ":

\begin{list}{}{
\setlength{\leftmargin}{0em}
\setlength{\itemindent}{0em}
\setlength{\itemsep}{1ex}}

\item " [ math in theory system zf lemma lemma union(bs/r) subset bs says for all terms meta r comma meta s comma meta big set indeed macro newline object s avoid meta big set endorse object s avoid meta r endorse object t avoid meta r endorse object t avoid meta big set endorse object u avoid meta r endorse object u avoid meta big set endorse meta r is equivalence relation in meta big set imply macro newline meta s zermelo in union parenthesis eq-system of meta big set modulo meta r end parenthesis end union imply meta s zermelo in meta big set end lemma end math ] "

\item Beviset for " [ math lemma union(bs/r) subset bs end math ] " kan opdeles i fire dele:
%
\begin{enumerate}
\item Lad " [ math meta s end math ] " v\ae{}re et medlem af " [ math union parenthesis eq-system of meta big set modulo meta r end parenthesis end union end math ] ". " [ bracket meta s end bracket ] " m\aa{} tilh\o{}re en \ae{}kvivalensklasse, som vi kalder for " [ math ex10 end math ] " (linie 5--7).
\item " [ bracket ex10 end bracket ] " tilh\o{}rer \ae{}kvivalenssystemet " [ math eq-system of meta big set modulo meta r end math ] ", som igen er en delm\ae{}ngde af potensm\ae{}ngden " [ math power meta big set end power end math ] ". Derfor m\aa{} " [ math ex10 end math ] " tilh\o{}re " [ math power meta big set end power end math ] " (linie 8--10).
\item Dette medf\o{}rer igen, at " [ math ex10 end math ] " er en delm\ae{}ngde af " [ math meta big set end math ] " (linie 11).
\item Ud fra punkt 1 og 3 f\aa{}r vi, at " [ math meta s end math ] " tilh\o{}rer " [ math meta big set end math ] ", QED (linie 12--14).
\end{enumerate}
%
Her er selve beviset:

\item " [ math system zf proof of lemma union(bs/r) subset bs reads block any term macro indent meta r comma meta s comma meta big set end line line ell big a side condition macro indent object s avoid meta big set end line line ell a premise macro indent meta r is equivalence relation in meta big set end line line ell b premise macro indent meta s zermelo in union parenthesis eq-system of meta big set modulo meta r end parenthesis end union end line line ell c because lemma union2formula modus ponens ell b indeed macro indent meta s zermelo in ex10 and0 ex10 zermelo in eq-system of meta big set modulo meta r end line line ell d because prop lemma first conjunct modus ponens ell c indeed macro indent meta s zermelo in ex10 end line line ell e because prop lemma second conjunct modus ponens ell c indeed macro indent ex10 zermelo in eq-system of meta big set modulo meta r end line line ell f because lemma separation2formula modus ponens ell e indeed macro indent ex10 zermelo in power meta big set end power and0 macro newline parenthesis ex1 zermelo in meta big set and0 macro newline equivalence class of ex1 in meta big set modulo meta r zermelo is ex10 end parenthesis end line line ell g because prop lemma first conjunct modus ponens ell f indeed macro indent ex10 zermelo in power meta big set end power end line line ell h because lemma power set is subset-switch modus probans ell big a modus ponens ell g indeed macro indent ex10 is subset of meta big set end line line ell i because 1rule gen modus ponens ell h indeed macro indent for all object s indeed parenthesis object s zermelo in ex10 imply object s zermelo in meta big set end parenthesis end line line ell j because lemma power set is subset0-switch modus probans ell big a indeed macro indent for all object s indeed parenthesis object s zermelo in ex10 imply object s zermelo in meta big set end parenthesis imply meta s zermelo in ex10 imply meta s zermelo in meta big set end line because prop lemma mp2 modus ponens ell j modus ponens ell i modus ponens ell d indeed macro indent meta s zermelo in meta big set end line line ell k end block any term meta r comma meta s comma meta big set end line because 1rule deduction modus ponens ell k indeed object s avoid meta big set endorse object s avoid meta r endorse object t avoid meta r endorse object t avoid meta big set endorse object u avoid meta r endorse object u avoid meta big set endorse meta r is equivalence relation in meta big set imply macro newline meta s zermelo in union parenthesis eq-system of meta big set modulo meta r end parenthesis end union imply meta s zermelo in meta big set qed end math ] "

\end{list}

\subsubsection{De to halvdele s\ae{}ttes sammen} \label{sec:union3}

Nu hvor vi har vist, at " [ math meta big set end math ] " og " [ math union parenthesis eq-system of meta big set modulo meta r end parenthesis end union end math ] " er hinandens delm\ae{}ngder, er det let at vise, at de er lig med hinanden:

\begin{list}{}{
\setlength{\leftmargin}{0em}
\setlength{\itemindent}{0em}
\setlength{\itemsep}{1ex}}

\item " [ math in theory system zf lemma lemma union(bs/r) is bs says for all terms meta r comma meta big set indeed macro newline object s avoid meta r endorse object s avoid meta big set endorse object t avoid meta r endorse object t avoid meta big set endorse object u avoid meta r endorse object u avoid meta big set endorse meta r is equivalence relation in meta big set infer macro newline union parenthesis eq-system of meta big set modulo meta r end parenthesis end union zermelo is meta big set end lemma end math ] "

\item " [ math system zf proof of lemma union(bs/r) is bs reads any term meta r comma meta big set end line line ell big a side condition object s avoid meta r end line line ell big b side condition object s avoid meta big set end line line ell big c side condition object t avoid meta r end line line ell big d side condition object t avoid meta big set end line line ell big e side condition object u avoid meta r end line line ell big f side condition object u avoid meta big set end line line ell a premise meta r is equivalence relation in meta big set end line line ell b because lemma bs subset union(bs/r) modus probans ell big a modus probans ell big b modus probans ell big c modus probans ell big d modus probans ell big e modus probans ell big f indeed meta r is equivalence relation in meta big set imply macro newline object s zermelo in meta big set imply object s zermelo in union parenthesis eq-system of meta big set modulo meta r end parenthesis end union end line line ell c because 1rule mp modus ponens ell b modus ponens ell a indeed object s zermelo in meta big set imply object s zermelo in union parenthesis eq-system of meta big set modulo meta r end parenthesis end union end line line ell d because lemma union(bs/r) subset bs modus probans ell big b modus probans ell big a modus probans ell big c modus probans ell big d modus probans ell big e modus probans ell big f indeed meta r is equivalence relation in meta big set imply macro newline object s zermelo in union parenthesis eq-system of meta big set modulo meta r end parenthesis end union imply object s zermelo in meta big set end line line ell e because 1rule mp modus ponens ell d modus ponens ell a indeed object s zermelo in union parenthesis eq-system of meta big set modulo meta r end parenthesis end union imply object s zermelo in meta big set end line because lemma set equality suff condition modus ponens ell e modus ponens ell c indeed union parenthesis eq-system of meta big set modulo meta r end parenthesis end union zermelo is meta big set qed end math ] "

\end{list}

\subsection{Det sidste bevis} \label{sec:sidste}

Rapportens sidste bevis vedr\o{}rer naturligvis hovedresultatet:

\begin{list}{}{
\setlength{\leftmargin}{0em}
\setlength{\itemindent}{0em}
\setlength{\itemsep}{1ex}}

\item " [ math in theory system zf lemma theorem eq-system is partition says object r is equivalence relation in object big set infer eq-system of object big set modulo object r is partition of object big set end lemma end math ] "

\item I beviset sammens\ae{}tter vi resultaterne fra underafsnit \ref{sec:nummer1} (linie 2--4), underafsnit \ref{sec:nummer2} (linie 5--8) og underafsnit \ref{sec:nummer3} (linie 9):

\item " [ math system zf proof of theorem eq-system is partition reads line ell a premise object r is equivalence relation in object big set end line line ell b because lemma eq-system not empty modus ponens ell a indeed object x zermelo in eq-system of object big set modulo object r imply object x zermelo ~is zermelo empty set end line line ell big a because 1rule deduction modus ponens ell b indeed object s zermelo in eq-system of object big set modulo object r imply object s zermelo ~is zermelo empty set end line line ell c because 1rule gen modus ponens ell big a indeed for all object s indeed parenthesis object s zermelo in eq-system of object big set modulo object r imply object s zermelo ~is zermelo empty set end parenthesis end line line ell d because lemma all disjoint-imply indeed object r is equivalence relation in object big set imply macro newline object s zermelo in eq-system of object big set modulo object r imply object t zermelo in eq-system of object big set modulo object r imply object s zermelo ~is object t imply intersection object s comma object t end intersection zermelo is zermelo empty set end line line ell big z because 1rule mp modus ponens ell d modus ponens ell a indeed object s zermelo in eq-system of object big set modulo object r imply object t zermelo in eq-system of object big set modulo object r imply object s zermelo ~is object t imply intersection object s comma object t end intersection zermelo is zermelo empty set end line line ell e because 1rule gen modus ponens ell big z indeed for all object t indeed parenthesis object s zermelo in eq-system of object big set modulo object r imply macro newline object t zermelo in eq-system of object big set modulo object r imply object s zermelo ~is object t imply intersection object s comma object t end intersection zermelo is zermelo empty set end parenthesis end line line ell f because 1rule gen modus ponens ell e indeed for all object s comma object t indeed parenthesis object s zermelo in eq-system of object big set modulo object r imply macro newline object t zermelo in eq-system of object big set modulo object r imply object s zermelo ~is object t imply intersection object s comma object t end intersection zermelo is zermelo empty set end parenthesis end line line ell g because lemma union(bs/r) is bs modus ponens ell a indeed union parenthesis eq-system of object big set modulo object r end parenthesis end union zermelo is object big set end line line ell h because prop lemma join conjuncts modus ponens ell c modus ponens ell f indeed parenthesis for all object s indeed parenthesis object s zermelo in eq-system of object big set modulo object r imply object s zermelo ~is zermelo empty set end parenthesis end parenthesis and0 for all object s comma object t indeed parenthesis object s zermelo in eq-system of object big set modulo object r imply macro newline object t zermelo in eq-system of object big set modulo object r imply macro newline object s zermelo ~is object t imply intersection object s comma object t end intersection zermelo is zermelo empty set end parenthesis end line line ell i because prop lemma join conjuncts modus ponens ell h modus ponens ell g indeed parenthesis for all object s indeed parenthesis object s zermelo in eq-system of object big set modulo object r imply object s zermelo ~is zermelo empty set end parenthesis end parenthesis and0 parenthesis for all object s comma object t indeed parenthesis object s zermelo in eq-system of object big set modulo object r imply macro newline object t zermelo in eq-system of object big set modulo object r imply macro newline object s zermelo ~is object t imply intersection object s comma object t end intersection zermelo is zermelo empty set end parenthesis end parenthesis and0 union parenthesis eq-system of object big set modulo object r end parenthesis end union zermelo is object big set end line because 1rule repetition modus ponens ell i indeed eq-system of object big set modulo object r is partition of object big set qed end math ] "

\end{list}

\noindent L\ae{}g m\ae{}rke til, at vi i linie 2 instantierer meta-variablen " [ math meta s end math ] " i " [ math lemma eq-system not empty end math ] " til objektvariablen " [ math object x end math ] ", selvom det egentlig er " [ math object s end math ] ", vi gerne ville have fat i. Dette skyldes, at " [ math lemma eq-system not empty end math ] " indeholder sidebetingelsen " [ bracket object s avoid meta s end bracket ] " (jvf.\ afsnit \ref{sec:nummer1}). Vi l\o{}ser problemet i linie 3, hvor deduktionsreglen skifter " [ math object x end math ] " ud med " [ math object s end math ] ". Deduktionsreglen tillader kun s\aa{}danne variabelskift, n\aa{}r der ikke er nogen metavariable i n\ae{}rheden; det er derfor, at vi ikke tidligere har brugt reglen p\aa{} denne m\aa{}de.

\newpage
\section{Konklusion} \label{sec:kon}

Vi har ikke haft 100\% succes med at bevise hovedresultatet; der m\aa{}tte et ``snyde-aksiom'' til hj\ae{}lp. Problemet er, at systemet kr\ae{}ver et stort antal sidebetingelser for at sikre, at objekt- og metavariable undg\aa{}r hinanden. Et sp\o{}rgsm\aa{}l er, om vi kunne have undg\aa{}et dette problem ved at h\aa{}ndtere aksiomerne og definitionerne fra afsnit \ref{sec:aksiomsystem} og \ref{sec:makro} anderledes. Her er en kort diskussion af et par alternative strategier:

Det er n\ae{}ppe holdbart kun at arbejde med objektvariable. Deduktionsreglen kan gennemf\o{}re variabelskift som f.eks.\ ``" [ math object y end math ] " i stedet for " [ math object x end math ] "'', men ikke instantieringer som f.eks.\ ``" [ math zermelo pair object y comma object z end pair end math ] " i stedet for " [ math object x end math ] "''. (Jvf.\ formuleringen af " [ math lemma same intersection end math ] " i afsnit \ref{sec:sameinter}, hvor vi m\aa{}tte instantiere objektvariablene ``p\aa{} forh\aa{}nd''). Vi s\aa{} ogs\aa{} i afsnit \ref{sec:konvertering}, at det er sv\ae{}rt at skifte fra inferens til implikation med objektvariable; deduktionsreglen kan ikke anvendes.

Det andet ekstrem er kun at arbejde med metavariable og -kvantorer. Man kunne da f.eks.\ formulere den ene halvdel af " [ math axiom extensionality end math ] " som

\display{" [ bracket for all terms meta x comma meta y indeed parenthesis for all terms meta s indeed meta s zermelo in meta x iff meta s zermelo in meta y end parenthesis infer meta x zermelo is meta y end bracket ] ".}

\noindent Logiwebs bevischecker er imidlertid ikke gearet til denne l\o{}sning, og det virker heller ikke som om, at vi p\aa{} denne m\aa{}de l\o{}ser det egentlige problem: F.eks.\ giver det noget sludder, hvis vi instantierer ``" [ math meta s end math ] "'' til ``" [ math meta x end math ] "'' i det ovenst\aa{}ende. Den samme kritik kan rettes mod forslaget ``lad objektkvantorerne binde metavariable i stedet for objektvariable''.

Den bedste l\o{}sning m\aa{} derfor v\ae{}re at lade bevischeckeren f\aa{} ansvaret for at administrere sidebetingelserne, s\aa{}ledes at brugeren kun l\ae{}gger m\ae{}rke til dem, hvis han overtr\ae{}der dem. Jeg har imidlertid ikke noget overblik over, hvor kr\ae{}vende det er at implementere denne l\o{}sning.

Min anden hovedkonklusion er, at deduktionsreglen skal suppleres med A4 fra \cite{kn:mendel}, hvis eksistenskvantorer skal h\aa{}ndteres tilfredsstillende. Min l\o{}sning med eksistens-variable har fungeret i denne rapport, men det er ikke nogen sikker metode. Der er f.eks.\ intet, som forhindrer brugeren i at introducere allerede brugte eksistens-variable og dermed opn\aa{} systemets godkendelse af et ukorrekt bevis. Det er et \aa{}bent sp\o{}rgsm\aa{}l, hvor brugervenlig kombinationen ``" [ math 1rule deduction end math ] " og A4'' er; den interesserede l\ae{}ser skal v\ae{}re velkommen til at g\o{}re sine egne erfaringer.

\newpage

\section*{}
\addcontentsline{toc}{section}{Litteratur}
\bibliography{/net/urd/home/disk15/eriksen/.logiweb/equivalence-relations/page}

\appendix

\section{Oversigt over variabelnavne} \label{sec:variable}

\begin{itemize}
\item De fire vigtigste objektvariable er: " [ bracket object s end bracket ] ", " [ bracket object t end bracket ] ", " [ bracket object u end bracket ] " og " [ bracket object big set end bracket ] ".
\item Eksistens-variablen " [ bracket ex10 end bracket ] " bruges i aksiomet
" [ bracket axiom union definition end bracket ] " fra afsnit \ref{sec:axiomzf}.
\item Ekistens-variablen " [ bracket ex20 end bracket ] " bruges i definitionen
af " [ bracket eq-system of var big set modulo var r end bracket ] " fra afsnit
\ref{sec:eqclass}.
\item Eksistens-variablene " [ bracket ex1 end bracket ] " og " [ bracket ex2 end bracket ] " bruges i beviser, n\aa{}r " [ bracket ex10 end bracket ] " eller " [ bracket ex20 end bracket ] " ikke er p\aa{}kr\ae{}vede.
\item Pladsholder-variablen " [ bracket placeholder-var1 end bracket ] " bruges i definitionen af " [ bracket equivalence class of var x in var big set modulo var r end bracket ] " fra afsnit \ref{sec:eqclass}.
\item Pladsholder-variablen " [ bracket placeholder-var2 end bracket ] " bruges i definitionen
af " [ bracket eq-system of var big set modulo var r end bracket ] " fra afsnit
\ref{sec:eqclass}.
\item Pladsholder-variablen " [ bracket placeholder-var3 end bracket ] " bruges i definitionen af " [ bracket intersection var x comma var y end intersection end bracket ] " fra afsnit \ref{sec:makrobin}.
\item Metavariablene " [ bracket meta a end bracket ] ", " [ bracket meta b end bracket ] " $\cdots$ " [ bracket meta f end bracket ] " varierer over formler.
\item Metavariabelene " [ bracket meta r end bracket ] ", " [ bracket meta s end bracket ] " $\cdots$ " [ bracket meta z end bracket ] " samt " [ bracket meta big set end bracket ] " varierer over termer. (" [ bracket meta r end bracket ] " st\aa{}r altid for en relation).
\item Metavariablen " [ bracket meta p end bracket ] " varierer over pladsholder-variable.
\item Endelig kan de ``r\aa{}'' variable " [ bracket var a end bracket ] ", " [ bracket var b end bracket ] " $\cdots$ " [ bracket var z end bracket ] " samt " [ bracket var big set end bracket ] " variere over hvad som helst; disse variable er ikke tilknyttet nogen semantik.
\end{itemize}

\section{Det samlede aksiomsystem} \label{sec:helezf}

\begin{list}{}{
\setlength{\leftmargin}{0em}
\setlength{\itemindent}{0em}
\setlength{\itemsep}{1ex}}

\item " [ math in theory system zf rule 1rule mp says for all terms meta a comma meta b indeed meta a imply meta b infer meta a infer meta b end rule end math ] "

\item " [ math in theory system zf rule 1rule gen says for all terms meta x comma meta a indeed meta a infer for all meta x indeed meta a end rule end math ] "

\item " [ math in theory system zf rule 1rule repetition says for all terms meta a indeed meta a infer meta a end rule end math ] "

\item " [ math in theory system zf rule 1rule ad absurdum says for all terms meta a comma meta b indeed not0 meta b imply meta a infer not0 meta b imply not0 meta a infer meta b end rule end math ] "

\item " [ math in theory system zf rule 1rule deduction says for all terms meta a comma meta b indeed 1deduction meta a conclude meta b end 1deduction endorse meta a infer meta b end rule end math ] "

\item " [ math in theory system zf rule 1rule exist intro says for all terms meta x comma meta t comma meta a comma meta b indeed exist-sub meta a is meta b where meta x is meta t end sub endorse meta a infer meta b end rule end math ] "

\item " [ math in theory system zf rule axiom extensionality says for all terms meta x comma meta y indeed meta x zermelo is meta y iff for all object s indeed parenthesis object s zermelo in meta x iff object s zermelo in meta y end parenthesis end rule end math ] "

\item " [ math in theory system zf rule axiom empty set says for all terms meta s indeed not0 meta s zermelo in zermelo empty set end rule end math ] "

\item " [ math in theory system zf rule axiom pair definition says for all terms meta s comma meta x comma meta y indeed meta s zermelo in zermelo pair meta x comma meta y end pair iff meta s zermelo is meta x or0 meta s zermelo is meta y end rule end math ] "

\item " [ math in theory system zf rule axiom union definition says for all terms meta s comma meta x indeed meta s zermelo in union meta x end union iff parenthesis meta s zermelo in ex10 and0 ex10 zermelo in meta x end parenthesis end rule end math ] "

\item " [ math in theory system zf rule axiom power definition says for all terms meta s comma meta x indeed meta s zermelo in power meta x end power iff for all object s indeed parenthesis object s zermelo in meta s imply object s zermelo in meta x end parenthesis end rule end math ] "

\item " [ math in theory system zf rule axiom separation definition says for all terms meta a comma meta b comma meta p comma meta x comma meta z indeed meta p is placeholder-var and ph-sub meta b is meta a where meta p is meta z end sub endorse macro newline meta z zermelo in the set of ph in meta x such that meta a end set iff meta z zermelo in meta x and0 meta b end rule end math ] "

\item " [ math in theory system zf rule cheating axiom all disjoint says for all terms meta r comma meta x comma meta y comma meta big set indeed meta r is equivalence relation in meta big set infer macro newline meta x zermelo in eq-system of meta big set modulo meta r infer meta y zermelo in eq-system of meta big set modulo meta r infer meta x zermelo ~is meta y infer intersection meta x comma meta y end intersection zermelo is zermelo empty set end rule end math ] "

\end{list}

\newpage
\section{Deduktionsreglen} \label{sec:deduktion}

Dette bilag pr\ae{}senterer d\'{e}n version af deduktionsreglen fra \cite{kn:check}, som jeg har brugt af. Underafsnit \ref{sec:motivering} forklarer, hvorfor jeg har \ae{}ndret p\aa{} den oprindelige regel, og underafsnit \ref{sec:kode} indeholder selve den \ae{}ndrede kode (som er skrevet i L).

\subsection{Motivering} \label{sec:motivering}

I beviset for " [ math lemma member not empty0 end math ] " i afsnit \ref{sec:membernotempty} konkluderer vi \\
" [ bracket object s avoid meta x endorse meta s zermelo in meta x imply meta x zermelo is zermelo empty set imply meta s zermelo in zermelo empty set end bracket ] " ud fra pr\ae{}missen \\
" [ bracket object s avoid meta x endorse meta s zermelo in meta x infer meta x zermelo is zermelo empty set infer meta s zermelo in zermelo empty set end bracket ] " ved hj\ae{}lp af deduktionsreglen; det er et klassisk skift fra inferens til implikation. Denne slutning kan imidlertid ikke gennemf\o{}res med deduktionsreglen fra \cite{kn:check}, fordi denne regel fjerner alle sidebetingelser fra konklusionen, f\o{}r pr\ae{}mis og konklusion sammenlignes. Da pr\ae{}missen stadigv\ae{}k begynder med sidebetingelsen " [ bracket object s avoid meta x end bracket ] ", matcher pr\ae{}mis og konklusion ikke hinanden, og slutningen fra pr\ae{}mis til konklusion forkastes. Deduktionsreglen fra dette bilag tillader derimod, at pr\ae{}mis og konklusion begynder med et antal identiske sidebetingelser. Dermed kan vi uden problemer gennemf\o{}re slutninger som den ovenst\aa{}ende, hvor pr\ae{}missen indeholder sidebetingelser.

\subsection{Kode} \label{sec:kode}

Funktionen " [ bracket 1deduction var p conclude var c end 1deduction end bracket ] " er en kopi af " [ bracket deduction var p conclude var c end deduction end bracket ] " fra \cite{kn:check}:

\begin{list}{}{
\setlength{\leftmargin}{0em}
\setlength{\itemindent}{0em}
\setlength{\itemsep}{1ex}}

\item " [ math macro define 1deduction var p conclude var c end 1deduction as lambda var x dot 1deduction zero quote var p end quote conclude quote var c end quote end 1deduction end define end math ] "

%(*** AENDRING BEGYNDER ***)

\item Jeg har \ae{}ndret funktionen " [ bracket deduction zero var p conclude var c end deduction end bracket ] ", s\aa{} den kalder " [ bracket 1deduction side 1deduction seven var p end 1deduction conclude var c condition true end 1deduction end bracket ] " i stedet for " [ bracket deduction one deduction seven var p end deduction conclude var c condition true end deduction end bracket ] ":

\item " [ math value define 1deduction zero var p conclude var c end 1deduction as var c tagged guard 1deduction eight var p bound true end 1deduction macro and 1deduction side 1deduction seven var p end 1deduction conclude var c condition true end 1deduction end define end math ] "

\item Funktionen " [ bracket 1deduction side var p conclude var c condition var s end 1deduction end bracket ] " giver straks kontrollen videre til " [ bracket deduction one var p conclude var c condition var s end deduction end bracket ] " --- medmindre " [ math var p end math ] " og " [ math var c end math ] " begynder med et antal identiske sidebetingelser. I s\aa{} fald flyttes disse sidebetingelser fra " [ math var p end math ] " og " [ math var c end math ] " over til listen " [ math var s end math ] ", f\o{}r kontrollen g\aa{}r videre til " [ bracket deduction one var p conclude var c condition var s end deduction end bracket ] ":

\item " [ math value define 1deduction side var p conclude var c condition var s end 1deduction as open if var p term root equal quote var x endorse var y end quote then macro newline var c term root equal quote var x endorse var y end quote and var p first term equal var c first and 1deduction side var p second conclude var c second condition var c first pair var s end 1deduction else macro newline 1deduction one var p conclude var c condition var s end 1deduction end define end math ] "

%(*** AENDRING SLUTTER ***)

\item Fra og med " [ bracket deduction one var p conclude var c condition var s end deduction end bracket ] " er koden kopieret fra appendikset til \cite{kn:check}:

\item
" [ math value define 1deduction one var p conclude var c condition var s end 1deduction as open if var c term root equal quote var x endorse var y end quote then 1deduction one var p conclude var c second condition var c first pair var s end 1deduction else 1deduction two var p conclude var c condition var s end 1deduction end define end math ] "

\item " [ math value define 1deduction two var p conclude var c condition var s end 1deduction as var s tagged guard macro newline var p term root equal quote var x infer var y end quote and var c term root equal quote var x imply var y end quote select 1deduction three var p first conclude var c first condition var s bound true end 1deduction and 1deduction two var p second conclude var c second condition var s end 1deduction else 1deduction four var p conclude var c condition var s bound 1deduction six var p conclude var c exception true bound true end 1deduction end 1deduction end select end define end math ] "

\item " [ math value define 1deduction three var p conclude var c condition var s bound var b end 1deduction as open if not var c term root equal quote for all var x indeed var y end quote then 1deduction four var p conclude var c condition var s bound var b end 1deduction else macro newline open if var p term root equal quote for all var x indeed var y end quote and var p first term equal var c first then 1deduction four var p conclude var c condition var s bound var b end 1deduction else macro newline 1deduction three var p conclude var c second condition var s bound parenthesis var c first pair var c first end parenthesis pair var b end 1deduction end define end math ] "

\item " [ math value define 1deduction four var p conclude var c condition var s bound var b end 1deduction as var s tagged guard var b tagged guard macro newline open if var p term root equal quote object x end quote then lookup var p stack var b default true end lookup term equal var c else macro newline open if not var p term root equal var c then false else macro newline open if var p term root equal quote for all var x indeed var y end quote then var p first term equal var c first and 1deduction four var p second conclude var c second condition var s bound parenthesis var p first pair var p first end parenthesis pair var b end 1deduction else macro newline open if not var p term root equal quote meta x end quote then 1deduction four star var p tail conclude var c tail condition var s bound var b end 1deduction else macro newline var p first term equal var c first and 1deduction five var p condition var s bound var b end 1deduction end define end math ] "

\item " [ math value define 1deduction four star var p conclude var c condition var s bound var b end 1deduction as var c tagged guard var s tagged guard var b tagged guard open if var p then true else 1deduction four var p head conclude var c head condition var s bound var b end 1deduction and 1deduction four star var p tail conclude var c tail condition var s bound var b end 1deduction end define end math ] "

\item " [ math value define 1deduction five var p condition var s bound var b end 1deduction as var p tagged guard var s tagged guard open if var b then true else macro newline tuple quote var x avoid var y end quote head comma tuple quote quote x end quote end quote head comma var b head head end tuple comma tuple quote quote var x end quote end quote head comma var p end tuple end tuple term in var s and 1deduction five var p condition var s bound var b tail end 1deduction end define end math ] "

\item " [ math value define 1deduction six var p conclude var c exception var e bound var b end 1deduction as var p tagged guard var c tagged guard var b tagged guard var e tagged guard macro newline open if var p term root equal quote object x end quote then var p term in var e select var b else parenthesis var p pair var c end parenthesis pair var b end select else macro newline open if not var p term root equal var c then true else macro newline open if var p term root equal quote meta a end quote then var b else macro newline open if var p term root equal quote for all var x indeed var y end quote then 1deduction six var p second conclude var c second exception var c first pair var e bound var b end 1deduction else macro newline 1deduction six star var p tail conclude var c tail exception var e bound var b end 1deduction end define end math ] "

\item " [ math value define 1deduction six star var p conclude var c exception var e bound var b end 1deduction as var p tagged guard var c tagged guard var b tagged guard var e tagged guard open if var p then var b else 1deduction six star var p tail conclude var c tail exception var e bound 1deduction six var p head conclude var c head exception var e bound var b end 1deduction end 1deduction end define end math ] "

\item " [ math value define 1deduction seven var p end 1deduction as var p term root equal quote for all terms var x indeed var y end quote select 1deduction seven var p second end 1deduction else var p end select end define end math ] "

\item " [ math value define 1deduction eight var p bound var b end 1deduction as macro newline open if var p term root equal quote for all terms var x indeed var y end quote then 1deduction eight var p second bound var p first pair var b end 1deduction else macro newline open if var p term root equal quote meta a end quote then var p term in var b else 1deduction eight star var p tail bound var b end 1deduction end define end math ] "

\item " [ math value define 1deduction eight star var p bound var b end 1deduction as var b tagged guard open if var p then true else 1deduction eight var p head bound var b end 1deduction macro and 1deduction eight star var p tail bound var b end 1deduction end define end math ] "

\end{list}

\section{Pyk definitioner} \label{sec:pyk}

\begin{flushleft}
" [ math protect define pyk of cdots as text "cdots" end text end define linebreak define pyk of object-var as text "object-var" end text end define linebreak define pyk of ex-var as text "ex-var" end text end define linebreak define pyk of ph-var as text "ph-var" end text end define linebreak define pyk of vaerdi as text "vaerdi" end text end define linebreak define pyk of variabel as text "variabel" end text end define linebreak define pyk of op x end op as text "op "! end op" end text end define linebreak define pyk of op2 x comma x end op2 as text "op2 "! comma "! end op2" end text end define linebreak define pyk of define-equal x comma x end equal as text "define-equal "! comma "! end equal" end text end define linebreak define pyk of contains-empty x end empty as text "contains-empty "! end empty" end text end define linebreak define pyk of 1deduction x conclude x end 1deduction as text "1deduction "! conclude "! end 1deduction" end text end define linebreak define pyk of 1deduction zero x conclude x end 1deduction as text "1deduction zero "! conclude "! end 1deduction" end text end define linebreak define pyk of 1deduction side x conclude x condition x end 1deduction as text "1deduction side "! conclude "! condition "! end 1deduction" end text end define linebreak define pyk of 1deduction one x conclude x condition x end 1deduction as text "1deduction one "! conclude "! condition "! end 1deduction" end text end define linebreak define pyk of 1deduction two x conclude x condition x end 1deduction as text "1deduction two "! conclude "! condition "! end 1deduction" end text end define linebreak define pyk of 1deduction three x conclude x condition x bound x end 1deduction as text "1deduction three "! conclude "! condition "! bound "! end 1deduction" end text end define linebreak define pyk of 1deduction four x conclude x condition x bound x end 1deduction as text "1deduction four "! conclude "! condition "! bound "! end 1deduction" end text end define linebreak define pyk of 1deduction four star x conclude x condition x bound x end 1deduction as text "1deduction four star "! conclude "! condition "! bound "! end 1deduction" end text end define linebreak define pyk of 1deduction five x condition x bound x end 1deduction as text "1deduction five "! condition "! bound "! end 1deduction" end text end define linebreak define pyk of 1deduction six x conclude x exception x bound x end 1deduction as text "1deduction six "! conclude "! exception "! bound "! end 1deduction" end text end define linebreak define pyk of 1deduction six star x conclude x exception x bound x end 1deduction as text "1deduction six star "! conclude "! exception "! bound "! end 1deduction" end text end define linebreak define pyk of 1deduction seven x end 1deduction as text "1deduction seven "! end 1deduction" end text end define linebreak define pyk of 1deduction eight x bound x end 1deduction as text "1deduction eight "! bound "! end 1deduction" end text end define linebreak define pyk of 1deduction eight star x bound x end 1deduction as text "1deduction eight star "! bound "! end 1deduction" end text end define linebreak define pyk of ex1 as text "ex1" end text end define linebreak define pyk of ex2 as text "ex2" end text end define linebreak define pyk of ex10 as text "ex10" end text end define linebreak define pyk of ex20 as text "ex20" end text end define linebreak define pyk of existential var x end var as text "existential var "! end var" end text end define linebreak define pyk of x is existential var as text ""! is existential var" end text end define linebreak define pyk of exist-sub x is x where x is x end sub as text "exist-sub "! is "! where "! is "! end sub" end text end define linebreak define pyk of exist-sub0 x is x where x is x end sub as text "exist-sub0 "! is "! where "! is "! end sub" end text end define linebreak define pyk of exist-sub1 x is x where x is x end sub as text "exist-sub1 "! is "! where "! is "! end sub" end text end define linebreak define pyk of exist-sub* x is x where x is x end sub as text "exist-sub* "! is "! where "! is "! end sub" end text end define linebreak define pyk of placeholder-var1 as text "placeholder-var1" end text end define linebreak define pyk of placeholder-var2 as text "placeholder-var2" end text end define linebreak define pyk of placeholder-var3 as text "placeholder-var3" end text end define linebreak define pyk of placeholder-var x end var as text "placeholder-var "! end var" end text end define linebreak define pyk of x is placeholder-var as text ""! is placeholder-var" end text end define linebreak define pyk of ph-sub x is x where x is x end sub as text "ph-sub "! is "! where "! is "! end sub" end text end define linebreak define pyk of ph-sub0 x is x where x is x end sub as text "ph-sub0 "! is "! where "! is "! end sub" end text end define linebreak define pyk of ph-sub1 x is x where x is x end sub as text "ph-sub1 "! is "! where "! is "! end sub" end text end define linebreak define pyk of ph-sub* x is x where x is x end sub as text "ph-sub* "! is "! where "! is "! end sub" end text end define linebreak define pyk of var big set as text "var big set" end text end define linebreak define pyk of object big set as text "object big set" end text end define linebreak define pyk of meta big set as text "meta big set" end text end define linebreak define pyk of zermelo empty set as text "zermelo empty set" end text end define linebreak define pyk of system zf as text "system zf" end text end define linebreak define pyk of 1rule mp as text "1rule mp" end text end define linebreak define pyk of 1rule gen as text "1rule gen" end text end define linebreak define pyk of 1rule repetition as text "1rule repetition" end text end define linebreak define pyk of 1rule ad absurdum as text "1rule ad absurdum" end text end define linebreak define pyk of 1rule deduction as text "1rule deduction" end text end define linebreak define pyk of 1rule exist intro as text "1rule exist intro" end text end define linebreak define pyk of axiom extensionality as text "axiom extensionality" end text end define linebreak define pyk of axiom empty set as text "axiom empty set" end text end define linebreak define pyk of axiom pair definition as text "axiom pair definition" end text end define linebreak define pyk of axiom union definition as text "axiom union definition" end text end define linebreak define pyk of axiom power definition as text "axiom power definition" end text end define linebreak define pyk of axiom separation definition as text "axiom separation definition" end text end define linebreak define pyk of cheating axiom all disjoint as text "cheating axiom all disjoint" end text end define linebreak define pyk of prop lemma add double neg as text "prop lemma add double neg" end text end define linebreak define pyk of prop lemma remove double neg as text "prop lemma remove double neg" end text end define linebreak define pyk of prop lemma and commutativity as text "prop lemma and commutativity" end text end define linebreak define pyk of prop lemma auto imply as text "prop lemma auto imply" end text end define linebreak define pyk of prop lemma contrapositive as text "prop lemma contrapositive" end text end define linebreak define pyk of prop lemma first conjunct as text "prop lemma first conjunct" end text end define linebreak define pyk of prop lemma second conjunct as text "prop lemma second conjunct" end text end define linebreak define pyk of prop lemma from contradiction as text "prop lemma from contradiction" end text end define linebreak define pyk of prop lemma from disjuncts as text "prop lemma from disjuncts" end text end define linebreak define pyk of prop lemma iff commutativity as text "prop lemma iff commutativity" end text end define linebreak define pyk of prop lemma iff first as text "prop lemma iff first" end text end define linebreak define pyk of prop lemma iff second as text "prop lemma iff second" end text end define linebreak define pyk of prop lemma imply transitivity as text "prop lemma imply transitivity" end text end define linebreak define pyk of prop lemma join conjuncts as text "prop lemma join conjuncts" end text end define linebreak define pyk of prop lemma mp2 as text "prop lemma mp2" end text end define linebreak define pyk of prop lemma mp3 as text "prop lemma mp3" end text end define linebreak define pyk of prop lemma mp4 as text "prop lemma mp4" end text end define linebreak define pyk of prop lemma mp5 as text "prop lemma mp5" end text end define linebreak define pyk of prop lemma mt as text "prop lemma mt" end text end define linebreak define pyk of prop lemma negative mt as text "prop lemma negative mt" end text end define linebreak define pyk of prop lemma technicality as text "prop lemma technicality" end text end define linebreak define pyk of prop lemma weakening as text "prop lemma weakening" end text end define linebreak define pyk of prop lemma weaken or first as text "prop lemma weaken or first" end text end define linebreak define pyk of prop lemma weaken or second as text "prop lemma weaken or second" end text end define linebreak define pyk of lemma formula2pair as text "lemma formula2pair" end text end define linebreak define pyk of lemma pair2formula as text "lemma pair2formula" end text end define linebreak define pyk of lemma formula2union as text "lemma formula2union" end text end define linebreak define pyk of lemma union2formula as text "lemma union2formula" end text end define linebreak define pyk of lemma formula2separation as text "lemma formula2separation" end text end define linebreak define pyk of lemma separation2formula as text "lemma separation2formula" end text end define linebreak define pyk of lemma subset in power set as text "lemma subset in power set" end text end define linebreak define pyk of lemma power set is subset0 as text "lemma power set is subset0" end text end define linebreak define pyk of lemma power set is subset as text "lemma power set is subset" end text end define linebreak define pyk of lemma power set is subset0-switch as text "lemma power set is subset0-switch" end text end define linebreak define pyk of lemma power set is subset-switch as text "lemma power set is subset-switch" end text end define linebreak define pyk of lemma set equality suff condition as text "lemma set equality suff condition" end text end define linebreak define pyk of lemma set equality suff condition(t)0 as text "lemma set equality suff condition(t)0" end text end define linebreak define pyk of lemma set equality suff condition(t) as text "lemma set equality suff condition(t)" end text end define linebreak define pyk of lemma set equality skip quantifier as text "lemma set equality skip quantifier" end text end define linebreak define pyk of lemma set equality nec condition as text "lemma set equality nec condition" end text end define linebreak define pyk of lemma reflexivity0 as text "lemma reflexivity0" end text end define linebreak define pyk of lemma reflexivity as text "lemma reflexivity" end text end define linebreak define pyk of lemma symmetry0 as text "lemma symmetry0" end text end define linebreak define pyk of lemma symmetry as text "lemma symmetry" end text end define linebreak define pyk of lemma transitivity0 as text "lemma transitivity0" end text end define linebreak define pyk of lemma transitivity as text "lemma transitivity" end text end define linebreak define pyk of lemma er is reflexive as text "lemma er is reflexive" end text end define linebreak define pyk of lemma er is symmetric as text "lemma er is symmetric" end text end define linebreak define pyk of lemma er is transitive as text "lemma er is transitive" end text end define linebreak define pyk of lemma empty set is subset as text "lemma empty set is subset" end text end define linebreak define pyk of lemma member not empty0 as text "lemma member not empty0" end text end define linebreak define pyk of lemma member not empty as text "lemma member not empty" end text end define linebreak define pyk of lemma unique empty set0 as text "lemma unique empty set0" end text end define linebreak define pyk of lemma unique empty set as text "lemma unique empty set" end text end define linebreak define pyk of lemma =reflexivity as text "lemma =reflexivity" end text end define linebreak define pyk of lemma =symmetry as text "lemma =symmetry" end text end define linebreak define pyk of lemma =transitivity0 as text "lemma =transitivity0" end text end define linebreak define pyk of lemma =transitivity as text "lemma =transitivity" end text end define linebreak define pyk of lemma transfer ~is0 as text "lemma transfer ~is0" end text end define linebreak define pyk of lemma transfer ~is as text "lemma transfer ~is" end text end define linebreak define pyk of lemma pair subset0 as text "lemma pair subset0" end text end define linebreak define pyk of lemma pair subset1 as text "lemma pair subset1" end text end define linebreak define pyk of lemma pair subset as text "lemma pair subset" end text end define linebreak define pyk of lemma same pair as text "lemma same pair" end text end define linebreak define pyk of lemma same singleton as text "lemma same singleton" end text end define linebreak define pyk of lemma union subset as text "lemma union subset" end text end define linebreak define pyk of lemma same union as text "lemma same union" end text end define linebreak define pyk of lemma separation subset as text "lemma separation subset" end text end define linebreak define pyk of lemma same separation as text "lemma same separation" end text end define linebreak define pyk of lemma same binary union as text "lemma same binary union" end text end define linebreak define pyk of lemma intersection subset as text "lemma intersection subset" end text end define linebreak define pyk of lemma same intersection as text "lemma same intersection" end text end define linebreak define pyk of lemma auto member as text "lemma auto member" end text end define linebreak define pyk of lemma eq-system not empty0 as text "lemma eq-system not empty0" end text end define linebreak define pyk of lemma eq-system not empty as text "lemma eq-system not empty" end text end define linebreak define pyk of lemma eq subset0 as text "lemma eq subset0" end text end define linebreak define pyk of lemma eq subset as text "lemma eq subset" end text end define linebreak define pyk of lemma equivalence nec condition0 as text "lemma equivalence nec condition0" end text end define linebreak define pyk of lemma equivalence nec condition as text "lemma equivalence nec condition" end text end define linebreak define pyk of lemma none-equivalence nec condition0 as text "lemma none-equivalence nec condition0" end text end define linebreak define pyk of lemma none-equivalence nec condition1 as text "lemma none-equivalence nec condition1" end text end define linebreak define pyk of lemma none-equivalence nec condition as text "lemma none-equivalence nec condition" end text end define linebreak define pyk of lemma equivalence class is subset as text "lemma equivalence class is subset" end text end define linebreak define pyk of lemma equivalence classes are disjoint as text "lemma equivalence classes are disjoint" end text end define linebreak define pyk of lemma all disjoint as text "lemma all disjoint" end text end define linebreak define pyk of lemma all disjoint-imply as text "lemma all disjoint-imply" end text end define linebreak define pyk of lemma bs subset union(bs/r) as text "lemma bs subset union(bs/r)" end text end define linebreak define pyk of lemma union(bs/r) subset bs as text "lemma union(bs/r) subset bs" end text end define linebreak define pyk of lemma union(bs/r) is bs as text "lemma union(bs/r) is bs" end text end define linebreak define pyk of theorem eq-system is partition as text "theorem eq-system is partition" end text end define linebreak define pyk of eq-system of x modulo x as text "eq-system of "! modulo "!" end text end define linebreak define pyk of intersection x comma x end intersection as text "intersection "! comma "! end intersection" end text end define linebreak define pyk of union x end union as text "union "! end union" end text end define linebreak define pyk of binary-union x comma x end union as text "binary-union "! comma "! end union" end text end define linebreak define pyk of power x end power as text "power "! end power" end text end define linebreak define pyk of zermelo singleton x end singleton as text "zermelo singleton "! end singleton" end text end define linebreak define pyk of zermelo pair x comma x end pair as text "zermelo pair "! comma "! end pair" end text end define linebreak define pyk of zermelo ordered pair x comma x end pair as text "zermelo ordered pair "! comma "! end pair" end text end define linebreak define pyk of x zermelo in x as text ""! zermelo in "!" end text end define linebreak define pyk of x is related to x under x as text ""! is related to "! under "!" end text end define linebreak define pyk of x is reflexive relation in x as text ""! is reflexive relation in "!" end text end define linebreak define pyk of x is symmetric relation in x as text ""! is symmetric relation in "!" end text end define linebreak define pyk of x is transitive relation in x as text ""! is transitive relation in "!" end text end define linebreak define pyk of x is equivalence relation in x as text ""! is equivalence relation in "!" end text end define linebreak define pyk of equivalence class of x in x modulo x as text "equivalence class of "! in "! modulo "!" end text end define linebreak define pyk of x is partition of x as text ""! is partition of "!" end text end define linebreak define pyk of x zermelo is x as text ""! zermelo is "!" end text end define linebreak define pyk of x is subset of x as text ""! is subset of "!" end text end define linebreak define pyk of not0 x as text "not0 "!" end text end define linebreak define pyk of x zermelo ~in x as text ""! zermelo ~in "!" end text end define linebreak define pyk of x zermelo ~is x as text ""! zermelo ~is "!" end text end define linebreak define pyk of x and0 x as text ""! and0 "!" end text end define linebreak define pyk of x or0 x as text ""! or0 "!" end text end define linebreak define pyk of x iff x as text ""! iff "!" end text end define linebreak define pyk of the set of ph in x such that x end set as text "the set of ph in "! such that "! end set" end text end define linebreak define pyk of equivalence-relations as text "equivalence-relations" end text end define linebreak unicode end of text end protect end math ] "
\end{flushleft}

\newpage
\section{Prioritetstabel} \label{sec:prio}

Den nedenst\aa{}ende tabel indeholder alle de formelle konstruktioner, som er til r\aa{}dighed i dette dokument. Konstruktionerne er grupperet efter prioritet; de f\o{}rstn\ae{}vnte grupper har st\o{}rst prioritet. Hver gruppe er markeret med et af de to ord ``$\mathbf{Preassociative}$'' eller ``$\mathbf{Postassociative}$'', der angiver, om konstruktionerne er venstre- eller h\o{}jreassociative.

" [ flush left math priority table preassociative priority equivalence-relations equal priority base equal priority bracket x end bracket equal priority big bracket x end bracket equal priority math x end math equal priority flush left x end left equal priority var x equal priority var y equal priority var z equal priority proclaim x as x end proclaim equal priority define x of x as x end define equal priority pyk equal priority tex equal priority tex name equal priority priority equal priority x equal priority true equal priority if x then x else x end if equal priority introduce x of x as x end introduce equal priority value equal priority claim equal priority bottom equal priority function f of x end function equal priority identity x end identity equal priority false equal priority untagged zero equal priority untagged one equal priority untagged two equal priority untagged three equal priority untagged four equal priority untagged five equal priority untagged six equal priority untagged seven equal priority untagged eight equal priority untagged nine equal priority zero equal priority one equal priority two equal priority three equal priority four equal priority five equal priority six equal priority seven equal priority eight equal priority nine equal priority var a equal priority var b equal priority var c equal priority var d equal priority var e equal priority var f equal priority var g equal priority var h equal priority var i equal priority var j equal priority var k equal priority var l equal priority var m equal priority var n equal priority var o equal priority var p equal priority var q equal priority var r equal priority var s equal priority var t equal priority var u equal priority var v equal priority var w equal priority tagged parenthesis x end tagged equal priority tagged if x then x else x end if equal priority array x is x end array equal priority left equal priority center equal priority right equal priority empty equal priority substitute x set x to x end substitute equal priority map tag x end tag equal priority raw map untag x end untag equal priority map untag x end untag equal priority normalizing untag x end untag equal priority apply x to x end apply equal priority apply one x to x end apply equal priority identifier x end identifier equal priority identifier one x plus id x end identifier equal priority array plus x and x end plus equal priority array remove x array x level x end remove equal priority array put x value x array x level x end put equal priority array add x value x index x value x level x end add equal priority bit x of x end bit equal priority bit one x of x end bit equal priority example rack equal priority vector hook equal priority bibliography hook equal priority dictionary hook equal priority body hook equal priority codex hook equal priority expansion hook equal priority code hook equal priority cache hook equal priority diagnose hook equal priority pyk aspect equal priority tex aspect equal priority texname aspect equal priority value aspect equal priority message aspect equal priority macro aspect equal priority definition aspect equal priority unpack aspect equal priority claim aspect equal priority priority aspect equal priority lambda identifier equal priority apply identifier equal priority true identifier equal priority if identifier equal priority quote identifier equal priority proclaim identifier equal priority define identifier equal priority introduce identifier equal priority hide identifier equal priority pre identifier equal priority post identifier equal priority eval x stack x cache x end eval equal priority eval two x ref x id x stack x cache x end eval equal priority eval three x function x stack x cache x end eval equal priority eval four x arguments x stack x cache x end eval equal priority lookup x stack x default x end lookup equal priority abstract x term x stack x cache x end abstract equal priority quote x end quote equal priority expand x state x cache x end expand equal priority expand two x definition x state x cache x end expand equal priority expand list x state x cache x end expand equal priority macro equal priority macro state equal priority zip x with x end zip equal priority assoc one x address x index x end assoc equal priority protect x end protect equal priority self equal priority macro define x as x end define equal priority value define x as x end define equal priority intro define x as x end define equal priority pyk define x as x end define equal priority tex define x as x end define equal priority tex name define x as x end define equal priority priority table x end table equal priority macro define one equal priority macro define two x end define equal priority macro define three x end define equal priority macro define four x state x cache x definition x end define equal priority state expand x state x cache x end expand equal priority quote expand x term x stack x end expand equal priority quote expand two x term x stack x end expand equal priority quote expand three x term x stack x value x end expand equal priority quote expand star x term x stack x end expand equal priority parenthesis x end parenthesis equal priority big parenthesis x end parenthesis equal priority display x end display equal priority statement x end statement equal priority spying test x end test equal priority false spying test x end test equal priority aspect x subcodex x end aspect equal priority aspect x term x cache x end aspect equal priority tuple x end tuple equal priority tuple one x end tuple equal priority tuple two x end tuple equal priority let two x apply x end let equal priority let one x apply x end let equal priority claim define x as x end define equal priority checker equal priority check x cache x end check equal priority check two x cache x def x end check equal priority check three x cache x def x end check equal priority check list x cache x end check equal priority check list two x cache x value x end check equal priority test x end test equal priority false test x end test equal priority raw test x end test equal priority message equal priority message define x as x end define equal priority the statement aspect equal priority statement equal priority statement define x as x end define equal priority example axiom equal priority example scheme equal priority example rule equal priority absurdity equal priority contraexample equal priority example theory primed equal priority example lemma equal priority metavar x end metavar equal priority meta a equal priority meta b equal priority meta c equal priority meta d equal priority meta e equal priority meta f equal priority meta g equal priority meta h equal priority meta i equal priority meta j equal priority meta k equal priority meta l equal priority meta m equal priority meta n equal priority meta o equal priority meta p equal priority meta q equal priority meta r equal priority meta s equal priority meta t equal priority meta u equal priority meta v equal priority meta w equal priority meta x equal priority meta y equal priority meta z equal priority sub x set x to x end sub equal priority sub star x set x to x end sub equal priority the empty set equal priority example remainder equal priority make visible x end visible equal priority intro x index x pyk x tex x end intro equal priority intro x pyk x tex x end intro equal priority error x term x end error equal priority error two x term x end error equal priority proof x term x cache x end proof equal priority proof two x term x end proof equal priority sequent eval x term x end eval equal priority seqeval init x term x end eval equal priority seqeval modus x term x end eval equal priority seqeval modus one x term x sequent x end eval equal priority seqeval verify x term x end eval equal priority seqeval verify one x term x sequent x end eval equal priority sequent eval plus x term x end eval equal priority seqeval plus one x term x sequent x end eval equal priority seqeval minus x term x end eval equal priority seqeval minus one x term x sequent x end eval equal priority seqeval deref x term x end eval equal priority seqeval deref one x term x sequent x end eval equal priority seqeval deref two x term x sequent x def x end eval equal priority seqeval at x term x end eval equal priority seqeval at one x term x sequent x end eval equal priority seqeval infer x term x end eval equal priority seqeval infer one x term x premise x sequent x end eval equal priority seqeval endorse x term x end eval equal priority seqeval endorse one x term x side x sequent x end eval equal priority seqeval est x term x end eval equal priority seqeval est one x term x name x sequent x end eval equal priority seqeval est two x term x name x sequent x def x end eval equal priority seqeval all x term x end eval equal priority seqeval all one x term x variable x sequent x end eval equal priority seqeval cut x term x end eval equal priority seqeval cut one x term x forerunner x end eval equal priority seqeval cut two x term x forerunner x sequent x end eval equal priority computably true x end true equal priority claims x cache x ref x end claims equal priority claims two x cache x ref x end claims equal priority the proof aspect equal priority proof equal priority lemma x says x end lemma equal priority proof of x reads x end proof equal priority in theory x lemma x says x end lemma equal priority in theory x antilemma x says x end antilemma equal priority in theory x rule x says x end rule equal priority in theory x antirule x says x end antirule equal priority verifier equal priority verify one x end verify equal priority verify two x proofs x end verify equal priority verify three x ref x sequents x diagnose x end verify equal priority verify four x premises x end verify equal priority verify five x ref x array x sequents x end verify equal priority verify six x ref x list x sequents x end verify equal priority verify seven x ref x id x sequents x end verify equal priority cut x and x end cut equal priority head x end head equal priority tail x end tail equal priority rule one x theory x end rule equal priority rule x subcodex x end rule equal priority rule tactic equal priority plus x and x end plus equal priority theory x end theory equal priority theory two x cache x end theory equal priority theory three x name x end theory equal priority theory four x name x sum x end theory equal priority example axiom lemma primed equal priority example scheme lemma primed equal priority example rule lemma primed equal priority contraexample lemma primed equal priority example axiom lemma equal priority example scheme lemma equal priority example rule lemma equal priority contraexample lemma equal priority example theory equal priority ragged right equal priority ragged right expansion equal priority parameter term x stack x seed x end parameter equal priority parameter term star x stack x seed x end parameter equal priority instantiate x with x end instantiate equal priority instantiate star x with x end instantiate equal priority occur x in x substitution x end occur equal priority occur star x in x substitution x end occur equal priority unify x with x substitution x end unify equal priority unify star x with x substitution x end unify equal priority unify two x with x substitution x end unify equal priority ell a equal priority ell b equal priority ell c equal priority ell d equal priority ell e equal priority ell f equal priority ell g equal priority ell h equal priority ell i equal priority ell j equal priority ell k equal priority ell l equal priority ell m equal priority ell n equal priority ell o equal priority ell p equal priority ell q equal priority ell r equal priority ell s equal priority ell t equal priority ell u equal priority ell v equal priority ell w equal priority ell x equal priority ell y equal priority ell z equal priority ell big a equal priority ell big b equal priority ell big c equal priority ell big d equal priority ell big e equal priority ell big f equal priority ell big g equal priority ell big h equal priority ell big i equal priority ell big j equal priority ell big k equal priority ell big l equal priority ell big m equal priority ell big n equal priority ell big o equal priority ell big p equal priority ell big q equal priority ell big r equal priority ell big s equal priority ell big t equal priority ell big u equal priority ell big v equal priority ell big w equal priority ell big x equal priority ell big y equal priority ell big z equal priority ell dummy equal priority sequent reflexivity equal priority tactic reflexivity equal priority sequent commutativity equal priority tactic commutativity equal priority the tactic aspect equal priority tactic equal priority tactic define x as x end define equal priority proof expand x state x cache x end expand equal priority proof expand list x state x cache x end expand equal priority proof state equal priority conclude one x cache x end conclude equal priority conclude two x proves x cache x end conclude equal priority conclude three x proves x lemma x substitution x end conclude equal priority conclude four x lemma x end conclude equal priority check equal priority general macro define x as x end define equal priority make root visible x end visible equal priority sequent example axiom equal priority sequent example rule equal priority sequent example contradiction equal priority sequent example theory equal priority sequent example lemma equal priority set x end set equal priority object var x end var equal priority object a equal priority object b equal priority object c equal priority object d equal priority object e equal priority object f equal priority object g equal priority object h equal priority object i equal priority object j equal priority object k equal priority object l equal priority object m equal priority object n equal priority object o equal priority object p equal priority object q equal priority object r equal priority object s equal priority object t equal priority object u equal priority object v equal priority object w equal priority object x equal priority object y equal priority object z equal priority sub x is x where x is x end sub equal priority sub zero x is x where x is x end sub equal priority sub one x is x where x is x end sub equal priority sub star x is x where x is x end sub equal priority deduction x conclude x end deduction equal priority deduction zero x conclude x end deduction equal priority deduction one x conclude x condition x end deduction equal priority deduction two x conclude x condition x end deduction equal priority deduction three x conclude x condition x bound x end deduction equal priority deduction four x conclude x condition x bound x end deduction equal priority deduction four star x conclude x condition x bound x end deduction equal priority deduction five x condition x bound x end deduction equal priority deduction six x conclude x exception x bound x end deduction equal priority deduction six star x conclude x exception x bound x end deduction equal priority deduction seven x end deduction equal priority deduction eight x bound x end deduction equal priority deduction eight star x bound x end deduction equal priority system s equal priority double negation equal priority rule mp equal priority rule gen equal priority deduction equal priority axiom s one equal priority axiom s two equal priority axiom s three equal priority axiom s four equal priority axiom s five equal priority axiom s six equal priority axiom s seven equal priority axiom s eight equal priority axiom s nine equal priority repetition equal priority lemma a one equal priority lemma a two equal priority lemma a four equal priority lemma a five equal priority prop three two a equal priority prop three two b equal priority prop three two c equal priority prop three two d equal priority prop three two e one equal priority prop three two e two equal priority prop three two e equal priority prop three two f one equal priority prop three two f two equal priority prop three two f equal priority prop three two g one equal priority prop three two g two equal priority prop three two g equal priority prop three two h one equal priority prop three two h two equal priority prop three two h equal priority block one x state x cache x end block equal priority block two x end block equal priority cdots equal priority object-var equal priority ex-var equal priority ph-var equal priority vaerdi equal priority variabel equal priority op x end op equal priority op2 x comma x end op2 equal priority define-equal x comma x end equal equal priority contains-empty x end empty equal priority 1deduction x conclude x end 1deduction equal priority 1deduction zero x conclude x end 1deduction equal priority 1deduction side x conclude x condition x end 1deduction equal priority 1deduction one x conclude x condition x end 1deduction equal priority 1deduction two x conclude x condition x end 1deduction equal priority 1deduction three x conclude x condition x bound x end 1deduction equal priority 1deduction four x conclude x condition x bound x end 1deduction equal priority 1deduction four star x conclude x condition x bound x end 1deduction equal priority 1deduction five x condition x bound x end 1deduction equal priority 1deduction six x conclude x exception x bound x end 1deduction equal priority 1deduction six star x conclude x exception x bound x end 1deduction equal priority 1deduction seven x end 1deduction equal priority 1deduction eight x bound x end 1deduction equal priority 1deduction eight star x bound x end 1deduction equal priority ex1 equal priority ex2 equal priority ex10 equal priority ex20 equal priority existential var x end var equal priority x is existential var equal priority exist-sub x is x where x is x end sub equal priority exist-sub0 x is x where x is x end sub equal priority exist-sub1 x is x where x is x end sub equal priority exist-sub* x is x where x is x end sub equal priority placeholder-var1 equal priority placeholder-var2 equal priority placeholder-var3 equal priority placeholder-var x end var equal priority x is placeholder-var equal priority ph-sub x is x where x is x end sub equal priority ph-sub0 x is x where x is x end sub equal priority ph-sub1 x is x where x is x end sub equal priority ph-sub* x is x where x is x end sub equal priority var big set equal priority object big set equal priority meta big set equal priority zermelo empty set equal priority system zf equal priority 1rule mp equal priority 1rule gen equal priority 1rule repetition equal priority 1rule ad absurdum equal priority 1rule deduction equal priority 1rule exist intro equal priority axiom extensionality equal priority axiom empty set equal priority axiom pair definition equal priority axiom union definition equal priority axiom power definition equal priority axiom separation definition equal priority cheating axiom all disjoint equal priority prop lemma add double neg equal priority prop lemma remove double neg equal priority prop lemma and commutativity equal priority prop lemma auto imply equal priority prop lemma contrapositive equal priority prop lemma first conjunct equal priority prop lemma second conjunct equal priority prop lemma from contradiction equal priority prop lemma from disjuncts equal priority prop lemma iff commutativity equal priority prop lemma iff first equal priority prop lemma iff second equal priority prop lemma imply transitivity equal priority prop lemma join conjuncts equal priority prop lemma mp2 equal priority prop lemma mp3 equal priority prop lemma mp4 equal priority prop lemma mp5 equal priority prop lemma mt equal priority prop lemma negative mt equal priority prop lemma technicality equal priority prop lemma weakening equal priority prop lemma weaken or first equal priority prop lemma weaken or second equal priority lemma formula2pair equal priority lemma pair2formula equal priority lemma formula2union equal priority lemma union2formula equal priority lemma formula2separation equal priority lemma separation2formula equal priority lemma subset in power set equal priority lemma power set is subset0 equal priority lemma power set is subset equal priority lemma power set is subset0-switch equal priority lemma power set is subset-switch equal priority lemma set equality suff condition equal priority lemma set equality suff condition(t)0 equal priority lemma set equality suff condition(t) equal priority lemma set equality skip quantifier equal priority lemma set equality nec condition equal priority lemma reflexivity0 equal priority lemma reflexivity equal priority lemma symmetry0 equal priority lemma symmetry equal priority lemma transitivity0 equal priority lemma transitivity equal priority lemma er is reflexive equal priority lemma er is symmetric equal priority lemma er is transitive equal priority lemma empty set is subset equal priority lemma member not empty0 equal priority lemma member not empty equal priority lemma unique empty set0 equal priority lemma unique empty set equal priority lemma =reflexivity equal priority lemma =symmetry equal priority lemma =transitivity0 equal priority lemma =transitivity equal priority lemma transfer ~is0 equal priority lemma transfer ~is equal priority lemma pair subset0 equal priority lemma pair subset1 equal priority lemma pair subset equal priority lemma same pair equal priority lemma same singleton equal priority lemma union subset equal priority lemma same union equal priority lemma separation subset equal priority lemma same separation equal priority lemma same binary union equal priority lemma intersection subset equal priority lemma same intersection equal priority lemma auto member equal priority lemma eq-system not empty0 equal priority lemma eq-system not empty equal priority lemma eq subset0 equal priority lemma eq subset equal priority lemma equivalence nec condition0 equal priority lemma equivalence nec condition equal priority lemma none-equivalence nec condition0 equal priority lemma none-equivalence nec condition1 equal priority lemma none-equivalence nec condition equal priority lemma equivalence class is subset equal priority lemma equivalence classes are disjoint equal priority lemma all disjoint equal priority lemma all disjoint-imply equal priority lemma bs subset union(bs/r) equal priority lemma union(bs/r) subset bs equal priority lemma union(bs/r) is bs equal priority theorem eq-system is partition end priority greater than preassociative priority x sub x end sub equal priority x intro x index x pyk x tex x end intro equal priority x intro x pyk x tex x end intro equal priority x intro x index x pyk x tex x name x end intro equal priority x intro x pyk x tex x name x end intro equal priority x prime equal priority x assoc x end assoc equal priority x set x to x end set equal priority x set multi x to x end set equal priority x bit nil equal priority x bit one equal priority binary equal priority x color x end color equal priority x color star x end color equal priority x raw head equal priority x raw tail equal priority x cardinal untag equal priority x head equal priority x tail equal priority x is singular equal priority x is cardinal equal priority x is data equal priority x is atomic equal priority x cardinal retract equal priority x tagged retract equal priority x boolean retract equal priority x ref equal priority x id equal priority x debug equal priority x root equal priority x zeroth equal priority x first equal priority x second equal priority x third equal priority x fourth equal priority x fifth equal priority x sixth equal priority x seventh equal priority x eighth equal priority x ninth equal priority x is error equal priority x is metavar equal priority x is metaclosed equal priority x is metaclosed star equal priority x hide end priority greater than preassociative priority unicode start of text x end unicode text equal priority unicode end of text equal priority text x end text equal priority text x plus x equal priority text x plus indent x equal priority unicode newline x equal priority unicode space x equal priority unicode exclamation mark x equal priority unicode quotation mark x equal priority unicode number sign x equal priority unicode dollar sign x equal priority unicode percent x equal priority unicode ampersand x equal priority unicode apostrophe x equal priority unicode left parenthesis x equal priority unicode right parenthesis x equal priority unicode asterisk x equal priority unicode plus sign x equal priority unicode comma x equal priority unicode hyphen x equal priority unicode period x equal priority unicode slash x equal priority unicode zero x equal priority unicode one x equal priority unicode two x equal priority unicode three x equal priority unicode four x equal priority unicode five x equal priority unicode six x equal priority unicode seven x equal priority unicode eight x equal priority unicode nine x equal priority unicode colon x equal priority unicode semicolon x equal priority unicode less than x equal priority unicode equal sign x equal priority unicode greater than x equal priority unicode question mark x equal priority unicode commercial at x equal priority unicode capital a x equal priority unicode capital b x equal priority unicode capital c x equal priority unicode capital d x equal priority unicode capital e x equal priority unicode capital f x equal priority unicode capital g x equal priority unicode capital h x equal priority unicode capital i x equal priority unicode capital j x equal priority unicode capital k x equal priority unicode capital l x equal priority unicode capital m x equal priority unicode capital n x equal priority unicode capital o x equal priority unicode capital p x equal priority unicode capital q x equal priority unicode capital r x equal priority unicode capital s x equal priority unicode capital t x equal priority unicode capital u x equal priority unicode capital v x equal priority unicode capital w x equal priority unicode capital x x equal priority unicode capital y x equal priority unicode capital z x equal priority unicode left bracket x equal priority unicode backslash x equal priority unicode right bracket x equal priority unicode circumflex x equal priority unicode underscore x equal priority unicode grave accent x equal priority unicode small a x equal priority unicode small b x equal priority unicode small c x equal priority unicode small d x equal priority unicode small e x equal priority unicode small f x equal priority unicode small g x equal priority unicode small h x equal priority unicode small i x equal priority unicode small j x equal priority unicode small k x equal priority unicode small l x equal priority unicode small m x equal priority unicode small n x equal priority unicode small o x equal priority unicode small p x equal priority unicode small q x equal priority unicode small r x equal priority unicode small s x equal priority unicode small t x equal priority unicode small u x equal priority unicode small v x equal priority unicode small w x equal priority unicode small x x equal priority unicode small y x equal priority unicode small z x equal priority unicode left brace x equal priority unicode vertical line x equal priority unicode right brace x equal priority unicode tilde x equal priority preassociative x greater than x equal priority postassociative x greater than x equal priority priority x equal x equal priority priority x end priority equal priority newline x equal priority macro newline x equal priority macro indent x end priority greater than preassociative priority x apply x equal priority x tagged apply x end priority greater than preassociative priority x suc end priority greater than preassociative priority eq-system of x modulo x equal priority intersection x comma x end intersection end priority greater than preassociative priority union x end union equal priority binary-union x comma x end union equal priority power x end power end priority greater than preassociative priority zermelo singleton x end singleton end priority greater than preassociative priority zermelo pair x comma x end pair equal priority zermelo ordered pair x comma x end pair end priority greater than preassociative priority x zermelo in x equal priority x is related to x under x equal priority x is reflexive relation in x equal priority x is symmetric relation in x equal priority x is transitive relation in x equal priority x is equivalence relation in x equal priority equivalence class of x in x modulo x equal priority x is partition of x end priority greater than preassociative priority x times x equal priority x times zero x end priority greater than preassociative priority x plus x equal priority x plus zero x equal priority x plus one x equal priority x minus x equal priority x minus zero x equal priority x minus one x end priority greater than preassociative priority x term plus x end plus equal priority x term union x equal priority x term minus x end minus end priority greater than postassociative priority x raw pair x equal priority x eager pair x equal priority x tagged pair x equal priority x untagged double x equal priority x pair x equal priority x double x end priority greater than postassociative priority x comma x end priority greater than preassociative priority x boolean equal x equal priority x data equal x equal priority x cardinal equal x equal priority x peano equal x equal priority x tagged equal x equal priority x math equal x equal priority x reduce to x equal priority x term equal x equal priority x term list equal x equal priority x term root equal x equal priority x term in x equal priority x term subset x equal priority x term set equal x equal priority x sequent equal x equal priority x free in x equal priority x free in star x equal priority x free for x in x equal priority x free for star x in x equal priority x claim in x equal priority x less x equal priority x less zero x equal priority x less one x equal priority x equal x equal priority x unequal x equal priority x is object var equal priority x avoid zero x equal priority x avoid one x equal priority x avoid star x equal priority x zermelo is x equal priority x is subset of x end priority greater than preassociative priority not x equal priority not0 x equal priority x zermelo ~in x equal priority x zermelo ~is x end priority greater than preassociative priority x and x equal priority x macro and x equal priority x simple and x equal priority x claim and x equal priority x and0 x end priority greater than preassociative priority x or x equal priority x parallel x equal priority x macro or x equal priority x or0 x end priority greater than preassociative priority exist x indeed x equal priority for all x indeed x equal priority for all objects x indeed x end priority greater than postassociative priority x macro imply x equal priority x imply x equal priority x if and only if x equal priority x iff x end priority greater than preassociative priority the set of ph in x such that x end set end priority greater than postassociative priority x guard x equal priority x spy x equal priority x tagged guard x end priority greater than preassociative priority x select x else x end select end priority greater than preassociative priority lambda x dot x equal priority tagged lambda x dot x equal priority tagging x equal priority open if x then x else x equal priority let x be x in x equal priority let x abbreviate x in x end priority greater than preassociative priority x avoid x end priority greater than preassociative priority x init equal priority x modus equal priority x verify equal priority x curry plus equal priority x curry minus equal priority x dereference end priority greater than preassociative priority x at x equal priority x modus ponens x equal priority x modus probans x equal priority x conclude x equal priority x object modus ponens x end priority greater than postassociative priority x infer x equal priority x endorse x equal priority x id est x end priority greater than preassociative priority all x indeed x equal priority for all terms x indeed x end priority greater than postassociative priority x rule plus x end priority greater than postassociative priority x cut x end priority greater than preassociative priority x proves x end priority greater than preassociative priority x proof of x reads x equal priority line x because x indeed x end line x equal priority because x indeed x qed equal priority line x premise x end line x equal priority line x side condition x end line x equal priority arbitrary x end line x equal priority locally define x as x end line x equal priority block x line x end block x equal priority because x indeed x end line equal priority any term x end line x end priority greater than postassociative priority x alternative x end priority greater than postassociative priority x , x equal priority x [ x ] x end priority greater than preassociative priority x tab x end priority greater than preassociative priority x row x equal priority x linebreak x equal priority x safe row x end priority greater than unicode end of text end table end math end left ] "

\section{\TeX{} definitioner} \label{sec:tex}

\begin{list}{}{
\setlength{\leftmargin}{0em}
\setlength{\itemindent}{0em}
\setlength{\itemsep}{1ex}}

\item " [ math tex define equivalence-relations as "EquivalenceRelations" end define end math ] "

\item " [ math tex define cdots as "(\cdots{})" end define end math ] "

\item " [ math tex define object-var as "\texttt{Objekt-var}" end define end math ] "

\item " [ math tex define ex-var as "\texttt{Ex-var}" end define end math ] "

\item " [ math tex define ph-var as "\texttt{Ph-var}" end define end math ] "

\item " [ math tex define vaerdi as "\texttt{V\ae{}rdi}" end define end math ] "

\item " [ math tex define variabel as "\texttt{Variabel}" end define end math ] "

\item " [ math tex define op var x end op as "Op(#1.
)" end define end math ] "

\item " [ math tex define op2 var x comma var y end op2 as "Op(#1.
,#2.
)" end define end math ] "

\item " [ math tex define define-equal var x comma var y end equal as "#1.
\mathrel {\ddot {=}} #2." end define end math ] "

\item " [ math tex define contains-empty var x end empty as "ContainsEmpty(#1.
)" end define end math ] "

" [ math tex define 1deduction var x conclude var y end 1deduction as "
Dedu(#1.
,#2.
)" end define end math ] "

" [ math tex define 1deduction zero var x conclude var y end 1deduction as "
Dedu_0(#1.
,#2.
)" end define end math ] "

" [ math tex define 1deduction side var x conclude var y condition var z end 1deduction as "Dedu_{s}(#1.
,#2.
,#3.
)" end define end math ] "

" [ math tex define 1deduction one var x conclude var y condition var z end 1deduction as "
Dedu_1(#1.
,#2.
,#3.
)" end define end math ] "

" [ math tex define 1deduction two var x conclude var y condition var z end 1deduction as "
Dedu_2(#1.
,#2.
,#3.
)" end define end math ] "

" [ math tex define 1deduction three var x conclude var y condition var z bound var u end 1deduction as "
Dedu_3(#1.
,#2.
,#3.
,#4.
)" end define end math ] "

" [ math tex define 1deduction four var x conclude var y condition var z bound var u end 1deduction as "
Dedu_4(#1.
,#2.
,#3.
,#4.
)" end define end math ] "

" [ math tex define 1deduction four star var x conclude var y condition var z bound var u end 1deduction as "
Dedu_4^*(#1.
,#2.
,#3.
,#4.
)" end define end math ] "

" [ math tex define 1deduction five var x condition var y bound var z end 1deduction as "
Dedu_5(#1.
,#2.
,#3.
)" end define end math ] "

" [ math tex define 1deduction six var p conclude var c exception var e bound var b end 1deduction as "
Dedu_6(#1.
,#2.
,#3.
,#4.
)" end define end math ] "

" [ math tex define 1deduction six star var p conclude var c exception var e bound var b end 1deduction as "
Dedu_6^*(#1.
,#2.
,#3.
,#4.
)" end define end math ] "

" [ math tex define 1deduction seven var p end 1deduction as "
Dedu_7(#1.
)" end define end math ] "

" [ math tex define 1deduction eight var p bound var b end 1deduction as "
Dedu_8(#1.
,#2.
)" end define end math ] "

" [ math tex define 1deduction eight star var p bound var b end 1deduction as "
Dedu_8^*(#1.
,#2.
)" end define end math ] "

\item " [ math tex define ex1 as "Ex_{1}" end define end math ] "

\item " [ math tex define ex2 as "Ex_{2}" end define end math ] "

\item " [ math tex define ex10 as "Ex_{10}" end define end math ] "

\item " [ math tex define ex20 as "Ex_{20}" end define end math ] "

\item " [ math tex define existential var var x end var as "#1.
_{Ex}" end define end math ] "

\item " [ math tex define var x is existential var as "#1.
^{Ex}" end define end math ] "

" [ math tex define exist-sub var x is var y where var z is var u end sub as "\langle #1.
{\equiv} #2.
| #3.
{:=} #4.
\rangle_{Ex} " end define end math ] "

" [ math tex define exist-sub0 var x is var y where var z is var u end sub as "\langle #1.
{\equiv}^0 #2.
| #3.
{:=} #4.
\rangle_{Ex} " end define end math ] "

" [ math tex define exist-sub1 var x is var y where var z is var u end sub as "\langle #1.
{\equiv}^1 #2.
| #3.
{:=} #4.
\rangle_{Ex} " end define end math ] "

" [ math tex define exist-sub* var x is var y where var z is var u end sub as "\langle #1.
{\equiv}^* #2.
| #3.
{:=} #4.
\rangle_{Ex} " end define end math ] "

\item " [ math tex define placeholder-var1 as "ph_{1}" end define end math ] "

\item " [ math tex define placeholder-var2 as "ph_{2}" end define end math ] "

\item " [ math tex define placeholder-var3 as "ph_{3}" end define end math ] "

\item " [ math tex define placeholder-var var x end var as "#1.
_{Ph} " end define end math ] "

\item " [ math tex define var x is placeholder-var as "#1.
^{Ph}" end define end math ] "

" [ math tex define ph-sub var x is var y where var z is var u end sub as "\langle #1.
{\equiv} #2.
| #3.
{:=} #4.
\rangle_{Ph} " end define end math ] "

" [ math tex define ph-sub0 var x is var y where var z is var u end sub as "\langle #1.
{\equiv}^0 #2.
| #3.
{:=} #4.
\rangle_{Ph} " end define end math ] "

" [ math tex define ph-sub1 var x is var y where var z is var u end sub as "\langle #1.
{\equiv}^1 #2.
| #3.
{:=} #4.
\rangle_{Ph} " end define end math ] "

" [ math tex define ph-sub* var x is var y where var z is var u end sub as "\langle #1.
{\equiv}^* #2.
| #3.
{:=} #4.
\rangle_{Ph} " end define end math ] "

\item " [ math tex define var big set as "\mathsf {bs}" end define end math ] "
\item " [ math tex define object big set as " \mathsf {OBS}" end define end math ] "


" [ math tex define meta big set as "{\cal BS}" end define end math ] "

\item " [ math tex define zermelo empty set as "\mathrm{\O}" end define end math ] "

\item " [ math tex define system zf as "ZFsub" end define end math ] "

\item " [ math tex define 1rule mp as "MP" end define end math ] "
\item " [ math tex define 1rule gen as "Gen" end define end math ] "
\item " [ math tex define 1rule repetition as "Repetition" end define end math ] "
\item " [ math tex define 1rule ad absurdum as "Neg" end define end math ] "
\item " [ math tex define 1rule deduction as "Ded" end define end math ] "
\item " [ math tex define 1rule exist intro as "ExistIntro" end define end math ] "



\item " [ math tex define axiom extensionality as "Extensionality" end define end math ] "
\item " [ math tex define axiom empty set as "\O{}def" end define end math ] "
\item " [ math tex define axiom pair definition as "PairDef" end define end math ] "
\item " [ math tex define axiom union definition as "UnionDef" end define end math ] "
\item " [ math tex define axiom power definition as "PowerDef" end define end math ] "
\item " [ math tex define axiom separation definition as "SeparationDef" end define end math ] "
\item " [ math tex define cheating axiom all disjoint as "CheatAllDisjoint" end define end math ] "

\item " [ math tex define prop lemma add double neg as "AddDoubleNeg" end define end math ] "
\item " [ math tex define prop lemma remove double neg as "RemoveDoubleNeg" end define end math ] "
\item " [ math tex define prop lemma and commutativity as "AndCommutativity" end define end math ] "
\item " [ math tex define prop lemma auto imply as "AutoImply" end define end math ] "
\item " [ math tex define prop lemma contrapositive as "Contrapositive" end define end math ] "
\item " [ math tex define prop lemma first conjunct as "FirstConjunct" end define end math ] "
\item " [ math tex define prop lemma second conjunct as "SecondConjunct" end define end math ] "
\item " [ math tex define prop lemma from contradiction as "FromContradiction" end define end math ] "
\item " [ math tex define prop lemma from disjuncts as "FromDisjuncts" end define end math ] "
\item " [ math tex define prop lemma iff commutativity as "IffCommutativity" end define end math ] "
\item " [ math tex define prop lemma iff first as "IffFirst" end define end math ] "

\item " [ math tex define prop lemma iff second as "IffSecond" end define end math ] "
\item " [ math tex define prop lemma imply transitivity as "ImplyTransitivity" end define end math ] "



\item " [ math tex define prop lemma join conjuncts as "JoinConjuncts" end define end math ] "

\item " [ math tex define prop lemma mp2 as "MP2" end define end math ] "

\item " [ math tex define prop lemma mp3 as "MP3" end define end math ] "

\item " [ math tex define prop lemma mp4 as "MP4" end define end math ] "

\item " [ math tex define prop lemma mp5 as "MP5" end define end math ] "
\item " [ math tex define prop lemma mt as "MT" end define end math ] "

\item " [ math tex define prop lemma negative mt as "NegativeMT" end define end math ] "
\item " [ math tex define prop lemma technicality as "Technicality" end define end math ] "


\item " [ math tex define prop lemma weakening as "Weakening" end define end math ] "

\item " [ math tex define prop lemma weaken or first as "WeakenOr1" end define end math ] "

\item " [ math tex define prop lemma weaken or second as "WeakenOr2" end define end math ] "

\item " [ math tex define lemma pair2formula as "Pair2Formula" end define end math ] "

\item " [ math tex define lemma formula2pair as "Formula2Pair" end define end math ] "

\item " [ math tex define lemma union2formula as "Union2Formula" end define end math ] "

\item " [ math tex define lemma formula2union as "Formula2Union" end define end math ] "

\item " [ math tex define lemma separation2formula as "Sep2Formula" end define end math ] "

\item " [ math tex define lemma formula2separation as "Formula2Sep" end define end math ] "

\item " [ math tex define lemma subset in power set as "SubsetInPower" end define end math ] "

\item " [ math tex define lemma power set is subset0 as "HelperPowerIsSub" end define end math ] "

\item " [ math tex define lemma power set is subset as "PowerIsSub" end define end math ] "

\item " [ math tex define lemma power set is subset0-switch as "(Switch)HelperPowerIsSub" end define end math ] "

\item " [ math tex define lemma power set is subset-switch as "(Switch)PowerIsSub" end define end math ] "

\item " [ math tex define lemma set equality suff condition as "ToSetEquality" end define end math ] "

\item " [ math tex define lemma set equality suff condition(t)0 as "HelperToSetEquality(t)" end define end math ] "

\item " [ math tex define lemma set equality suff condition(t) as "ToSetEquality(t)" end define end math ] "

\item " [ math tex define lemma set equality skip quantifier as "HelperFromSetEquality" end define end math ] "

\item " [ math tex define lemma set equality nec condition as "FromSetEquality" end define end math ] "

\item " [ math tex define lemma reflexivity0 as "HelperReflexivity" end define end math ] "

\item " [ math tex define lemma reflexivity as "Reflexivity" end define end math ] "

\item " [ math tex define lemma symmetry0 as "HelperSymmetry" end define end math ] "

\item " [ math tex define lemma symmetry as "Symmetry" end define end math ] "

\item " [ math tex define lemma transitivity0 as "HelperTransitivity" end define end math ] "

\item " [ math tex define lemma transitivity as "Transitivity" end define end math ] ",

\item " [ math tex define lemma er is reflexive as "ERisReflexive" end define end math ] "

\item " [ math tex define lemma er is symmetric as "ERisSymmetric" end define end math ] "

\item " [ math tex define lemma er is transitive as "ERisTransitive" end define end math ] "

\item " [ math tex define lemma empty set is subset as "\O{}isSubset" end define end math ] "

\item " [ math tex define lemma member not empty0 as "HelperMemberNot\O{}" end define end math ] "

\item " [ math tex define lemma member not empty as "MemberNot\O{}" end define end math ] "

\item " [ math tex define lemma unique empty set0 as "HelperUnique\O{}" end define end math ] "

\item " [ math tex define lemma unique empty set as "Unique\O{}" end define end math ] "

\item " [ math tex define lemma =reflexivity as "=\!{}Reflexivity" end define end math ] "

\item " [ math tex define lemma =symmetry as "=\!{}Symmetry" end define end math ] "

\item " [ math tex define lemma =transitivity0 as "Helper\!{}=\!{}Transitivity" end define end math ] "

\item " [ math tex define lemma =transitivity as "\!{}=\!{}Transitivity" end define end math ] "

\item " [ math tex define lemma transfer ~is0 as "HelperTransferNotEq" end define end math ] "

\item " [ math tex define lemma transfer ~is as "TransferNotEq" end define end math ] "

\item " [ math tex define lemma pair subset0 as "HelperPairSubset" end define end math ] "

\item " [ math tex define lemma pair subset1 as "Helper(2)PairSubset" end define end math ] "

\item " [ math tex define lemma pair subset as "PairSubset" end define end math ] "

\item " [ math tex define lemma same pair as "SamePair" end define end math ] "

\item " [ math tex define lemma same singleton as "SameSingleton" end define end math ] "


\item " [ math tex define lemma union subset as "UnionSubset" end define end math ] "

\item " [ math tex define lemma same union as "SameUnion" end define end math ] "



\item " [ math tex define lemma separation subset as "SeparationSubset" end define end math ] "

\item " [ math tex define lemma same separation as "SameSeparation" end define end math ] "

\item " [ math tex define lemma same binary union as "SameBinaryUnion" end define end math ] "

\item " [ math tex define lemma intersection subset as "IntersectionSubset" end define end math ] "

\item " [ math tex define lemma same intersection as "SameIntersection" end define end math ] "

\item " [ math tex define lemma auto member as "AutoMember" end define end math ] "

\item " [ math tex define lemma eq-system not empty0 as "HelperEqSysNot\O{}" end define end math ] "

\item " [ math tex define lemma eq-system not empty as "EqSysNot\O{}" end define end math ] "

\item " [ math tex define lemma eq subset0 as "HelperEqSubset" end define end math ] "

\item " [ math tex define lemma eq subset as "EqSubset" end define end math ] "

\item " [ math tex define lemma equivalence nec condition as "EqNecessary" end define end math ] "

\item " [ math tex define lemma equivalence nec condition0 as "HelperEqNecessary" end define end math ] "

\item " [ math tex define lemma none-equivalence nec condition0 as "HelperNoneEqNecessary" end define end math ] "

\item " [ math tex define lemma none-equivalence nec condition1 as "Helper(2)NoneEqNecessary" end define end math ] "

\item " [ math tex define lemma none-equivalence nec condition as "NoneEqNecessary" end define end math ] "

\item " [ math tex define lemma equivalence class is subset as "EqClassIsSubset" end define end math ] "

\item " [ math tex define lemma equivalence classes are disjoint as "EqClassesAreDisjoint" end define end math ] "


\item " [ math tex define lemma all disjoint as "AllDisjoint" end define end math ] "

\item " [ math tex define lemma all disjoint-imply as "AllDisjointImply" end define end math ] "

\item " [ math tex define lemma bs subset union(bs/r) as "BSsubset" end define end math ] "

\item " [ math tex define lemma union(bs/r) subset bs as "Union(BS/R)subset" end define end math ] "

\item " [ math tex define lemma union(bs/r) is bs as "UnionIdentity" end define end math ] "

\item " [ math tex define theorem eq-system is partition as "EqSysIsPartition" end define end math ] "

\item " [ math tex define eq-system of var x modulo var y as "#1.
/ #2." end define end math ] "

\item " [ math tex define intersection var x comma var y end intersection as "#1.
\cap #2." end define end math ] "

\item " [ math tex define union var x end union as "\cup #1." end define end math ] "

\item " [ math tex define binary-union var x comma var y end union as "#1.
\mathrel{\cup} #2." end define end math ] "

\item " [ math tex define power var x end power as "P(#1.
)" end define end math ] "

\item " [ math tex define zermelo singleton var x end singleton as "\{#1.
\}" end define end math ] "

\item " [ math tex define zermelo pair var x comma var y end pair as "\{#1.
,#2.
\}" end define end math ] "

\item " [ math tex define zermelo ordered pair var x comma var y end pair as "\langle #1.
,#2.
\rangle" end define end math ] ",

\item " [ math tex define var x zermelo in var y as "#1.
\mathrel{\in} #2." end define end math ] "

\item " [ math tex define var x is related to var y under var z as "#3.
(#1.
,#2.
)" end define end math ] "

\item " [ math tex define var r is reflexive relation in var x as "ReflRel(#1.
,#2.
)" end define end math ] "

\item " [ math tex define var r is symmetric relation in var x as "SymRel(#1.
,#2.
)" end define end math ] "

\item " [ math tex define var r is transitive relation in var x as "TransRel(#1.
,#2.
)" end define end math ] "


\item " [ math tex define var r is equivalence relation in var x as "EqRel(#1.
,#2.
)" end define end math ] "


\item " [ math tex define equivalence class of var x in var big set modulo var r as "[#1.
\mathrel{\in} #2.
]_{#3.
}" end define end math ] "

\item " [ math tex define var x is partition of var y as "Partition(#1.
,#2.
)" end define end math ] "

\item " [ math tex define var x zermelo is var y as "#1.
\!\mathrel{=}\! #2." end define end math ] "

\item " [ math tex define var x is subset of var y as "#1.
\mathrel{\subseteq} #2." end define end math ] "

\item " [ math tex define not0 var x as "\dot{\neg}\, #1." end define end math ] "

\item " [ math tex define var x zermelo ~in var y as "#1.
\mathrel{\notin} #2." end define end math ] "

\item " [ math tex define var x zermelo ~is var y as "#1.
\mathrel{\neq} #2." end define end math ] "

\item " [ math tex define var x and0 var y as "#1.
\mathrel{\dot{\wedge}} #2." end define end math ] "

\item " [ math tex define var x or0 var y as "#1.
\mathrel{\dot{\vee}} #2." end define end math ] "

" [ math tex define var x iff var y as "#1.
\mathrel{\dot{\Leftrightarrow}} #2." end define end math ] "

\item " [ math tex define the set of ph in var x such that var a end set as " \{ ph \mathrel{\in} #1.
\mid #2.
\}" end define end math ] "

\end{list}

\end{document}

End of file
latex page
bibtex page
latex page
latex page
dvipdfm page"

The pyk compiler, version 0.grue.20060417+ by Klaus Grue,
GRD-2006-08-24.UTC:08:13:50.904458 = MJD-53971.TAI:08:14:23.904458 = LGT-4663124063904458e-6