2024.1 FMC2, turma de Thanos

Horários de aula: 246T12 [13h00–14h40]
Sala: A308
Contato:thanos@imd.ufrn.br
Playlists: FMC2: ( CFR | IEA )
Pré-reqs: ( Intro | IDMa | IRI | IDMb )
Monitoria/TA: fmc.imd.ufrn.br
Turmas anteriores: ..
Self-study sites: /teaching/self

Info

Pré-requisitos

É essencial¹ ter aprendido bem o conteudo transversal de FMC1. Sem aprender esses assuntos primeiro, não faz sentido se matricular em FMC2.

¹ Imagine chegar em Polo Aquático II, sem ter aprendido mesmo as Natação I e II primeiro; ainda mais sem sequer ter entrado na agua na sua vida inteira!

(Obs.: aprenderpassar.)

Então—ANTES de começar—é bom ter estudado:

Além disso, é necessário que os alunos matriculados têm tempo e vontade para estudar, fazer os (muitos) trabalhos atribuídos, etc.

(Obs.: estudarler.)

Antes de começar é bom dar uma lida nos:

  1. Comments on style de Munkres.
  2. A parte Writing mathematics do livro The tools of mathematical reasoning, de Lakins.

Conteúdo

A disciplina FMC2 será dividida em 3 módulos–unidades. Essa divisão é influenciada pelos módulos correspondentes à FMC2 baseados nos módulos correspondentes desta proposta.

CFR1: Conjuntos, Funções (30h)

Especificações e implementações matemáticas de coleções (conjuntos, ênuplas, multiconjuntos, sequências), e de suas principais operações e predicados; extensão vs intensão. A notação construtor-de-conjunto (set-builder) e sua interpretação. Implementação da noção de cardinalidade, no caso finito. Operações sobre coleções, finitas ou não, de conjuntos: união, interseção, produto e coproduto de conjuntos (produto cartesiano e união disjunta). Para o caso de coleções finitas, definições recursivas e demonstrações indutivas das suas propriedades. Complemento relativo, diferença simétrica. Conjunto potência. Especificações de famílias indexadas. Operações sobre famílias indexadas de conjuntos. Coberturas e partições. Especificações e implementações matemáticas de associações (funções parciais, totais, e não-determinísticas); extensão vs intensão. Funções vs procedimentos em programação; funções puras e efeitos colaterais. Funções anônimas (notação lambda). Funções de ordem superior, e funções como cidadãos de primeira classe. Curryficação e aplicação parcial de funções. Função identidade, composição de funções, iterações de uma função. Função inclusão, função vazia, função 0-ária, função constante. Projeções e demais funções associadas ao produto e ao coproduto de conjuntos (pairing, copairing, …). Funções indicadoras (ou características). Restrições de funções. Imagem direta e pré-imagem de conjuntos. A inversão de uma função, e a função inversa.

CFR2: Funções, Relações (30h)

Funções injetivas e sobrejetivas, monos e epis. Retrações e seções. Condições de invertibilidade de uma função. O teorema de Cantor sobre a cardinalidade do conjunto potência, e as cardinalidades transfinitas. Breve introdução à teoria da computabilidade: funções computáveis, números computáveis, e conjuntos computáveis; semi-decidibilidade e decidibilidade. Relações e a sua implementação conjuntista. Operações sobre relações, com ênfase no caso binário: inversa, composição, iterações, fechos. Descrição e propriedades do fecho transitivo: usando interseção (top-down) e usando união (bottom-up). Exemplos de conjuntos estruturados (e.g. espaços normados, espaços métricos, espaços topológicos, espaços de medida, grafos). Relações de equivalência e partições, classes de equivalência, e o conjunto quociente. Equivalências mais finas e mais grossas, e a relação de equivalência induzida pelo núcleo de uma função. Construções de classes de números usando quocientes. Relações de ordem: pré-ordens, ordens parciais e ordens estritas, ordens totais, elementos minimais e elementos maximais, supremos e ínfimos. Cadeias e funções que preservam ordem. Reticulados e reticulados completos. Ordens parciais completas. A construção de uma função a partir do limite de uma cadeia de funções parciais. Relações bem-fundadas: definição usando cadeias e definição usando elementos minimais, conexão com recursão e indução. Relações bem-fundadas induzidas pela imagem inversa de uma relação bem-fundada, pelo produto lexicográfico de relações bem-fundadas, e pelo fecho transitivo de uma relação arbitrária. Os Fundamentos da Matemática: uma breve introdução à Teoria Axiomática dos Conjuntos.

