Uma Ferramenta para Lógicos

Transcrição

Uma Ferramenta para Lógicos
The PracTEX Journal, 2007, No. 3
Article revision 2007/08/18
Uma Ferramenta para Lógicos
Arthur Buchsbaum e Francisco Reinaldo
Contacto [email protected], [email protected]
Sítio http://www.inf.ufsc.br/~arthur
Resumo turnstile é um estilo baseado em article.cls, usado para composição de
artigos. Entre outros usos, a barra de Frege é usada pelos lógicos para
denotar a relação de conseqüência, com respeito a uma dada lógica, entre
coleções de fórmulas e fórmulas. Pesquisadores em Lógica têm sentido falta
de uma rotina em LATEX para obter a barra de Frege, em alguma das diversas
formas em que esta é utilizada.
1
Introdução
A Lógica é uma ciência cuja motivação inicial foi a análise do raciocínio correto.
Hoje em dia ela está muito além do estudo do raciocínio, ela tem muitas ligações
com áreas de pesquisa tais como Matemática, Filosofia, Informática, Lingüística,
Física e Inteligência Artificial. Um dos sinais de maior utilização na Lógica é a
barra de Frege1 , da qual existem versões tais como “ `” e “ |=”, obtidas respectivamente pelos comandos de LATEX \vdash e \models.
2
O Projeto turnstile
A barra de Frege2 é um sinal muito utilizado pelos lógicos para denotar a relação
de conseqüência, em uma dada lógica, entre coleções de fórmulas e fórmulas.
A existência de uma rotina em LATEX que desenhe adequadamente este símbolo
tem feito falta, na composição de artigos que utilizam este sinal, em diversas das
1. Gottlob Frege (1848–1925) é considerado por muitos o pai da lógica quantificacional e da
moderna filosofia da linguagem, e adotou em sua obra o símbolo que é o tema deste artigo.
Maiores detalhes estão em [4].
2. http://tug.ctan.org/tex-archive/macros/latex/contrib/turnstile
formas em que este aparece, incluindo a colocação de dados nas posições corretas acima e abaixo deste sinal. Comandos de LATEX tais como \vdash e \models,
embora resultem em versões da barra de Frege, não são capazes de colocar nos
lugares adequados eventuais dados acima ou abaixo da mesma. Por exemplo,
algumas vezes é necessário colocar abaixo da barra de Frege o nome de um determinado sistema lógico, e algumas vezes é preciso colocar acima desta alguma
informação adicional.
Se queremos dizer que uma fórmula P é conseqüência lógica de uma coleção
Γ de fórmulas em uma lógica L, poderíamos tentar obter isto por
\Gamma \vdash_\mathrm{L} P,
obtendo Γ `L P.
Note que “L” não foi bem posicionado com respeito à barra de Frege, “L”
deveria ser colocado bem abaixo e centralizado. Com turnstile.sty podemos
obter isto por
\Gamma \sststile{\mathrm{L}}{} P,
resultando em Γ
L
P.
Além disto, se quisermos dizer que uma fórmula P é conseqüência lógica de
uma coleção Γ de fórmulas em uma lógica L, pela variação de x e y3 , poderíamos
tentar obter isto por
\Gamma \models_\mathrm{L}^{x,y} P,
x,y
resultando em Γ |=L P.
Também neste caso, “L” e “x, y” não foram posicionados corretamente com respeito à barra de Frege, estas expressões deveriam ser centralizadas e colocadas,
respectivamente, logo abaixo e logo acima deste sinal. Com turnstile.sty podemos obter isto por
\Gamma \sdtstile{\mathrm{L}}{x,y} P,
3. Em [1, 2, 3] objetos variantes são apresentados.
2
resultando em Γ
x,y
L
P.
Os comandos deste estilo são formados pela samblagem “tstile”, precedida
por uma samblagem com duas ou três letras. Estas letras indicam o tipo das
linhas a serem desenhadas sucessivamente; elas podem ser “n”, “s”, “d” ou “t”.
A letra “n” informa que a linha correspondente é vazia, a letra “s” que a linha
é simples, a letra “d” que é dupla, e finalmente a letra “t” que é tripla. Os
comandos correspondentes às samblagens de duas letras resultam nas barras de
Frege mais utilizadas, nas quais não é desenhada uma segunda linha vertical
seguindo a linha horizontal. A primeira letra destas samblagens indica o tipo da
linha vertical, enquanto que a segunda o tipo da linha horizontal a ser desenhada
após a linha vertical. As samblagens de três letras podem conter qualquer uma
das letras “n”, “s”, “d” ou “t”, com a restrição de que a derradeira letra seja
distinta de “n”, porque o caso no qual a terceira linha é vazia já foi tratado pelos
comandos com samblagens de duas letras precedendo “tstile”. A primeira letra
informa o tipo da primeira linha vertical, a segunda o tipo da linha horizontal e,
finalmente, a terceira o tipo da segunda linha vertical.
Estes comandos possuem três argumentos, onde o primeiro é opcional.
O primeiro argumento é opcional, este informa o tamanho em que as expressões internas na barra de Frege devem ser exibidas, “d” para expressões
(normalmente) em linhas exclusivas, “t” para expressões (normalmente) inseridas no texto corrente, “s” para expressões subscritas ou sobrescritas, e “ss” para
expressões ainda menores, subscritas ou sobrescritas com respeito às do tipo anterior. O valor predeterminado é “s”. O resultado de aplicar “d” ou “t” é o mesmo,
a não ser que haja um sinal matemático no segundo ou terceiro argumento exibido de formas distintas, dependendo se este está em expressões (normalmente)
de linhas exclusivas, ou em expressões (normalmente) inseridas no texto corrente.
O segundo e o terceiro argumento fornecem as expressões a serem colocadas
abaixo e acima da barra de Frege, onde ambas são convertidas para o tamanho
especificado no primeiro argumento. Por outro lado, se o segundo ou o terceiro
argumento foram vazios, então nada é colocado abaixo ou acima deste sinal.
3
3
Exemplos
Damos a seguir alguns exemplos, onde, à guisa de ilustração, Γ é uma coleção
de fórmulas e P é uma fórmula de uma lógica. Naturalmente, os sinais “Γ” e
“P” apenas servem para dar um possível contexto no qual a barra de Frege pode
aparecer, entre outros.
\Gamma \sststile{}{} P
Γ
P
(1)
\Gamma \sststile{\mathrm{LPD}}{} P
Γ
P
(2)
P
(3)
LPD
\Gamma \sststile{}{x,y} P
Γ
x,y
Se o argumento opcional não é usado, então o resultado é o mesmo no qual
“s” é o argumento opcional:
\Gamma \sststile{\mathrm{LPD}}{x,y} P
Γ
x,y
LPD
P
(4)
\Gamma \sststile[d]{\mathrm{LPD}}{x,y} P
Γ
x, y
P
LPD
4
(5)
\Gamma \sststile[t]{\mathrm{LPD}}{x,y} P
Γ
x, y
P
LPD
(6)
\Gamma \sststile[s]{\mathrm{LPD}}{x,y} P
Γ
x,y
P
LPD
(7)
\Gamma \sststile[ss]{\mathrm{LPD}}{x,y} P
Γ
x,y
LPD
P
(8)
\Gamma \sststile{\mathrm{LPDEFGH}}{x,y} P
Γ
x,y
LPDEFGH
P
(9)
\Gamma \sststile{\mathrm{LC}}{x,y,z,w} P
Γ
x,y,z,w
LC
P
(10)
\Gamma \sdtstile{\mathrm{LC}}{x,y,z,w} P
Γ
x,y,z,w
LC
5
P
(11)
\Gamma \dststile{\mathrm{LC}}{x,y,z,w} P
Γ
x,y,z,w
LC
P
(12)
\Gamma \ddtstile{\mathrm{LC}}{x,y,z,w} P
Γ
x,y,z,w
LC
P
(13)
\Gamma \dttstile{\mathrm{LC}}{x,y,z,w} P
Γ
x,y,z,w
LC
P
(14)
\Gamma \nsststile{\mathrm{LC}}{x,y,z,w} P
Γ
x,y,z,w
LC
P
(15)
\Gamma \ndststile{\mathrm{LC}}{x,y,z,w} P
Γ
x,y,z,w
LC
P
(16)
\Gamma \nsdtstile{\mathrm{LC}}{x,y,z,w} P
x,y,z,w
LC
6
P
(17)
\Gamma \nddtstile{\mathrm{LC}}{x,y,z,w} P
Γ
x,y,z,w
LC
P
(18)
\Gamma \ndttstile{\mathrm{LC}}{x,y,z,w} P
Γ
x,y,z,w
LC
P
(19)
\Gamma \ssststile{\mathrm{LC}}{x,y,z,w} P
Γ
x,y,z,w
LC
P
(20)
\Gamma \stststile{\mathrm{LC}}{x,y,z,w} P
Γ
x,y,z,w
LC
P
(21)
\Gamma \stttstile{\mathrm{LC}}{x,y,z,w} P
Γ
x,y,z,w
LC
P
(22)
São dados a seguir alguns exemplos de expressões matemáticas abaixo e acima
da barra de Frege que mudam bastante, dependendo do argumento opcional. Se
nenhum argumento opcional for dado, então este é considerado “s”.
O leitor pode observar que as linhas verticais não crescem de acordo com a
altura das expressões localizadas abaixo e acima da barra de Frege, isto porque
consideramos que este sinal deve ter uma altura padrão, pois entendemos que
este símbolo aparece principalmente inserido no texto corrente.
7
\Gamma \sststile{\sum_0^\infty 1/2^n}{\int_a^b f} P
Rb
a f
∞
∑0 1/2n
Γ
P
(23)
\Gamma \sststile[d]{\sum_0^\infty 1/2^n}{\int_a^b f} P
Z b
Γ
∞
a
f
∑ 1/2
P
(24)
n
0
\Gamma \sststile[t]{\sum_0^\infty 1/2^n}{\int_a^b f} P
Rb
a f
∞
∑0 1/2n
Γ
P
(25)
\Gamma \sststile[s]{\sum_0^\infty 1/2^n}{\int_a^b f} P
Rb
Γ
a f
∞
∑0 1/2n
P
(26)
\Gamma \sststile[ss]{\sum_0^\infty 1/2^n}{\int_a^b f} P
Γ
Rb
a f
∑0∞ 1/2n
8
P
(27)
4
Conclusões
O estilo turnstile.sty parece ser adequado para a obtenção da barra de Frege,
em muitas das formas em que esta aparece, e coloca corretamente expressões
adicionais abaixo e acima desta, se necessário, bem como a largura deste sinal
cresce tanto quanto for preciso, quando uma ou ambas as expressões são largas.
Para uma versão futura deste pacote, pretendemos examinar a conveniência
de mudar também a altura da barra de Frege, levando assim em conta as alturas
das expressões eventualmente colocadas abaixo ou acima deste sinal, além das
suas larguras, como já procedemos.
References
[1] Arthur Buchsbaum e Jean-Yves Béziau. Introduction of implication and generalization in axiomatic calculi. Em Jean-Yves Béziau, Alexandre Costa Leite,
e Alberto Facchini, editores, Aspects of Universal Logic, número 17 em Travaux
de Logique, página 231. Centre de Recherches Sémiologiques, Université de
Neuchâtel, Dezembro de 2004.
[2] Arthur Buchsbaum e Tarcisio Pequeno. A general treatment for the deduction
theorem in open calculi. Logique et Analyse, 157:9–29, janeiro–março de 1997.
[3] Arthur Buchsbaum e Tarcisio Pequeno. A introdução da implicação em cálculos axiomáticos abertos. Em Anais do IV Encontro de Filosofia Analítica, páginas 61–75, 1998.
[4] Gottlob Frege. Lógica e Filosofia da Linguagem. Editora Cultrix e Editora da
Universidade de São Paulo, 1978.
[5] Helmut Kopka and Patrick W. Daly. A Guide to LATEX. Addison-Wesley, 1999.
[6] Leslie Lamport. LATEX – A Document Preparation System – User’s Guide and
Reference Manual. Addison-Wesley, 1994.
[7] Anil Nerode and Richard A. Shore. Logic for Applications. Springer, 1997.
[8] John Nolt. Logics. Wadsworth, 1996.
9

Documentos relacionados