Construcción Formal de Programas en Teoría de Tipos. Introducción a Coq

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Construcción Formal de Programas en Teoría de Tipos. Introducción a Coq"

Transcripción

1 Construcción Formal de Programas en Teoría de Tipos Introducción a Coq Grupo de Métodos Formales Instituto de Computación Facultad de Ingeniería Universidad de la República Escuela Río 2014, Río Cuarto, Argentina

2 Sean a y b N, b 0. Motivación Ejemplo: División Calculamos a div b y a mod b simultáneamente haciendo recursión en a: 0 divmodb = <0,0> (n+1) divmod b = let <q,r> = n divmod b in if r < b-1 then <q,r+1> else <q+1,0>

3 División: especificación y prueba Especificación: Para todos a,b N tq. b 0 existen q y r tq. a=b.q+r y r < b. Prueba de que el programa es correcto: por inducción en a: 0 divmodb = <0,0> (n+1) divmod b = let <q,r> = n divmod b in if r < b-1 then <q,r+1> else <q+1,0> 0 = b y 0 < b supongamos n = b.q+r y r < b luego, si r < b - 1 entonces n+1 = b.q+(r+1) y r+1<b sino n+1 = b.(q+1)+0 y 0<b

4 Coq El asistente de pruebas Coq es un entorno que permite trabajar formalmente con sentencias matemáticas. Permite la definición de: - objetos (enteros, listas, árboles, funciones, programas ) - fórmulas (usando predicados básicos, conectivos y cuantificadores) - pruebas (lemas, teoremas) El compilador de Coq automáticamente chequea la corrección de las definiciones (conjuntos/tipos bien formados, terminación de las funciones) y de las pruebas.

5 Coq El sistema Coq permite trabajar con: bibliotecas, notaciones avanzadas, desarrollos modulares... También provee un mecanismo de extracción de programas hacia lenguajes funcionales (Ocaml, Haskell). Aplicaciones de Coq incluyen (entre otras): - formalización de semánticas de lenguajes de programación (certificación del compilador de CompCert, certificación a nivel EAL7 de Java Card); - diseño de plataformas especiales para la verificación de software (Certycript); - formalización de matemáticas (el teorema de los 4 colores); Más información en: coq.inria.fr

6 Lenguaje Lógico Lógica como herramienta para especificar y probar corrección de programas

7 Cálculo de predicados Sintaxis Términos símbolos de variable pueden ser variables de individuo, predicado o función un símbolo de variable tiene asociado un dominio símbolos de constante símbolos de función Fórmulas variables de predicados (unarios, binarios, etc) conectivos:,,,, ~, cuantificadores:, Semántica Noción de verdad: existencia de una prueba (lógica constructivista)

8 Conectivos en Coq Prop es la familia de proposiciones Declaración de variables de proposición: Conectivos: Variable A B C: Prop,,, son primitivos (/\, \/,->, False) ~ y son definidos: ~α := (α ) α β := (α β) (β α)

9 Cálculo de predicados - orden Cálculo de predicados de primer orden: Cuantificación sobre variables de individuos únicamente : x nat. x=x Cálculo de predicados de orden superior: Cuantificación sobre variables de individuos, función y predicados P. P 0 ( x. P x P (S x)) x. P x f. g. ( x. f(x) = g(x) f = g)

10 Cálculo de predicados en Coq -Variables- Cada símbolo de variable o constante tiene asociado su dominio y Set es la clase de todos los dominios nat : Set Z : Set (nat es dominio) (Z es un dominio) 0 : nat (0 es un elemento del dominio nat) f : nat nat (f es una función unaria de naturales en naturales) g : nat nat nat (g es una función binaria entre naturales currificación )

11 Cálculo de predicados en Coq -Predicados- Un predicado se representa como una función proposicional sobre cierto dominio La aridad del predicado está dada por la cantidad de argumentos de la función P : nat Prop (P es un predicado unario sobre naturales) Q : nat (nat nat) Prop (Q es un predicado binario entre naturales y funciones de naturales en naturales)

12 Notación: Cálculo de predicados en Coq -Cuantificadores- ( x U) α se escribe en Coq forall x:u, α ( x U) α se escribe en Coq exists x:u, α Ejemplos: forall P: nat Prop, P 0 (forall x:nat, P x P (S x)) forall x:nat, P x forall f g: nat nat, (forall x:nat, f x = g x) f = g

13 Más ejemplos Considerando las declaraciones: 0 : nat S : nat nat Le : nat nat Prop Min : nat (nat nat) Prop Algunas fórmulas del cálculo de predicados: Le 0 (S 0) ~(Le (S 0) 0) exists x:nat, Min x S forall (f:nat nat)(m x : nat), Le m (f x) Min m f

14 Construcción de pruebas en Coq Para comenzar: Queremos probar cierta fórmula objetivo (goal) Para ello, utilizaremos diferentes tácticas que transforman al objetivo original e introducen hipótesis adicionales

15 Desarrollo de pruebas lógicas Situación general: existen varios objetivos a probar, cada uno a partir de ciertas hipótesis: donde: Γ 1 Γ 2 Γ n 2 α 1 α 2... secuentes α n cada Γ i es un conjunto de fórmulas (hipótesis) de la forma: H0: γ 0, H1: γ 1,... Hk: γ k. α i es una fórmula cada α i debe ser probada a partir de Γ i

16 Tácticas = Reglas de inferencia Unatáctica transforma un secuente de la forma: Γ i en cero o más secuentes: α i Γ Γ Γ Γ i 1 α i 1 Γ i 2 α i 2... Γ i n α i n tales que probar los últimos es suficiente para construir una prueba del secuente original.

17 Prueba completa = Árbol α Goal inicial Γ 1 Γ 2 α 1 α 2 Subgoals Γ 11 α 11 Γ 12 α 12 Γ 1n α 1n Γ 21 α

18 Tácticas caso trivial Γ H: α α assumption Probado!

19 Tácticas Reglas de introducción introducción Γ α β intro H Γ H: α β variantes: intros, intros H 1...H n

20 Tácticas Cuantificador universal introducción Γ forall x:α, β intro x Γ x: α β el identificador x es opcional variantes: intros, intros x 1,...x n

21 Tácticas Reglas de eliminación eliminación Γ H: α β β apply H Γ H: α β α en general: Γ H: α 1 α 2... β β apply H Γ H:... α 1 Γ H:... α 2...

22 Tácticas Cuantificador universal eliminación Γ H: forall x:α, γ β apply H Probado! Si existe a:α tal que β= γ[x:=a]

23 introducción Tácticas Cuantificador existencial Γ exists x:u, α(x) exists t Γ α(t) eliminación Γ H: exists x:u, α(x) β elim H donde t:u (witness) Γ H: exists x:u, α(x) forall y: U, α(y) β donde y es una variable nueva que no ocurre en β

24 Ejemplo 1 Variable A B: Prop. Lemma L1: A -> B -> A. Proof. intros H1 H2. assumption. Qed.

25 Ejemplo 2 Variable U: Set. Variable P Q: U -> Prop. Lemma L2 : (forall x:u, P x -> Q x) -> (forall y:u, P y) -> forall z:u, Q z. Proof. intros H1 H2 z. apply H1. apply H2. Qed.

26 Lenguaje de Programación Cálculo de Construcciones