IEA: Introdução a Estruturas Algébricas (30h)

  1. Grupos (6h) Permutações: notação de cíclos e verificação das leis de grupo para os Sₙ. De Sₙ para grupos: definições alternativas de grupo baseadas em assinaturas diferentes; notação, exemplos e não-exemplos, incluindo casos numéricos (em particular da aritmética modular), famílias de conjuntos, espaços de funções e relações, strings. Definições de grupo abeliano, monóide, semigrupo, magma. Definição de teoria e de modelo, e as primeiras conseqüências (teoremas) das leis (axiomas) dos grupos: unicidade de identidade e dos inversos, leis de cancelamento e de resolução de equações, inverso da identidade, de inversos, e de produtos, e sua expressão com diagramas comutativos. Independencia de axiomas: como demonstrar a não-demonstrabilidade. Critérios para verificar se uma estrutura é um grupo. Como definir um grupo: tabelas de Cayley. Construções: o produto direto de grupos, grupo livre. Potências (com expoentes de naturais até inteiros) e ordem de membro de grupo incluindo demonstrações das suas propriedades (por indução e usando o lema da divisão de Euclides).
  2. Subgrupos e o grupo quociente (6h) Subgrupos: definição, exemplos, nao-exemplos, critérios; “subgrupo de” como relação de ordem; propriedade de interseção de subgrupos; relações de equivalência determinadas por subgrupos. Subgrupo gerado por subconjunto: como definir tanto top-down quanto bottom-up e demonstração por indução da sua equivalência. Exemplos fora da teoria dos grupos, incluindo conjuntos convexos e o fecho convexo. Congruência (modulo subgrupo) e coclasses. Verificação que se trata de relação de equivalencia e partição. Subgrupos normais: definições alternativas e verificação da sua equivalencia. O grupo quociente. O teorema de Lagrange e o indice dum subgrupo num grupo. Aplicações em teoria dos números incluindo obter o teorema de Euler (e logo o pequeno Fermat também) como corolário de Lagrange.
  3. Homomorfismos e isomorfismos (6h) Simetrias, os grupos simetricos, e os diagramas Hasse dos reticulados dos seus subgrupos. Homomorfismos e preservação da estrutura algebrica. Critérios de homomorfismos para grupos. Monomorfismos, epimorfismos, isomorfismos, endomorfismos, e automorfismos. O grupo Aut(G). Núcleo, imagem, e o primeiro teorema de isomorfismos de Noether para grupos. Um esboço do teorema de representação para grupos (teorema de Cayley).
  4. Outras estruturas (6h) Outras estruturas, seus primeiros teoremas e as definições de homomorfismo: semigrupo, monoide, anel, anel booleano. O monoide livre e o fecho de Kleene (Kleene star). Corpos, corpos ordenados completos e o enunciado da sua unicidade a menos de isomorfismo (os números reais). Espaços Vetoriais. Reticulados como álgebras. Construções e mapeamentos (monotonos, order-embeddings, e ordem-isomorfismos). O reticulado de subgrupos e de subgrupos normais. Homomorfismos e subreticulados. Reticulados booleanos. Enunciado do teorema de representação de Stone. Algebras de termos.
  5. Categorias (6h) Definição de categoria e exemplos, incluindo categorias associadas à programação e à lógica, e categorias a partir de preordens e posets. Dualidade e a definição de categoria oposta. Mono, epi, split mono, split epi, e iso. Definições (como especificações) por propriedades universais e diagramas comutativos: objetos terminais e inicias, produtos e coprodutos. Suas unicidades a menos de isomorfismo. Subobjetos, objetos quocientes, objeto livre, e suas propriedades universais. Verificação da sua existencia nas categorias encontradas.

Objetivos de aprendizagem

CFR1: Conjuntos, Funções

Prática com o uso das técnicas de demonstração e refutação matemática. Familiarização com a linguagem e com as principais classes, operações e propriedades de conjuntos e funções, definidas extensionalmente ou intensionalmente. Familiarização com as noções do cálculo lambda usadas em programação e lógica: variáveis ligadas e livres, captura de variáveis, renomeamento de variáveis, sombreamento de variáveis, aplicações de funções aos seus argumentos. Reconhecer os objetos matemáticos relevantes às linguagens de programação e suas propriedades. Familiarização com a formulação de especificações, e suas implementações matemáticas. Familiarização com o uso de diagramas comutativos em definições e demonstrações, e com especificações via propriedades universais.

CFR2: Funções, Relações

