Este documento trata sobre la lógica de Hoare. Explica que la lógica de Hoare es un sistema formal desarrollado por C.A.R. Hoare para razonar sobre la corrección de programas imperativos con rigor lógico-matemático. Se basa en la noción de precondición (Q) y postcondición (R) mediante la terna {Q} S {R}, donde S es el programa y Q y R son predicados lógicos que deben cumplirse antes y después de ejecutar S. También describe elementos cl
0 calificaciones0% encontró este documento útil (0 votos)
58 vistas7 páginas
Este documento trata sobre la lógica de Hoare. Explica que la lógica de Hoare es un sistema formal desarrollado por C.A.R. Hoare para razonar sobre la corrección de programas imperativos con rigor lógico-matemático. Se basa en la noción de precondición (Q) y postcondición (R) mediante la terna {Q} S {R}, donde S es el programa y Q y R son predicados lógicos que deben cumplirse antes y después de ejecutar S. También describe elementos cl
Este documento trata sobre la lógica de Hoare. Explica que la lógica de Hoare es un sistema formal desarrollado por C.A.R. Hoare para razonar sobre la corrección de programas imperativos con rigor lógico-matemático. Se basa en la noción de precondición (Q) y postcondición (R) mediante la terna {Q} S {R}, donde S es el programa y Q y R son predicados lógicos que deben cumplirse antes y después de ejecutar S. También describe elementos cl
Este documento trata sobre la lógica de Hoare. Explica que la lógica de Hoare es un sistema formal desarrollado por C.A.R. Hoare para razonar sobre la corrección de programas imperativos con rigor lógico-matemático. Se basa en la noción de precondición (Q) y postcondición (R) mediante la terna {Q} S {R}, donde S es el programa y Q y R son predicados lógicos que deben cumplirse antes y después de ejecutar S. También describe elementos cl
Descargue como PDF, TXT o lea en línea desde Scribd
Descargar como pdf o txt
Está en la página 1de 7
UNIVERSIDAD MARIANO GALVEZ
CENTRO REGIONAL BOCA DEL MONTE
CARRERA: INGENERIA EN SISTEMAS MATERIA: LOGICA EN SISTEMAS SECCION: “B”
NOMBRE DE LA TAREA: La lógica de Hoare
NOMBRES Y APELLIDOS COMPLETOS: ANGEL AURELIO TZI CUCUL
CARNÉ: 7690-23-3711 ALDEA BOCA DEL MONTE GUATEMALA 24 DE FEBRERO 2023 INTRODUCCIÓN Este tema se trata de la investigación de La lógica de Hoare, los valores asociados a dichas variables, dados mediante variables lógicas para facilitar la expresión de relaciones entre valores iniciales y finales de dichas variables, límites sobre algunos valores, nos permite establecer una equivalencia entre términos del tipo correspondiente a dicho universo. LA LÓGICA DE HOARE
La lógica de Hoare es un sistema formal desarrollado por C.A.R. Hoare — y
posteriormente refinado por otros investigadores — que proporciona a una serie de reglas de inferencia para razonar sobre la corrección de programas imperativos con el rigor de la lógica matemática.
Esta lógica fue publicada por Hoare en 1969 donde mencionó las contribuciones de Robert Floyd, que había publicado un sistema similar para los diagramas de flujo.
La principal característica de esta lógica es la terna o triplete “{Q} S {R}”,
donde Q y R son predicados lógicos que deben cumplirse para que el programa S funcione. Es decir, que si el programa S comienza en un estado válido en Q, entonces el programa termina y lo hace en un estado válido para R. Este método de precondición(Q) - postcondición(R) es la base del diseño de software por contrato.
Lógica de Hoare. La lógica de Hoare es una extensión de la lógica de predicados
de primer orden para razonar sobre la corrección de programas imperativos construidos sobre una signatura (S, Σ). Esta extensión se obtiene introduciendo un lenguaje de comandos con el que se construyen los programas y una relación especial para expresar el comportamiento de un programa, así como un conjunto de reglas de cálculo para la manipulación de las expresiones de comportamiento.
Universo de programas Sintaxis Cada programa se construye a partir de una
signatura (S, Σ) correspondiente a los tipos de datos con los que opera, un lenguaje de comandos y una familia de variables V o variables de programa. Generalmente se supone que la signatura consta de los universos BOOL y NAT, correspondientes a los valores lógicos {V, F} y a los números naturales junto con las operaciones propias de estos universos, más otros posibles universos correspondientes a tipos de datos definidos por el programador. En todos supondremos definida una relación de igualdad ‘=’ que nos permite establecer una equivalencia entre términos del tipo correspondiente a dicho universo, con unos axiomas y unas reglas de cálculo. El lenguaje de comandos que vamos a utilizar para construir programas es un lenguaje elemental que consta de unos comandos simples y unos comandos compuestos con los cuales se construyen los términos de un universo especial: el universo de programas PRG. Los comandos simples son: • SKIP: → PRG, o comando vacío, y • (·:=s ·): Vs s → PRG, uno por cada universo s ∈ S, o comando de asignación de valor a variables del tipo s, donde el primer argumento es una variable de programa del tipo s y el segundo una expresión del mismo tipo. LOGICA DE HOARE. La validez de estas fórmulas se define del siguiente modo: {P}α{Q} es válida en una interpretación A, para un estado esta, o A |=esta {P}α{Q} 2, si y solo si A |=esta P y esta[α]Asta0 implica A |=sta0 Q Esto significa que {P}α{Q} será válida cuando la validez de la precondición P en el estado esta y el hecho de que cuando α parte del estado sta termina en un cierto estado sta0 implique que la postcondición Q es válida para dicho estado final sta 0. De esta definición se deduce que una fórmula {P}α{Q} puede ser válida en una interpretación A, para un estado sta por alguna de la circunstancias siguientes: • porque A |=sta P y α cuando parte del estado sta termina en un estado sta0 tal que A |=sta0 Q; • porque A |=sta P, pero cuando α parte del estado sta no termina (el transformador ·[α]A· no está definido en sta), o • porque A 6|=sta P; lo que significa que la validez de una fórmula de corrección parcial no implica la terminación del correspondiente programa, y, en algunos casos, ni siquiera la validez de la precondición para el estado que se considera. {P}α{Q} se dice que es válida en la interpretación A cuando lo es para todos los estados definibles sobre A, en cuyo caso se escribe A |= {P}α{Q} y se dice que el programa α es parcialmente correcto con respecto a la especificación (P, Q). También se dice que (P, Q) es una especificación parcial de α. LOGICA DE HOARE. (que deben permanecer invariantes en la transformación asociada al programa y solo aparecen en la precondición), los valores asociados a dichas variables, dados mediante variables lógicas para facilitar la expresión de relaciones entre valores iniciales y finales de dichas variables, límites sobre algunos valores, p.e. el tamaño mínimo para el que se resuelve un problema (los tamaños máximos dependen de las máquinas concretas y no se suelen fijar en programas generales), o el estado de alguna estructura (p.e. la ordenación de un vector en un programa de búsqueda). CONCLUSIÓN
Este presente tema de investigación, tiene mucha importancia sobre la lógica de
Hoare, aprendí nuevas ideas, y espero seguir con la investigación del tema, para conocer más las fórmulas, y tiene un estudio infinito para descubrir este tema, por lo tanto debo de poner en práctica cada investigación que voy investigando. RECOMENDACIÓN
La recomendación con ese tema es la investigación y leer el concepto e historia de cada
subtema, para que así, el descubrimiento poco a poco voy generando nuevas ideas importantes sobre el tema de acuerdo de lo aprendido, analizar la investigación, buscar las palabras claves dar cumplimiento cada investigación dar un buen concepto remida sobre la investigación. BLIBLIOGRAFIA
Este presente tema de investigación fue descubierta en el link que se describe a