如何为证明添加前提规则标签?

如何为证明添加前提规则标签?

我的论文包含一些逻辑证明,但我希望它们以特定的方式格式化,并将所采用的前提和规则对齐在右侧。

\documentclass[12pt]{article}

\usepackage{amsmath}
\usepackage{enumitem}
\usepackage{tabularx}

\begin{document}

\begin{enumerate}[label = (\arabic*)]
    \item $(p_{1} \wedge p_{2} \wedge p_{3} \wedge p_{4} \wedge p_{5} \wedge p_{6} \wedge p_{7} \wedge p_{8} \wedge p_{9} \wedge p_{10}) \supset (q_{1} \wedge q_{2} \wedge q_{3} \wedge q_{4} \wedge q_{5} \wedge q_{6} \wedge q_{7} \wedge q_{8} \wedge q_{9} \wedge q_{10}) $

    \item $p_{1} \wedge p_{2} \wedge p_{4} \wedge p_{3} \wedge p_{5}$

    \item $p_{6} \wedge p_{7} \wedge p_{8} \wedge p_{9} \wedge p_{10}$

    \item $p_{1} \wedge p_{2} \wedge p_{3} \wedge p_{4} \wedge p_{5} \wedge p_{6} \wedge p_{7} \wedge p_{8} \wedge p_{9} \wedge p_{10}$

    \item $q_{1} \wedge q_{2} \wedge q_{3} \wedge q_{4} \wedge q_{5} \wedge q_{6} \wedge q_{7} \wedge q_{8} \wedge q_{9} \wedge q_{10}$

\end{enumerate}

输出:

在此处输入图片描述

但我想将所采用的前提数字和规则排列在右侧,如下所示:

在此处输入图片描述

我尝试了几种不同的方法,但都没有得到我想要的结果。例如:

\documentclass[12pt]{article}

\usepackage{amsmath}
\usepackage{enumitem}
\usepackage{tabularx}

\begin{document}
\begin{flalign*}
(1) & (p_{1} \wedge p_{2} \wedge p_{3} \wedge p_{4} \wedge p_{5} \wedge p_{6} \wedge p_{7} \wedge p_{8} \wedge p_{9} \wedge p_{10}) \supset (q_{1} \wedge q_{2} \wedge q_{3} \wedge q_{4} \wedge q_{5} \wedge q_{6} \wedge q_{7}) & (RA) & \\
(2) & p_{1} \wedge p_{2} \wedge p_{3} \wedge p_{4} \wedge p_{5} & (RA) & \\
(3) & p_{6} \wedge p_{7} \wedge p_{8} \wedge p_{9} \wedge p_{10} & (RA) & \\
(4) & p_{1} \wedge p_{2} \wedge p_{3} \wedge p_{4} \wedge p_{5} \wedge p_{6} \wedge p_{7} \wedge p_{8} \wedge p_{9} \wedge p_{10} & (2,3 \wedge I) & \\
(5) & q_{1} \wedge q_{2} \wedge q_{3} \wedge q_{4} \wedge q_{5} \wedge q_{6} \wedge q_{7} & (1,4 MP) & \\
\end{flalign*}

\end{document}

给我:

在此处输入图片描述

但是,当前提太长时,这会将右侧的标签推离页面。还有另一种尝试,使用 tabularx(我真的不知道如何使用):

\documentclass[12pt]{article}

\usepackage{amsmath}
\usepackage{enumitem}
\usepackage{tabularx}

\begin{document}

\begin{center}
    \begin{tabularx}{\textwidth}{@{}X@{}X@{}X@{}}
        (1) & $(p_{1} \wedge p_{2} \wedge p_{3} \wedge p_{4} \wedge p_{5} \wedge p_{6} \wedge p_{7} \wedge p_{8} \wedge p_{9} \wedge p_{10}) \supset (q_{1} \wedge q_{2} \wedge q_{3} \wedge q_{4} \wedge q_{5} \wedge q_{6} \wedge q_{7} \wedge q_{8}) $ & (RA) \\
        (2) & $p_{1} \wedge p_{2} \wedge p_{3} \wedge p_{4} \wedge p_{5}$ & (RA) \\
        (3) & $p_{6} \wedge p_{7} \wedge p_{8} \wedge p_{9} \wedge p_{10}$ & (RA) \\
        (4) & $p_{1} \wedge p_{2} \wedge p_{3} \wedge p_{4} \wedge p_{5} \wedge p_{6} \wedge p_{7} \wedge p_{8} \wedge p_{9} \wedge p_{10}$ & (2,3 $ \wedge $I) \\
        (5) & $q_{1} \wedge q_{2} \wedge q_{3} \wedge q_{4} \wedge q_{5} \wedge q_{6} \wedge q_{7} \wedge q_{8}$ & (1,4 MP)
    \end{tabularx}