Prática com a escrita de especificações matemáticas e com o uso das técnicas de demonstração matemática, incluindo o método da diagonalização. Familiarização com as principais classes, operações e propriedades de relações. Familiarização com cardinalidades de conjuntos infinitos. Apreciar a conexão entre especificação e implementação. Familiarização com o raciocínio “sem pontos” (a saber, sem mencionar elementos dos conjuntos), através do composições de funções, e suas aplicações em programação.

IEA: Introdução a Estruturas Algébricas

Compreensão do papel da álgebra no estudo de estruturas de interesse computacional. Prática das técnicas de demonstração matemática e do uso do raciocínio equacional. Apreciar a conexão entre axiomas e seus modelos, e o conceito de independência lógica. Familiarização com a linguagem básica e as idéias elementares da Teoria das Categorias, incluindo o uso de diagramas comutativos para expressar proposições (leis e teoremas), especificações e definições.

Bibliografia e referências

Conhece o libgen?

Principal

Para cada um dos assuntos que tratamos, procure também a secção «Leitura complementar» no capítulo correspondente do fmcbook para mais referências.

CFR1: Conjuntos, Funções

  • [fmcbook]: Cap: «Conjuntos»; «Funções»
  • Moschovakis (2005): Notes on Set Theory, 2nd ed. (cap: 1)

CFR2: Funções, Relações

  • [fmcbook]: Cap: «Relações»; «Posets; reticulados»; «O paraíso de Cantor»; «Teoria dos conjuntos axiomática»
  • Moschovakis (2005): Notes on Set Theory, 2nd ed. (cap: 2,3,4,5,A)
  • Davey & Priestley (2002): Introduction to Lattices and Order, 2nd ed. (cap: 1, 2, 4, 8)
  • Moschovakis (2005): Notes on Set Theory, 2nd ed. (cap: 6)

IEA: Introdução a Estruturas Algébricas

  • [fmcbook]: Cap: «Teoria dos Grupos»; «Estruturas Algébricas»; «Teoria das Categorias»
  • Aluffi (2009): Algebra, Chapter 0 (Cap: II)
  • Herstein (1975): Topics in Algebra, 2nd ed.
  • Halmos & Givant (2009): An introduction to Boolean Algebras
  • Birkhoff & Mac Lane (1977): A Survey of Modern Algebra, 4th ed.
  • Mac Lane & Birkhoff (1999): Algebra, 3rd ed.
  • Davey & Priestley (2002): Introduction to Lattices and Order, 2nd ed.
  • Barr & Wells (1998): Category Theory for Computing Science, 2nd ed., 2020 reprint

Auxiliar

  • Goldblatt (1979): Topoi
  • Crole (1993): Categories for Types (Cap: 1,2,3)
  • Lawvere & Schanuel (2009): Conceptual Mathematics, 2nd ed.
  • Barr & Wells (1998): Category Theory for Computing Science, 2nd ed., 2020 reprint
  • Bird & de Moore (1997): The Algebra of Programming
  • Halmos (1960): Naive Set Theory
  • Wells (1993): Communicating Mathematics: Useful ideas from computer science (in American Mathematical Monthly, Vol 120, No. 5, pp.397–408)
  • Mendelson (1973): Number Systems and the Foundations of Analysis (Cap. 2, 3, 4, 5, E, F)

Dicas

Links

Tecnologias e ferramentas

Obs.: As tecnologías/ferramentas seguintes podem mudar durante a disciplina—exceto a primeira.

  1. PAPEL (um caderno para dedicar à disciplina) e LAPIS/CANETA.
  2. Zulip (leia o FAQ).
  3. Pouco de (La)TeX (veja o minicurso TeX 2018.2). Online editor/compilador: Overleaf.

Regras

  1. Nunca escreva algo que você mesmo não sabe explicar: (i) o que significa; (ii) seu papel na tua resolução. Por exemplo: um aluno escreveu a frase seguinte na sua demonstração: «Como f é cancelável pela esquerda temos que g=h». Ele deve saber o que significa ser cancelável pela esquerda e também explicar como isso foi usado e/ou o que isso tem a ver com essa parte da sua demonstração.
  2. Qualquer trabalho poderá ser questionado em forma de prova oral, em modo privado ou aberto. Se um aluno não consegue explicar o que ele mesmo escreveu numa resolução, será considerado plágio (veja abaixo).
  3. Participando, nunca dê uma resposta que tu não pensou sozinho, exceto dando os créditos correspodentes.
  4. Não tente “forçar a barra” perguntando ou respondendo coisas aleatórias com objetivo único de ganhar pontos. Os pontos de participação não correspondem em apenas perguntas ou dúvidas que mostram interesse. O interesse é implícito pelo fato que tu escolheu matricular nesta turma—não vale pontos.
  5. Não procurem resoluções em qualquer lugar fora dos indicados em cada homework. O único recurso aceitável para procurar ajuda é no nosso Zulip (especificamente seus canáis públicos—não DM) e a monitoria.
  6. Proibido consultar o apêndice de resoluções do fmcbook durante a disciplina exceto quando for explicitamente permitido por mim. (Os apêndices de dicas são permitidos sim.)