27 Cálculo λ simplemente tipado Sintaxis Términos Tipos e ::= x λx.e (e 1 e 2 ) c α ::= t α 1 α 2 x Var c Const t TConst Contextos Γ ::= x 1 :α 1... x n :α n (n 0)

28 Sistema de tipos Juicios de la forma: Γ - e: α la expresión e tiene tipo α bajo el contexto Γ Reglas: x:α Γ Γ - x:α ctx Γ, x:α - e: β Γ - λx.e: α β abs Γ - e 1 :α β Γ - e 2 : α Γ - (e 1 e 2 ): β app

29 Cálculo λ simplemente tipado en Coq Constantes de tipo: nat, bool, etc. Las abstracciones se escriben con: fun... =>... El tipo de las variables aparece en las abstracciones: fun x: nat => x : nat nat fun x: bool => x : bool bool fun (f:nat bool)(x:nat) => f x : bool fun (g:nat nat bool)(n:nat) => g n : nat bool

30 Polimorfismo paramétrico En los lenguajes funcionales (ML, Haskell) escribimos: λx. x : α α Variable de tipo!! En Coq, abstraemos el tipo. Los tipos de datos pertenecen a la clase Set: fun (X:Set)(x:X) => x : forall X:Set, X X Abstrayendo en la clase Set se obtiene polimorfismo paramétrico

31 Tipos dependientes Polimorfismo paramétrico = abstraer variables de tipo (de Set). En forma más general: podemos abstraer variables de cualquier tipo. Tipos dependientes Tipos dependientes: un tipo puede depender no solo de otro tipo, sino también de un objeto de cierto tipo.

32 Array: Set nat Set (Array bool 3) Tipos dependientes Ejemplo zip: forall (A B:Set)(k:nat), (Array A k) (Array B k) Array (A*B) k

33 Lenguaje de Programación de Coq Es un lambda cálculo tipado con las siguientes características: es de orden superior permite definir funciones paramétricas tiene tipos dependientes permite definir tipos inductivos permite definir tipos coinductivos CC CCI CCI Cálculo de Construcciones (CC) Cálculo de Construcciones Inductivas = CC + tipos inductivos (CCI) Cálculo de Construcciones Inductivas y Coinductivos = CCI + tipos coinductivos (CCI )

34 Cálculo de Construcciones (Co)Inductivas Inducción y Recursión

35 Tipos Inductivos Inductive bool : Set := true : bool false : bool Inductive nat : Set := 0 : nat S : nat nat

36 Tipos Inductivos Paramétricos Parámetros: son los argumentos que estan fijos y son globales en toda una definición. Inductive list (A:Set) : Set := nil : list A cons : A list A list A

37 Familias Inductivas de Tipos Inductive array (A:Set) : nat Set := empty : array A 0 add : forall n:nat, A array A n array A (S n) Cómo podría definirse una familia inductiva para matrices? Inductive matrix (A:Set) : nat nat Set :=

38 Familias Mutuamente Inductivas Inductive with tree (A:Set) : Set := node: A forest A tree A forest (A:Set) : Set := empty_f : forest A add_tree: tree A forest A forest A

39 Predicados Inductivos Inductive Le : nat nat Prop := le0 : forall n:nat, Le 0 n les : forall n m:nat, Le n m Le (S n) (S m) Inductive Mem (A : Set) (a : A) : list A -> Prop := here : forall x : list A, Mem A a (cons A a x) there : forall x : list A, Mem A a x -> forall b : A, Mem A a (cons A b x) Qué especifica Mem?

40 Definiciones Inductivas - Significado Cuando escribimos: Inductive nat : Set := 0 : nat S : nat nat estamos haciendo muchas cosas estamos definiendo un conjunto y una manera de construir objetos en él. estamos diciendo que ésta es la única forma de construir los objetos del conjunto. estamos diciendo, además, que las dadas son formas distintas de construir objetos.

41 Consecuencias del significado de una Definición Inductiva (I) Análisis de casos: fun n:nat => match n with 0 true S m false end.

42 Recursión: Consecuencias del significado de una Definición Inductiva (II) Fixpoint F (n m:nat) {struct n}: nat := match n with 0 m S k S (F k m) end. Qué calcula F?

43 Consecuencias del significado de una Definición Inductiva (III) Análisis de casos: Γ Γ Γ case n n: nat P n P 0 forall x:nat, P (S x)

44 Inducción: Consecuencias del significado de una Definición Inductiva (IV) Γ Γ Γ n: nat elim n n:nat n:nat P n P 0 forall x:nat, P x P (S x)

45 Set Implict Arguments. Ejemplos Fixpoint append (A:Set) (l1 l2:list A) {struct l1} : list A := match l1 with nil => l2 cons x l1 => cons x (append l1 l2) end. Fixpoint filter (A:Set) (P:A->bool) (l:list A) {struct l} : (list A) := match l with nil => nil cons x l => match (P x) with true => cons x (filter P l ) false => filter P l end end. Lemma append_filter: forall (A:Set) (l1 l2 : list A) (P: A -> bool), filter P (append l1 l2) = append (filter P l1) (filter P l2). Cómo sería la prueba del lema?

46 Definiciones Coinductivas Listas infinitas: CoInductive Stream (A:Set) : Set := Cons : A Stream A Stream A. Funciones Corecursivas Pruebas Coinductivas

47 Ejemplos Set Implict Arguments. Definition head (A:Set)(s : Stream A) := match s with Cons a s => a end. Definition tail (A : Set)(s : Stream A) := match s with Cons a s => s end. CoFixpoint repeat (A:Set)(a:A) : Stream A := Cons a (repeat a). CoInductive EqSt (A: Set) : Stream A -> Stream A -> Prop := eqst : forall s1 s2: Stream A, head s1 = head s2 -> EqSt (tail s1) (tail s2) -> EqSt s1 s2.

48 Más ejemplos CoFixpoint iterate (A:Set)(f:A -> A)(a:A) : Stream A:= Cons a (iterate f (f a)). CoFixpoint map (A B:Set)(f:A -> B)(s:Stream A) : Stream B:= match s with Cons a tl => Cons (f a) (map f tl) end. Lemma map_iterate : forall (a:set)(f:a -> A)(x:A), EqSt (iterate f (f x)) (map f (iterate f x)).

49 Relación entre Pruebas y Programas Isomorfismo de Curry-Howard

50 Construcción de pruebas en Coq Qué estamos haciendo cuando probamos un teorema en Coq? Construimos un objeto, que es la prueba del teorema En qué lenguaje está escrita esa prueba? En Cálculo Lambda!!!! Cada enunciado lógico se corresponde con un tipo Cada prueba es un objeto del tipo correspondiente

51 Isomorfismo de Curry-Howard Identificación de proposiciones con tipos P : Prop pensamos a P como el tipo cuyos objetos son las pruebas de P Identificación de pruebas con objetos a : P significa que a es una prueba de P

52 Isomorfismo en Coq Cuando constuimos una prueba de un enunciado en Coq, estamos construyendo un término λ del tipo correspondiente al enunciado. La situación general es de la forma: Γ 1 Γ n? 1 : α 1? n : α n Tácticas: constructoras de términos

