Objetivos. Contenidos. Revisar los principales conceptos de la lógica de primer orden



Documentos relacionados
INSTITUTO SUPERIOR TECNOLÓGICO NORBERT WIENER

UNIDAD I: LÓGICA PROPOSICIONAL

Significado de las f.b.f (fórmulas bien formadas) en términos de objetos, propiedades y relaciones en el mundo

Introducción a los Tipos Abstractos de Datos

Tipos Abstractos de Datos

personal.us.es/elisacamol Elisa Cañete Molero Curso 2011/12

Módulo 9 Sistema matemático y operaciones binarias

Escenas de episodios anteriores

Semántica Denotacional

{} representa al conjunto vacío, es decir, aquel que no contiene elementos. También se representa por.

Definición Dados dos números naturales m y n, una matriz de orden o dimensión m n es una tabla numérica rectangular con m filas y n columnas.

Espacios Vectoriales

Proyecto Unico Interpretador de SetCalc

Ingeniería del Software I Clase de Testing Funcional 2do. Cuatrimestre de 2007

MLM Matemática Discreta

Subespacios vectoriales en R n

IIC Matemática Discreta

Para representar los conjuntos, los elementos y la relación de pertenencia, mediante símbolos, tendremos en cuenta las siguientes convenciones:

Tecnologías en la Educación Matemática. Expresiones. Datos. Expresiones Aritméticas. Expresiones Aritméticas 19/08/2014

Apuntes de Matemática Discreta 1. Conjuntos y Subconjuntos

PARTE 3 ECUACIONES DE EQUIVALENCIA FINANCIERA T E M A S

RELACIONES DE RECURRENCIA

PROLOG Inteligencia Artificial Universidad de Talca, II Semestre Jorge Pérez R.

Ejemplo 1.2 En el capitulo anterior se demostró que el conjunto. V = IR 2 = {(x, y) : x, y IR}

Ingeniería en Informática

FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA. Tema 9. Reglas de Integridad

Números Reales. MathCon c

Una variable de clase escalar tiene un nivel de indirección igual a 1. Por ejemplo, las variables i, b y x definidas como se muestra a continuación.

8. Sentencia return y métodos

2.3.- Modelo relacional de datos (aproximación lógica)

2.3.- Modelo relacional de datos (aproximación lógica) La lógica de 1er orden La lógica de 1er orden La lógica de 1er orden

Técnicas de prueba 1. FUNDAMENTOS DE LA PRUEBA DEL SOFTWARE

Capítulo 1: Fundamentos: Lógica y Demostraciones Clase 1: Lógica Proposicional

2.3 El Mundo de Tarski.

Tema 11: Sistemas combinacionales

TRATAMIENTO DE LAS ALEGACIONES REALIZADAS AL INFORME DE FISCALIZACIÓN DE LOS EXPEDIENTES JUSTIFICADOS AL FONDO DE COMPENSACIÓN INTERTERRITORAL

Preliminares. Tipos de variables y Expresiones

Universidad Católica del Maule. Fundamentos de Computación Especificación de tipos de datos ESPECIFICACIÓN ALGEBRAICA DE TIPOS DE DATOS

Apuntes de ACCESS. Apuntes de Access. Campos de Búsqueda:

I. ALGEBRA DE BOOLE. c) Cada operación es distributiva con respecto a la otra: a. ( b + c) = a. b + a. c a + ( b. c ) = ( a + b ).

Seminario: Expresividad semántica y lógica de segundo orden:

INTRODUCCION A LA LÓGICA DE ENUNCIADOS

Tema 6. Reutilización de código. Programación Programación - Tema 6: Reutilización de código

Tema 3. Espacios vectoriales

Estructuras de datos: Proyecto 2

Apuntes de Matemática Discreta 9. Funciones

UNIDAD 2: Abstracción del Mundo real Al Paradigma Orientado a Objetos

Práctica 1 - Pista de Carreras Programación II