Uns deveres dos alunos

  1. Visitar o site e o Zulip da disciplina pelo menos uma vez por dia durante o semestre. (Qualquer coisa postada no site ou no Zulip da disciplina será considerada como conhecida por todos os alunos da turma.)
  2. Estudar o conteúdo lecionado e tentar resolver todos os trabalhos atribuidos.
  3. Participar no Zulip diariamente, compartilhando tuas resoluções para receber feedback, e checando as resoluções de outros colegas para dar feedback.
  4. Checar e atender seu email cadastrado no SIGAA pelo menos uma vez por dia durante o semestre.
  5. Participar nas aulas! Obs.: tendo uma dúvida durante a aula, levante a mão para solicitar “a fala” e assim que a receber, pergunte! Não espere o fim da aula para discutir tua dúvida em “modo particular”! A maioria das vezes eu vou negar isso e pedir ao aluno iniciar a discussão no Zulip ou na próxima aula.
  6. Participar nas aulas de exercícios de monitoria e utilizar seus horários de tirar dúvidas.

(Veja também os FAQs relevantes.)

Sobre plágio

  1. Plágio detectado implica que o aluno será reprovado imediatamente por nota e por faltas.
  2. Entregar tuas resoluções para um aluno copiar é proibido do mesmo jeito, e também não ajuda mesmo ninguém.

Cadernos vs. celulares

Não faz sentido aparecer na aula sem caderno. E não faz sentido aparecer na aula com celular ligado; bote no modo avião antes de entrar na sala. As aulas são interativas e se não pretende participar e concentrar nesses 100 minutos, sugiro ficar fora e escolher uma outra maneira de passar teu tempo. Não é necessário (e obviamente nem suficiente) aparecer nas minhas aulas para passar.

Avaliação e faltas

Disclaimer. Eu suponho que os alunos desta turma escolheram se matricular por interesse em aprender seu conteúdo. O ideal seria ignorar assuntos irrelevantes de avaliação, presenças, carga horária, etc., e se jogar nos estudos.

Avaliação

A nota final de cada aluno vai ser principalmente baseada em um ou mais dos: (i) provas escritas; (ii) sua participação; (iii) trabalhos atribuidos; (iv) hw resolvidos (veja o FAQ relevante).

Cada aluno será responsável para manter organizado e bem escrito o seu caderno com todos os teoremas e exercícios que estudou durante a disciplina.

Presenças e faltas

A presença pela regulação da UFRN é obrigatória. Os alunos que não gostam/querem/podem aparecer nas minhas aulas ainda tem chances de ganhar até nota máxima e aprovar na disciplina. Ou seja: alunos que escolhem não participar ou aparecer nas aulas, e mesmo assim aparecem nas provas escritas e conseguem nota final de aprovação vão ter sua porcentagem de faltas ajustada para não reprovar por faltas. Esclarecimento: alunos que não conseguem nota final de aprovação não terão sua porcentagem de presença ajustada de jeito nenhum e por nenhum motivo.

Obviamente, alunos que não aparecem nas aula não terão como ganhar pontos de participação—duh!—nem acesso nos pontos de possíveis provas-surpresas.

As presenças/faltas serão cadastradas usando o sistema Plickers (veja o FAQ relevante).

Atrasados

Definição (atrasado). Seja $a$ aluno desta turma. Dizemos que $a$ é atrasado sse $a$ não está já sentado na sua mesa, com seu caderno já aberto, seu celular já desligado e na mochila, no momento que a aula começa.

Tentem estar presentes na sala da aula ANTES do horário do seu começo, e fiquem até o fim da aula.

Caso que alguém chega atrasado: não faz sentido bater na porta da sala de aula; não faz sentido cumprimentar nem o professor (não é mostra educação cumprimentar nesse caso—pelo contrário!) nem os amigos/colegas da aula. Entrando numa sala onde a aula já começou, tentem fazer sua entrada o menos possível notada por os participantes pois atrapalha a concentração de todos.

FAQs

Dynamic content