53 Construcción de pruebas en Coq Γ H: α?: α assumption: corresponde a la prueba H:α Γ intro H:?: α β corresponde a la prueba [H:α]? 1 donde? 1 será la prueba de β corresp. a: Γ H: α? 1 : β Γ H: α β?: β apply H: corresponde a la prueba (H? 1 ) donde? 1 será la prueba de α corresp. a: Γ H:α β? 1 : α

54 Verificación de Programas Funcionales

55 Especificación de programas i Input. ψ(i) o Output. ϕ(i,o) donde Input y Output son tipos de datos, ψ es una proposición que expresa cierta condición que debe cumplir el valor de entrada (precondición) y ϕ es la proposición que expresa la relación que debe cumplirse entre el valor de entrada y el valor de salida (poscondición) Ejemplo: Para todos a,b N tq. b 0 existen q y r tq. a=b.q+r y r < b. ( a,b N ) b 0 (q,r) N N. a=b.q+r r < b

56 Extracción de programas Si la prueba del existencial i Input. ψ(i) { o Output ϕ(i,o) } es constructiva, el programa que calcula el resultado a partir de la entrada se encuentra necesariamente embebido en la prueba. Qué diferencia el programa de la prueba? La prueba es el programa más la información lógica necesaria para demostrar la especificación Para obtener el programa hay que extraer de la prueba la información computacional y olvidar la información lógica

57 Extracción de programas Información computacional : objetos que viven en Set Información lógica : objetos que viven en Prop Mecanismo de extracción : Recorre el término de prueba recuperando los datos que viven en Set, olvidando los que viven en Prop y manteniendo la estructura. Originalmente se extrae hacia Fw, un lenguaje de programación no dependiente. Las dependencias en los objetos computacionales se olvidan. [Paulin-Mohring 89]

58 Extracción de programas Dada una prueba p : i Input. ψ(i) { o Output ϕ(i,o) } el contenido computacional de p será una función f p : Input Output Para ello deberá ocurrir que : Input : Set Output : Set ψ(i), ϕ(i,o) : Prop Observar que los sorts de los tipos que intervienen en la especificación indican al procedimiento de extracción qué recorrer y qué olvidar durante la recorrida

59 Verificación de programas Es el proceso inverso al de extracción P: Spec : Spec fp Programa Programa Spec : Spec P:Spec

60 Verificación de programas Dado el programa y la especificación hay que probar que el programa cumple con la especificación: justificar la terminación del programa probar los objetivos ligados con la especificación particular.

61 Sean a y b N, b 0. Ejemplo: División Calculamos a div b y a mod b simultáneamente haciendo recursión en a: 0 divmod b = (0,0) (n+1) divmod b = let (q,r) = n divmod b in if r < b-1 then (q,r+1) else (q+1,0)

62 División: extracción, verificación Especificación: Para todos a,b N tq. b 0 existen q y r tq. a=b.q+r y r < b. Prueba de que el programa es correcto: por inducción en a: 0 divmod b = <0,0> (n+1) divmod b = let (q,r) := n divmod b in if r < b-1 then (q,r+1) else (q+1,0) 0 = b y 0 < b supongamos n = b.q+r y r < b. luego, si r < b - 1 entonces n+1 = b.q+(r+1) y r+1 < b sino n+1 = b.(q+1)+0 y 0 < b

63 Muchas gracias! Más información en: - coq.inria.fr - fing.edu.uy/inco/grupos/mf/tppsf

Algoritmos y programas. Algoritmos y Estructuras de Datos I

Algoritmos y programas. Algoritmos y Estructuras de Datos I Algoritmos y programas Algoritmos y Estructuras de Datos I Primer cuatrimestre de 2012 Departamento de Computación - FCEyN - UBA Programación funcional - clase 1 Funciones Simples - Recursión - Tipos de

Más detalles

Isabelle como un lenguaje funcional

Isabelle como un lenguaje funcional Capítulo 1 Isabelle como un lenguaje funcional 1.1 Introducción Nota 1.1.1. Esta notas son una introducción a la demostración asistida utilizando el sistema Isabelle/HOL/Isar. La versión de Isabelle utilizada

Más detalles

Lógica Proposicional IIC1253. IIC1253 Lógica Proposicional 1/64

Lógica Proposicional IIC1253. IIC1253 Lógica Proposicional 1/64 Lógica Proposicional IIC1253 IIC1253 Lógica Proposicional 1/64 Inicio de la Lógica Originalmente, la Lógica trataba con argumentos en el lenguaje natural. Ejemplo Es el siguiente argumento válido? Todos

Más detalles

Tipos algebraicos y abstractos. Algoritmos y Estructuras de Datos I. Tipos algebraicos

Tipos algebraicos y abstractos. Algoritmos y Estructuras de Datos I. Tipos algebraicos Algoritmos y Estructuras de Datos I 1 cuatrimestre de 009 Departamento de Computación - FCEyN - UBA Programación funcional - clase Tipos algebraicos Tipos algebraicos y abstractos ya vimos los tipos básicos

Más detalles

Práctico 5. Definiciones Inductivas - Segunda Parte -

Práctico 5. Definiciones Inductivas - Segunda Parte - Práctico 5 Definiciones Inductivas - Segunda Parte - Objetivos: Trabajar con tipos inductivos. Realizar pruebas por inducción y análisis de casos. Familiarizarse con los lemas de inversión y las tácticas

Más detalles

TÍTULO: MATEMÁTICA DISCRETA Y LÓGICA Disponibilidad

TÍTULO: MATEMÁTICA DISCRETA Y LÓGICA Disponibilidad TÍTULO: MATEMÁTICA DISCRETA Y LÓGICA Disponibilidad Calculo proposicional 1 Argumentos y proposiciones lógicas 1 Algunos argumentos lógicos importantes 2 Proposiciones 4 Conexiones lógicas 5 Negación (tabla)

Más detalles

ALGEBRA y ALGEBRA LINEAL. Primer Semestre CAPITULO I LOGICA Y CONJUNTOS.

ALGEBRA y ALGEBRA LINEAL. Primer Semestre CAPITULO I LOGICA Y CONJUNTOS. ALGEBRA y ALGEBRA LINEAL 520142 Primer Semestre CAPITULO I LOGICA Y CONJUNTOS. DEPARTAMENTO DE INGENIERIA MATEMATICA Facultad de Ciencias Físicas y Matemáticas Universidad de Concepción 1 La lógica es

Más detalles

Tema 6: Teoría Semántica

Tema 6: Teoría Semántica Tema 6: Teoría Semántica Sintáxis Lenguaje de de las las proposiciones Lenguaje de de los los predicados Semántica Valores Valores de de verdad verdad Tablas Tablas de de verdad verdad Tautologías Satisfacibilidad

Más detalles

Teoría de Modelos Finitos: Motivación

Teoría de Modelos Finitos: Motivación Teoría de Modelos Finitos: Motivación IIC3260 IIC3260 Teoría de Modelos Finitos: Motivación 1 / 29 Poder expresivo de una lógica: Caso finito Desde ahora en adelante nos vamos a concentrar en las estructuras

Más detalles

Lógica de Predicados de Primer Orden

Lógica de Predicados de Primer Orden Lógica de Predicados: Motivación Todo natural es entero y 2 es un natural. Luego 2 es entero. p q r p, q r es claramente un razonamiento válido pero no es posible demostrarlo desde la Lógica Proposicional

