Modelos Matemticos n n n Usados como tipos

  • Slides: 25
Download presentation
Modelos Matemáticos n n n Usados como tipos em especificações baseadas em modelos Apresentados

Modelos Matemáticos n n n Usados como tipos em especificações baseadas em modelos Apresentados como teorias ou sistemas formais Uma teoria é definida em termos de: – Linguagem formal – Axiomas – Regras de Inferência

Teorias: conceitos adicionais n n Teoremas são fórmulas derivadas dos axiomas usando-se regras de

Teorias: conceitos adicionais n n Teoremas são fórmulas derivadas dos axiomas usando-se regras de inferência A derivação ou prova de uma fórmula A a partir de um conjunto P de fórmulas é uma seqüência cuja última fórmula é A e cada fórmula na seqüência é: – um axioma – uma premissa (hipótese) - elemento de P – conseqüência de uma fórmula anterior produzida por uma regra de inferência

Exemplo n Linguagem: sentença : : nat é par nat : : 0 |

Exemplo n Linguagem: sentença : : nat é par nat : : 0 | 1 | 2 |. . . n n Axioma: 0 é par Regra de Inferência: se n é par então n + 2 é par n n Teorema: 2 é par Derivação (prova) 1. 0 é par 2. 2 é par [axioma] [1, regra de inferência]

Exemplo: Cálculo Proposicional n Linguagem: sentença : : P | Q | R |.

Exemplo: Cálculo Proposicional n Linguagem: sentença : : P | Q | R |. . . | sentença | sentença sentença n Axioma: ---

Regras de Inferência (Cálculo Proposicional) - Intro - Elim P, Q Q, P P

Regras de Inferência (Cálculo Proposicional) - Intro - Elim P, Q Q, P P Q P Q P - Intro Q - Elim P P P Q Q P P R, Q R, P Q R

Regras de Inferência - Intro P Q - Intro P Q, Q P P

Regras de Inferência - Intro P Q - Intro P Q, Q P P Q (Cálculo Proposicional) ¬ - Intro - Elim P P, P Q Q, P ¬Q ¬P Q - Elim ¬ - Elim P Q ¬¬P P Q Q P P

Exercício n Prove o seguinte teorema: P Q

Exercício n Prove o seguinte teorema: P Q

Regras de Inferência (Cálculo de Predicados) - Elim - Intro x. P(x) P(a) x.

Regras de Inferência (Cálculo de Predicados) - Elim - Intro x. P(x) P(a) x. P(x) - Intro Para um a arbitrário - Elim P(a) x. P(x), x. P(x) Q x. P(x) Q

Exercício n Prove o seguinte teorema: P(m), x. (P(x) Q(x)) Q(m)

Exercício n Prove o seguinte teorema: P(m), x. (P(x) Q(x)) Q(m)

Teoria de Conjuntos são coleções de elementos onde a ordem e a repetição de

Teoria de Conjuntos são coleções de elementos onde a ordem e a repetição de elementos são irrelevantes n Existem dois tipos de representação: Por extenso Compreensão {e 1, . . . , en} {x: S | P(x). t(x)} n Exemplos n {2, 3, 5, 7} {0, 2, 4, . . . } {x: IN | x é primo x<10. x} {x: IN | true. 2 * x} {0, 2, 4, 6} {x: IN | x<4. 2 * x}