\end{center}

\end{document}

这使:

在此处输入图片描述

理想情况下,我想要的是一些类似于 enumitem 环境的东西,但允许我将前提规则标签放在右侧(当前提跨越两行时,与顶行齐平)。

非常感谢你的帮助!

答案1

我会使用enumerate而不是对齐。

\documentclass{article}
\usepackage{amsmath,enumitem}

\newenvironment{deduction}
 {\enumerate[label=(\arabic*),ref=\arabic*]}
 {\endenumerate}

\newcommand{\filler}[1]{%
  \unskip\nobreak\hfill\penalty50\hskip1em\null\nobreak
     \hfill\mbox{(#1)}{\parfillskip=0pt \par}%
}

\begin{document}

\begin{deduction}
\item\label{a}
     $(p_{1} \wedge p_{2} \wedge p_{3} \wedge p_{4} \wedge p_{5} \wedge p_{6} \wedge 
       p_{7} \wedge p_{8} \wedge p_{9} \wedge p_{10}) \supset\hfill\break (q_{1} \wedge q_{2} \wedge 
       q_{3} \wedge q_{4} \wedge q_{5} \wedge q_{6} \wedge q_{7} \wedge q_{8} \wedge 
       q_{9} \wedge q_{10})$\filler{RA}

\item\label{b}
     $p_{1} \wedge p_{2} \wedge p_{4} \wedge p_{3} \wedge p_{5}$\filler{RA}

\item\label{c}
     $p_{6} \wedge p_{7} \wedge p_{8} \wedge p_{9} \wedge p_{10}$\filler{RA}

\item\label{d}
      $p_{1} \wedge p_{2} \wedge p_{3} \wedge p_{4} \wedge p_{5} \wedge p_{6} \wedge
       p_{7} \wedge p_{8} \wedge p_{9} \wedge p_{10}$\filler{\ref{b}, \ref{c}, $\wedge$I}

\item\label{e}
     $q_{1} \wedge q_{2} \wedge q_{3} \wedge q_{4} \wedge q_{5} \wedge q_{6} \wedge 
      q_{7} \wedge q_{8} \wedge q_{9} \wedge q_{10}$\filler{\ref{a}, \ref{b}, MP}
\end{deduction}

\end{document}

在网站上查找“Bourbaki”来了解 的定义\filler

在此处输入图片描述

答案2

这可以在 内完成amsmath

  • 增加了leqno将公式编号移动到表达式左侧并fleqn减少左边距的选项。
  • 为每一行添加了一个\label{},以便您可以\ref{}轻松地在“推论栏”中找到它们 - 当前提的顺序发生变化时,它们也会发生变化,并且您可以\ref{}在证明之外找到它们。
  • 使用alignat带有选项的环境{2}明确指定列之间的间距,\quad在第一行中。
  • 第一列是“虚拟”列,以确保对齐。
  • \text{}按照手册的建议使用amsmath。实际上,如果“MP”是“肯定前件式”的缩写,那么您不会想使用它,$MP$因为它意味着“乘积 M*P”,正如 和 的不同字距所表明的$MP$那样$\text{MP}$
  • 对于第一行,较长的一行,aligned在合适的位置包含一个嵌套的断行。

\documentclass[12pt]{article}

\usepackage[leqno,fleqn]{amsmath}

\begin{document}
\begin{alignat}{2}
\label{eq:1} & \begin{aligned}(p_{1} \wedge p_{2} \wedge p_{3} \wedge p_{4} \wedge p_{5} \wedge p_{6} \wedge p_{7} \wedge p_{8} \wedge p_{9} \wedge p_{10}) \supset\\ (q_{1} \wedge q_{2} \wedge q_{3} \wedge q_{4} \wedge q_{5} \wedge q_{6} \wedge q_{7} \wedge q_{8} \wedge q_{9} \wedge q_{10}) \end{aligned} &\quad& \text{(RA)} \\
\label{eq:2} & p_{1} \wedge p_{2} \wedge p_{4} \wedge p_{3} \wedge p_{5} && \text{(RA)}  \\
\label{eq:3}& p_{1} \wedge p_{2} \wedge p_{4} \wedge p_{3} \wedge p_{5} && \text{(RA)} \\
\label{eq:4}& p_{6} \wedge p_{7} \wedge p_{8} \wedge p_{9} \wedge p_{10} &&  \text{(\ref{eq:2}, \ref{eq:3} $\wedge$  I)}\\
\label{eq:5}& p_{1} \wedge p_{2} \wedge p_{3} \wedge p_{4} \wedge p_{5} \wedge p_{6} \wedge p_{7} \wedge p_{8} \wedge p_{9} \wedge p_{10} && (\ref{eq:1}, \ref{eq:4}, \text{MP})
\end{alignat}
\end{document}

相关内容