Más detalles

Capítulo 4. Lógica matemática. Continuar

Capítulo 4. Lógica matemática. Continuar Capítulo 4. Lógica matemática Continuar Introducción La lógica estudia la forma del razonamiento, es una disciplina que por medio de reglas y técnicas determina si un teorema es falso o verdadero, además

Más detalles

Introducción. El uso de los símbolos en matemáticas.

Introducción. El uso de los símbolos en matemáticas. Introducción El uso de los símbolos en matemáticas. En el estudio de las matemáticas lo primero que necesitamos es conocer su lenguaje y, en particular, sus símbolos. Algunos símbolos, que reciben el nombre

Más detalles

Matemáticas Discretas Lógica

Matemáticas Discretas Lógica Coordinación de Ciencias Computacionales - INAOE Matemáticas Discretas Lógica Cursos Propedéuticos 2010 Ciencias Computacionales INAOE Lógica undamentos de Lógica Cálculo proposicional Cálculo de predicados

Más detalles

Sistemas deductivos. Lógica Computacional. Curso 2005/2006. Departamento de Matemática Aplicada Universidad de Málaga

Sistemas deductivos. Lógica Computacional. Curso 2005/2006. Departamento de Matemática Aplicada Universidad de Málaga Sistemas deductivos Lógica Computacional Departamento de Matemática plicada Universidad de Málaga Curso 2005/2006 Contenido 1 Sistema axiomático de Lukasiewicz Sistema proposicional Extensión a predicados

Más detalles

ANEXO XVII DE LA RESOLUCION N

ANEXO XVII DE LA RESOLUCION N Hoja 1 de 7 UNIVERSIDAD NACIONAL DE CÓRDOBA Facultad de Ciencias Exactas Físicas y Naturales República Argentina Programa de: Código: Informática Carrera: Materia común Res. Nº Plan: Puntos:3.5 Escuela:

Más detalles

Coordinación de Matemática I (MAT021) 1 er Semestre de 2013 Semana 1: Lunes 11 Viernes 16 de Marzo. Contenidos

Coordinación de Matemática I (MAT021) 1 er Semestre de 2013 Semana 1: Lunes 11 Viernes 16 de Marzo. Contenidos Coordinación de Matemática I (MAT021) 1 er Semestre de 2013 Semana 1: Lunes 11 Viernes 16 de Marzo Complementos Contenidos Clase 1: Elementos de lógica: Conectivos, tablas de verdad, tautologías y contingencias.

Más detalles

Introducción a la Matemática Discreta

Introducción a la Matemática Discreta Introducción a la Matemática Discreta Lógica proposicional y Álgebras de Boole Luisa María Camacho Camacho Introd. a la Matemática Discreta 1 / 25 Introducción a la Matemática Discreta Temario Tema 1.

Más detalles

Índice Proposiciones y Conectores Lógicos Tablas de Verdad Lógica de Predicados Inducción

Índice Proposiciones y Conectores Lógicos Tablas de Verdad Lógica de Predicados Inducción Curso 0: Matemáticas y sus Aplicaciones Tema 5. Lógica y Formalismo Matemático Leandro Marín Dpto. de Matemática Aplicada Universidad de Murcia 2012 1 Proposiciones y Conectores Lógicos 2 Tablas de Verdad

Más detalles

Un enunciado es toda frase u oración que se emite

Un enunciado es toda frase u oración que se emite OBJETIO 2: Aplicar la lógica proposicional y la lógica de predicados en la determinación de la validez de una proposición dada. Lógica Proposicional La lógica proposicional es la más antigua y simple de

Más detalles

Tipos de datos en S. Lógica y Computabilidad. Codificación de variables y etiquetas de S. Codificación de programas en S

Tipos de datos en S. Lógica y Computabilidad. Codificación de variables y etiquetas de S. Codificación de programas en S Tipos de datos en S Lógica y Computabilidad Verano 2011 Departamento de Computación - FCEyN - UBA Computabilidad - clase 5 Codificación de programas, Halting problem, diagonalización, tesis de Church,

Más detalles

Lógica de primer orden: Repaso y notación

Lógica de primer orden: Repaso y notación Lógica de primer orden: Repaso y notación IIC3263 IIC3263 Lógica de primer orden: Repaso y notación 1 / 29 Lógica de primer orden: Vocabulario Una fórmula en lógica de primer orden está definida sobre

Más detalles

Teoría de la Computación puesta en Práctica

Teoría de la Computación puesta en Práctica Teoría de la Computación puesta en Práctica Marcelo Arenas M. Arenas Teoría de la Computación puesta en Práctica 1 / 24 Problema a resolver WiMAX (Worldwide Interoperability for Microwave Access): estándar

Más detalles

Conjuntos, relaciones y funciones Susana Puddu

Conjuntos, relaciones y funciones Susana Puddu Susana Puddu 1. Repaso sobre la teoría de conjuntos. Denotaremos por IN al conjunto de los números naturales y por ZZ al de los enteros. Dados dos conjuntos A y B decimos que A está contenido en B o también

Más detalles

Estructuras de Datos. Dr. Pablo E. Fidel Martínez López Lic. en Ciencias de la Computación UNR

Estructuras de Datos. Dr. Pablo E. Fidel Martínez López Lic. en Ciencias de la Computación UNR Estructuras de Datos Dr. Pablo E. Fidel Martínez López Lic. en Ciencias de la Computación UNR ...but note that an implementation need not be actualized as code a concrete design is sufficient. Chris Okasaki

Más detalles

Matemáticas Discretas TC1003

Matemáticas Discretas TC1003 Matemáticas Discretas TC1003 Módulo I: Descripción Departamento de Matemáticas ITESM Módulo I: Descripción Matemáticas Discretas - p. 1/15 En esta sección veremos un poco de la historia de la Lógica: desde

Más detalles

Esquema. Condicionales. Ejemplo de condicional. Demostración. P { if (B) uno else dos } Q. P { while (B) cuerpo } Q

