primer commit

This commit is contained in:
Vladimir Lemus 2024-02-02 00:41:50 -06:00
parent fd2d532033
commit bf6534ab36
4 changed files with 258 additions and 1 deletions

View File

@ -1,2 +1,8 @@
# notas-lc
# Notas del curso de lógica computacional
En este repositorio se guardan las notas (archivos fuente en *tex*, los archivos en *pdf* y posibles imágenes extra) para el curso de lógica computacional de la carrera de ciencias de la computación, facultad de ciencias UNAM.
Todo el contenido tiene una licencia libre, pueden hacer uso de lo que gusten mientras citen la fuente y no lo hagan con fines comerciales. Cualquier otro asunto con las notas pueden comunicarse al correo: [vladimir@ciencias.unam.mx](mailto:vladimir@ciencias.unam.mx), o en *XMPP* vladimir@suchat.org.
Orden de las notas:
1. Inducción y recursión -

BIN
recursion.pdf Normal file

Binary file not shown.

158
recursion.tex Normal file
View File

@ -0,0 +1,158 @@
\documentclass[10pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[spanish]{babel}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{multicol}
\usepackage{hyperref}
\renewcommand{\rmdefault}{ptm}
\usepackage{pgf}
\usepackage{tikz}
\usetikzlibrary{automata,positioning,arrows}
%\tikzset{->, % makes the edges directed
% >=stealth, % makes the arrow heads bold
% node distance=3cm, % specifies the minimum distance between two nodes. Change if necessary.
% every state/.style={thick, fill=gray!10}, % sets the properties for each state node
% initial text=$ $ % sets the text that appears on the start arrow
% }
%\usetikzlibrary{arrows,automata}
%\usepackage[all,cmtip]{xy}
%\usepackage{graphicx}
\author{Lógica computacional}
\title{Inducción y recursión}
\begin{document}
\maketitle
\section*{Preliminares}
Antes de empezar con el tema, que seguro es nuevo o al menos tiene aspectos nuevos para todos ustedes, debemos de partir de un suelo en común, las bases. Algunas no las cubriremos pues confiamos en que sus profesores de semestres pasados las dejaron muy claras, pero si no pueden acercarse, mandar un correo y podemos apoyarles en la medida de lo posible.
Hay dos conceptos que seguro ya vieron, pero que nos interesa regresar a ellos pues queremos ver algunos detalles específicos y además serán utilizados durante el curso (además de que de ahí salen ejercicios y debemos dejarles algo para que hagan ustedes). Estos son los de las inducción y la recursión.
En primer lugar hay algunas funciones que se definen de esta forma y que en esta materia tendrán importancia, tanto de forma inductiva como recursiva. Pero además durante el resto de la carrera necesitarán de estos conceptos y seguramente durante su desempeño profesional les serán útiles, ya más adelante les comentaré al respecto.
\subsection*{Relaciones}
Empecemos con las ideas básicas:
\newtheorem{defi}{Definición}
\begin{defi}
Dados dos conjuntos $A$ y $B$ (posiblemente vacíos), su \emph{producto Cartesiano}, denotado por $A\times B$, es le conjunto de parejas ordenadas:
\begin{equation*}
\{ \langle a,b \rangle \mid a\in B,\ b\in B \}.
\end{equation*}
\end{defi}
Definición que se puede ampliar a más conjuntos, digamos $A_1,A_2,...,A_n$, donde el producto Cartesiano es el conjunto de eneadas ordenadas $\langle a_1, a_2,...,a_n\rangle $. De esta forma podemos definir
\begin{defi}
Una \emph{relación binaria} entre $A$ y $B$ es cualquier subconjunto $R$ (posiblemente vacío) de $A\times B$.
\end{defi}
Ya en esta definición hay un \emph{espoiler}, ya que le llamo $R$, esto deriva en lo que llamamos una relación.
\begin{defi}
Dada una relación $R$ entre los conjuntos $A$ y $B$, el conjunto
\begin{equation*}
\{ x\in A \mid \exists y\in B\ \langle x,y \rangle \in R \},
\end{equation*}
\noindent es llamado el \emph{dominio} de R, $dom(R)$. El conjunto
\begin{equation*}
\{y\in B \mid \exists x\in A\ \langle x,y \rangle \in R \},
\end{equation*}
\noindent es llamado el \emph{rango} de $R$, $rango(R)$
\end{defi}
Para ahorrar espacio podemos escribir $\langle x,y\rangle \in R$ como $xRy$.
\subsection*{Funciones parciales, totales y composición}
Si se dan cuenta, estamos poniendo en un lenguaje formal algunas cuestiones matemáticas que ya han usado desde hace años, seguro desde su primer curso de matemáticas en primaria. Recuerden que estamos en lo de las bases comunes, así que sean pacientes con el exceso de definiciones. Ahora vamos con una definición de las funciones a partir de las relaciones.
\begin{defi}
Una relación $R$ entre dos conjuntos $A$ y $B$ es funcional si y sólo si, para toda $x\in A$, y $y,z \in B$, $(x,y)\in R$ y $(x,z)\in R$ implica que $y=z$.
\end{defi}
\begin{defi}
Una función parcial es la tripleta $f=\langle A,G,B \rangle$, donde $A$ y $B$son conjuntos arbitrarios (posiblemente vacíos) y $G$ una relación funcional (posiblemente vacía) entre $A$ y $B$, llamada la \emph{gráfica} de $f$.
\end{defi}
Que también suele escribirse la función parcial como $f: A\rightarrow B$, el elemento único en el rango de $f$ tal que $(x,y)\in graf(f)$ se denota por $f(x)$. Una función total es aquella función para la cual $dom(f)=A$.
Y para no dejarlo, vamos a hacer más abstracto algo que ya usan desde hace años, pero sigan la corriente, estamos formalizando todo, como si fuéramos a una fiesta elegante.
\begin{defi}
Dadas dos relaciones binarias, $R$ entre $A$ y $B$, y $S$ entre $B$ y $C$, su \emph{composición} escrita como $R\cdot S$ es una relación entre $A$ y $C$ definida por el siguiente conjunto de parejas ordenadas
\begin{equation*}
\{(a,c) \mid \exists b\in B,\ (a,b)\in R\text{ y } (b.c)\in S \}
\end{equation*}
\end{defi}
Con esto podemos definir uno de esos factores que nos resultán útiles para algunas propiedades algebraicas de los conjuntos, la identidad, en este caso la relación identidad ($I_{A}$) definida como $\{(x,x) \mid x\in A\}$, que es una función total. De manera similar podemos definir la relación \emph{conversa} que al pasarlo a términos de relaciones funcionales derivará en la función inversa.
\subsection*{Inyecciones, suprayecciones y biyecciones}
Va un carrusel de definiciones
\begin{defi}
Una función $f:A\rightarrow B$ es \emph{inyectiva} (\emph{uno a uno}) si y sólo si para toda $(x,y)\in A$, $f(x)=f(y)$ implica que $x=y$
\end{defi}
\begin{defi}
Una función $f:A\rightarrow B$ es \emph{suprayectiva} (\emph{sobre}) si y sólo si para toda $y\in B$, hay alguna $x\in A$ tal que $f(x)=y$. Es decir, el rango de $f$ es $B$.
\end{defi}
Y una función es \emph{biyectiva} si es uno a uno y sobre.
\subsection{Imagen directa, imagen inversa y secuencias}
Más definiciones, no se agobien, es sólo para que todo quede bien definido, pero seguro estos son conceptos que ya tienen claros o al menos los han manejado con una cierta noción.
\begin{defi}
Dada una función (parcial) $f:A\rightarrow B$, para todo subconjunto $X$ de $A$, la \emph{imagen directa} (\emph{imagen}) de $X$ bajo $f$ es el conjunto
\begin{equation}
\{y\in B \mid \exists x\in X,\ f(x)=y \},
\end{equation}
\noindent Denotada como $f(X)$. Para todo subconjunto $Y$ de $B$, la imagen inversa de $Y$ sobre $f$ es el conjunto
\begin{equation}
\{x\in A \mid \exists y\in Y,\ f(x)=y\}
\end{equation}
\noindent denotada como $f^{-1}(Y)$
\end{defi}
\begin{defi}
Dados dos conjuntos $I$ y $X$, una \emph{secuencia I-indexada} (o simplemente \emph{secuencia}) es cualquier función $A:I\rightarrow X$, denotado $(A_i)_{i\in I}$. $I$ es el conjunto índice. Si $X$ es un conjunto de conjuntos, $(A_i)_{i\in I}$ es una familia de conjuntos.
\end{defi}
\subsection{Vamos todos a contar}
Todo esto anterior es para saber, de manera formal, qué es lo que hacemos cuando contamos. Lo que hacemos es definir una secuencia. Pero algunas de las definiciones anteriores nos pueden dar más detalles de la secuencia que usamos para contar.
Cuando aprendemos a contar en la infancia lo hacemos con los dedos, lo que hacemos es asociar los objetos contados con los números naturales. En ese sentido decimos que un conjunto $A$ es:
\begin{itemize}
\item \emph{Numerable} si y sólo si o $A=\emptyset$ o si hay una suprayección $h: \mathbb{N}\rightarrow B$
\item \emph{Infinitamente numerable} si y sólo si hay una biyección $h:\mathbb{N}\rightarrow A$
\item \emph{No numerable} de cualquier otra forma.
\end{itemize}
Siendo más quisquillosos podemos hablar de los enteros positivos, que estarán definidos como $\mathbb{N}_+$, el subconjunto de los naturales positivos $\{1,2,...,n\}$ se denota como $[n]$. De esta forma $[0]$ sería el conjunto vacío. Decimos que un conjunto $A$ es finito si y sólo si existe una biyección $h:[n]\rightarrow A$ para alguna $n\in \mathbb{N}$. Ese natural $n$ es la cardinalidad del conjunto $A$, se escribe $|A|$.
Si hablamos de secuencias y el conjunto índice son los naturales, la secuencia $(A_i)_{i\in I}$ es una secuencia contable, en el caso de que $I$ sea $[n]$ para algún $n\in \mathbb{N}$ entonces es una secuencia finita.
\section{Relaciones de equivalencia}
\begin{defi}
\begin{itemize}
\item Una relación binaria $R\subset A\times A$ es \emph{reflexiva} si y sólo si para toda $x\in A$, $(x,x)\in R$.
\item La relación $R$ es \emph{simétrica} si y sólo si para toda las $x,y\in A$, $(x,y)\in R$ implica que $(y,x)\in R$.
\item La relación $R$ es \emph{transitiva} si y sólo si para todas las $x,y,z\in A$, $(x,y)\in R$ y $(y,z)\in R$ implica que $(x,z)\in R$.
\item Si la relación $R$ cimple las tres características anteriores, entonces es una \emph{relación de equivalencia}
\end{itemize}
\end{defi}
%Si caminan por los pasillos de la facultad de ciencias, en una de sus escaleras hayaran el mural de Emmy Noether (quizá no se parece mucho, y no le dieron el tiempo suficiente a la persona que hizo el trabajo creativo, pero es valioso que se reconozca el trabajo de Emmy Noether). A esta matemática se le deben algunos de los conceptos que trataremos en este capítulo, pero ya iremos hablando más de ella.
\end{document}

93
recursion.tex~ Normal file
View File

@ -0,0 +1,93 @@
\documentclass[10pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[spanish]{babel}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{multicol}
\usepackage{hyperref}
\renewcommand{\rmdefault}{ptm}
\usepackage{pgf}
\usepackage{tikz}
\usetikzlibrary{automata,positioning,arrows}
%\tikzset{->, % makes the edges directed
% >=stealth, % makes the arrow heads bold
% node distance=3cm, % specifies the minimum distance between two nodes. Change if necessary.
% every state/.style={thick, fill=gray!10}, % sets the properties for each state node
% initial text=$ $ % sets the text that appears on the start arrow
% }
%\usetikzlibrary{arrows,automata}
%\usepackage[all,cmtip]{xy}
%\usepackage{graphicx}
\author{Lógica computacional}
\title{Inducción y recursión}
\begin{document}
\maketitle
\section*{Preliminares}
Antes de empezar con el tema, que seguro es nuevo o al menos tiene aspectos nuevos para todos ustedes, debemos de partir de un suelo en común, las bases. Algunas no las cubriremos pues confiamos en que sus profesores de semestres pasados las dejaron muy claras, pero si no pueden acercarse, mandar un correo y podemos apoyarles en la medida de lo posible.
Hay dos conceptos que seguro ya vieron, pero que nos interesa regresar a ellos pues queremos ver algunos detalles específicos y además serán utilizados durante el curso (además de que de ahí salen ejercicios y debemos dejarles algo para que hagan ustedes). Estos son los de las inducción y la recursión.
En primer lugar hay algunas funciones que se definen de esta forma y que en esta materia tendrán importancia, tanto de forma inductiva como recursiva. Pero además durante el resto de la carrera necesitarán de estos conceptos y seguramente durante su desempeño profesional les serán útiles, ya más adelante les comentaré al respecto.
\subsecrtion{Relaciones}
Empecemos con las ideas básicas:
\newtheorem{defi}{Definición}
\begin{defi}
Dados dos conjuntos $A$ y $B$ (posiblemente vacíos), su \emph{producto Cartesiano}, denotado por $A\times B$, es le conjunto de parejas ordenadas:
\begin{equation*}
\{ \langle a,b \rangle \mid a\in B,\ b\in B \}.
\end{equation*}
\end{defi}
Definición que se puede ampliar a más conjuntos, digamos $A_1,A_2,...,A_n$, donde el producto Cartesiano es el conjunto de eneadas ordenadas $\langle a_1, a_2,...,a_n\rangle $. De esta forma podemos definir
\begin{defi}
Una \emph{relación binaria} entre $A$ y $B$ es cualquier subconjunto $R$ (posiblemente vacío) de $A\times B$.
\end{defi}
Ya en esta definición hay un \emph{espoiler}, ya que le llamo $R$, esto deriva en lo que llamamos una relación.
\begin{defi}
Dada una relación $R$ entre los conjuntos $A$ y $B$, el conjunto
\begin{equation*}
\{ x\in A \mid \exist y\in B\ \langle x,y \rangle \in R \},
\end{equation*}
\noindent es llamado el \emph{dominio} de R, $dom(R)$. El conjunto
\begin{equation*}
\{y\in B \mid \exist x\in A\ \langle x,y \rangle \in R \},
\end{equation*}
\noindent es llamado el \emph{rango} de $R$, $rango(R)$
\end{defi}
Para ahorrar espacio podemos escribir $\langle x,y\rangle \in R$ como $xRy$.
\subsection{Funciones parciales, totales y composición}
Si se dan cuenta, estamos poniendo en un lenguaje formal algunas cuestiones matemáticas que ya han usado desde hace años, seguro desde su primer curso de matemáticas en primaria. Recuerden que estamos en lo de las bases comunes, así que sean pacientes con el exceso de definiciones. Ahora vamos con una definición de las funciones a partir de las relaciones.
\begin{defi}
Una relación $R$ entre dos conjuntos $A$ y $B$ es funcional si y sólo si, para toda $x\in A$, y $y,z \in B$, $(x,y)\in R$ y $(x,z)\in R$ implica que $y=z$.
\end{defi}
\begin{defi}
Una función parcial es la tripleta $f=\langle A,G,B \rangle$, donde $A$ y $B$son conjuntos arbitrarios (posiblemente vacíos) y $G$ una relación funcional (posiblemente vacía) entre $A$ y $B$, llamada la \emph{gráfica} de $f$.
\end{defi}
Que también suele escribirse la función parcial como $f: A\rightarrow B$, el elemento único en el rango de $f$ tal que $(x,y)\in graf(f)$ se denota por $f(x)$. Una función total es aquella función para la cual $dom(f)=A$.
Y para no dejarlo, vamos a hacer más abstracto algo que ya usan desde hace años, pero sigan la corriente, estamos formalizando todo, como si fuéramos a una fiesta elegante.
\begin{defi}
Dadas dos relaciones binarias, $R$ entre $A$ y $B$, y $S$ entre $B$ y $C$, su \emph{composición} escrita como $R\cdot S$ es una relación entre $A$ y $C$ definida por el siguiente conjunto de parejas ordenadas
\begin{equation*}
\{\}
\end{equation*}
\end{defi}
%Si caminan por los pasillos de la facultad de ciencias, en una de sus escaleras hayaran el mural de Emmy Noether (quizá no se parece mucho, y no le dieron el tiempo suficiente a la persona que hizo el trabajo creativo, pero es valioso que se reconozca el trabajo de Emmy Noether). A esta matemática se le deben algunos de los conceptos que trataremos en este capítulo, pero ya iremos hablando más de ella.
\end{document}