Introducción. Lógica de proposiciones: introducción. Lógica de proposiciones. P (a) x. Conceptos

PHP y MySQL. Indice: Switch Bucles For While do...while

Elaboración de Mapas Conceptuales

SINAUTO. (Captura Requirimientos) GRUPO 03

Álgebras de Boole. Juan Medina Molina. 25 de noviembre de 2003

Codd propuso estos tres lenguajes como base teórica de cualquier lenguaje que quisiera cumplir con los requisitos formales del modelo.

1. Introducción: Qué es un Modelo de Datos? 2. Estática del modelo de datos relacional

Curso PHP Módulo 1 R-Luis

TEMA 3. EL PROCESO DE COMPILACIÓN, DEL CÓDIGO FUENTE AL CÓDIGO MÁQUINA

VII. Estructuras Algebraicas

La plantilla propone aprovechar esta estructura en común y sólo modificar el contenido del área del documento que sea diferente.

Matemáticas Básicas para Computación. Sesión 7: Compuertas Lógicas

OPERACIONES FUNDAMENTALES DEL ÁLGEBRA RELACIONAL. Bases de Datos Ingeniería de Sistemas y Computación Universidad Nacional de Colombia 2007

Introducción a la Computación TFA

UNIDAD 6. POLINOMIOS CON COEFICIENTES ENTEROS

Capítulo 2 Tratamiento Contable de los Impuestos. 2.1 Normas Internacionales de Contabilidad

MODELOS DE RECUPERACION

Fundación Universitaria San. Direccionamiento IP

OPERADORES LÓGICOS Y DE COMPARACIÓN EN PHP. PRIORIDADES. EJEMPLOS. EJERCICIOS RESUELTOS. (CU00818B)

1. DML. Las subconsultas

Sintaxis y Convenciones de Java. M. en C. Erika Vilches

Procesadores de lenguaje Tema 5 Comprobación de tipos

FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA. Tema 8. Elementos Básicos

Tema 7: Programación con Matlab

Visual Basic 1. Empleo de módulos y Procedimientos. Procedimientos definidos por el usuario

1 Espacios y subespacios vectoriales.

Funciones de varias variables

Notación algorítmica (seudocódigo en castellano) (fecha: )

Repaso de Lógica de Primer Orden

Principales Cambios de la ISO 9001:2015

Esta es la forma vectorial de la recta. Si desarrollamos las dos posibles ecuaciones, tendremos las ecuaciones paramétricas de la recta:

LABORATORIO Nº 2 GUÍA PARA REALIZAR FORMULAS EN EXCEL

CURSO BÁSICO DE MATEMÁTICAS PARA ESTUDIANTES DE ECONÓMICAS Y EMPRESARIALES

12.1 PLANIFICAR LAS ADQUISICIONES PROYECTO TÉCNICO

ACTIONSCRIPT (AS) Proyectos II. Audiovisuales. Dpto. Escultura. UPV. [sintaxis elemental]

Ejemplos: Sean los conjuntos: A = { aves} B = { peces } C = { anfibios }

Unidad 2. Descuento simple

El modelo relacional

Tema 2 : NÚMEROS ENTEROS. Primero de Educación Secundaria Obligatoria. I.e.s Fuentesaúco.

Estas visiones de la información, denominadas vistas, se pueden identificar de varias formas.

CONSULTAS CON SQL. 3. Hacer clic sobre el botón Nuevo de la ventana de la base de datos. Aparecerá el siguiente cuadro de diálogo.

TALLER #5 ACCESS CONSULTAS. objeto Consulta en la vista lateral izquierda de la ventana Base de datos. Aparece esta ventana.

Cómo hacer un mapa conceptual paso a paso

Ecuaciones de primer grado con dos incógnitas

Capítulo 4. Vectores y matrices. 4.1 Declaración de tablas. 4.2 Declaración estática de tablas

Datos del autor. Nombres y apellido: Germán Andrés Paz. Lugar de nacimiento: Rosario (Código Postal 2000), Santa Fe, Argentina

