example.tex revision b94e8fd396e508a5421564afccd97205bfd87a77
1a38107941725211e7c3f051f7a8f5e12199f03acmaeder\documentclass{entcs} \usepackage{entcsmacro}
b35e053c2c5a5ea0f13decfd0303894861d82b4dJonathan von Schroeder\usepackage{graphicx}
e9458b1a7a19a63aa4c179f9ab20f4d50681c168Jens Elkner\usepackage{mathpartir}
b35e053c2c5a5ea0f13decfd0303894861d82b4dJonathan von Schroeder% The following is enclosed to allow easy detection of differences in
b35e053c2c5a5ea0f13decfd0303894861d82b4dJonathan von Schroeder% Upper-case A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
c56a356d3fcc5e123efa790aab320781d94df3c7Jonathan von Schroeder% Lower-case a b c d e f g h i j k l m n o p q r s t u v w x y z
b35e053c2c5a5ea0f13decfd0303894861d82b4dJonathan von Schroeder% Digits 0 1 2 3 4 5 6 7 8 9
b35e053c2c5a5ea0f13decfd0303894861d82b4dJonathan von Schroeder% Exclamation ! Double quote " Hash (number) #
b35e053c2c5a5ea0f13decfd0303894861d82b4dJonathan von Schroeder% Dollar $ Percent % Ampersand &
b35e053c2c5a5ea0f13decfd0303894861d82b4dJonathan von Schroeder% Acute accent ' Left paren ( Right paren )
b35e053c2c5a5ea0f13decfd0303894861d82b4dJonathan von Schroeder% Asterisk * Plus + Comma ,
b35e053c2c5a5ea0f13decfd0303894861d82b4dJonathan von Schroeder% Minus - Point . Solidus /
b35e053c2c5a5ea0f13decfd0303894861d82b4dJonathan von Schroeder% Colon : Semicolon ; Less than <
b35e053c2c5a5ea0f13decfd0303894861d82b4dJonathan von Schroeder% Equals =3D Greater than > Question mark ?
b35e053c2c5a5ea0f13decfd0303894861d82b4dJonathan von Schroeder% At @ Left bracket [ Backslash \
b35e053c2c5a5ea0f13decfd0303894861d82b4dJonathan von Schroeder% Right bracket ] Circumflex ^ Underscore _
b35e053c2c5a5ea0f13decfd0303894861d82b4dJonathan von Schroeder% Grave accent ` Left brace { Vertical bar |
b35e053c2c5a5ea0f13decfd0303894861d82b4dJonathan von Schroeder% Right brace } Tilde ~
ece3b1a5353a9af3c966a1d5453594ed35334f7bJonathan von Schroeder% A couple of exemplary definitions:
b35e053c2c5a5ea0f13decfd0303894861d82b4dJonathan von Schroeder\newcommand{\Nat}{{\mathbb N}}
ece3b1a5353a9af3c966a1d5453594ed35334f7bJonathan von Schroeder\newcommand{\Real}{{\mathbb R}}
ece3b1a5353a9af3c966a1d5453594ed35334f7bJonathan von Schroeder\def\lastname{Hausmann and Schr\"oder}
ece3b1a5353a9af3c966a1d5453594ed35334f7bJonathan von Schroeder\begin{document}
b35e053c2c5a5ea0f13decfd0303894861d82b4dJonathan von Schroeder\begin{frontmatter}
b35e053c2c5a5ea0f13decfd0303894861d82b4dJonathan von Schroeder \title{Optimizing Conditional Logic (Draft)}
b35e053c2c5a5ea0f13decfd0303894861d82b4dJonathan von Schroeder \author[Bremen]{Daniel Hausmann\thanksref{ALL}\thanksref{myemail}}
b35e053c2c5a5ea0f13decfd0303894861d82b4dJonathan von Schroeder \author[Bremen]{Lutz Schr\"oder\thanksref{ALL}\thanksref{coemail}}
b35e053c2c5a5ea0f13decfd0303894861d82b4dJonathan von Schroeder \address[Bremen]{Deutsches Zentrum f\"ur k\"unstliche Intelligenz (DFKI)\\ Universit\"at Bremen, Germany}
b35e053c2c5a5ea0f13decfd0303894861d82b4dJonathan von Schroeder \thanks[ALL]{This work is supported by DFG-project no1234}
b35e053c2c5a5ea0f13decfd0303894861d82b4dJonathan von Schroeder \thanks[myemail]{Email: \href{mailto:Daniel.Hausmann@dfki.de} {\texttt{\normalshape Daniel.Hausmann@dfki.de}}}
b35e053c2c5a5ea0f13decfd0303894861d82b4dJonathan von Schroeder \thanks[coemail]{Email: \href{mailto:Lutz.Schroeder@dfki.de} {\texttt{\normalshape Lutz.Schroeder@dfki.de}}}
b35e053c2c5a5ea0f13decfd0303894861d82b4dJonathan von Schroeder\begin{abstract}
b35e053c2c5a5ea0f13decfd0303894861d82b4dJonathan von Schroeder We describe a specific optimization of the decision algorithm
1a38107941725211e7c3f051f7a8f5e12199f03acmaederof conditional logic. The general framework
ece3b1a5353a9af3c966a1d5453594ed35334f7bJonathan von Schroeder of this optimization is the setting of coalgebraic modal logic,
1a38107941725211e7c3f051f7a8f5e12199f03acmaederthe actual implementation is an extension to
b35e053c2c5a5ea0f13decfd0303894861d82b4dJonathan von Schroeder the generic satisfiability solver for modal logics CoLoSS.
b35e053c2c5a5ea0f13decfd0303894861d82b4dJonathan von Schroeder Coalgebraic modal logic, conditional logic,
b35e053c2c5a5ea0f13decfd0303894861d82b4dJonathan von Schroedersatisfiability / provability, optimization by memoizing
1a38107941725211e7c3f051f7a8f5e12199f03acmaeder\end{frontmatter}
b35e053c2c5a5ea0f13decfd0303894861d82b4dJonathan von Schroeder\section{Introduction}\label{intro}
1a38107941725211e7c3f051f7a8f5e12199f03acmaederIntroduce here :)
ece3b1a5353a9af3c966a1d5453594ed35334f7bJonathan von SchroederStructure of the paper: First we give a short introduction to
ece3b1a5353a9af3c966a1d5453594ed35334f7bJonathan von Schroederthe theory of coalgebraic modal logics, the general abstract
ece3b1a5353a9af3c966a1d5453594ed35334f7bJonathan von Schroedersetting in which this paper takes place. Then we describe the
b35e053c2c5a5ea0f13decfd0303894861d82b4dJonathan von Schroedersatisfiability (and provability) solving algorithm and its
1a38107941725211e7c3f051f7a8f5e12199f03acmaederoptimization with regards to conditional logics. Further, we
b35e053c2c5a5ea0f13decfd0303894861d82b4dJonathan von Schroederanalyze the quality of this optimization by relating
b35e053c2c5a5ea0f13decfd0303894861d82b4dJonathan von Schroederthe structure of the input formula to the amount of work which may
b35e053c2c5a5ea0f13decfd0303894861d82b4dJonathan von Schroederbe saved by using the proposed optimization. Furthermore,
ece3b1a5353a9af3c966a1d5453594ed35334f7bJonathan von Schroederwe compare our tool with other model checkers for conditional logic
b35e053c2c5a5ea0f13decfd0303894861d82b4dJonathan von Schroederand finally we discuss to which extent the described
ece3b1a5353a9af3c966a1d5453594ed35334f7bJonathan von Schroederoptimization could be used for other modal logics than just
b35e053c2c5a5ea0f13decfd0303894861d82b4dJonathan von Schroederconditional logic.
b35e053c2c5a5ea0f13decfd0303894861d82b4dJonathan von Schroeder\section{Coalgebraic conditional logic}
b35e053c2c5a5ea0f13decfd0303894861d82b4dJonathan von SchroederSome theory here...
b35e053c2c5a5ea0f13decfd0303894861d82b4dJonathan von SchroederNeeded from this section: coalgebraic modal logic etc, notion of the set of
b35e053c2c5a5ea0f13decfd0303894861d82b4dJonathan von Schroederformulae of a modal logic, provability / satisfiability (weak completeness?
b35e053c2c5a5ea0f13decfd0303894861d82b4dJonathan von Schroedersee ~\ref{rem:satProv}).
b35e053c2c5a5ea0f13decfd0303894861d82b4dJonathan von SchroederSome (general) words about conditional logic?
b35e053c2c5a5ea0f13decfd0303894861d82b4dJonathan von SchroederDaniel to-do-list (in other sections): Memoizing vs. dynamic programming (cite Vardi).
b35e053c2c5a5ea0f13decfd0303894861d82b4dJonathan von SchroederComplexity of algorithm(s) (cite lutz+co. paper).
ece3b1a5353a9af3c966a1d5453594ed35334f7bJonathan von Schroeder\section{The algorithm}
b35e053c2c5a5ea0f13decfd0303894861d82b4dJonathan von Schroeder\subsection{The generic sequent calculus}
b35e053c2c5a5ea0f13decfd0303894861d82b4dJonathan von SchroederAccording to the introduced framework, we now devise a generic
b35e053c2c5a5ea0f13decfd0303894861d82b4dJonathan von Schroederalgorithm to decide the provability of formulae. By
ece3b1a5353a9af3c966a1d5453594ed35334f7bJonathan von Schroederinstantiating the generic algorithm to a specific modal logic
ece3b1a5353a9af3c966a1d5453594ed35334f7bJonathan von Schroeder(simply by using the defining modal rule of this logic), it is
ece3b1a5353a9af3c966a1d5453594ed35334f7bJonathan von Schroederpossible to obtain an algorithm to decide provability of
ece3b1a5353a9af3c966a1d5453594ed35334f7bJonathan von Schroederformulae of this specific modal logic.
ece3b1a5353a9af3c966a1d5453594ed35334f7bJonathan von Schroeder\begin{definition}
389174170e85ad6910b3755ce82e0d896dc8bac1Christian MaederA \emph{Sequent} $\Gamma$ is a set of formulae. If the provability
389174170e85ad6910b3755ce82e0d896dc8bac1Christian Maederof a sequent is yet to be decided, it is called an \emph{open sequent}.
ece3b1a5353a9af3c966a1d5453594ed35334f7bJonathan von SchroederIf the provability of a sequent has allready been shown or refuted,
ece3b1a5353a9af3c966a1d5453594ed35334f7bJonathan von Schroederthe sequent is called a \emph{treated sequent}. A \emph{premise}
ece3b1a5353a9af3c966a1d5453594ed35334f7bJonathan von Schroeder$\Lambda$ is a set of open sequents.
ece3b1a5353a9af3c966a1d5453594ed35334f7bJonathan von Schroeder\end{definition}
389174170e85ad6910b3755ce82e0d896dc8bac1Christian Maeder\begin{definition}
389174170e85ad6910b3755ce82e0d896dc8bac1Christian Maeder\noindent A \emph{rule} $r=(\Lambda,\Gamma)$ consists of a premise
389174170e85ad6910b3755ce82e0d896dc8bac1Christian Maederand an open sequent (usually called \emph{conclusion}).
389174170e85ad6910b3755ce82e0d896dc8bac1Christian Maeder\end{definition}
b35e053c2c5a5ea0f13decfd0303894861d82b4dJonathan von Schroeder\noindent The generic sequent calculus is given by a set of rules
b35e053c2c5a5ea0f13decfd0303894861d82b4dJonathan von Schroeder$\mathcal{R}_{sc}$ which consists of the finishing and the branching
ece3b1a5353a9af3c966a1d5453594ed35334f7bJonathan von Schroederrules $\mathcal{R}^b_{sc}$ (i.e. rules with no premise or more than
389174170e85ad6910b3755ce82e0d896dc8bac1Christian Maederone premise), the linear rules $\mathcal{R}^l_{sc}$ (i.e. rules with
b35e053c2c5a5ea0f13decfd0303894861d82b4dJonathan von Schroederexactly one premise) and the modal rule $\mathcal R^m_{sc}$. The
b35e053c2c5a5ea0f13decfd0303894861d82b4dJonathan von Schroederfinishing and the branching rules are presented in Figure~\ref{fig:branching}
389174170e85ad6910b3755ce82e0d896dc8bac1Christian Maeder(where $\top=\neg\bot$ and $p$ is an atom), the
ece3b1a5353a9af3c966a1d5453594ed35334f7bJonathan von Schroederlinear rules are shown in Figure~\ref{fig:linear}. For now, we consider the modal
ece3b1a5353a9af3c966a1d5453594ed35334f7bJonathan von Schroederrule $\mathcal R^m_{sc}$ of the standard modal logic \textbf{K}
ece3b1a5353a9af3c966a1d5453594ed35334f7bJonathan von Schroeder(as given by Figure~\ref{fig:modalK}). Note again that
ece3b1a5353a9af3c966a1d5453594ed35334f7bJonathan von Schroederit is possible to treat different modal logics with the same generic
ece3b1a5353a9af3c966a1d5453594ed35334f7bJonathan von Schroedercalculus just by appropriately instantiating the modal rule.
ece3b1a5353a9af3c966a1d5453594ed35334f7bJonathan von Schroeder\begin{figure}[!h]
b35e053c2c5a5ea0f13decfd0303894861d82b4dJonathan von Schroeder \begin{tabular}{| c c c |}
ece3b1a5353a9af3c966a1d5453594ed35334f7bJonathan von Schroeder (\textsc {$\neg$F}) \inferrule{ }{\Gamma, \neg\bot} &
ece3b1a5353a9af3c966a1d5453594ed35334f7bJonathan von Schroeder (\textsc {Ax}) \inferrule{ }{\Gamma, p, \neg p} &
b35e053c2c5a5ea0f13decfd0303894861d82b4dJonathan von Schroeder (\textsc {$\wedge$}) \inferrule{\Gamma, A \\ \Gamma, B}{\Gamma, A\wedge B} \\[-5pt]
ece3b1a5353a9af3c966a1d5453594ed35334f7bJonathan von Schroeder \caption{The finishing and the branching sequent rules $\mathcal{R}^b_{sc}$}
ece3b1a5353a9af3c966a1d5453594ed35334f7bJonathan von Schroeder \label{fig:branching}
389174170e85ad6910b3755ce82e0d896dc8bac1Christian Maeder\begin{figure}[!h]
389174170e85ad6910b3755ce82e0d896dc8bac1Christian Maeder \begin{center}
ece3b1a5353a9af3c966a1d5453594ed35334f7bJonathan von Schroeder \begin{tabular}{| c c |}
389174170e85ad6910b3755ce82e0d896dc8bac1Christian Maeder (\textsc {$\neg\neg$})\inferrule{\Gamma, A}{\Gamma, \neg\neg A} &
b35e053c2c5a5ea0f13decfd0303894861d82b4dJonathan von Schroeder (\textsc {$\neg\wedge$}) \inferrule{\Gamma, \neg A, \neg B}{\Gamma, \neg(A\wedge B)} \\[-5pt]
ece3b1a5353a9af3c966a1d5453594ed35334f7bJonathan von Schroeder \caption{The linear sequent rules $\mathcal{R}^l_{sc}$}
b35e053c2c5a5ea0f13decfd0303894861d82b4dJonathan von Schroeder \label{fig:linear}
ece3b1a5353a9af3c966a1d5453594ed35334f7bJonathan von Schroeder\begin{figure}[!h]
ece3b1a5353a9af3c966a1d5453594ed35334f7bJonathan von Schroeder \begin{tabular}{| c |}
b35e053c2c5a5ea0f13decfd0303894861d82b4dJonathan von Schroeder (\textsc {\textbf{K}})\inferrule{\neg A_1, \ldots , \neg A_n, A_0}
b35e053c2c5a5ea0f13decfd0303894861d82b4dJonathan von Schroeder {\Gamma, \neg \Box A_1,\ldots,\neg \Box A_n, \Box A_0 } \\[-5pt]
ece3b1a5353a9af3c966a1d5453594ed35334f7bJonathan von Schroeder \caption{The modal rule of \textbf{K}}
b35e053c2c5a5ea0f13decfd0303894861d82b4dJonathan von Schroeder \label{fig:modalK}
b35e053c2c5a5ea0f13decfd0303894861d82b4dJonathan von SchroederAlgorithm~\ref{alg:seq} makes use of the sequent rules in the following manner:
1a38107941725211e7c3f051f7a8f5e12199f03acmaederIn order to show the \emph{provability} of a formula $\phi$, the
b35e053c2c5a5ea0f13decfd0303894861d82b4dJonathan von Schroederalgorithm starts with the sequent $\{\phi\}$ and tries to apply all
ece3b1a5353a9af3c966a1d5453594ed35334f7bJonathan von Schroederof the sequent rules $r\in R_{sc}$ to it
b35e053c2c5a5ea0f13decfd0303894861d82b4dJonathan von Schroeder\footnote{The actual haskell
1a38107941725211e7c3f051f7a8f5e12199f03acmaederimplementation of the algorithm first tries to apply the linear rules
b35e053c2c5a5ea0f13decfd0303894861d82b4dJonathan von Schroederfrom $\mathcal{R}^l_{sc}$ and afterwards it tries to apply the other
ece3b1a5353a9af3c966a1d5453594ed35334f7bJonathan von Schroederrules from $\mathcal{R}^b_{sc}$ and $\mathcal{R}^m_{sc}$.}.
b35e053c2c5a5ea0f13decfd0303894861d82b4dJonathan von Schroeder % explain what 'applying' means
1a38107941725211e7c3f051f7a8f5e12199f03acmaederThe result of this one step of application of the rules will be a set
b35e053c2c5a5ea0f13decfd0303894861d82b4dJonathan von Schroederof premises $P$. The proving function is then recursively started on
ece3b1a5353a9af3c966a1d5453594ed35334f7bJonathan von Schroedereach sequent of every premise in this set. If there is any premise
ece3b1a5353a9af3c966a1d5453594ed35334f7bJonathan von Schroederwhose sequents are all provable, the application of the according rule is
b35e053c2c5a5ea0f13decfd0303894861d82b4dJonathan von Schroederjustified and hence the algorithm has succeeded.
389174170e85ad6910b3755ce82e0d896dc8bac1Christian MaederDue to $\ldots$ %what?
b35e053c2c5a5ea0f13decfd0303894861d82b4dJonathan von Schroeder, the \emph{satisfiability} of a formula $\phi$ amounts to the provability
b35e053c2c5a5ea0f13decfd0303894861d82b4dJonathan von Schroederof its negation $\neg \phi$.
ece3b1a5353a9af3c966a1d5453594ed35334f7bJonathan von Schroeder\label{rem:satProv}
b35e053c2c5a5ea0f13decfd0303894861d82b4dJonathan von Schroeder\begin{algorithm}[h]
ece3b1a5353a9af3c966a1d5453594ed35334f7bJonathan von Schroeder Step 1: Take the input formula $\phi$, construct the initial open
b35e053c2c5a5ea0f13decfd0303894861d82b4dJonathan von Schroeder sequent $\Gamma_0 = \{\phi\}$ from it. Set i=0.\\
ece3b1a5353a9af3c966a1d5453594ed35334f7bJonathan von Schroeder Step 2: Try to apply all rules $r\in R_{sc}$ to any open sequent
b35e053c2c5a5ea0f13decfd0303894861d82b4dJonathan von Schroeder $\Gamma_i$. Let $\Lambda_i$ denote the set of the resulting open
b35e053c2c5a5ea0f13decfd0303894861d82b4dJonathan von Schroeder Step 3: If $\Lambda_i$ contains the empty premise, mark the open
ece3b1a5353a9af3c966a1d5453594ed35334f7bJonathan von Schroeder sequent $\Gamma_i$ as proven. If $\Lambda_i$ contains no premise at
b35e053c2c5a5ea0f13decfd0303894861d82b4dJonathan von Schroeder all, mark the open sequent $\Gamma_i$ as refuted.\\
b35e053c2c5a5ea0f13decfd0303894861d82b4dJonathan von Schroeder Step 4: Else, add all premises from $\Lambda_i$ to the set of open
b35e053c2c5a5ea0f13decfd0303894861d82b4dJonathan von Schroeder premises and choose any premise from this set. Add all $\Gamma^j_i$
b35e053c2c5a5ea0f13decfd0303894861d82b4dJonathan von Schroeder from this premise to the set of open sequents and continue with
b35e053c2c5a5ea0f13decfd0303894861d82b4dJonathan von Schroeder\begin{proposition}
b35e053c2c5a5ea0f13decfd0303894861d82b4dJonathan von SchroederAlgorithm~\ref{alg:seq} is sound and complete w.r.t. provability. Furthermore,
b35e053c2c5a5ea0f13decfd0303894861d82b4dJonathan von SchroederAlgorithm~\ref{alg:seq} has complexity X.
3d3889e0cefcdce9b3f43c53aaa201943ac2e895Jonathan von Schroeder\end{proposition}
ece3b1a5353a9af3c966a1d5453594ed35334f7bJonathan von Schroeder\subsection{The conditional logic instance}
b35e053c2c5a5ea0f13decfd0303894861d82b4dJonathan von SchroederThe genericity of the introduced sequent calculus allows us to easiliy
b35e053c2c5a5ea0f13decfd0303894861d82b4dJonathan von Schroedercreate instantiations of Algorithm~\ref{alg:seq} for a large variety
b35e053c2c5a5ea0f13decfd0303894861d82b4dJonathan von Schroederof modal logics:
b35e053c2c5a5ea0f13decfd0303894861d82b4dJonathan von SchroederBy setting $\mathcal R^m_{sc}$ for instance to the rule shown in
b35e053c2c5a5ea0f13decfd0303894861d82b4dJonathan von SchroederFigure~\ref{fig:modalCKCEM}
b35e053c2c5a5ea0f13decfd0303894861d82b4dJonathan von Schroeder(where $A_a = A_b$ is shorthand for $A_a\rightarrow A_b\wedge A_b\rightarrow A_a$), we
ece3b1a5353a9af3c966a1d5453594ed35334f7bJonathan von Schroederobtain an algorithm for deciding provability (and satisfiability) of
ece3b1a5353a9af3c966a1d5453594ed35334f7bJonathan von Schroederconditional logic. Note however, that we restrict ourselves to the
ece3b1a5353a9af3c966a1d5453594ed35334f7bJonathan von Schroederexamplary conditional logic \textbf{CKCEM} for the remainder of this section
ece3b1a5353a9af3c966a1d5453594ed35334f7bJonathan von Schroeder(slightly adapted versions of the optimization will work for other conditional logics).
ece3b1a5353a9af3c966a1d5453594ed35334f7bJonathan von Schroeder\begin{figure}[h!]
b35e053c2c5a5ea0f13decfd0303894861d82b4dJonathan von Schroeder \begin{tabular}{| c |}
ece3b1a5353a9af3c966a1d5453594ed35334f7bJonathan von Schroeder (\textsc {\textbf{CKCEM}})\inferrule{A_0 = \ldots = A_n \\ B_0,\ldots, B_j,\neg B_{j+1},\ldots,\neg B_n}
ece3b1a5353a9af3c966a1d5453594ed35334f7bJonathan von Schroeder {\Gamma, (A_0\Rightarrow B_0),\ldots,(A_j\Rightarrow B_j),
b35e053c2c5a5ea0f13decfd0303894861d82b4dJonathan von Schroeder \neg(A_{j+1}\Rightarrow B_{j+1}),\ldots,\neg(A_n\Rightarrow B_n) } \\[-5pt]
ece3b1a5353a9af3c966a1d5453594ed35334f7bJonathan von Schroeder \caption{The modal rule $\textbf{CKCEM}$ of conditional logic}
ece3b1a5353a9af3c966a1d5453594ed35334f7bJonathan von Schroeder \label{fig:modalCKCEM}
ece3b1a5353a9af3c966a1d5453594ed35334f7bJonathan von SchroederIn the following, we use the notions of \emph{conditional antecedent} and
b35e053c2c5a5ea0f13decfd0303894861d82b4dJonathan von Schroeder\emph{conditional consequent} to refer to the parameters of the modal operator of
ece3b1a5353a9af3c966a1d5453594ed35334f7bJonathan von Schroederconditional logic.
b35e053c2c5a5ea0f13decfd0303894861d82b4dJonathan von SchroederIn order to decide whether there is an
ece3b1a5353a9af3c966a1d5453594ed35334f7bJonathan von Schroederinstance of the modal rule of conditional logic which can be applied to
b35e053c2c5a5ea0f13decfd0303894861d82b4dJonathan von Schroederthe actual current sequent, it is necessary to create a preliminary premise
ece3b1a5353a9af3c966a1d5453594ed35334f7bJonathan von Schroederfor each possible combination of equalities of all the premises of the
b35e053c2c5a5ea0f13decfd0303894861d82b4dJonathan von Schroedermodal operators in this sequent. This results in $2^n$ new premises for
b35e053c2c5a5ea0f13decfd0303894861d82b4dJonathan von Schroedera sequent with $n$ top-level modal operators.
(i.e. the first part, showing the necessary equalities, and the second
conditional antecedents of modal nesting depth at most $n$ (i.e.
$prems(n)=\bigcup_{j=1..n}^{} p_j$).
(\textsc {\textbf{CKCEM}$^m$})\inferrule{\bigwedge{}_{i,j=\{1..n\}}{eval(A_i=B_j)=\top}
also try to show equivalences between any two conditional antecedents (e.g. $(p_0,
Algorithm~\ref{alg:optPreprove} is sound and complete w.r.t. provability.
a (w.r.t the considered modal logic) sound instance of the generic rule which
Thus it is valid to use this new Algorithm~\ref{alg:genOptPreprove} where the employed ruleset has to be
(\textsc {\textbf{Opt}$^m$}) \inferrule{ eval(S_1)=\top \\ \ldots \\ eval(S_n)=\top \\ \mathcal{S} }
the generic algorithm to the case of modal logics which are monotone w.r.t. their
considered logic (i.e. the case of plain monotone modal logic), all the
difficulty w.r.t. the different algorithms:
\item The formula \verb|bloat(|$i$\verb|)| is a full binary tree of depth $i$ (containing $2^i$ pairwise logically
\verb|bloat(|$i$\verb|)| = $($\verb|bloat(|$i-1$\verb|)|$)\Rightarrow($\verb|bloat(|$i-1$\verb|)|)\\
Formulae from this class should show the problematic perfomance of Algorithm~\ref{alg:preprove} whenever
a formula contains many modal antecedents which appear at different depths. Since Algorithm~\ref{alg:preprove}
does not check whether pairs of modal antecedents are independent or connected, it should perform considerably worse
than Algorithm~\ref{alg:optPreprove} which only attempts to prove the logical equivalence of formulae which are not
independent. A comparison of the different algorithms w.r.t. formulae \verb|bloat(|$i$\verb|)| is depicted in
\item The formula \verb|conjunct(|$i$\verb|)| is just an $i$-fold conjunction of a specific formula $A$:
$A=(((p_1\vee p_0)\Rightarrow p_2)\vee((p_0\vee p_1)\Rightarrow p_2))\vee\neg(((p_0\vee p_1)\Rightarrow p_2)\vee((p_1\vee p_0)\Rightarrow p_2))$)
This class contains formulae which contain logically (but not sytactically!) equivalent antecedents.
As $i$ increases, so does the amount of appearance of identical modal antecedents in different positions
of the considered formula. Hence the optimized should perform considerably better than the unoptimized
Algorithm~\ref{alg:seq}. A comparison of the different algorithms w.r.t. formulae \verb|conjunct(|$i$\verb|)| is depicted in