|
Warning: this is an htmlized version!
The original is here, and the conversion rules are here. |
% (find-angg "LATEX/2010-1-MD-plano-de-aulas.tex")
% (find-dn4ex "edrx08.sty")
% (find-angg ".emacs.templates" "s2008a")
% (defun c () (interactive) (find-zsh "cd ~/LATEX/ && ~/dednat4/dednat41 2010-1-MD-plano-de-aulas.tex && latex 2010-1-MD-plano-de-aulas.tex"))
% (defun c () (interactive) (find-zsh "cd ~/LATEX/ && ~/dednat4/dednat41 2010-1-MD-plano-de-aulas.tex && pdflatex 2010-1-MD-plano-de-aulas.tex"))
% (eev "cd ~/LATEX/ && Scp 2010-1-MD-plano-de-aulas.{dvi,pdf} edrx@angg.twu.net:slow_html/LATEX/")
% (defun d () (interactive) (find-dvipage "~/LATEX/2010-1-MD-plano-de-aulas.dvi"))
% (find-dvipage "~/LATEX/2010-1-MD-plano-de-aulas.dvi")
% (find-pspage "~/LATEX/2010-1-MD-plano-de-aulas.pdf")
% (find-pspage "~/LATEX/2010-1-MD-plano-de-aulas.ps")
% (find-zsh0 "cd ~/LATEX/ && dvips -D 300 -o 2010-1-MD-plano-de-aulas.ps 2010-1-MD-plano-de-aulas.dvi")
% (find-zsh0 "cd ~/LATEX/ && dvips -D 600 -P pk -o 2010-1-MD-plano-de-aulas.ps 2010-1-MD-plano-de-aulas.dvi && ps2pdf 2010-1-MD-plano-de-aulas.ps 2010-1-MD-plano-de-aulas.pdf")
% (find-zsh0 "cd ~/LATEX/ && dvips -D 300 -o tmp.ps tmp.dvi")
% (find-pspage "~/LATEX/tmp.ps")
% (ee-cp "~/LATEX/2010-1-MD-plano-de-aulas.pdf" (ee-twupfile "LATEX/2010-1-MD-plano-de-aulas.pdf") 'over)
% (ee-cp "~/LATEX/2010-1-MD-plano-de-aulas.pdf" (ee-twusfile "LATEX/2010-1-MD-plano-de-aulas.pdf") 'over)
\documentclass[oneside]{book}
\usepackage[latin1]{inputenc}
\usepackage{edrx08} % (find-dn4ex "edrx08.sty")
%L process "edrx08.sty" -- (find-dn4ex "edrx08.sty")
\input edrxheadfoot.tex % (find-dn4ex "edrxheadfoot.tex")
\begin{document}
\input 2010-1-MD-plano-de-aulas.dnt
%*
% (eedn4-51-bounded)
%Index of the slides:
%\msk
% To update the list of slides uncomment this line:
%\makelos{tmp.los}
% then rerun LaTeX on this file, and insert the contents of "tmp.los"
% below, by hand (i.e., with "insert-file"):
% (find-fline "tmp.los")
% (insert-file "tmp.los")
% (find-es "maxima" "n^2+n+41")
Seja $f(n) = n^2+n+41$. Então para todo $n Ý \N$, $f(n)$ é primo.
% (find-LATEXfile "2009-micropol.tex" "2^100-2^99")
Quando é que uma afirmação está correta?
Quando é que uma prova está correta?
Quando é que uma prova está completa?
Resposta 1: isto depende de com quem você está discutindo
Isto depende de contexto,
de confiablidade (se o livro diz que é; se um aluno diz que é)
Quando é que uma prova é melhor que outra
Diálogo
O que é uma prova formal?
Prezado leitor, vimos por meio desta...
Isto não é uma prova formal
Vamos ver uma certa noção de prova formal
A noção de prova formal em Geometria é um pouco diferente
A noção de prova formal em Cálculo é um pouco diferente
Em Lógica vocês vão ver uma noção muito mais precisa de prova formal
Que expressões um computador entende?
Isto é um dos assuntos de LFA
Expressões são diferentes de valores de expressões
Uma convenção: aspas para seqüências de caracteres
O squigglyarrow é uma relação (cap.3 do Scheinerman)
As "igualdades óbvias" entre os termos de 2^{100}-2^{99}=...=2^{99}
formam uma relação
Problema avançado:
definir o conjunto das "expressões em n", primeiro sem divisão,
e definir reduções que simplifiquem essas expressões até elas
virarem polinômios.
Fazer a mesma coisa incluindo divisão, e agora incluir
"igualdades" que podem não valer para certos valores de n
Contextos
Objetos:
Números (principalmente inteiros)
Valores de verdade
Conjuntos
Listas
Strings
Avançados:
Funções
Strings
Árvores
Grafos
Partições
Expressões
Provas formais
Operações
resultado de uma operação
a soma de duas matrizes é uma matriz
a soma de dois números é um número
f(x) = 1/(x-1) está definida para quase todos os números
raiz quadrada está definida para todos os positivos
Temos dois modos de ver uma operação:
ou como uma seqüência de instruções para obter um resultado,
ou como uma caixa preta.
Programação tem mais a ver com as "instruções".
As "caixas pretas" às vezes são infinitas.
"Operações" vão ser tornadas mais precisas depois -
como funções e funções parciais.
Quase tudo no curso pode ser *formalizado* como expressões.
Como calcular o valor de uma expressão?
Noção de redução
Várias seqüências de reduções
Qual é a "melhor"?
1+2+...+99+100 =
1+100+2+99+3+98+...+48+51+49+50 =
(1+2+...+49+50)+(100+99+...+52+51) =
(1+100)+(2+99)+(3+98)+...+(49+52)+(50+51) =
101+101+101+...+101+101 =
1+2=3 versus 1+2 é 3
"Meu pai é um unicórnio azul" é falso
"Meu pai é um unicórnio azul"=F
"Meu pai é um unicórnio azul"=V = F
P = P=V = (P=V)=V
(x^4 - x^3 + x^2 - x + 1)(x + 1) = x^5 + 1
(+1)x-1)x + 1
((((x-1)x+1)x-1)x+1)(x+1)
% (find-es "maxima" "expand-and-ev")
variáveis se comportam como números
Graus de verdade
Teorema
Lema
Proposição
Conjetura
Hipótese
Axioma
Conclusão
Todo número par é soma de dois primos. (Curto demais)
Todo inteiro positivo par é soma de dois primos. (Ainda curto demais)
Todo inteiro par maior que 2 é soma de dois primos. (Preciso o suficiente)
Se nÝ\N, n é par e n>2, então existem primos p e q tais que n=p+q.
ýnÝ{2,4,6,8,10,12,...} Îp,qÝ{2,3,5,7,11,13,17,19,23,...} n=p+q
Todo número da forma n^2+n+41, para nÝ\N, é primo.
Para todo nÝ\N, n^2+n+41 é primo.
Vou começar supondo que os alunos entendem a noção de divisibilidade e
de primo, e de par e ímpar; depois vamos definir precisamente estes
conceitos.
Vou começar supondo que os alunos sabem o que é um número inteiro, um
número natural, etc.
Análise sintática
Operações importantes:
traduzir de matematiquês para português
traduzir de português para matematiquês
(quando a gente compõe as duas a gente consegue "português formal")
Outro exemplo: pegar o primeiro dígito.
Operações nem sempre estão definidas.
Exemplo: raiz quadrada.
A definição vai mudando pra ela ficar "mais definida", mas nem
sempre ela passa a ser totalmente definida.
Em linguagens de programação esse meio-termo não acontece: o que não é
entendido dá erro.
Objetivo principal da primeira parte do curso:
entender definições, fa, and, implica, or, not, valores de verdade,
fazer contas simples com estas operações (com conjuntos pequenos).
Depois a gente vai passar para conjuntos grandes, depois para
conjuntos infinitos, ou gerais, ou definidos de modos estranhos.
Baixar o Aho/Sethi/Ullman e o Hopcroft/Ullman/Motwani.
# (find-lua52manualw3m "#8" "The Complete Syntax of Lua")
Idem para par e ímpar
Pra entendermos o que é uma prova precisamos ter uma noção de
relevância:
Expandir definições
2010feb24:
Três modos de ver o que a gente estuda em matemática:
A=B
se P então Q
demonstrações
S é uma sentença matemática
D é uma demonstração
D é uma demonstração de P
W é um programa válido [em Pascal/C/Lua/Ruby/Python/Lisp]
E é uma expressão válida
E é uma expressão válida, que dá o valor de X
"O gato comeu o rato e cuspiu os ossos" é uma sentença em Português
"O gato comeu o rato e o gato cuspiu os ossos do rato"
"O gato comeu o rato e depois o gato cuspiu os ossos do rato"
2010mar02:
Estruturas algébricas:
Monóides, grupos, anéis
Z, Z[x]
polinômios formam um anel
morfismos de anéis: por exemplo, x:=5, módulo 4
/\ = min, \/ = max
Como representar árvores com conjuntos e listas
Como representar grafos como conjuntos e listas
Comparando grafos, comparando árvores
Morfismos
Composição de funções
Grafos direcionados:
* <-- *
| ^ |
| \ |
v \ |
* --> *
Operações como caixas pretas:
só o resultado importa
Nós vamos dividir vários conceitos em vários
(criar distinções)
Exemplo: "+" vira um algoritmo e uma tabelona.
Nós vamos às vezes colapsar alguns conceitos
Por exemplo, "implica" é modelado por algo mais simples
(a noção de "relevância" é separada)
Todo primo da forma 4k+1 é soma de dois quadrados
Aritmética modular
Operações:
redução (multi-função)
substituição
soma, multiplicação, subtração (overloadadas; pense em matrizes)
divisão (função parcial)
raiz quadrada (função parcial)
and, or, implies, not
forall, exists
consulta em tabela
módulo
[x:=4]: Z[x] -> Z
união, interseção, diferença, complemento
produto de conjuntos
compreensão
<,>, <,,>, ..., projeções, comprimento
cardinalidade de conjuntos
contido, contém, contido-ou-igual, etc
Objetos:
números (naturais, inteiros, reais, complexos)
valores de verdade
conjuntos
listas
polinômios
monóides, grupos, anéis
expressões
relações, funções parciais, funções
proposições
sentenças
algoritmos
provas
grafos direcionados, grafos, árvores
partições
%*
\end{document}
% Local Variables:
% coding: raw-text-unix
% ee-anchor-format: "«%s»"
% End: