函数式编程的方程推理

函数式编程的方程推理

我如何创建像CS文献中那样的方程式推理证明:

  A + (B + C)
=   { Associativity }
  (A + B) + C
=   { Commutativity }
  (B + A) + C

除了 lhs2tex 以外,我似乎找不到合适的包。谢谢!

答案1

一个可能的解决方案,使用align*环境。

在此处输入图片描述

\documentclass{article}
\usepackage{amsmath} % for 'align*' env.
\begin{document}

\begin{align*}
 &\quad A + ( B + C ) \\
=&\qquad \text{\{ Associativity \}} \\
 &\quad (A + B) + C \\
=&\qquad \text{\{ Commutativity \}} \\
 &\quad (B+A)+C 
\end{align*}

\end{document}

答案2

这几乎与包文档的第一个示例相同witharrows。有很多方法可以自定义内容,但它似乎符合要求。

\documentclass{article}
\usepackage{witharrows}
\begin{document}
$\begin{WithArrows}
F&=A + (B + C) \Arrow{Associativity}\\
&=  (A + B) + C\Arrow{Commutativity}\\
&=  (B + A) + C%<-------don't put \\ here 
\end{WithArrows}$
\end{document}

在此处输入图片描述

相关内容