Pontos de participação

Provas

Provas surpresa. Note que em qualquer aula pode ter prova surpresa, cujos pontos são considerados «pontos extra», assim sendo possível tirar nota máxima (100), mesmo perdendo todas as provas surpresas.

Informação sobre as provas será postada aqui.

U1 (CFR1)

U2 (IEA)

U3 (CFR2)

  • Prova CFR2.1 / ?pts (2024-??-??)
  • Prova CFR2.2 / ?pts (2024-??-??)

Homework (HW)

Leia bem o FAQ sobre hw. Note também que:

  • Homeworks são atribuidos também durante as aulas e no Zulip.
  • Homeworks marcados assim são auxiliares; tente apenas se tu tem resolvido uma parte satisfatória dos outros.

2024-02-26 (IntroProof)

  1. Estude/revise o IntroProof (isso inclue o logic.lean (veja lá) e o NNG).
  2. Escreva a tabelinha dos conectivos e seus usos/ataques, incluindo para cada comando escrito qual é o efeito que tem no estado da demonstração (i.e.: nos dados e no alvo).

2024-02-29 (IEA-hw1)

  1. construa grupos com quantidades diferentes de membros.
  2. verifique que s₃ é um grupo e se acostuma com a notação de permutações (fmcbook, c10, §premutações)

2024-03-02 (CFR1-hw1)

  1. Demonstre que $(\subset_\alpha)$ é uma ordem parcial.
  2. Demonstre que A = B ⇔ A ⊆ B & B ⊆ A.
  3. Qual proposição é a conjunção de 0 dadas proposições?
  4. Defina o resto das operações de conjuntos que tu conhece.
  5. Estipule propriedades de tais operações (enuncie como teoremas) e demonstre.
  6. Verifique que S₃ é um grupo e se acostuma com a notação de permutações (fmcbook, C10, §Premutações)
  7. Considere as variações seguintes da notação set-builder, que não definimos (ainda) e (i) escreva quais conjuntos tu acha que elas descrevem (a extensão), e mostre como definir o mesmo conjunto (intensionalmente) usando a maneira “oficial” de definir conjuntos que encontramos na aula:
    1. { x ∈ {2,3,4} | 2ˣ+1 é primo }
    2. { x²+1 | x ∈ {2,3,4} }
    3. { x²+1 | x ∈ {2,3,4}, x+1 primo }

2024-03-04 (CFR1-hw2)

  1. estipule e demonstre propriedades sobre as operações e relações que temos definido

2024-03-06 (IEA-hw2)

  1. Demonstre: (!-id), (!-inv); (inv-op), (inv-id), (inv-inv); (canL), (canR); (resL), (resR)
  2. Faça o que precisa fazer para defender a afirmação que «as duas definições de grupo são equivalentes».
  3. Justifique o «multiplicar os dois lados pelo mesmo lado com g∈G»

2024-03-08 (CFR1-hw3)

  1. Demonstre as unicidades dos predicados Empty e Universal.
  2. Verifique se as seguintes podem servir como implementações de ⟨,⟩:
    1. ⟨x,y⟩ ≝ {x,{y}}
    2. ⟨x,y⟩ ≝ {{x},{{y}}}
    3. ⟨x,y⟩ ≝ {{0,x}, {1,y}}
    4. ⟨x,y⟩ ≝ {{x},x,y}
  3. Infira quais são as equações (β, η) que governam o tipo Unit, e o que significa igualdade.

2024-03-12 (CFR1-hw4)

  1. Dê uma especificação de produtos n-ários de tipos, denotados por Prod(α₁,…,αₙ).
  2. Considere os casos especiais n=2, n=1, n=0.
  3. Capítulo «Funções»:
    • §«Expressões com buracos»
    • §«Um toque de lambda»
    • §«Aplicação parcial»
    • §«Funções de ordem superior»
    • §«Currificação»

2024-03-12 (CFR1-hw5)

  1. Dê uma especificação de somas n-ários de tipos, denotados por Sum(α₁,…,αₙ).
  2. Considere os casos especiais n=2, n=1, n=0.
  3. Implemente o tipo Weekday de dias de semana
  4. Implemente o tipo Maybe α
  5. Implemente o tipo Either α β

2024-03-22 (IEA-hw3)

  1. Cap. 10: até o primeiro intervalo de problemas

2024-03-22 (CFR1-hw6)

  1. Capítulo «Funções»:
    • §«Conceito, notação, igualdade»
    • §«Diagramas internos e externos»