Esquema. Condicionales. Ejemplo de condicional. Demostración. P { if (B) uno else dos } Q. P { while (B) cuerpo } Q Esquema Teórica Imperativo 2 Estructuras de control Instrucción de asignación P{v=e Q // estado 1; vale P: true v:=e; // vale Q: v == e@1 && para toda vi: vi == vi@1 Instrucciones de Control de Flujo P

Más detalles

La estructura de un cuerpo finito.

La estructura de un cuerpo finito. 9. CUERPOS FINITOS El objetivo de este capítulo es determinar la estructura de todos los cuerpos finitos. Probaremos en primer lugar que todo cuerpo finito tiene p n elementos, donde p es la característica

Más detalles

Fundamentos de Ciencias de la Computación Trabajo Práctico N 2 Lenguajes Libres del Contexto y Sensibles al Contexto Segundo Cuatrimestre de 2002

Fundamentos de Ciencias de la Computación Trabajo Práctico N 2 Lenguajes Libres del Contexto y Sensibles al Contexto Segundo Cuatrimestre de 2002 Departamento de Cs. e Ingeniería de la Computación Universidad Nacional del Sur Ejercicios Fundamentos de Ciencias de la Computación Trabajo Práctico N 2 Lenguajes Libres del Contexto y Sensibles al Contexto

Más detalles

Grupos libres. Presentaciones.

Grupos libres. Presentaciones. S _ Tema 12.- Grupos libres. Presentaciones. 12.1 Grupos libres. En el grupo Z de los enteros vimos una propiedad (cf. ejemplos.5), que lo caracteriza como grupo libre. Lo enunciamos al modo de una Propiedad

Más detalles

logica computacional Tema 1: Introducción al Cálculo de Proposiciones

logica computacional Tema 1: Introducción al Cálculo de Proposiciones Tema 1: Introducción al Cálculo de Proposiciones Introducción al concepto de cálculo Un cálculo es una estructura pura; un sistema de relaciones. Un cálculo se compone de lo siguiente: Un conjunto de elementos

Más detalles

Tema 4: Gramáticas independientes del contexto. Teoría de autómatas y lenguajes formales I

Tema 4: Gramáticas independientes del contexto. Teoría de autómatas y lenguajes formales I Tema 4: Gramáticas independientes del contexto Teoría de autómatas y lenguajes formales I Bibliografía Hopcroft, J. E., Motwani, R., y Ullman, J. D. Introducción a la Teoría de Autómatas, Lenguajes y Computación.

Más detalles

Capítulo 1: Fundamentos: Lógica y Demostraciones Clase 2: Lógica de Predicados y Métodos de Demostración

Capítulo 1: Fundamentos: Lógica y Demostraciones Clase 2: Lógica de Predicados y Métodos de Demostración Capítulo 1: Fundamentos: Lógica y Demostraciones Clase 2: Lógica de Predicados y Métodos de Demostración Matemática Discreta - CC3101 Profesor: Pablo Barceló P. Barceló Matemática Discreta - Cap. 1: Fundamentos:

Más detalles

Propiedades de lenguajes independientes del contexto

Propiedades de lenguajes independientes del contexto Capítulo 12. Propiedades de lenguajes independientes del contexto 12.1. Identificación de lenguajes independientes del contexto Lema de bombeo. 12.2. Propiedades Cierre, Complemento de lenguajes, Sustitución,

Más detalles

Espacios Vectoriales

Espacios Vectoriales Espacios Vectoriales Espacios Vectoriales Verónica Briceño V. noviembre 2013 Verónica Briceño V. () Espacios Vectoriales noviembre 2013 1 / 47 En esta Presentación... En esta Presentación veremos: Espacios

Más detalles

Lógica Proposicional. Sergio Stive Solano Sabié. Marzo de 2012

Lógica Proposicional. Sergio Stive Solano Sabié. Marzo de 2012 Lógica Proposicional Sergio Stive Solano Sabié Marzo de 2012 Lógica Proposicional Sergio Stive Solano Sabié Marzo de 2012 Proposiciones Definición 1.1 Una proposición (o declaración) es una oración declarativa

Más detalles

Inducción Matemática Conjuntos Funciones. Matemática Discreta. Agustín G. Bonifacio UNSL. Repaso de Inducción, Conjuntos y Funciones

Inducción Matemática Conjuntos Funciones. Matemática Discreta. Agustín G. Bonifacio UNSL. Repaso de Inducción, Conjuntos y Funciones UNSL Repaso de Inducción, y Inducción Matemática (Sección 1.7 del libro) Supongamos que queremos demostrar enunciados del siguiente tipo: P(n) : La suma de los primeros n números naturales es n(n+1)

Más detalles

Tema 4: Definición de funciones

Tema 4: Definición de funciones Programación declarativa (2009 10) José A. Alonso Jiménez Grupo de Lógica Computacional Departamento de Ciencias de la Computación e I.A. Universidad de Sevilla Constantes como patrones Variables como

Más detalles

Capítulo 2 Conjuntos. 2.1 Introducción. 2.2 Determinación de conjuntos. Definición:

Capítulo 2 Conjuntos. 2.1 Introducción. 2.2 Determinación de conjuntos. Definición: Capítulo 2 Conjuntos 2.1 Introducción El concepto de conjunto, de singular importancia en la ciencia matemática y objeto de estudio de una de sus disciplinas más recientes, está presente, aunque en forma

Más detalles

El lenguaje C. 1. Identificadores, constantes y variables

El lenguaje C. 1. Identificadores, constantes y variables Principios de Programación El lenguaje C 1. Identificadores, constantes y variables 1.1. Conceptos de memoria Los nombres de variable como x, y, suma corresponden a localizaciones o posiciones en la memoria

Más detalles

Relaciones. Estructuras Discretas. Relaciones. Relaciones en un Conjunto. Propiedades de Relaciones en A Reflexividad

Relaciones. Estructuras Discretas. Relaciones. Relaciones en un Conjunto. Propiedades de Relaciones en A Reflexividad Estructuras Discretas Relaciones Definición: relación Relaciones Claudio Lobos, Jocelyn Simmonds clobos,jsimmond@inf.utfsm.cl Universidad Técnica Federico Santa María Estructuras Discretas INF 152 Sean

Más detalles

Métodos de Inteligencia Artificial

Métodos de Inteligencia Artificial Métodos de Inteligencia Artificial L. Enrique Sucar (INAOE) esucar@inaoep.mx ccc.inaoep.mx/esucar Tecnologías de Información UPAEP Contenido Lógica proposicional Lógica de predicados Inferencia en lógica

Más detalles

Manual de turbo pascal

Manual de turbo pascal Universidad Nacional Experimental De Los Llanos Occidentales Ezequiel Zamora UNELLEZ-Barinas Manual de turbo pascal Bachilleres: Martinez Ninibeth C.I:20.867.002 Mora Yaco C.I:17.205.073 Estructura de

Más detalles

Nota 2. Luis Sierra. Marzo del 2010

Nota 2. Luis Sierra. Marzo del 2010 Nota 2 Luis Sierra Marzo del 2010 Cada mecanismo de definición de conjuntos que hemos comentado sugiere mecanismos para definir funciones y probar propiedades. Recordemos brevemente qué son las funciones

Más detalles

En general, un conjunto A se define seleccionando los elementos de un cierto conjunto U de referencia que cumplen una determinada propiedad.

En general, un conjunto A se define seleccionando los elementos de un cierto conjunto U de referencia que cumplen una determinada propiedad. nidad 3: Conjuntos 3.1 Introducción Georg Cantor [1845-1918] formuló de manera individual la teoría de conjuntos a finales del siglo XIX y principios del XX. Su objetivo era el de formalizar las matemáticas

Más detalles

Lógica. Matemática discreta. Matemática discreta. Lógica

Lógica. Matemática discreta. Matemática discreta. Lógica Lógica Matemática discreta Lógica: rama de las matemáticas instrumento para representar el lenguaje natural proporciona un mecanismo de deducción 2 y de predicados Razonamientos Cálculo proposicional Cálculo

Más detalles

Departamento de Ingeniería Matemática - Universidad de Chile

Departamento de Ingeniería Matemática - Universidad de Chile 1. Lógica Ingeniería Matemática FACULTAD DE CIENCIAS FÍSICAS Y MATEMÁTICAS UNIVERSIDAD DE CHILE Introducción al Álgebra 08-1 Importante: Visita regularmente http://www.dim.uchile.cl/~algebra. Ahí encontrarás

Más detalles

Capítulo 2: Inducción y recursión Clase 2: El principio de Inducción Fuerte

Capítulo 2: Inducción y recursión Clase 2: El principio de Inducción Fuerte Capítulo 2: Inducción y recursión Clase 2: El principio de Inducción Fuerte Matemática Discreta - CC3101 Profesor: Pablo Barceló P. Barceló Matemática Discreta - Cap. 2: Inducción y Recursión 1 / 20 Motivación

Más detalles

Benemérita Universidad Autónoma de Puebla

Benemérita Universidad Autónoma de Puebla Tarea No. 1 Matemáticas Elementales Profesor Fco. Javier Robles Mendoza Benemérita Universidad Autónoma de Puebla Facultad de Ciencias de la Computación Lógica y Conjuntos 1. Considere las proposiciones

Más detalles

Eliminación de cuantificadores

Eliminación de cuantificadores Eliminación de cuantificadores Teorema Si una teoría admite eliminación de cuantificadores, y existe un algoritmo que construye ϕ sc a partir de ϕ, entonces es decidible. Cómo se demuestra este teorema?

Más detalles

Lenguajes y Compiladores Análisis Sintáctico Parte I. Teoría Lenguajes 1

Lenguajes y Compiladores Análisis Sintáctico Parte I. Teoría Lenguajes 1 Facultad de Ingeniería de Sistemas Lenguajes y Compiladores Análisis Sintáctico Parte I 1 Introducción El analizador sintáctico recibe una secuencia de tokens y decide si la secuencia está correcta o no.

Más detalles

Bases Formales de la Computación

Bases Formales de la Computación Modal Bases Formales de la Computación Pontificia Universidad Javeriana 3 de abril de 2009 Modal LÓGICAS MODALES Contenido Modal 1 Modal 2 3 Qué es la lógica Modal? Modal Variedad de diferentes sistemas

Más detalles

Estructuras Algebraicas

Estructuras Algebraicas Tema 1 Estructuras Algebraicas Definición 1 Sea A un conjunto no vacío Una operación binaria (u operación interna) en A es una aplicación : A A A Es decir, tenemos una regla que a cada par de elementos

Más detalles

Compiladores: Análisis Sintáctico. Pontificia Universidad Javeriana Cali Ingenieria de Sistemas y Computación Prof. Gloria Inés Alvarez V.

Compiladores: Análisis Sintáctico. Pontificia Universidad Javeriana Cali Ingenieria de Sistemas y Computación Prof. Gloria Inés Alvarez V. Compiladores: Análisis Sintáctico Pontificia Universidad Javeriana Cali Ingenieria de Sistemas y Computación Prof. Gloria Inés Alvarez V. Sintaxis Define la estructura del lenguaje Ejemplo: Jerarquía en

Más detalles

GUÍA BÁSICA DE SCHEME v.4

GUÍA BÁSICA DE SCHEME v.4 Esta guía básica pretende ser una introducción elemental al lenguaje de programación Scheme. Se presenta como una guía de comienzo rápido de tal forma que permita conocer de una forma muy esquemática los

Más detalles

LOS GRÁFICOS EXISTENCIALES DE PEIRCE EN LOS SISTEMAS ALFA 0. Yuri Alexander Poveda

LOS GRÁFICOS EXISTENCIALES DE PEIRCE EN LOS SISTEMAS ALFA 0. Yuri Alexander Poveda I Jornada Peirce en rgentina 10 de septiembre de 2004 LOS GRÁFIOS EXISTENILES DE PEIRE EN LOS SISTEMS LF 0 Yuri lexander Poveda yapoveda@hotmail.com Las reglas deductivas de eliminación y de inserción

Más detalles

520142: ALGEBRA y ALGEBRA LINEAL

520142: ALGEBRA y ALGEBRA LINEAL 520142: ALGEBRA y ALGEBRA LINEAL Segundo Semestre 2008, Universidad de Concepción CAPITULO 10: Espacios Vectoriales DEPARTAMENTO DE INGENIERIA MATEMATICA Facultad de Ciencias Físicas y Matemáticas 1 Definición

Más detalles

Lógica Proposicional (LP)

Lógica Proposicional (LP) Lógica Proposicional (LP) Proposición Enunciado del que puede afirmarse si es verdadero o falso Oración declarativa Cuáles de las siguientes son proposiciones? ) Pedro es alto. 2) Juan es estudiante. 3)