Teoria de Conjuntos Abreviações {x: S. t(x)} = {x: S | true. t(x)} {x:

Teoria de Conjuntos Abreviações {x: S. t(x)} = {x: S | true. t(x)} {x: S | P(x)} = {x: S | P(x). x} n Portanto, n {x: IN. 2 * x} = {x: IN | true. 2 * x} {x: IN | x é primo x<10} = {x: IN | x é primo x<10. x}

Uma Operação Básica: Pertinência n n n x S x S = (x S)

Uma Operação Básica: Pertinência n n n x S x S = (x S) {x: S | P(x). T(x)} = {x | x S P(x). T(x)}

Axiomas Fundamentais Axioma 1. Uma expressão pertence a um conjunto se e somente se

Axiomas Fundamentais Axioma 1. Uma expressão pertence a um conjunto se e somente se tal expressão é igual a um dos elementos deste conjunto: x {e 1, . . . , en} (x=e 1 . . . x=en) n Axioma 2. Extensionalidade (S=T) ( x. x S x T) ( x. x T x S) n

Provando Alguns Fatos Elementares n Lema 1. Cada elemento do conjunto {1, 2} é

Provando Alguns Fatos Elementares n Lema 1. Cada elemento do conjunto {1, 2} é também um elemento do conjunto {2, 1} x. x {1, 2} x {2, 1} Prova: 1. x {1, 2} [Hipótese] 2. x=1 x=2 [Axioma 1] 3. x=2 x=1 [Comut. de ] 4. x {2, 1} [Axioma 1] 5. x {1, 2} x {2, 1} [ - Intro] 6. x. x {1, 2} x {2, 1} [ - Intro]

Provando Alguns Fatos Elementares n Lema 2. Cada elemento do conjunto {2, 1} é

Provando Alguns Fatos Elementares n Lema 2. Cada elemento do conjunto {2, 1} é também um elemento do conjunto {1, 2} x. x {2, 1} x {1, 2} Prova. Simétrica a do Lema 1.

Provando Alguns Fatos Elementares n Teorema {1, 2}={2, 1} Prova. 1. x. x {1,

Provando Alguns Fatos Elementares n Teorema {1, 2}={2, 1} Prova. 1. x. x {1, 2} x {2, 1} [Lema 1] 2. x. x {2, 1} x {1, 2} [Lema 2] 3. x. x {1, 2} x {2, 1} [ -Intro] x. x {2, 1} x {1, 2} 4. {1, 2} = {2, 1} [Axioma 2] n Exercício: Prove que {2, 2}={2}

Versões do Axioma de Pertinência n n n Axioma 3. x {y: S |

Versões do Axioma de Pertinência n n n Axioma 3. x {y: S | P(y)} (x S P(x)) Axioma 4. x {y: S. t(y)} ( y: S. x=t(y)) Axioma 5. x {y: S | P(y). t(y)} ( y: S | P(y). x=t(y))

Exercício Prove o seguinte teorema n Teorema. A substituição de um predicado (numa representação

Exercício Prove o seguinte teorema n Teorema. A substituição de um predicado (numa representação de conjuntos por compreesão) por um predicado mais fraco pode resultar num conjunto maior. ( x. P(x) Q(x)) ( x. x {y: S | P(y)} x {y: S | Q(y)})

Resolução Teorema: ( x. P(x) Q(x)) ( x. x {y: S | P(y)} x

Resolução Teorema: ( x. P(x) Q(x)) ( x. x {y: S | P(y)} x {y: S | Q(y)}) 1. x. P(x) Q(x) 2. P(a) Q(a) 3. a {y: S | P(y)} 4. a S P(a) 5. P(a) 6. Q(a) 7. a S 8. a S Q(a) 9. a {y: S | Q(y)} 10. a {y: S | P(y)} a {y: S | Q(y)} 11. x. x {y: S | P(y)} x {y: S | Q(y)}) 12. ( x. P(x) Q(x)) ( x. x {y: S | P(y)} x {y: S | Q(y)}) [hipótese] [ -elim] [hipótese] [Axima 3] [ -elim] [7, 6 -intro] [Axima 3] [ -intro] [1 -11 -intro]

Conjunto Vazio: {} Axioma 6. x. x {} ou equivalentemente: x. ( x {})

Conjunto Vazio: {} Axioma 6. x. x {} ou equivalentemente: x. ( x {}) ou ainda: x. ( x {}) n

Subconjuntos: Definição. (S T) ( x. x S x T) Teoremas: (S = T)

Subconjuntos: Definição. (S T) ( x. x S x T) Teoremas: (S = T) (S T T S) (S T) (S T (S = T)) (S T) S. {} S S. S S

Conjunto das Partes: |P Definição. (T |P S) (T S) Teoremas: S. {} |P

Conjunto das Partes: |P Definição. (T |P S) (T S) Teoremas: S. {} |P S S. S |P S

Produto Cartesiano: Definição. p (S T) y, z. p = (y, z) y S

Produto Cartesiano: Definição. p (S T) y, z. p = (y, z) y S z T Usando a notação de compreensão, temos: (S T) = {y : S; z : T. (y, z)}

Alguns operadores auxiliares Funções de projeção sobre pares: first (y, z) = y second

Alguns operadores auxiliares Funções de projeção sobre pares: first (y, z) = y second (y, z) = z Cardinalidade de conjuntos finitos: #S

Referências n n Seção 4. 1 do livro The Z Notation Capítulo 5 do

Referências n n Seção 4. 1 do livro The Z Notation Capítulo 5 do livro Using Z