2024-03-22 (CFR1-hw7)

  1. Estabeleça (demonstre!) as leis de aritmética do ensino fundamental agora sobre os típos:
    1. $\delta^{\alpha+\beta} \cong \delta^\alpha \cdot \delta^\beta$
    2. $(\gamma^\beta)^\alpha \cong \gamma^{\beta\cdot\alpha}$
    3. $\alpha^0 \cong 1$
    4. $\alpha^1 \cong \alpha$
    5. $\alpha^2 \cong \alpha\cdot\alpha$
    6. $1^\alpha \cong 1$
    7. $0^\alpha \cong {?}$
    8. $0^0 \cong {?}$
    9. distributividade: $\delta(\alpha+\beta) \cong \delta\alpha + \delta\beta$
    10. (+)-associatividade
    11. (+)-comutatividade
    12. (×)-comutatividade
    13. (+)-identidade
    14. (×)-identidade
    15. anulador: $\alpha\cdot 0 \cong 0$
    16. $(\alpha+\beta)^2 \cong {?}$
  2. Tente escrever a ((+)-Elim) mas essa vez usando contextos e evitando as funções f,g
  3. Capítulo «Funções»:
    1. §«Jecções: injecções, sobrejecções, bijecções»

2024-03-29 (CFR-hw8)

  1. Capítulo «Coleções»: todos os problemas do primeiro intervalo de problemas
  2. Capítulo «Coleções»: até a §«n-tuplas»

2024-04-01 (CFR-hw9)

  1. Capítulo «Coleções»: até §«Famílias indexadas»
    1. Até o primeiro intervalo de problemas
    2. §«Funções de graça»
  2. Demonstre que (≅) (isomorfía de tipos) é uma relação de equivalência
  3. Demonstre que (≅) é uma congruência para as: 0, 1, (+), (×), (→)
  4. Em qual sentido ela é uma congruência melhor que a dos inteiros que estudamos em FMC1 (IDMa)?

2024-04-04 (IEA-hw4)

  1. Capítulo «Teoria dos Grupos»: §«Subgrupos»

2024-04-08 (CFR1-hw10)

  1. Capítulo «Funções»:
    • §«Definições estilo point-free (tácito)»
    • §«Leis de composição»
    • §«Diagramas comutativos»

2024-04-08 (CFR1-hw11)

  1. Capítulo «Funções»:
    • §«Produtos e demais construções»
  2. Escolhe uma das $\Delta_{\alpha}$, $\langle\_,\_\rangle$, $\_\times\_$ como primitiva e defina as outras duas
  3. ⟨outl, outr⟩ = ?
  4. ⟨f,g⟩ = ⟨k,h⟩ ⇒ ?
  5. ⟨f∘h,g∘h⟩ = ?
  6. (f×h)∘⟨g,k⟩ = ?
  7. $1_A \times 1_B = {?}$
  8. (f×h)∘(g×k) = ?

2024-04-25 (IEA-hw5)

  1. «Composições e identidades respeitam homos e isos»: enuncie e demonstre
  2. Seja A conjunto e (∗), (∙) operações binárias neles tais que ambas são unitais (possuem identidades) tais que (a∗b)∙(u∗v) = (a∙u)∗(b∙v). Mostre que:
    1. $1_\ast = 1_\bullet$
    2. (∗), (∙) são comutativas e iguais
    3. a operação é associativa

Histórico

2024-02-26: IntroProof

  • Recap: como “funcionam” as demonstrações
  • Θ. (∀a,b,c : Int)[ a | b & b | c ⇒ a | 2c ]
  • Prop vs Bool

2024-02-28: IEA (1)

  • Introdução
  • Estruturas algébricas
  • Permutações de n objetos
  • Definição de grupo
  • O grupo 𝒮₃

2024-03-01: CFR (1)

  • coleção vs conjunto (Set)
  • conjunto, família, classe, aglomeração, e demais “sinônimos”
  • tipos de conjuntos
  • Set como um type constructor
  • Set : Type → Type vs Set : Type
  • Como introduzir um novo tipo: interface (como usar), como formar, igualdade
  • Sobre “conjuntos” heterogêneos vs homogêneos
  • Prop vs Bool
  • Notação com chaves listando todos os membros (quantidade finita)
  • identidade da disjunção (∨): a ⊤
  • conjuntos não têm informação sobre multiplicidade de cada partinência
  • conjuntos não têm informação sobre órdem de pertinência
  • conjunto vazio de tipo α e conjunto universal (de tipo α)
  • Set (Set Int), etc.
  • o que significa «saber o conjunto A»
  • intensão vs extensão
  • Igualdade, black boxes e suas conseqüências
  • tipos estáticos vs tipo(s) dinâmico(s)
  • a relação (primitiva) $(\in_\alpha)$ : α × Set α → Prop
  • a relação $(\subseteq_\alpha)$ : Set α × Set α → Prop
  • a operação $(\cup_\alpha)$ : Set α × Set α → Set α

