\documentclass[12pt,titlepage]{article} \usepackage{amsmath} \usepackage{mathrsfs} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsthm} \usepackage{mathtools} \usepackage{graphicx} \usepackage{color} \usepackage{ucs} \usepackage[utf8x]{inputenc} \usepackage{xparse} \usepackage{hyperref} %----Macros---------- % % Unresolved issues: % % \righttoleftarrow % \lefttorightarrow % % \color{} with HTML colorspec % \bgcolor % \array with options (without options, it's equivalent to the matrix environment) % Of the standard HTML named colors, white, black, red, green, blue and yellow % are predefined in the color package. Here are the rest. \definecolor{aqua}{rgb}{0, 1.0, 1.0} \definecolor{fuschia}{rgb}{1.0, 0, 1.0} \definecolor{gray}{rgb}{0.502, 0.502, 0.502} \definecolor{lime}{rgb}{0, 1.0, 0} \definecolor{maroon}{rgb}{0.502, 0, 0} \definecolor{navy}{rgb}{0, 0, 0.502} \definecolor{olive}{rgb}{0.502, 0.502, 0} \definecolor{purple}{rgb}{0.502, 0, 0.502} \definecolor{silver}{rgb}{0.753, 0.753, 0.753} \definecolor{teal}{rgb}{0, 0.502, 0.502} % Because of conflicts, \space and \mathop are converted to % \itexspace and \operatorname during preprocessing. % itex: \space{ht}{dp}{wd} % % Height and baseline depth measurements are in units of tenths of an ex while % the width is measured in tenths of an em. \makeatletter \newdimen\itex@wd% \newdimen\itex@dp% \newdimen\itex@thd% \def\itexspace#1#2#3{\itex@wd=#3em% \itex@wd=0.1\itex@wd% \itex@dp=#2ex% \itex@dp=0.1\itex@dp% \itex@thd=#1ex% \itex@thd=0.1\itex@thd% \advance\itex@thd\the\itex@dp% \makebox[\the\itex@wd]{\rule[-\the\itex@dp]{0cm}{\the\itex@thd}}} \makeatother % \tensor and \multiscript \makeatletter \newif\if@sup \newtoks\@sups \def\append@sup#1{\edef\act{\noexpand\@sups={\the\@sups #1}}\act}% \def\reset@sup{\@supfalse\@sups={}}% \def\mk@scripts#1#2{\if #2/ \if@sup ^{\the\@sups}\fi \else% \ifx #1_ \if@sup ^{\the\@sups}\reset@sup \fi {}_{#2}% \else \append@sup#2 \@suptrue \fi% \expandafter\mk@scripts\fi} \def\tensor#1#2{\reset@sup#1\mk@scripts#2_/} \def\multiscripts#1#2#3{\reset@sup{}\mk@scripts#1_/#2% \reset@sup\mk@scripts#3_/} \makeatother % \slash \makeatletter \newbox\slashbox \setbox\slashbox=\hbox{$/$} \def\itex@pslash#1{\setbox\@tempboxa=\hbox{$#1$} \@tempdima=0.5\wd\slashbox \advance\@tempdima 0.5\wd\@tempboxa \copy\slashbox \kern-\@tempdima \box\@tempboxa} \def\slash{\protect\itex@pslash} \makeatother % math-mode versions of \rlap, etc % from Alexander Perlis, "A complement to \smash, \llap, and lap" % http://math.arizona.edu/~aprl/publications/mathclap/ \def\clap#1{\hbox to 0pt{\hss#1\hss}} \def\mathllap{\mathpalette\mathllapinternal} \def\mathrlap{\mathpalette\mathrlapinternal} \def\mathclap{\mathpalette\mathclapinternal} \def\mathllapinternal#1#2{\llap{$\mathsurround=0pt#1{#2}$}} \def\mathrlapinternal#1#2{\rlap{$\mathsurround=0pt#1{#2}$}} \def\mathclapinternal#1#2{\clap{$\mathsurround=0pt#1{#2}$}} % Renames \sqrt as \oldsqrt and redefine root to result in \sqrt[#1]{#2} \let\oldroot\root \def\root#1#2{\oldroot #1 \of{#2}} \renewcommand{\sqrt}[2][]{\oldroot #1 \of{#2}} % Manually declare the txfonts symbolsC font \DeclareSymbolFont{symbolsC}{U}{txsyc}{m}{n} \SetSymbolFont{symbolsC}{bold}{U}{txsyc}{bx}{n} \DeclareFontSubstitution{U}{txsyc}{m}{n} % Manually declare the stmaryrd font \DeclareSymbolFont{stmry}{U}{stmry}{m}{n} \SetSymbolFont{stmry}{bold}{U}{stmry}{b}{n} % Manually declare the MnSymbolE font \DeclareFontFamily{OMX}{MnSymbolE}{} \DeclareSymbolFont{mnomx}{OMX}{MnSymbolE}{m}{n} \SetSymbolFont{mnomx}{bold}{OMX}{MnSymbolE}{b}{n} \DeclareFontShape{OMX}{MnSymbolE}{m}{n}{ <-6> MnSymbolE5 <6-7> MnSymbolE6 <7-8> MnSymbolE7 <8-9> MnSymbolE8 <9-10> MnSymbolE9 <10-12> MnSymbolE10 <12-> MnSymbolE12}{} % Declare specific arrows from txfonts without loading the full package \makeatletter \def\re@DeclareMathSymbol#1#2#3#4{% \let#1=\undefined \DeclareMathSymbol{#1}{#2}{#3}{#4}} \re@DeclareMathSymbol{\neArrow}{\mathrel}{symbolsC}{116} \re@DeclareMathSymbol{\neArr}{\mathrel}{symbolsC}{116} \re@DeclareMathSymbol{\seArrow}{\mathrel}{symbolsC}{117} \re@DeclareMathSymbol{\seArr}{\mathrel}{symbolsC}{117} \re@DeclareMathSymbol{\nwArrow}{\mathrel}{symbolsC}{118} \re@DeclareMathSymbol{\nwArr}{\mathrel}{symbolsC}{118} \re@DeclareMathSymbol{\swArrow}{\mathrel}{symbolsC}{119} \re@DeclareMathSymbol{\swArr}{\mathrel}{symbolsC}{119} \re@DeclareMathSymbol{\nequiv}{\mathrel}{symbolsC}{46} \re@DeclareMathSymbol{\Perp}{\mathrel}{symbolsC}{121} \re@DeclareMathSymbol{\Vbar}{\mathrel}{symbolsC}{121} \re@DeclareMathSymbol{\sslash}{\mathrel}{stmry}{12} \re@DeclareMathSymbol{\bigsqcap}{\mathop}{stmry}{"64} \re@DeclareMathSymbol{\biginterleave}{\mathop}{stmry}{"6} \re@DeclareMathSymbol{\invamp}{\mathrel}{symbolsC}{77} \re@DeclareMathSymbol{\parr}{\mathrel}{symbolsC}{77} \makeatother % \llangle, \rrangle, \lmoustache and \rmoustache from MnSymbolE \makeatletter \def\Decl@Mn@Delim#1#2#3#4{% \if\relax\noexpand#1% \let#1\undefined \fi \DeclareMathDelimiter{#1}{#2}{#3}{#4}{#3}{#4}} \def\Decl@Mn@Open#1#2#3{\Decl@Mn@Delim{#1}{\mathopen}{#2}{#3}} \def\Decl@Mn@Close#1#2#3{\Decl@Mn@Delim{#1}{\mathclose}{#2}{#3}} \Decl@Mn@Open{\llangle}{mnomx}{'164} \Decl@Mn@Close{\rrangle}{mnomx}{'171} \Decl@Mn@Open{\lmoustache}{mnomx}{'245} \Decl@Mn@Close{\rmoustache}{mnomx}{'244} \makeatother % Widecheck \makeatletter \DeclareRobustCommand\widecheck[1]{{\mathpalette\@widecheck{#1}}} \def\@widecheck#1#2{% \setbox\z@\hbox{\m@th$#1#2$}% \setbox\tw@\hbox{\m@th$#1% \widehat{% \vrule\@width\z@\@height\ht\z@ \vrule\@height\z@\@width\wd\z@}$}% \dp\tw@-\ht\z@ \@tempdima\ht\z@ \advance\@tempdima2\ht\tw@ \divide\@tempdima\thr@@ \setbox\tw@\hbox{% \raise\@tempdima\hbox{\scalebox{1}[-1]{\lower\@tempdima\box \tw@}}}% {\ooalign{\box\tw@ \cr \box\z@}}} \makeatother % \mathraisebox{voffset}[height][depth]{something} \makeatletter \NewDocumentCommand\mathraisebox{moom}{% \IfNoValueTF{#2}{\def\@temp##1##2{\raisebox{#1}{$\m@th##1##2$}}}{% \IfNoValueTF{#3}{\def\@temp##1##2{\raisebox{#1}[#2]{$\m@th##1##2$}}% }{\def\@temp##1##2{\raisebox{#1}[#2][#3]{$\m@th##1##2$}}}}% \mathpalette\@temp{#4}} \makeatletter % udots (taken from yhmath) \makeatletter \def\udots{\mathinner{\mkern2mu\raise\p@\hbox{.} \mkern2mu\raise4\p@\hbox{.}\mkern1mu \raise7\p@\vbox{\kern7\p@\hbox{.}}\mkern1mu}} \makeatother %% Fix array \newcommand{\itexarray}[1]{\begin{matrix}#1\end{matrix}} %% \itexnum is a noop \newcommand{\itexnum}[1]{#1} %% Renaming existing commands \newcommand{\underoverset}[3]{\underset{#1}{\overset{#2}{#3}}} \newcommand{\widevec}{\overrightarrow} \newcommand{\darr}{\downarrow} \newcommand{\nearr}{\nearrow} \newcommand{\nwarr}{\nwarrow} \newcommand{\searr}{\searrow} \newcommand{\swarr}{\swarrow} \newcommand{\curvearrowbotright}{\curvearrowright} \newcommand{\uparr}{\uparrow} \newcommand{\downuparrow}{\updownarrow} \newcommand{\duparr}{\updownarrow} \newcommand{\updarr}{\updownarrow} \newcommand{\gt}{>} \newcommand{\lt}{<} \newcommand{\map}{\mapsto} \newcommand{\embedsin}{\hookrightarrow} \newcommand{\Alpha}{A} \newcommand{\Beta}{B} \newcommand{\Zeta}{Z} \newcommand{\Eta}{H} \newcommand{\Iota}{I} \newcommand{\Kappa}{K} \newcommand{\Mu}{M} \newcommand{\Nu}{N} \newcommand{\Rho}{P} \newcommand{\Tau}{T} \newcommand{\Upsi}{\Upsilon} \newcommand{\omicron}{o} \newcommand{\lang}{\langle} \newcommand{\rang}{\rangle} \newcommand{\Union}{\bigcup} \newcommand{\Intersection}{\bigcap} \newcommand{\Oplus}{\bigoplus} \newcommand{\Otimes}{\bigotimes} \newcommand{\Wedge}{\bigwedge} \newcommand{\Vee}{\bigvee} \newcommand{\coproduct}{\coprod} \newcommand{\product}{\prod} \newcommand{\closure}{\overline} \newcommand{\integral}{\int} \newcommand{\doubleintegral}{\iint} \newcommand{\tripleintegral}{\iiint} \newcommand{\quadrupleintegral}{\iiiint} \newcommand{\conint}{\oint} \newcommand{\contourintegral}{\oint} \newcommand{\infinity}{\infty} \newcommand{\bottom}{\bot} \newcommand{\minusb}{\boxminus} \newcommand{\plusb}{\boxplus} \newcommand{\timesb}{\boxtimes} \newcommand{\intersection}{\cap} \newcommand{\union}{\cup} \newcommand{\Del}{\nabla} \newcommand{\odash}{\circleddash} \newcommand{\negspace}{\!} \newcommand{\widebar}{\overline} \newcommand{\textsize}{\normalsize} \renewcommand{\scriptsize}{\scriptstyle} \newcommand{\scriptscriptsize}{\scriptscriptstyle} \newcommand{\mathfr}{\mathfrak} \newcommand{\statusline}[2]{#2} \newcommand{\tooltip}[2]{#2} \newcommand{\toggle}[2]{#2} % Theorem Environments \theoremstyle{plain} \newtheorem{theorem}{Theorem} \newtheorem{lemma}{Lemma} \newtheorem{prop}{Proposition} \newtheorem{cor}{Corollary} \newtheorem*{utheorem}{Theorem} \newtheorem*{ulemma}{Lemma} \newtheorem*{uprop}{Proposition} \newtheorem*{ucor}{Corollary} \theoremstyle{definition} \newtheorem{defn}{Definition} \newtheorem{example}{Example} \newtheorem*{udefn}{Definition} \newtheorem*{uexample}{Example} \theoremstyle{remark} \newtheorem{remark}{Remark} \newtheorem{note}{Note} \newtheorem*{uremark}{Remark} \newtheorem*{unote}{Note} %------------------------------------------------------------------- \begin{document} %------------------------------------------------------------------- \section*{theory} \begin{quote}% This entry is about the notion in [[logic]]. For the notion of the same name in [[physics]] see at \emph{[[theory (physics)]]}. \end{quote} \vspace{.5em} \hrule \vspace{.5em} \hypertarget{context}{}\subsubsection*{{Context}}\label{context} \hypertarget{type_theory}{}\paragraph*{{Type theory}}\label{type_theory} [[!include type theory - contents]] \hypertarget{contents}{}\section*{{Contents}}\label{contents} \noindent\hyperlink{idea}{Idea}\dotfill \pageref*{idea} \linebreak \noindent\hyperlink{definition}{Definition}\dotfill \pageref*{definition} \linebreak \noindent\hyperlink{SyntacticView}{Syntactic view}\dotfill \pageref*{SyntacticView} \linebreak \noindent\hyperlink{SemanticView}{Semantic view}\dotfill \pageref*{SemanticView} \linebreak \noindent\hyperlink{CategoricalView}{Categorical view}\dotfill \pageref*{CategoricalView} \linebreak \noindent\hyperlink{examples}{Examples}\dotfill \pageref*{examples} \linebreak \noindent\hyperlink{classes_of_theories}{Classes of theories}\dotfill \pageref*{classes_of_theories} \linebreak \noindent\hyperlink{hierarchy_of_theories_cartesian_regular_coherent_geometric}{Hierarchy of theories: cartesian, regular, coherent, geometric}\dotfill \pageref*{hierarchy_of_theories_cartesian_regular_coherent_geometric} \linebreak \noindent\hyperlink{abelian_theories}{Abelian theories}\dotfill \pageref*{abelian_theories} \linebreak \noindent\hyperlink{SpecificExamples}{Specific examples}\dotfill \pageref*{SpecificExamples} \linebreak \noindent\hyperlink{models_for_a_theory}{Models for a theory}\dotfill \pageref*{models_for_a_theory} \linebreak \noindent\hyperlink{settheoretic_models_for_a_firstorder_theory_in_syntactic_approach}{Set-theoretic models for a first-order theory in syntactic approach}\dotfill \pageref*{settheoretic_models_for_a_firstorder_theory_in_syntactic_approach} \linebreak \noindent\hyperlink{categorical_point_of_view_and_models_in_topoi}{Categorical point of view and models in topoi}\dotfill \pageref*{categorical_point_of_view_and_models_in_topoi} \linebreak \noindent\hyperlink{related_concepts}{Related concepts}\dotfill \pageref*{related_concepts} \linebreak \noindent\hyperlink{references}{References}\dotfill \pageref*{references} \linebreak \hypertarget{idea}{}\subsection*{{Idea}}\label{idea} In [[mathematical logic]], a \emph{theory} is a formal [[language]] used to precisely [[axiom|axiomatize]] a certain class of [[models]]. In principle also all other notions of \emph{theory}, such as in the sense of [[physics]] should be special cases of this, but in practice of course there are many systems called ``theories'' which are not (yet) as fully formalized as in mathematical logic. \hypertarget{definition}{}\subsection*{{Definition}}\label{definition} There are several different viewpoint on theories: \begin{itemize}% \item The \hyperlink{SyntacticView}{syntactic view} is that the theory itself consists of a set of [[formulas]] in the first order language $Lang(\Sigma)$ of a [[signature (in logic)|signature]] $\Sigma$. Classically, these formulas are assumed to have no [[free variables]] (i.e. to be ``sentences''), but in weaker logics that lack [[universal quantification]] it is better to take them to be formulas-in-[[context]]. One also sometimes considers the theory to also include all logical consequences (aka theorems) of the axioms in $A$, relative to (some specified) fragment of [[first-order logic]] --- that is, to be ``saturated'' with respect to provability. \item The \hyperlink{SemanticView}{semantic view} is that the theory is given by the class of its [[model]]s appropriate to that fragment of logic. G\"o{}del's [[completeness theorem]] is that a sentence in $\mathcal{T}$ is a theorem iff it is satisfied in every model. \item The \hyperlink{CategoricalView}{categorical view} is that the logical formalism of a theory $\mathcal{T}$ can frequently be embodied in a [[syntactic category]] of terms $C_{\mathcal{T}}$, so that models of a theory $\mathcal{T}$ are identified with [[functor]]s \begin{displaymath} C_{\mathcal{T}} \to Set \end{displaymath} that preserve some (typically [[stuff, structure, property|property-like]]) [[stuff, structure, property|structures]] on $C_{\mathcal{T}}$, such as certain classes of [[colimit]]s or of [[limits]], pertinent to the fragment of logic at hand. Then a completeness theorem would be the statement that the canonical map \begin{displaymath} C_{\mathcal{T}} \to \prod_{models F in Set} Set \end{displaymath} is a [[full and faithful functor|full faithful embedding]] (one that preserves all relevant logical structure). For this reason, completeness theorems are also known as \emph{embedding theorems}. \end{itemize} Hm, is that the way it should be said? In fact, the notion of model can be generalized away from $Set$ to more general [[categories]], namely those that have enough structure to ``internalize'' the fragment of logic at hand. From this very general point of view on model, the syntactic category $C_{\mathcal{T}}$ is the generic or universal model for $\mathcal{T}$, and if we simply call $C_{\mathcal{T}}$ the theory, then models and theories are placed on the same footing. In this article we mostly consider the categorical view on ``theory''. \hypertarget{SyntacticView}{}\subsubsection*{{Syntactic view}}\label{SyntacticView} \begin{udefn} In first-order [[logic]], a \textbf{theory} $\mathcal{T}$ is presented by \begin{enumerate}% \item a [[signature (in logic)|signature]] $\Sigma$, specifying the allowed [[type]]s of variables and the [[function]]s and [[relation]]s between these; \item a set $A$ of [[sequent]]s of [[formula]]s in this signature, called the \textbf{axioms} of the theory: expressed in the first-order language $Lang(\Sigma)$ with equality generated by $\Sigma$ \end{enumerate} \end{udefn} For instance (\hyperlink{Johnstone}{Johnstone, def. D1.1.6}). \hypertarget{SemanticView}{}\subsubsection*{{Semantic view}}\label{SemanticView} (\ldots{}) \hypertarget{CategoricalView}{}\subsubsection*{{Categorical view}}\label{CategoricalView} (\ldots{}) \begin{itemize}% \item [[categorical semantics]] \end{itemize} (\ldots{}) \hypertarget{examples}{}\subsection*{{Examples}}\label{examples} \hypertarget{classes_of_theories}{}\subsubsection*{{Classes of theories}}\label{classes_of_theories} There are many different kinds of ``theory'' depending on the strength of the ``logic'': a by-no-means complete list includes \begin{itemize}% \item [[equational logic]], \item [[first-order theory]] \item [[Horn theory]], \item [[essentially algebraic theory]], \item [[geometric logic]], \item [[regular logic]], \item [[exact logic]], \item [[extensive logic]], \item [[coherent logic]], \item [[first-order logic]] (aka pretopos logic), \end{itemize} and corresponding theories for these logics. \begin{itemize}% \item [[essentially algebraic theory]] \item [[generalized algebraic theory]] \item [[algebraic theory]] \begin{itemize}% \item [[commutative algebraic theory]] \item finitary algebraic theory: [[Lawvere theory]] \begin{itemize}% \item [[Fermat theory]] \end{itemize} \end{itemize} \end{itemize} \hypertarget{hierarchy_of_theories_cartesian_regular_coherent_geometric}{}\paragraph*{{Hierarchy of theories: cartesian, regular, coherent, geometric}}\label{hierarchy_of_theories_cartesian_regular_coherent_geometric} There is a hierarchy of theories that can be interpreted in the [[internal logic]] of a hierarchy of types of [[categories]]. Since [[predicates]] in the internal logic are represented by [[subobjects]], in order to interpret any connective or quantifier in the internal logic, one needs a corresponding operation on subobjects to exist in the category in question, and be well-behaved. For instance: \begin{itemize}% \item \textbf{cartesian theories} Since $\wedge$ and $\top$ are represented by [[intersections]] and identities (top elements), these can be interpreted in any [[lex category]]. Theories involving only these are [[cartesian theory|cartesian theories]]. \item \textbf{regular theories} Since $\exists$ is represented by the [[image]] of a subobject, it can be interpreted in any [[regular category]]. Theories involving only $\wedge$, $\top$, and $\exists$ are [[regular theory|regular theories]]. \item \textbf{coherent theories} Since $\vee$ and $\bot$ are represented by [[union]] and [[bottom elements]], these can be interpreted in any [[coherent category]]. Theories which add these to regular logic are called [[coherent theory|coherent theories]]. \item \textbf{geometric theories} Finally, theories which also involve infinitary $\bigvee$, which is again represented by an infinitary union, can be interpreted in [[infinitary coherent categories]], aka \emph{[[geometric categories]]}. These are \textbf{[[geometric theories]]}. \end{itemize} Note that the axioms of one of these theories are actually of the form \begin{displaymath} \varphi \vdash_{\vec{x}} \psi \end{displaymath} where $\varphi$ and $\psi$ are formulas involving only the specified connectives and quantifiers, $\vdash$ means entailment, and $\vec{x}$ is a [[context]]. Such an axiom can also be written as \begin{displaymath} \forall \vec{x}. (\varphi \Rightarrow \psi) \end{displaymath} so that although $\Rightarrow$ and $\forall$ are not strictly part of any of the above logics, they can be applied ``once at top level.'' In an axiom of this form for geometric logic, the formulas $\varphi$ and $\psi$ which must be built out of $\top$, $\wedge$, $\bot$, $\bigvee$, and $\exists$ are sometimes called \emph{positive} formulas. \hypertarget{abelian_theories}{}\subsubsection*{{Abelian theories}}\label{abelian_theories} Interestingly, one form of logic which made an early appearance but is not ordinarily thought of as logic at all is the logic of [[abelian categories]], which is characterized by certain exactness properties. Here a small abelian category $A$ can be thought of as a syntactic site for some ``abelian theory''; models of the theory are exact additive functors with domain $A$. The classical models would in fact be exact additive functors $A \to Ab$, or exact additive functors to a category of modules. A ``Freyd-Heron-Lubkin-Mitchell'' embedding theorem is then a completeness theorem with respect to the classical models, and assures us that a statement in the language of abelian category theory is provable if and only if it is true when interpreted in any module category. \hypertarget{SpecificExamples}{}\subsubsection*{{Specific examples}}\label{SpecificExamples} The simplest nontrivial theory is the \begin{itemize}% \item [[theory of objects]] \end{itemize} A still pretty simple but very nontrivial theory is \begin{itemize}% \item [[elementary function arithmetic]] \item [[second order arithmetic]] \end{itemize} The theories \begin{itemize}% \item $Th(Cat)$ of [[categories]] \item $Th(Lex)$ of [[finitely complete categories]] \item $Th(Topos)$ of [[elementary toposes]] \item $Th(ETCS)$ of [[sets]] ([[ETCS]]) \end{itemize} are discussed at \emph{[[fully formal ETCS]]}. \hypertarget{models_for_a_theory}{}\subsection*{{Models for a theory}}\label{models_for_a_theory} \hypertarget{settheoretic_models_for_a_firstorder_theory_in_syntactic_approach}{}\subsubsection*{{Set-theoretic models for a first-order theory in syntactic approach}}\label{settheoretic_models_for_a_firstorder_theory_in_syntactic_approach} The basic concept is of a structure for a first-order language $L$: a set $M$ together with an interpretation of $L$ in $M$. A theory is specified by a language and a set of sentences in $L$. An $L$-structure $M$ is a \textbf{model} of $T$ if for every sentence $\phi$ in $T$, its interpretation in $M$, $\phi^M$ is true (``$\phi$ holds in $M$''). We say that $T$ is \textbf{consistent} or satisfiable (relative to the universe in which we do [[model theory]]) if there exist at least one model for $T$ (in our universe). Two theories, $T_1$, $T_2$ are said to be \textbf{equivalent} if they have the same models. Given a class $K$ of structures for $L$, there is a theory $Th(K)$ consisting of all sentences in $L$ which hold in every structure from $K$. Two structures $M$ and $N$ are \textbf{elementary equivalent} (sometimes written by equality $M=N$, sometimes said ``elementarily equivalent'') if $Th(M)=Th(N)$, i.e. if they satisfy the same sentences in $L$. Any set of sentences which is equivalent to $Th(K)$ is called a \textbf{set of axioms} of $K$. A theory is said to be \textbf{finitely axiomatizable} if there exist a finite set of axioms for $K$. A theory is said to be \textbf{complete} if it is equivalent to $Th(M)$ for some structure $M$. \hypertarget{categorical_point_of_view_and_models_in_topoi}{}\paragraph*{{Categorical point of view and models in topoi}}\label{categorical_point_of_view_and_models_in_topoi} From the categorical point of view, for every theory $T$ there exists a [[category]] $C_T$ -- the \textbf{[[syntactic category]]} $C_T$ -- such that a model for $T$ is a [[functor]] $C_T \to \mathcal{T}$ into some [[topos]] $T$, satisfying certain conditions. For instance the syntactic categories of [[Lawvere theory|Lawvere theories]] are precisely those categories that have finite cartesian [[product]]s and in which every object is [[isomorphic]] to a finite cartesian power $x^n$ of a distinguished object $x$. A model for a Lawvere theory is precisely a finite product preserving functor $C_T \to \mathcal{T}$. We say a functor $\mathcal{T}_1 \to \mathcal{T}_2$ of toposes (for instance a [[logical morphism]] or a [[geometric morphism]]) \emph{preserves a theory} $T$ if for every model $C_T \to \mathcal{T}_1$ of $T$ in $\mathcal{T}_1$, the composite $C_T \to \mathcal{T}_1 \to \mathcal{T}_2$ is a model of $T$ in $\mathcal{T}_2$. For instance, every [[geometric morphism]] preserves every [[Lawvere theory]] since, being a [[right adjoint]], it preserves [[limit]]s, hence finite products. \hypertarget{related_concepts}{}\subsection*{{Related concepts}}\label{related_concepts} \begin{itemize}% \item [[algebraic theory]], [[globular theory]] \item [[type theory]] \item [[theory of presheaf type]] \item [[ordinal analysis]] \end{itemize} \hypertarget{references}{}\subsection*{{References}}\label{references} \begin{itemize}% \item H. Jerome Keisler, \emph{Fundamentals of model theory}, A2 in JOhn Barwise, Handbook of mathematical logic (pp.47-103), North Holland 1977 \end{itemize} A standard textbook reference for the [[categorical semantics]] is section D of \begin{itemize}% \item [[Peter Johnstone]], \emph{[[Sketches of an Elephant]]} \end{itemize} A discussion of the relation between theories and their [[syntactic categories]] is at \begin{itemize}% \item n-category cafe 2010: \href{http://golem.ph.utexas.edu/category/2010/07/what_is_a_theory.html}{what is a theory} \end{itemize} Other references include \begin{itemize}% \item [[Mamuka Jibladze]], [[Teimuraz Pirashvili]], \emph{Cohomology of algebraic theories}, J. Algebra \textbf{137} (1991), no. 2, 253--296, \item wikipedia: \href{http://en.wikipedia.org/wiki/List_of_first-order_theories}{list of first-order theories}, \href{http://en.wikipedia.org/wiki/Morley%27s_categoricity_theorem}{Morley's categoricity theorem}, \href{http://en.wikipedia.org/wiki/Decidability_%28logic%29}{Decidability (logic)}, \href{http://en.wikipedia.org/wiki/Signature_%28logic%29}{signature (logic)} \end{itemize} In [[Coq]] theories are specified with the \begin{itemize}% \item \emph{[[Gallina specification language]]}. \end{itemize} [[!redirects theories]] [[!redirects theory (logic)]] \end{document}