Más detalles

Semántica Denotacional

Semántica Denotacional Semántica Denotacional Idea: El significado de un programa es la función denotada por el programa Componentes del metalenguaje para la definición semántica denotacional de un L.P.: Dominios sintácticos

Más detalles

SISTEMA DE MONOMIOS PARA UN CUERPO RESIDUAL REAL CERRADO

SISTEMA DE MONOMIOS PARA UN CUERPO RESIDUAL REAL CERRADO SISTEMA DE MONOMIOS PARA UN CUERPO RESIDUAL REAL CERRADO Francisco Ugarte Guerra 1,2 Mayo, 2011 Resumen Para etender técnicas tipo Polígono de Newton a ecuaciones algebraicas con coeficientes en cuerpos

Más detalles

Escenas de episodios anteriores

Escenas de episodios anteriores Clase 16/10/2013 Tomado y editado de los apuntes de Pedro Sánchez Terraf Escenas de episodios anteriores objetivo: estudiar formalmente el concepto de demostración matemática. caso de estudio: lenguaje

Más detalles

Conjuntos finitos y conjuntos numerables

Conjuntos finitos y conjuntos numerables Tema 3 Conjuntos finitos y conjuntos numerables En este tema vamos a usar los números naturales para contar los elementos de un conjunto, o dicho con mayor precisión, para definir los conjuntos finitos

Más detalles

Introducción a la Lógica y la Computación

Introducción a la Lógica y la Computación Introducción a la Lógica y la Computación Parte III: Lenguajes y Autómatas Clase del 12 de Noviembre de 2014 Parte III: Lenguajes y Autómatas Introducción a la Lógica y la Computación 1/11 Lenguajes Regulares

Más detalles

Generación de Código Intermedio

Generación de Código Intermedio Generación de Código Intermedio Programación II Margarita Álvarez Generación de código intermedio Con la generación de código intermedio se inicia la tarea de síntesis. Aunque un programa fuente se puede

Más detalles

Expresiones Regulares y Derivadas Formales

Expresiones Regulares y Derivadas Formales y Derivadas Formales Las Derivadas Sucesivas. Universidad de Cantabria Esquema 1 2 3 Derivadas Sucesivas Recordemos que los lenguajes de los prefijos dan información sobre los lenguajes. Derivadas Sucesivas

Más detalles

Tema 9: Cálculo Deductivo

Tema 9: Cálculo Deductivo Facultad de Informática Grado en Ingeniería Informática Lógica PARTE 2: LÓGICA DE PRIMER ORDEN Tema 9: Cálculo Deductivo Profesor: Javier Bajo jbajo@fi.upm.es Madrid, España 24/10/2012 Introducción a la

Más detalles

Tema 1. Espacios Vectoriales Definición de Espacio Vectorial

Tema 1. Espacios Vectoriales Definición de Espacio Vectorial Tema 1 Espacios Vectoriales. 1.1. Definición de Espacio Vectorial Notas 1.1.1. Denotaremos por N, Z, Q, R, C, a los conjuntos de los números Naturales, Enteros, Racionales, Reales y Complejos, respectivamente.