2024-03-04: CFR (2)

  • mais sobre coleção vs conjunto
  • mais relações binárias nos conjuntos: (⊊), (⊇), (⊋), (⊈), (⊉), (∉), (∋), (∌)
  • mais operações binárias nos conjuntos: (∩), (∖), (∆)
  • operações unárias: complemento (~), powerset ℘
  • operações unárias definidas em conjuntos-de-conjuntos (Set (Set α)): (⋃), (⋂)
  • os “açúcares” (∀x∈A)[φ(x)] e (∃x∈A)[φ(x)]

2024-03-06: IEA (2)

  • Duas definições equivalentes de grupo: uma legal, uma bagunçada
  • Grupos comutativas (abelianos)
  • Os primeiros passos (teoremas da teoria dos grupos): (!-id), (!-inv); (inv-op), (inv-id), (inv-inv); (canL), (canR); (resL), (resR)
  • Duas maneiras de demonstrar (∃!u)[…]
  • Como justificar «multiplicar os dois lados pelo mesmo lado com g∈G»

2024-03-08: CFR (3)

  • Empty, Inhabited, Singleton, Subsingleton, Universal
  • O tipo α×β (formação, uso, igualdade)
  • O tipo α×β×γ
  • Uma implementação de α×β×γ usando (×)-binário
  • Uma implementação de ⟨,⟩ usando conjuntos (Kuratowski)
  • Produtos n-ários de tipos para n≥0
  • O tipo Unit e seu único habitante ⟨⟩ : Unit
  • O tipo α→β (uso)
    • domínio e codomínio de funções
    • uso de buracos para formar funções

2024-03-11: CFR (4)

  • recap: o tipo α×β
  • o tipo Unit (como 0-ário produto de tipos)
  • teaser: o tipo Empty
  • associatividade sintáctica
  • o tipo α→β
    • o operador (invisível) de aplicação-de-função
    • currificação
    • os λx.λy.x e λx.λy.y e duas maneiras de “entendê”-los no coração
    • funções com domínio Unit
    • funções com domínio Empty
    • aplicação parcial
    • o que significa mesmo «aridade de função»
    • notação de lambda cálculo

2024-03-13: IEA (3)

  • identidades-baratas
  • inversos-baratos
  • como enxergar umas equações nos alvos
  • ordem de grupo
  • construções de grupos
    • grupo produto 𝓖×𝓗
    • grupo oposto 𝓖ᵒᵖ

2024-03-15: CFR (5)

  • product types
  • sum types
  • a idéia (Curry–Howard) de propositions-as-types

2024-03-18: CFR (6)

  • produtos binários, nulários, gerais
  • somas binárias, nulárias, gerais
  • o tipo Bool como primitivo
  • implementando o tipo Bool
  • uma primeira idéia sobre tipos sendo isomórficos

2024-03-20: IEA (4)

  • tabelas Cayley & “Grupoku”
  • D. ordem de membro de grupo
  • Θ. o(a) ≠ +∞ ⇒ (∃n>0)[aⁿ = e]
  • Θ. existem exatamente o(a) potências distintas de a

2024-03-22: CFR (7)

  • os 𝟎, 𝟏, …, 𝐧, … : Type
  • Null pointer vs option types (𝟏 + α)
  • Hoare’s billion dollar mistake
  • aritmetica de tipos e suas leis
  • utilidade de ter tipos distintos mesmo sendo isómorfos
  • substituição como operação de expressões sintácticas para expressões sintácticas
    • α-renomeamento
    • capturação de variável
    • sombreamento
  • tipos de funções
    • formação
    • eliminação
    • (β)
    • (η)
    • igualdade

2024-03-25: CFR (8)

  • Contextos e seu uso em juizos
  • (→)-Intro
  • correspondência dos 0, (+), (×), (→) com os conectivos lógicos
  • mais aritmética dos tipos: (→) como exponenciação
  • plicker: injeções, sobrejeções, bijeções