Problemas y Ejercicios Resueltos. Tema 3: Aplicaciones Lineales.

CERTAMEN 2 90 minutos 20 puntos

Basic Object Oriented Programming (BOOP) Gramática del Lenguaje. Ever Mitta Flores

ELEMENTOS DE LÓGICA Y TEORÍA DE CONJUNTOS. Dra. Patricia Kisbye Dr. Alejandro L. Tiraboschi

Soluciones a los problemas Olimpiada de Matemáticas Fase local Extremadura Enero de 2015

OBJETIVOS GENERALES DE LA EMPRESA

Transcripción:

Especificación TEMA 1 formal de problemas Objetivos Revisar los principales conceptos de la lógica de primer orden Entender el concepto de estado de cómputo y cómo se modela con predicados lógicos Familiarizarse con los elementos de la especificación formal Especificar formalmente algoritmos simples Contenidos 1.1 Introducción. 1.2 Revisión de lógica de predicados 1.3 Especificación con predicados. 1

Motivación Necesitamos exponer nuestra idea a otros programadores Poder hacerle ver a otro colega que esto hace lo que digo Poder dejar claro qué es lo que tiene que hacer el programador Necesitamos especificar formalmente el algoritmo Especificación de una función en lenguaje natural Diseñar un algoritmo de una función que nos diga si dado un vector de 1000 elementos enteros y un número n entero entre 0 y 1000, ambos incluidos, hay algún elemento en el vector, en una posición que n, que sea igual a la suma de sus elementos anteriores en el vector. En el caso en que n sea 0 la función deberá devolver falso. En el caso en que el primer elemento del vector sea 0 y n mayor que 0, la función deberá devolver verdadero. Especificación pre-post con predicados lógicos α = α α = β β = 2

Especificación formal con predicados Ventajas Brevedad Precisión Permite la derivación y la verificación formal Especificación pre-post con predicados Algoritmo como caja negra del que se conocen solamente sus parámetros de entrada y salida (su interfaz). Es una función de estados en estados Comienza su ejecución en un estado inicial válido El valor de sus parámetros de entrada Termina en un estado final En el que los resultados están en los parámetros de salida {Q} S {R} Si S comienza su ejecución en un estado descrito por Q, S termina, y lo hace en un estado descrito por R Especificación pre-post Especificación de la interfaz de la función/procedimiento fun nombrefunción (p 1 : t 1 ; p 2 : t 2.. p n : t n ) dev (q 1 : r 1 ; q 2 : r 2.. q m : r m ) accion nombreacción (p 1 : cf t 1 ; p 2 : cf t 2.. p n : cf t n ) cf : nada o ent para sólo entrada sal para sólo salida ent/sal para entrada y salida 3

Especificación pre-post Q Precondición Predicado que tiene como variables libres los parámetros de entrada de S Caracteriza el conjunto de estados iniciales para los que está garantizado que el algoritmo devuelve un resultado correcto Describe las obligaciones del usuario Si se llama al algoritmo en un estado no definido por Q, el resultado es impredecible (no terminar, resultado absurdo, razonable, ) R Postcondición Predicado que tiene como variables libres los parámetros de entrada y de salida de S Caracteriza la relación entre cada estado inicial válido y el estado final correspondiente que alcanzará el algoritmo Describe las obligaciones del implementador, suponiendo que el usurio cumple las suyas Lógica de proposiciones Es la lógica más simple Simboliza y describe razonamientos basados en enunciados declarativos Está lloviendo, Antonio corre, 3+2=5 La extiende la lógica de predicados (objetos y sus relaciones) Algunas plantas tienen flores Lógica de proposiciones Proposiciones (variables proposicionales) Son los enunciados Sólo verdad o falso P, q, r, s, Fórmulas (sentencias) Combinación de variables proposicionales y conectivas (y, o, ) Valores de verdad o falso según las variables y las tablas de verdad de las conectivas 4