Más detalles

Ampliación Matemática Discreta. Justo Peralta López

Ampliación Matemática Discreta. Justo Peralta López Justo Peralta López UNIVERSIDAD DE ALMERíA DEPARTAMENTO DE ÁGEBRA Y ANÁLISIS MATEMÁTICO 1 Introducción 2 Definición semántica de las proposiciones 3 Diagrama de valores de certeza 4 Evaluación de fórmulas.

Más detalles

Introducción a la Lógica y la Computación

Introducción a la Lógica y la Computación Introducción a la Lógica y la Computación Parte III: Lenguajes y Autómatas Clase del 4 de Noviembre de 2015 Parte III: Lenguajes y Autómatas Introducción a la Lógica y la Computación 1/21 Lenguajes Formales

Más detalles

MATEMÁTICAS BÁSICAS. 23 de febrero de Universidad Nacional de Colombia MATEMÁTICAS BÁSICAS

MATEMÁTICAS BÁSICAS. 23 de febrero de Universidad Nacional de Colombia MATEMÁTICAS BÁSICAS 23 de febrero de 2009 Parte I Lógica Proposiciones Considere las siguientes frases Páseme el lápiz. 2 + 3 = 5 1 2 + 1 3 = 2 5 Qué hora es? En Bogotá todos los días llueve Yo estoy mintiendo Maradona fue

Más detalles

Terminaremos el capítulo con una breve referencia a la teoría de cardinales.

Terminaremos el capítulo con una breve referencia a la teoría de cardinales. TEMA 5. CARDINALES 241 Tema 5. Cardinales Terminaremos el capítulo con una breve referencia a la teoría de cardinales. Definición A.5.1. Diremos que el conjunto X tiene el mismo cardinal que el conjunto

Más detalles

Lógicas Modales Computacionales Clase # 5: Usos de Bisimulaciones

Lógicas Modales Computacionales Clase # 5: Usos de Bisimulaciones Lógicas Modales Computacionales Clase # 5: Usos de Bisimulaciones Carlos Areces / Daniel Gorín / Sergio Mera 2do Cuatrimestre 2006, Buenos Aires, Argentina Temario Propiedad de tree model. n-bisimulación.

Más detalles

UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO FACULTAD DE CIENCIAS CARRERA DE MATEMÁTICO CONJUNTOS Y LÓGICA

UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO FACULTAD DE CIENCIAS CARRERA DE MATEMÁTICO CONJUNTOS Y LÓGICA UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO FACULTAD DE CIENCIAS CARRERA DE MATEMÁTICO CONJUNTOS Y LÓGICA SEMESTRE: Segundo a cuarto CLAVE: 0271 HORAS A LA SEMANA/SEMESTRE TEÓRICAS PRÁCTICAS CRÉDITOS 5/80

Más detalles

CONCEPTOS BÁSICOS DE ESPACIOS VECTORIALES Alumno. Cristina Mª Méndez Suero

CONCEPTOS BÁSICOS DE ESPACIOS VECTORIALES Alumno. Cristina Mª Méndez Suero Fundamento Científico del Currículum de Matemáticas en Enseñanza Secundaria CONCEPTOS BÁSICOS DE ESPACIOS VECTORIALES Alumno. Cristina Mª Méndez Suero ESPACIOS VECTORIALES DEFINICIÓN... 1 PROPIEDADES DE

Más detalles

La Representación del Conocimiento CÓMO REPRESENTAR EL CONOCIMIENTO?

La Representación del Conocimiento CÓMO REPRESENTAR EL CONOCIMIENTO? La Representación del Conocimiento CÓMO REPRESENTAR EL CONOCIMIENTO? TIPOS DE CONOCIMENTO El epistemología es el estudio del conocimiento, hay dos tipos esenciales llamados a priori y posteriori. Algoritmo

Más detalles

Lógica proposicional. Ivan Olmos Pineda

Lógica proposicional. Ivan Olmos Pineda Lógica proposicional Ivan Olmos Pineda Introducción Originalmente, la lógica trataba con argumentos en el lenguaje natural es el siguiente argumento válido? Todos los hombres son mortales Sócrates es hombre

Más detalles

Tema 8: Tipos de datos. Sesión 24: Tipos de datos (1)