2024-03-27: CFR (9); IEA (4⁺)

  • Definindo funções por casos
  • Funções identidades
  • Funções inclusões
  • Funções constantes; funções estáveis
  • Funções com (co)domínio vazio
  • Funções com (co)domínio unit
  • Estilo point-full vs point-free
  • Exemplos de isomorfismos de tipos
  • pattern matching por equações vs uma equação única (com case-of)
  • Definindo funções (conexão com as regras Intro & Elim dos 0,1,(+),(×),(→))
  • plicker: injeções, sobrejeções, bijeções (GRRR…)

2024-04-01: CFR (10)

  • curry e diversas maneiras de ver seu típo, e de escrever sua definição
  • Seqüências
  • 𝓘-indexadas Famílias
  • ⋃ e ⋂ de seqüências de conjuntos
  • definição recursiva uniões e interseções delimitadas

2024-04-03: IEA (5)

  • (♡)-fechado; 𝓖-fechado
  • Subgrupos
  • (todos os) subgrupos dos inteiros
  • Diagrama Hasse do Sub(𝓖)
    • o Hasse do Sub(𝓢₃)

2024-04-05: Prova CFR1.1; Prova IEA.1

2024-04-08: CFR (11)

  • função: univocidade e totalidade
  • funções parciais, funções totais
  • (↦) vs (→)
  • ! : 0 → β
  • ! : α → 1
  • Diagramas externos e internos
  • Diagramas comutativos
  • (∘) como função polimórfica
  • Θ. associatividade da (∘)
  • Θ. identidades da (∘)
  • estilo point-free de definir funções
  • programação tácita
  • como definir a λx.x² + 2x + 1 sem pontos
  • a função diagonal Δ : α → α×α
  • ⟨_,_⟩ : (α → β) × (α → γ) → (β × γ)
  • _×_ : (α → β) × (γ → δ) → (α×β → γ×δ)

2024-04-10: IEA (6)

  • subgrupos: detalhamento da def
  • critéria de subgrupo
  • interseção vs união de subgrupos
  • arvore de demonstração
  • regras de Intro e Elim como funções
  • ⟨a⟩: subgrupo gerado por um a∈𝓖
  • construção bottom-up
  • união de (⊆)-chain como limite

2024-04-12: CFR (12)

  • necessário (mas não suficiente) para isomorfismo: injetividade e sobrejetividade
  • ℕ ≅ ℕ + ℕ
  • uma variação de (η) desejada para tipos de soma
  • comutatividade de diagramas
  • Mais funções de graça
    • o produto f×g
    • o pairing ⟨f,g⟩

2024-04-15: CFR (13)

  • produtos e somas (coprodutos)
  • especificação a partir de propriedade universal

2024-04-17: IEA (7)

  • desastres com «como-logo»
  • homomorfismos

2024-04-19: IEA (7⁺); CFR (14)

  • critério de homomorfismo de grupos
  • isomorfismo
  • Dois caminhos de definir uma função (α+β)→(γ×δ)

2024-04-22

2024-04-24: IEA (8)

  • isomorfismos de grupo
  • kernel de homomorfismo
  • definições de aH e HK etc
  • os membros de Ha são: (i) distintos dois a dois; (ii) frescos (não membros do H)

2024-04-26: IEA (8⁺); CFR (15)

  • coclasses esquerdas e direitas de subgrupo
  • índice de subgrupo num grupo
  • «divisão» 𝓖/H: o que significa e o que necessita
  • o teorema de Lagrange
  • coberturas e partições
  • ∇ : α ← α + α
  • investigação: (como decidir) quais definições recursivas de funções são aceitáveis?

2024-04-29: CFR (16)

  • definições recursivas como resoluções únicas de sistemas de equações
  • unicidade de resoluções para uns sistemas
  • $\overrightarrow \wp$, $\overleftarrow \wp$
  • (endo)functors no mundo de conjuntos e funções

Futuro (fluido)

2024-05-03: CFR; IEA

2024-05-06: CFR

2024-05-08: IEA

2024-05-10: CFR

2024-05-13: CFR

2024-05-15: IEA

2024-05-17: CFR

2024-05-20: CFR

2024-05-22: IEA

2024-05-24: CFR

2024-05-27: CFR

2024-05-29: IEA

2024-05-31: CFR

2024-06-03: CFR

2024-06-05: IEA

2024-06-07: CFR

2024-06-10: CFR

2024-06-12: IEA

2024-06-14: CFR

2024-06-17: CFR

2024-06-19: IEA

2024-06-21: CFR

2024-06-24: CFR

2024-06-26: IEA

2024-06-28: CFR

2024-07-01: CFR

2024-07-03: IEA

2024-07-05: CFR

Last update: Mon Apr 29 17:32:27 -03 2024

<– biblio –>