Usando o pacote fitch(2)

Tratarei agora do pacote fitch escrito por Peter Selinger. Aqui tem a documentação do pacote.

Aqui tem o empacotamento que fiz do fitch (2) (debian wheezy e ubuntu)

Para usar o pacote, deve-se adicionar o comando

\usepackage{fitch2)

no preâmbulo. Exemplo de preâmbulo:

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%Classe de documento
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\documentclass[10pt,a4paper]{article}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%Fontes e lingua
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\usepackage[utf8]{inputenc}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%Pacotes matemáticos
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%Pacote Fitch2
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\usepackage{fitch2}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%Titulo e autor
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\author{Alessandro Duarte}
\title{Pacote Fitch(2)}

Iremos produzir a mesma derivação que há na postagem do fitch(1). Para isso, precisamos entender os comandos atrelados ao pacote. Ele são:

\hypo - usado para introduzir uma premissa ou nova hipótese

\open - usado antes do comando \hypo para introduzir a hipótese em nova linha à direita.

\have - usado para introduzir fórmulas que são obtidas pelas regras de dedução

\close - usado quando a linha da hipótese é descartada (prova do condicional, redução ao absurdo)

Além desses comandos, há comandos que introduzem indicações das regras utilizadas:

\r - reiteração

\ii - introdução da implicação (regra do condicional)

\ie - eliminação da implicação (modus ponens)

\ai - introdução da conjunção

\ae - eliminação da conjunção

\oi - introdução da disjunção

\oe - eliminação da disjunção

\ni - introdução da negação

\ne - eliminação da negação

\be - eliminação do bottom

\nne - eliminação da dupla negação

\Ai - introdução do quantificador universal

\Ae - eliminação do quantificador universal

\Ei - introdução do quantificador existencial

\Ee - eliminação do quantificador existencial

Em fitch(2), a derivação de p\vdash q \supset p é como se segue. Em primeiro lugar, iniciamos o modo matemático. Depois, iniciamos o ambiente fitch com os comandos \begin{nd} e \end{nd}. O ambiente fitch deve ficar dentro do ambiente matemático.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%Pacote Fitch2
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\usepackage{fitch2}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%Titulo e autor
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\author{Alessandro Duarte}
\title{Pacote Fitch(2)}
\begin{document}
\maketitle
$p\vdash q\supset p$

$
\begin{nd}

\end{nd}
$

\end{document}

Dentro do ambiente fitch, introduzimos os comandos listados acima. Para introduzir a premissa p, devemos inserir o comando

\hypo {1} {p}

É necessário introduzir a numeração das linhas em sequência.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%Classe de documento
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\documentclass[10pt,a4paper]{article}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%Fontes e lingua
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\usepackage[utf8]{inputenc}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%Pacotes matemáticos
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%Pacote Fitch2
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\usepackage{fitch2}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%Titulo e autor
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\author{Alessandro Duarte}
\title{Pacote Fitch(2)}
\begin{document}
\maketitle
$p\vdash q\supset p$

$
\begin{nd}
\hypo{1} {p}

\end{nd}
$

\end{document}

Compilando

Captura de tela de 2013-09-29 00:01:13

Depois, será introduzida a hipótese q. Para isso, precisamos introduzir nova linha de hipótese. Isso é feito com o comando \open. A seguir, inserimos o comando

\hypo{2} {q}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%Classe de documento
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\documentclass[10pt,a4paper]{article}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%Fontes e lingua
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\usepackage[utf8]{inputenc}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%Pacotes matemáticos
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%Pacote Fitch2
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\usepackage{fitch2}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%Titulo e autor
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\author{Alessandro Duarte}
\title{Pacote Fitch(2)}
\begin{document}
\maketitle
$p\vdash q\supset p$

$
\begin{nd}
\hypo{1} {p}
\open
\hypo{2} {q}
\end{nd}
$

\end{document}

Compilando

Captura de tela de 2013-09-29 00:05:24

Agora repetimos a premissa p na linha de hipótese de q. Isso é feito com a regra de repetição (reiteração). Nesse caso, usamos o comando

\have{3} {p}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%Classe de documento
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\documentclass[10pt,a4paper]{article}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%Fontes e lingua
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\usepackage[utf8]{inputenc}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%Pacotes matemáticos
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%Pacote Fitch2
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\usepackage{fitch2}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%Titulo e autor
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\author{Alessandro Duarte}
\title{Pacote Fitch(2)}
\begin{document}
\maketitle
$p\vdash q\supset p$

$
\begin{nd}
\hypo{1} {p}
\open
\hypo{2} {q}
\have{3} {p}
\end{nd}
$

\end{document}

Compilando

Captura de tela de 2013-09-29 00:10:24

Como a fórmula p foi derivada na linha de hipótese de q, podemos aplicar a regra do condicional e eliminar essa linha. Para isso, usamos o comando \close e em seguida o comando

\have{4} {q\supset p}

Código final

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%Classe de documento
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\documentclass[10pt,a4paper]{article}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%Fontes e lingua
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\usepackage[utf8]{inputenc}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%Pacotes matemáticos
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%Pacote Fitch2
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\usepackage{fitch2}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%Titulo e autor
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\author{Alessandro Duarte}
\title{Pacote Fitch(2)}
\begin{document}
\maketitle
$p\vdash q\supset p$

$
\begin{nd}
\hypo{1} {p}
\open
\hypo{2} {q}
\have{3} {p}
\close
\have{4} {q\supset p}
\end{nd}
$

\end{document}

Captura de tela de 2013-09-29 00:22:29

Podemos incrementar o código indicando as regras usadas. Na linha 3, a regra de reiteração (repetição) e na linha 4, a regra de introdução da implicação (condicional). Assim, temos o seguinte código:

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%Classe de documento
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\documentclass[10pt,a4paper]{article}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%Fontes e lingua
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\usepackage[utf8]{inputenc}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%Pacotes matemáticos
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%Pacote Fitch2
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\usepackage{fitch2}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%Titulo e autor
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\author{Alessandro Duarte}
\title{Pacote Fitch(2)}
\begin{document}
\maketitle
$p\vdash q\supset p$

$
\begin{nd}
\hypo{1} {p}
\open
\hypo{2} {q}
\have{3} {p} \r{1}
\close
\have{4} {q\supset p} \ii{2,3}
\end{nd}
$

\end{document}

Captura de tela de 2013-09-29 00:31:44