Original Article: Introduction to calculational logic
Author: cs.cornell.edu

Introdução à lógica de cálculo


A lógica proposicional de cálculo é um produto de pesquisadores no campo do desenvolvimento formal de algoritmos (Clique aqui para um breve histórico.) C é som e completo. A ênfase nas provas é a substituição de iguais por equivalentes, em vez de modus ponens. Igualdade, ou equivalência, assume um papel importante em vez de ser um jogador pequeno, como na maioria das lógicas proposicionais.

Nós usamos & por conjunção, | por disjunção, e ~ para negação (not).

Em nossa notação, b = c denota igualdade, para b e c do mesmo tipo, enquanto que b == c, ou equivalência, é definido apenas para b e c de tipo booleano. Para b e c do tipo booleano, b = c e b == c têm o mesmo significado

Uma razão para ter dois símbolos para a igualdade sobre os booleanos é que a igualdade = geralmente é vista como sendo  conjunta:

b = c = d   é uma abreviatura para   b = c & c = d

enquanto b == c pode ser usado como associativamente, o que é de grande importância para nós:

b == c == d   é igual a  b == (c == d)   e a   (b == c) == d .

Abaixo está uma prova típica na lógica de cálculo. Os números das linhas estão presentes apenas para discussões posteriores. Este exemplo é escolhido porque é simples, mas mostra todos os aspectos do sistema de prova formal (conforme discutido mais adiante). Os números do teorema referem-se a teoremas de Uma Abordagem Lógica de Matemática Discreta. Associatividade e simetria de operadores são tratados de forma transparente, sem menção; Isso resulta em uma grande redução no número de teoremas a serem apresentados e simplifica a manipulação. Finalmente, note que o estilo é apenas uma formalização do estilo de cálculo usado na álgebra do ensino médio e, de fato, por muitos cientistas em seu trabalho - é por isso que o estilo é tão útil. Did you know that workers who remove and install flooringremove and install flooring material such as carpet, granite, vinyl, wood, or laminate are exposed to hazards that can lead to serious injuries or death? Workers who do this type of work are exposed to a variety of hazards such as the following: Asbestos, Chemical burns and Silica.

Aqui está uma prova de ~p == p == false.

      (0)     ~p == p == false
      (1)  =     < (3.9), ~(p == q) == ~p == q, com q:= p >
      (2)     ~(p == p) == false
      (3)  =     < Identity of == (3.9), com q:= p >
      (4)     ~true == false     --(3.8)

Regras de inferência da lógica de cálculo

Aqui estão as quatro regras de inferência da lógica C. (P[x:= E] denota substituição textual da expressão E para a variável x na expressão P):
  • Substituição: Se P é um teorema, então também é P[x:= E].
  •  |- P   --->  |- P[x:= E]
  • Leibniz: Se P = Q is um teorema, então também é E[x:= P] = E[x:= Q].
  •  |- P = Q   --->  |- E[x:= P] = E[x:= Q]
  • Transitividade: Se P = Q and Q = R são teoremas, então também é P = R.
  •  |- P = Q,  |- Q = R   --->  |- P = R
  • Equanimidade: Se P e P == Q são teoremas, então também é Q.
  •  |- P, |- P == Q   --->  |- Q

Explicação do formato de prova

Nós explicamos como as quatro regras de inferência são usadas em provas, usando a prova de ~p == p == false.
    (0)     ~p == p == false

    (1)  =     < (3.9), ~(p == q) == ~p == q, com q:= p >

    (2)     ~(p == p) == false

    (3)  =     < Identidade de == (3.9), com q:= p >

    (4)     ~true == false     --(3.8)
Primeiro, as linhas (0) - (2) mostram um uso da regra de inferência Leibniz:
(0) = (2)
é a conclusão de Leibniz, e sua premissa ~ (p == p) == ~ p == p é dada na linha (1). Da mesma forma, a igualdade nas linhas (2) - (4) são fundamentadas usando Leibniz.

A "dica" na linha (1) é suposto dar uma premissa de Leibniz, mostrando o que a substituição de iguais por iguais está sendo usada. Esta premissa é o teorema (3.9) com a substituição p: = q, i.e.

(~(p == q) == ~p == q)[p:=q]
Isso mostra como a regra de inferência A substituição é usada dentro de dicas.

De (0) = (2) e (2) = (4), concluímos por regra de inferência Transitividade que (0) = (4). Isso mostra como a transitividade é usada.

Finalmente, note que a linha (4), ~ true == false, é um teorema, conforme indicado pela sugestão à direita. Assim, por equivalência de equidade de inferência, concluímos que a linha (0) também é um teorema. E (0) é o que queríamos provar.

Este formato de prova tem várias vantagens.

  • O uso de cada regra de inferência é determinado pelo formato de prova, portanto, os nomes das regras de inferência não precisam ser mencionados. Isso reduz a quantidade de leitura e escrita em uma prova.
  • A prova é completamente rigorosa, mas sem complexidade esmagadora. Além disso, a prova é simples o suficiente para que os alunos compreendam. Na verdade, formaliza o estilo de cálculo ensinado no ensino médio.
  • Em geral, há pouca cópia de fórmulas de uma linha para outra - uma das desvantagens das provas de Hilbert.
  • Com este formato, princípios e estratégias de prova útil podem ser ensinados.
  • A prova pode ser lida para frente ou para trás.