Tema 8: Tipos de datos. Sesión 24: Tipos de datos (1) Tema 8: Tipos de datos Sesión 24: Tipos de datos (1) Referencias Programming Languages Pragmatics: Capítulo 7, apartados 7.1 (Type Systems) y 7.2 (Type Checking) Programming in Scala: Capítulo 5 (Basic

Más detalles

ESTRUCTURAS DE CONTROL

ESTRUCTURAS DE CONTROL ESTRUCTURAS DE CONTROL En lenguajes de programación, las estructuras de control permiten modificar el flujo de ejecución de las instrucciones de un programa. Con las estructuras de control se puede: De

Más detalles

encontramos dos enunciados. El primero (p) nos afirma que Pitágoras era griego y el segundo (q) que Pitágoras era geómetra.

encontramos dos enunciados. El primero (p) nos afirma que Pitágoras era griego y el segundo (q) que Pitágoras era geómetra. Álgebra proposicional Introducción El ser humano, a través de su vida diaria, se comunica con sus semejantes a través de un lenguaje determinado (oral, escrito, etc.) por medio de frases u oraciones. Estas

Más detalles

Lenguajes y Gramáticas

Lenguajes y Gramáticas Lenguajes y Gramáticas Teoría de Lenguajes Fernando Naranjo Introduccion Se desarrollan lenguajes de programación basados en el principio de gramática formal. Se crean maquinas cada vez mas sofisticadas

Más detalles

Introducción a Haskell. El lenguaje Haskell

Introducción a Haskell. El lenguaje Haskell Capítulo 2. Introducción a Haskell 9 Introducción a Haskell Un ejemplo de fichero Haskell El lenguaje Haskell Haskell es un lenguaje funcional puro, no estricto y fuertemente tipificado. Puro = transparencia

Más detalles

UNIVERSIDAD MAYOR DE SAN SIMON FACULTAD DE CIENCIAS Y TECNOLOGÍA PLAN GLOBAL ALGEBRA I

UNIVERSIDAD MAYOR DE SAN SIMON FACULTAD DE CIENCIAS Y TECNOLOGÍA PLAN GLOBAL ALGEBRA I UNIVERSIDAD MAYOR DE SAN SIMON FACULTAD DE CIENCIAS Y TECNOLOGÍA PLAN GLOBAL ALGEBRA I I. DATOS DE IDENTIFICACIÓN Nombre de la materia: ALGEBRA I Código: 2008019 Grupo: 4 Carga horaria: 2 TEÓRICAS Y DOS

Más detalles

Semana03[1/17] Funciones. 16 de marzo de Funciones

Semana03[1/17] Funciones. 16 de marzo de Funciones Semana03[1/17] 16 de marzo de 2007 Introducción Semana03[2/17] Ya que conocemos el producto cartesiano A B entre dos conjuntos A y B, podemos definir entre ellos algún tipo de correspondencia. Es decir,

Más detalles

Ejercicios de Lógica Proposicional *

Ejercicios de Lógica Proposicional * Ejercicios de Lógica Proposicional * FernandoRVelazquezQ@gmail.com Notación. El lenguaje proposicional que hemos definido, aquel que utiliza los cinco conectivos,,, y, se denota como L {,,,, }. Los términos

Más detalles

SOBRE LOGICA MATEMATICA. Sandra M. Perilla-Monroy. Departamento de Ciencias Básicas, Universidad Santo Tomás, Bogotá, Colombia.

SOBRE LOGICA MATEMATICA. Sandra M. Perilla-Monroy. Departamento de Ciencias Básicas, Universidad Santo Tomás, Bogotá, Colombia. SOBRE LOGICA MATEMATICA Sandra M. Perilla-Monroy Departamento de Ciencias Básicas, Universidad Santo Tomás, Bogotá, Colombia. Resumen. sandraperilla@usantotomas.edu.co Carrera 9 No 51-11 Bogotá Colombia

Más detalles

Índice general. I Introducción a la Lógica 3

Índice general. I Introducción a la Lógica 3 Índice general I Introducción a la Lógica 3 1 Demostraciones 5 1.1. Argumentos rodeados de agua....................... 5 1.1.1. Argumentando........................... 6 1.1.2. Formalizando el argumento....................

Más detalles

Geometría de curvas y computación 4. Curvas de Hodógrafo Pitagórico

Geometría de curvas y computación 4. Curvas de Hodógrafo Pitagórico Geometría de curvas y computación 4. Curvas de Hodógrafo Pitagórico Fausto Ongay CIMAT, Gto., México Julio, 2012 Fausto Ongay (CIMAT) Julio, 2012 1 / 23 Curvas Paralelas ( Offset ) Fausto Ongay (CIMAT)

Más detalles

Métodos directos para resolver sistemas de ecuaciones lineales

Métodos directos para resolver sistemas de ecuaciones lineales Métodos directos para resolver sistemas de ecuaciones lineales Problemas para examen Si en algún problema se pide calcular el número de flops (operaciones aritméticas con punto flotante), entonces en el

Más detalles

DES: Ingeniería Programa(s) Educativo(s): Ingeniería de Software Tipo de materia: Obligatoria Clave de la materia: BC201 Semestre: 2

DES: Ingeniería Programa(s) Educativo(s): Ingeniería de Software Tipo de materia: Obligatoria Clave de la materia: BC201 Semestre: 2 UNIVERSIDAD AUTÓNOMA DE CHIHUAHUA Clave: 08MSU0017H Clave: 08USU4053W FACULTAD DE INGENIERÍA PROGRAMA DEL CURSO: LÓGICA COMPUTACIONAL DES: Ingeniería Programa(s) Educativo(s): Ingeniería de Software Tipo

Más detalles

Introducción a la Matemática Discreta

Introducción a la Matemática Discreta Introducción a la Matemática Discreta Aritmética Entera Luisa María Camacho Camacho Introd. a la Matemática Discreta 1 / 36 Introducción a la Matemática Discreta Temario Tema 1. Teoría de Conjuntos. Tema

Más detalles

Introducción a la Lógica

Introducción a la Lógica Tema 0 Introducción a la Lógica En cualquier disciplina científica se necesita distinguir entre argumentos válidos y no válidos. Para ello, se utilizan, a menudo sin saberlo, las reglas de la lógica. Aquí

Más detalles

LÓGICA COMPUTACIONAL

LÓGICA COMPUTACIONAL CURSO 2006-2007 OBJETIVOS Y TEMARIO 1. Presentación y objetivos. 2. Temario. Breve descripción. 1. Presentación y objetivos La asignatura «Lógica Computacional» presenta para este año un programa que está

Más detalles

Problemas de Espacios Vectoriales

Problemas de Espacios Vectoriales Problemas de Espacios Vectoriales 1. Qué condiciones tiene que cumplir un súbconjunto no vacío de un espacio vectorial para que sea un subespacio vectorial de este? Pon un ejemplo. Sean E un espacio vectorial

Más detalles

Capítulo II. Pruebas en Matemáticas

Capítulo II. Pruebas en Matemáticas Capítulo II Pruebas en Matemáticas Ahora nos concentramos en afirmaciones matemáticas y sus pruebas. Se encuentra que tratar de escribir pruebas justificando cada paso se vuelve rápidamente inmanejable,

Más detalles

Motivaciones históricas en la construcción de lógicas multivaluadas. Susan Haack, Filosofía de las lógicas (1978), capítulo 11

Motivaciones históricas en la construcción de lógicas multivaluadas. Susan Haack, Filosofía de las lógicas (1978), capítulo 11 Motivaciones históricas en la construcción de lógicas multivaluadas Susan Haack, Filosofía de las lógicas (1978), capítulo 11 Repaso Las lógicas multivaluadas son aquellas en donde hay más de dos valores

Más detalles

Lógica I (curso ) - 23 de enero de 2006 (modelo de respuestas)

Lógica I (curso ) - 23 de enero de 2006 (modelo de respuestas) Lógica I (curso 2005-06) - 23 de enero de 2006 (modelo de respuestas) 1. Definir un sistema formal... Para definir un sistema formal hay que especificar su lenguaje y su mecanismo deductivo. Llamemos H

Más detalles

Límite superior y límite inferior de una sucesión

Límite superior y límite inferior de una sucesión Límite superior y límite inferior de una sucesión Objetivos. Definir las nociones de los límites superior e inferior de una sucesión y estudiar sus propiedades básicas. Requisitos. Supremo e ínfimo de

Más detalles

Rudimentos de lógica

Rudimentos de lógica Rudimentos de lógica Eugenio Miranda Palacios 1. El método axiomático Matemáticas es el estudio de las relaciones entre ciertos objetos ideales como números, funciones y figuras geométricas. Estos objetos

Más detalles

INDICE. XVII Prólogo a la edición en español. XXI 1. Calculo proporcional 1.1. Argumentos y proporciones lógicas

INDICE. XVII Prólogo a la edición en español. XXI 1. Calculo proporcional 1.1. Argumentos y proporciones lógicas INDICE Prologo XVII Prólogo a la edición en español XXI 1. Calculo proporcional 1.1. Argumentos y proporciones lógicas 1 1.1.1. Introducción 1.1.2. Algunos argumentos lógicos importantes 2 1.1.3. Proposiciones

Más detalles

Inducción en definiciones y demostraciones AUTÓMATAS Y LENGUAJES FORMALES PRELIMINARES MATEMÁTICOS. Números naturales. Inducción matemática

Inducción en definiciones y demostraciones AUTÓMATAS Y LENGUAJES FORMALES PRELIMINARES MATEMÁTICOS. Números naturales. Inducción matemática Inducción en definiciones y demostraciones AUTÓMATAS Y LENGUAJES FORMALES PRELIMINARES MATEMÁTICOS Francisco Hernández Quiroz Departamento de Matemáticas Facultad de Ciencias, UNAM E-mail: fhq@ciencias.unam.mx

Más detalles

1. Programas y funciones computables

1. Programas y funciones computables Computabilidad 1 Índice 1. Programas y funciones computables 3 1.1. El lenguaje S........................................... 3 1.2. Programas de S......................................... 3 1.3. Macros...............................................

Más detalles