\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*{algebraic model for modal logics} \hypertarget{context}{}\subsubsection*{{Context}}\label{context} \hypertarget{category_theory}{}\paragraph*{{$(0,1)$-Category theory}}\label{category_theory} [[!include (0,1)-category theory - contents]] \hypertarget{type_theory}{}\paragraph*{{Type theory}}\label{type_theory} [[!include type theory - contents]] \hypertarget{algebras_for_modal_logics}{}\section*{{Algebras for modal logics}}\label{algebras_for_modal_logics} \noindent\hyperlink{idea}{Idea}\dotfill \pageref*{idea} \linebreak \noindent\hyperlink{boolean_algebras_with_operators_baos}{Boolean algebras with operators (BAOs)}\dotfill \pageref*{boolean_algebras_with_operators_baos} \linebreak \noindent\hyperlink{boolean_algebras}{Boolean algebras}\dotfill \pageref*{boolean_algebras} \linebreak \noindent\hyperlink{operators}{Operators}\dotfill \pageref*{operators} \linebreak \noindent\hyperlink{examples}{Examples}\dotfill \pageref*{examples} \linebreak \noindent\hyperlink{varieties_of_modal_and_polymodal_algebras}{Varieties of modal and polymodal algebras}\dotfill \pageref*{varieties_of_modal_and_polymodal_algebras} \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} Classical [[propositional calculus]] has an algebraic [[model]], namely a [[Boolean algebra]]. With a bit of imagination, one can give it a combinatorial model in the line of [[Kripke semantics]]. As this ordinary propositional logic has no [[modal operators]], then the corresponding [[frame (modal logic)|frames]] have no relations, so are just sets. If $W$ is such a set, (of worlds), a valuation $V: Prop \to 2^W$ just assigns to each $p \in Prop$ and $w\in W$ a truth value, $\top$ or $\bot$, (true or false). We know however that there is a Boolean algebra structure around in that power set $2^W$ and the [[semantics]] extends the assignment given by $V$ to a map of algebras, from the term algebra based on the basic propositional language to the Boolean algebra of subsets of $W$. That is just to say that it builds up that extension of $V$ bit-by-bit on the terms. This gives an algebraic interpretation or representation of the terms of the logic in terms of the algebra of subsets of $W$, in other words an algebraic semantics. [[modal logic|Modal logics]] also have an algebraic semantics based on a Boolean algebra, but with additional operators that model the [[modal operators]]. This is as well as the [[geometric models for modal logics|geometric semantics]] using [[frames (modal logic)|frames]]. \hypertarget{boolean_algebras_with_operators_baos}{}\subsection*{{Boolean algebras with operators (BAOs)}}\label{boolean_algebras_with_operators_baos} \hypertarget{boolean_algebras}{}\subsubsection*{{Boolean algebras}}\label{boolean_algebras} We will, here, consider a [[Boolean algebra]], $\mathbb{B }$, as an algebra, and in the notation, \begin{displaymath} \mathbb{B} = (B, +, \cdot, \overline{},0,1) \end{displaymath} so, for example, for a set $S$, the [[power set]] Boolean algebra will be \begin{displaymath} \mathbb{P}(S) = (\mathcal{P}(S), \cup, \cap,-,\emptyset, S), \end{displaymath} where $-A$ is shorthand for the complement, $S- A$, of $A$. \hypertarget{operators}{}\subsubsection*{{Operators}}\label{operators} The \textbf{operators} that we need to add into the Boolean algebras do not always preserve all the structure: \begin{defn} \label{}\hypertarget{}{} A [[function]], $m : B\to B$ is called an \textbf{operator} on the Boolean algebra, $\mathbb{B}$, if it is \emph{additive} \begin{displaymath} m(x+y) = m x + m y. \end{displaymath} The operator, $m$, is called \textbf{normal} if $m0=0$. \end{defn} Any operator, $m$, in this sense has a dual $l : B\to B$ given by \begin{displaymath} l(x) = (m(x^-)^-. \end{displaymath} As $m$ is additive, $l$ is \textbf{multiplicative} \begin{displaymath} l(x\cdot y) = l(x)\cdot l(y), \end{displaymath} and has $l(1) = 1$ if $m$ is normal. \begin{remark} \label{}\hypertarget{}{} One of the myriad notations used for the generic modal operators $\lozenge$ and $\Box$, are $M$ and $L$, whence $M$ is `possibility, and $L$ is `necessity``, and these gave the names to the operators above. \end{remark} \begin{defn} \label{}\hypertarget{}{} A \textbf{Boolean algebra with operators,} or BAO, of type $n$ consists of a Boolean algebra $\mathbb{B}$, and a set, $m_i$, $i = 1,\ldots, n$ of operators on $B$. \end{defn} BAOs are sometimes called \textbf{modal algebras}, especially in the case that $n = 1$. The term \textbf{polymodal algebra} is then used for the general case. There is no need in the definition of BAOs to restrict to finitely many operators nor to have all the operators being unary. The general theory is discussed in the Survey by Goldblatt (see the references). \hypertarget{examples}{}\subsection*{{Examples}}\label{examples} \begin{example} \label{}\hypertarget{}{} \textbf{BAOs from frames.} Let $\mathfrak{F} = (W ,R)$ be a [[frame (modal logic)|frame]]. We define on the power set Boolean algebra, $\mathbb{P}(W)$, the operator $m$ by, if $T\subseteq W$, \begin{displaymath} m(T) = \{w \in W : \exists t\in T, R w t \} \end{displaymath} It perhaps pays to interpret this in the case where $R$ is a [[preorder]] and when it is an equivalence relation. In the first case, this will be the set of states less than or equal to something in $T$, in the second it is the union of all equivalence classes that contain an element of $T$. \begin{lemma} \label{}\hypertarget{}{} The function $m$ is a normal operator. \end{lemma} The proof is a simple manipulation of the definitions. The dual operator $l$ is given by $l(T) = \{w\in W\mid \forall t\in T \neg R w t\}$. (Again look at this for the preorder and equivalence frame cases.) It is easy to extend this example to $\mathfrak{F} = (W ,R_1,\ldots, R_n)$ with the result being a BAO of type $n$. \end{example} \begin{example} \label{}\hypertarget{}{} \textbf{The Lindenbaum-Tarski algebra of a modal logic.} Suppose $\Lambda \subseteq \mathcal{L}_\omega(n)$ is a [[normal modal logic]], then its [[Lindenbaum-Tarski algebra]] has a natural BAO structure, for which see the above page. \end{example} \hypertarget{varieties_of_modal_and_polymodal_algebras}{}\subsection*{{Varieties of modal and polymodal algebras}}\label{varieties_of_modal_and_polymodal_algebras} The following is a list of some of the main equationally defined classes of (poly)modal algebras. (For convenience each has been given a separate entry.) \begin{itemize}% \item [[temporal algebras]]; \item [[closure algebras]]; \item [[monadic algebras]]. \end{itemize} \hypertarget{related_concepts}{}\subsection*{{Related concepts}}\label{related_concepts} \begin{itemize}% \item [[geometric model for modal logic]] \item [[modal type theory]] \end{itemize} \hypertarget{references}{}\subsection*{{References}}\label{references} General books on modal logics that include information on algebraic models include: \begin{itemize}% \item [[Patrick Blackburn]], M. de Rijke and Y. [[Venema]], \emph{Modal Logic}, Cambridge Tracts in Theoretical Computer Science, vol. 53, 2001. \item [[Marcus Kracht]], \emph{Tools and Techniques in Modal Logic,} Studies in Logic and the Foundation of Mathematics, 142, Elsevier, 1999. \end{itemize} There is an excellent short survey article (versions of which are available on the web): \begin{itemize}% \item [[Robert Goldblatt]], \emph{Algebraic Polymodal Logic: A Survey}, the Logic Journal of the IGPL, 8, (2000) pages 393--450, Special Issue on Algebraic Logic, edited by Istvan Nemeti and Ildiko Sain. \end{itemize} Discussion of modal logic in terms of [[coalgebra]] and [[terminal coalgebra of an endofunctor]] is in \begin{itemize}% \item Corina Cirstea, Alexander Kurz, Dirk Pattinson, Lutz Schr\"o{}der and Yde Venema, \emph{Modal logics are coalgebraic} (\href{http://eprints.soton.ac.uk/267144/1/ModalCoalgRev.pdf}{pdf}) \end{itemize} [[!redirects modal algebra]] [[!redirects modal algebras]] [[!redirects polymodal algebra]] [[!redirects polymodal algebras]] [[!redirects algebraic model for modal logic]] [[!redirects algebraic model for modal logics]] [[!redirects algebraic models for modal logic]] [[!redirects algebraic models for modal logics]] \end{document}