Lógica de proposiciones Sintaxis Regla de formación: una fórmula es una secuencia finita de proposiciones, conectivas y paréntesis Fórmula bien formada es la que tiene sentido Lógica de proposiciones Semántica tabla de verdad Lógica de predicados Situaciones imposible de expresar en lógica de proposiones Todos los hombres son mortales Sócrates es un hombre Luego Sócrates es mortal Tenemos Propiedades de individuos (ser hombre, mortal) Se pueden aplicar a un individuo cualquiera o a uno concreto (variable y constante) Necesitamos expresar una propiedad para todos los individuos o para alguno de ellos (cuantificadores) 5

Lógica de predicados Los predicados se especifican mediante fórmulas lógicas Los predicados se denotan con letras mayúsculas P x+y > 0; Q α N.a[α] < n Componentes de un predicado Variables libres (letras minúsculas) y ligadas (letras griegas) Conectivas,,, Cuantificadores,,,,N Lógica de predicados Variables en los predicados: Variables libres: corresponden a las variables del programa Variables mudas o ligadas: van asociadas a algún tipo de cuantificador. Ayudan a describir aspectos sobre un dominio. Están ligadas al cuantificador más cercano Un mismo identificador denota distintas variables Ej.: x D1. (f(x) ^ x D2.g(x))) Ej: x(x>y) ^ y(y<=x), en el primer conjuntante x es ligada e y es libre, en el segundo y es ligada y x libre. Lógica de predicados Predicados atómicos Una constante booleana (verdadero,falso) Una variable de tipo booleano (x,y) Una expresión relacional (x < y, x + y > 0) Una función booleana (espar(x), estaordenado(x)) 6

Lógica de predicados Siendo P y Q predicados y D un dominio de valores son también predicados P P Q P Q P Q P Q D. P() D. P() Lógica de predicados Cuantificadores y dominios vacíos Cuando el dominio de un cuantificador es vacío, la expresión cuantificada es igual al elemento neutro de la operación que representa el cuantificador cierto falso 0 1 N 0 7

Sustitución de variables libres Resultado de sustituir todas las apariciones libres de la variable x en la fórmula P por la expresión e Condiciones de la expresión e no debe contener variables ligadas de P debe ser del mismo tipo de datos que x Sustitución de variables libres Denota el resultado de sustituir simultáneamente todas las apariciones de las variables libres x 1,.,x n en el predicado P por las expresiones e 1,..,e n (Cada e i con las mismas condiciones ) Estados Estado de una variable de un programa Estado de un programa 8

Evaluación de predicados Para poder evaluar un predicado hay que conocer el estado de todas sus variables libres Un predicado P define un conjunto de estados -estados (P)- Predicado P más fuerte (más débil) que otro Q estados(p) estados(q) (estados(p) estados(q)) P Q ( P es más fuerte que Q, Q es más débil que P, Q es deducible de P Predicados no comparables Evaluación de predicados Para poder evaluar un predicado hay que conocer el estado de todas sus variables libres Un predicado P define un conjunto de estados -estados (P)- Predicado P más fuerte (más débil) que otro Q estados(p) estados(q) (estados(p) estados(q)) P Q ( P es más fuerte que Q, Q es más débil que P, Q es deducible de P Predicados no comparables Evaluación de predicados Siempre se puede reforzar un predicado P P Q P Siempre se puede debilitar un predicado P P P Q Hay otra técnica para debilitar predicados El predicado más debil es cierto cierto P cierto El predicado más fuerte es falso falso P falso Como consecuencia falsop 9

Especificación pre-post PLs α = α α = β β = Las llamadas a essuma con valores de n<0 o >1000 son incorrectas. En las llamadas con n=0 la función ha de devolver falso en b. En las llamadas con n>0 y a[1]=0 la función ha de devolver cierto en b. En el resto de las llamadas la función ha de devolver: cierto en b, si al menos hay un elemento de a[i], siendo i n, que sea igual a la suma de sus predecesores falso en b, si no hay ninguno que cumpla dicha propiedad 10