logica porposicional

This commit is contained in:
Vladimir Lemus 2024-02-20 11:04:34 -06:00
parent d0381581e9
commit 96ad6eaab4
5 changed files with 638 additions and 0 deletions

BIN
logica_enunciados.pdf Normal file

Binary file not shown.

42
logica_enunciados.tex Normal file
View File

@ -0,0 +1,42 @@
\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{Lógica de enunciados (proposicional)}
\begin{document}
\maketitle
\section{Elementos}
\begin{itemize}
\item Átomos, en este caso las proposiciones
\item Los sómbolos: $\neg$, $vee$, $wedge$, $\rightarrow$ y $\iff$. Los conectivos de enunciados.
\item Los paréntesis ``(`` y ``)''.
\end{itemize}
\begin{thebibliography}{10}
\bibitem{Gallier2003} Gallier, Jean. ``Logic for computer science. Foundations of automatic theorem proving'' University of Pensylvania (2003) \url{https://www.researchgate.net/publication/31634432_Logic_for_computer_science_foundations_of_automatic_theorem_proving_JH_Gallier}
\bibitem{Lemus} Lemus, Vladimir. ``Notas para el curso de programación funcional para la física computacional'', \url{https://git.disroot.org/vladomiro/notas-tsfc}.
\bibitem{Pagina} \url{https://courses.engr.illinois.edu/cs173/fa2010/Lectures/trees.pdf} Consultada el 14 de febrero de 2024.
\end{thebibliography}
\end{document}

558
logica_enunciados.tex~ Normal file
View File

@ -0,0 +1,558 @@
\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*}
\label{def:comp}
\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.
\subsection{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$ cumple las tres características anteriores, entonces es una \emph{relación de equivalencia}
\end{itemize}
\label{def:rel}
\end{defi}
\begin{defi}
Dada una relación de equivalencia $R$ sobre un conjunto $A$ para toda $x\in A$, el conjunto $\{y\in A\mid (x,y)\in R\}$ es la \emph{clase de equivalencia} de $x$ \emph{módulo} $R$ y se escribe como $[x]_R$.
\end{defi}
Piensen en los enteros que entran en la clase de equivalencia del $2$ módulo $3$: $2$, $5$, $8$, $11$,$...$.
Si juntamos todas las clases de equivalencia de los enteros módulo $3$ volvemos a formar todos los enteros, pero además ningún elemento está en dos clases a la vez.
\begin{itemize}
\item El conjunto de clases de equivalencia módulo $R$ es \emph{el cociente} de $A$ por $R$, $A/R$
\item $A/R$ es también llamada una \emph{partición} de $A$, cualesquiera dos clases de equivalencia son no vacías y disjuntas.Su unión es $A$ misma.
\item La función suprayectica $h_R : A\rightarrow A/R$ es la \emph{función canónica} respecto a $R$.
\end{itemize}
Dada cualquier relación $R$ sobre un conjunto $A$, las potencias de $R$ son:
\begin{itemize}
\item $R^0 = I_A$,
\item $R^1= R$,
\item $R^{n+1} = R^n \cdot R$
\end{itemize}
La unión $R^+=\bigcup_{n\geq 1} R^n$ es la \emph{cerradura transitiva} de $R$ y es la relación transitiva más pequeña sobre $A$ que contiene a $R$. Por otro lado $R^*=\bigcup_{n\geq 0} R^n$ es la \emph{cerradura reflexiva y transitiva}.
Vamos a un ejercicio:
\begin{enumerate}
\item Dada una relación $R$ sobre un conjunto $A$, prueba que $R$ es transitiva \emph{si y sólo si} $R\cdot R\subset R$.
\end{enumerate}
\emph{De izquierda a derecha}: Asumimos $R$ es transitiva, por definición \ref{def:rel} $R$ es transitiva si y sólo si para todas $x,y,z\in A$, que $(x,y)\in R$ y $(y,z)\in R$ implican que $(x,z)\in R$. Es decir que si $(a,c)\in R$ existe una $b$ tal que $(a,b)\in R$ y $(b,c)\in R$. Pero si recuerdan esta es la definición \ref{def:comp} de la composición de relaciones, si $(a,b)\in R$ y $(b,c)\in R$ entonces $(a,c)\in R\cdot R$ y como $(a,c)\in R$, entonces $R\cdot R \subset R$.
\emph{De derecha a izquierda}: Es similar, por definiciones.
\subsection{Órdenes parciales y totales}
Nos vamos acercando poco a poco a lo que es el tema de esta sección, pero requerimos tener claras las definiciones. Van unas pocas más.
\begin{defi}
Una relación $R$ sobre un conjunto $A$ es \emph{antisimétrica} si y sólo si para toda $x,y\in A$, $(x,y)\in R$ y $(y,x)\in R$ implica que $x=y$
\end{defi}
\begin{defi}
\begin{itemize}
\item Una relación $R$ sobre $A$ es un \emph{orden parcial} si y sólo si $R$ es reflexiva, transitiva y antisimétrica.
\item Dado un orden parcial $R$ en $A$, la pareja $\langle A,R \rangle$ es llamado un \emph{conjunto parcialmente ordenado}. Un orden parcial se denota por el símbolo $\leq$.
\item Dado un orden parcial $\leq$ en $A$, dado cualquier subconjunto $X$ de $A$, $X$ es una \emph{cadena} si y sólo si para todos $x,y\in X$, o $x\leq y$ o $y\leq x$.
\item Un orden parcial $\leq$ en un conjunto $A$ es un \emph{orden total} (u \emph{orden lineal}) si y sólo si $A$ es una cadena.
\item Dado un orden parcial $\geq$ en un conjunto $A$, dado cualquier $X\subset A$, un elemento $b\in A$ es una \emph{cota inferior} de $X$ si y sólo si para toda $x\in X$, $b\leq X$. Por el otro extremo $m\in A$ es una \emph{cota superior} si y sólo si para toda $x\in X$, $x\leq m$. Noten que $b$ y $m$ son elementos de $A$ pero no necesariamente de $X$.
\item Un elemento $b\in X$ es el \emph{mínimo} de $X$ si y sólo si para toda $x\in X$, $b\leq x$. Un elemento $m\in X$ es el \emph{máximo} de $X$ si y sólo si para toda $x\in X$, $x\leq m$. Estos valores son únicos.
\item Dado un subconjunto $X$ de $A$, un elemento $b\in X$ es \emph{minimal} en $X$ si y sólo si para toda $x\in X$, $x\leq b$ implica que $x=b$. Un elemento $m\in X$ es \emph{maximal} en $X$ si para toda $x\in X$, $m\leq x$ implica $m=x$. Estos valores no son únicos.
\item Un elemento $m\in A$ es la \emph{mínima cota superior} de un subconjunto $X$, si y sólo si el conjunto de cotas superiores de $X$ no es vacío y $m$ es el elemento menor en este conjunto. Un elemento $b\in A$ es la \emph{máxima cota inferior} de $X$, si y sólo si el conjunto de cotas inferiores de $X$ no es vacío y $b$ es el elemento mayor en este conjunto.
\end{itemize}
\end{defi}
\section{Conjuntos bien fundados e inducción completa}
Como hasta este punto han visto puras definiciones tomaré una pausa para hablarse de una mujer relacionada con este tema que empezaremos a tratar. 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 la científica). A esta matemática se le deben algunos de los conceptos que trataremos en este capítulo. Nacida el 23 de marzo de 1882 en Erlangen, región bávara alemana, su investigación fue variada y extensa. En física es famosa por el teorema de Noether, relacionado a las conservaciones de magnitudes físicas con simetrías en el formalismo matemático. Para el caso tratado aquí lo relevante es su labor en el álgebra abstracta. Fue una de las primeras mujeres en poder matricularse en la universidad de Baviera donde tomó clases con Karl Schwarzschild (también muy conocido en la física y astrofísica), Minkowski, Klein y Hilbert.
Por varios años ya tras titularse dio clases en la universidad de Erlangen sin recibir sueldo, entre que suplía a su padre y que no tenían contemplado darle un sueldo de profesora a una mujer. Hilbert y Klein insistieron en que se le dejara ingresar como profesora a la universidad de Gotinga, pero una parte de la facultad se negó, un tanto ante el \emph{qué dirán}. A esto Hilbert respondió: \emph{``No veo por qué el sexo de un candidato pueda ser un argumento en contra de su admisión como \textbf{privatdozent}. Después de todo, somos una universidad, no un establecimiento de baños''}.
\begin{figure}[h!]
\begin{center}
\includegraphics[width=0.3\linewidth]{noether.jpg}
\caption{Amalie Emmy Noether, imagen de dominio público.}
\label{fig:noether}
\end{center}
\end{figure}
La inducción bien fundada también es conocida como inducción noetheriana, justo por la labor de la matemática al respecto. Este tipo de inducción sucede en conjuntos parcialmente ordenadas, que tienen un orden bien fundado. Dado un orden parcial $\leq$ sobre un conjunto $A$, el \emph{orden estricto} $<$ asociado con $\leq$ se define como:
\begin{equation}
x<y \text{ si y sólo si } x\leq y \text{ y } x\neq y.
\end{equation}
Un conjunto parcialmente ordenado $\langle A, \leq \rangle$ está \emph{bien fundado} si y sólo si no tiene infinitas secuencias decrecientes $(x_i)_{i\in \mathbb{N}}$, es decir, secuencias tales que $x_{i+1}<x_i$ para toda $i\geq0$.
\newtheorem{lema}{Lema}
\begin{lema}
Dado un conjunto parcialmente ordenado $\langle A,\leq \rangle$, $\langle A,\leq \rangle$ es un conjunto bien fundado si y sólo si todo subconjunto no vacío de $A$ tiene un elemento minimal.
\end{lema}
\emph{De izquierda a derecha}: Suponemos que $\langle A,\leq \rangle$ es bien fundado, como lo hace el libro \cite{Gallier2003} es por contradicción, suponiendo que cualquier subconjunto $X\subset A$ y que no tiene un elemento minimal, entonces para cualquier $x\in X$ existe una $y\in X$ tal que $y<x$, no hay un minimal $x\in X$. Como $X$ no es vacío existe $x_0\in X$, y de ser cierto lo anterior entonces existe $x_1\in X$ tal que $x_1<x_0$. Si aplicamos este argumento de manera recursiva llegamos a que tenemos una secuencia infinita decreciente, pero eso es una contradicción con nuestra suposición inicial de que el conjunto es bien fundado. Es necesario que $X$ tenga un minimal.
\emph{De derecha a izquierda}: Suponemos que todo subconjunto no vacío de $A$ tiene un minimal. Si una secuencia infinita decreciente $(x_i)$ existe en $A$, debe tener a fuerzas, por la primera suposición, un minimal, pero esto contradice el hecho de que $x_{k+1}< x_k\square$.
Ahora sí, el momento más esperado del día \textbf{definiremos el principio de inducción completa o estructural}.
\begin{defi}
Sea $\langle A,\leq \rangle$ un conjunto ordenado parcialmente bien fundado, y sea $P$ una propiedad del conjunto $A$, es decir, la función $P: A\rightarrow \{\mathbf{false}, \mathbf{true}\}$. Decimos que $P(x)$ se cumple si $P(x)=\mathbf{true}$.
Para probar que una propiedad $P$ se cumple para toda $z\in A$, basta con mostrar que para toda $x\in A$:
\begin{itemize}
\item \textbf{Hipótesis inductiva:} si $x$ es minimal o $P(y)$ es cierto para toda $y<x$
\item entonces $P(x)$ se cumple.
\end{itemize}
\end{defi}
El \textbf{paso inductivo} es que para toda $x$, el primer inciso implica el segundo. De manera formal:
\begin{equation}
(\forall x\in A)[(\forall y\in A)(y<x \supset P(y))\supset P(x)] \supset (\forall z\in A)P(z)
\end{equation}
Nótese que $x$ es minimal, $P(x)$ es el o los \emph{casos base}.
\begin{lema}
El principio de inducción completa se cumple para todo conjunto bien fundado.
\end{lema}
Y de nueva cuenta el autor de la ya tan citada obra en estas notas lo hace por contradicción:
\emph{Prueba}: Supongamos el principio de inducción completa es falso, entonces
\begin{equation}
(\forall x\in A)[(\forall y\in A)(y<x \supset P(y))\supset P(x)],
\label{ec:ver}
\end{equation}
\noindent es verdadero, pero $(\forall z\in A)P(z)$ es falso, es decir $(\exists z\in A)(P(z)=\mathbf{false})$ es verdadero. En ese caso el conjunto
\begin{equation}
X=\{x\in A \mid P(x)=\mathbf{false}\},
\end{equation}
\noindent es no vacío. Como $A$ es bien fundado, $X$ tiene algún minimal $b$. Como \ref{ec:ver} es verdadero para toda $x\in A$, sea $x=b$
\begin{equation}
[(\forall y\in A)(y<b \supset P(y))\supset P(b)],
\label{ec:sub}
\end{equation}
\noindent es verdadero. Si $b$ además es minimal en $A$, na hay $y\in A$ tal que $y<b$, entonces
\begin{equation}
(\forall y\in A)(y<b \supset P(y)),
\end{equation}
\noindent es cierto de manera trivial (\emph{tribilín}) y entonces $P(b)=\mathbf{true}$ lo que contradice que $b\in X$. De otra forma, para toda $y\in A$ tal que $y<b$, $P(y)=\mathbf{true}$, ya que $y$ pertenecería a $X$ y $b$ ya no sería minimal. Pero entonces
\begin{equation}
(\forall y\in A)(y<b \supset P(y)),
\end{equation}
\noindent también sería cierto y \ref{ec:sub}implica que $P(y)=\mathbf{true}$, contradiciendo el hecho de que $b\in X$. Por lo tanto inducción completa es válida para conjuntos bien fundados $\square$.
\subsection{Ejercicios}
Veamos un ejercicio de inducción.
\textbf{Proposición:} Todo entero $n\geq 2$ es un producto de números primos.\\
\textbf{Demostración:} Para $n\geq 2$ denotamos $P(n)$ como el enunciado ``$n$ es un número primo o el producto de dos números primos''.\\
\textbf{Base inductiva.} $P(2)$ es verdadero ya que $2$ es un número primo.\\
\textbf{Hipótesis inductiva.} Suponemos $n\geq 2$ y $P(n)$ verdadera para $2\leq k\leq n$. Probamos que $P(n+1)$ es verdadero.
\begin{itemize}
\item Si $n+1$ es primo ya la hicimos.
\item De lo contrario sabemos que $2\leq k\leq n < n+1$, entonces existen $x,y\leq n $, y $n+1=xy$, como $x,y\leq n$ entonces $P(x)$ y $P(y)$ existen, por lo tanto $n+1$ es producto de primos y $P(n+1)$ existe.
\end{itemize}
\newtheorem{teo}{Teorema}
\begin{teo}
(Principio de inducción Noetheriana) Sea $(A,\preceq)$ un conjunto bien fundado. Para probar que una propiedad $P(x)$ es verdadera para todos los elementos $x$ en $A$ es suficiente probar las siguientes propiedades:
\begin{itemize}
\item[(a)] \textbf{Base inductiva:} $P(x)$ es verdad para todos los elementos minimales de $A$.
\item[(b)] \textbf{Paso inductivo} Para cada no minimal $x$ en $A$, si $P(y)$ es verdad para toda $y\prec x$ (\textbf{hipótesis inductiva}), entonces $P(x)$ es verdad.
\end{itemize}
\end{teo}
Para darles un ejemplo no me detendré en el caso del triángulo de Pascal, pero sí en el factorial que antes hicimos. Más que un ejercicio es un ejemplo ilustrativo.
\textbf{Ejemplo:} Demuestra que el factorial es una función total.
Recordemos que nuestra función factorial está definida de la siguiente forma:
\begin{align*}
f(0) &= 0! = 1\\
f(x) &= x(x-1)!, \ x>0 \text{ y } x\in\mathbb{N}.
\end{align*}
Entonces aplicamos la inducción:
\begin{itemize}
\item \textbf{Base inductiva:} Estamos trabajando en los naturales más el $0$ ($\mathbb{N}_0$), el minimal es el $0$ y por la definición de la función $f(0)=0!=1$, ya está.
\item \textbf{Hipótesis inductiva:} Supongamos es cierto para $n>0$ con $n\in\mathbb{N}_0$, en ese caso tenemos que $f(n)=n!$.
\item \textbf{Paso inductivo:} Probemos que se cumple para $n+1$. Para este caso por definición $f(n+1)=(n+1)n!$, como supusimos que $n!$ está valuado por consiguiente $(n+1)n!$ está valuado también, es solo una multiplicación de naturales que da un natural $\square$.
\end{itemize}
\subsection{Orden lexicográfico}
\begin{defi}
Sea un conjunto parcialmente ordenado $\langle A,\leq \rangle$, el orden lexicográfico $<_L$ en $A\times A$ inducido por $\leq$ se define: para todas $x,y,x',y'\in A$,
\begin{align}
(x,y)&<_L (x',y') \text{ si y sólo sí}\\
& x=x' \text{ y } y=y', \text{ o }\\
& x<x' \text{ o }\\
& x=x' \text{ y } y<y'.
\end{align}
\end{defi}
\begin{lema}
Si $\langle A,\leq \rangle$ es un conjunto parcialmente ordenado y bien fundado, el orden lexicográfico en $A\times A$ es también bien fundado.
\end{lema}
\textbf{Demostración:} Otra vez, de acuerdo al autor del ya citado libro, lo hace por contradicción. Suponemos que hay una secuencia infinita decreciente $(\langle x_i,y_i \rangle)_{i\in \mathbb{N}}$ en $A\times A$. Entonces
\begin{enumerate}
\item Hay un número infinito de distintas $x_i$: en este caso la sucesión es infinita y por definición $\langle A,\leq \rangle$ no es bien fundado.
\item Sólo hay un número finito de distintas $x_i$: existe una $k$ tal que para toda $i\geq k$ $x_i = x_{i+1}$, como supusimos al principio y ya que la $x$ no puede decrecer, entonces $(y_i)_{i\geq k}$ es una secuencia decreciente en $A$, contradiciendo que $\langle A,\leq \rangle$ es bien fundado.
\end{enumerate}
No queda de otra que $\leq_L$ sea bien fundado $\square$.
\begin{defi}
Sea $\mathbb{N}_0 = \{ 0,1,2,... \}$, el conjunto de los enteros no negativos. La función de Ackermann se define como:
\begin{align*}
A(x,y) &= \\
& if(x==0)\ then\ return\ y+1; \\
& else\ if\ (y==0)\ then\ return\ A(x-1,1); \\
& else\ return\ A(x-1,A(x,y-1));
\end{align*}
\end{defi}
¿Es $A(x,y)$ una función total? Es decir a cada par en $\mathbb{N}_0 \times \mathbb{N}_0$ ¿le corresponde un valor entero no negativo?
\textit{Demostración:} Sea $\sqsubseteq$ lo que denota el orden lexicográfico en $\mathbb{N}_0 \times \mathbb{N}_0$ de la forma:
\begin{equation*}
(m_1,m_2) \sqsubseteq (n_1,n_2)\text{ si y sólo si }
\begin{cases}
m_1 < n_1,\\
m_1 = n_1 \text{ y } m_2\leq n_2
\end{cases}
\end{equation*}
Entonces $(\mathbb{N}_0 \times \mathbb{N}_0,\sqsubseteq)$ es un conjunto bien fundado con elemento minimal $(0,0)$.
\section{Trabajando sobre funciones}
Ya hablamos de relaciones, nos centramos en las relaciones de orden parciales para definir la recursión total, pero si recuerdan también hablaos de funciones y gráficas ¿cómo podemos ampliar os conceptos a estas relaciones particulares?
\begin{defi}
Un orden parcial en funciones parciales se define como: $f\subseteq g$ si y sólo si $graf(f)$ es un subconjunto de $graf(g)$. Decimos que $g$ es una extensión de $f$ y que $f$ es una restricción de $g$.
\end{defi}
Un lema útil:
\begin{lema}
Sea $(f_n)_{n\geq 0}$ una secuencia de funciones parciales $f_n:A\rightarrow B$ tal que $f_n\subseteq f_{n+1}$ para toda $n\geq 0$. Entonces $g=(A, \cup graf(f_n), B)$ es una función parcial. Más aún, $g$ es la mínima cota superior de la secuencia $(f_n)$.
\end{lema}
\section{Cadenas}
Seré telegráfico en esta sección, pues seguro estas definiciones ya las vieron una y otra vez. Partimos de un conjunto $A$ que incluso podría ser infinito:
\begin{itemize}
\item Una \emph{cadena} es cualquier secuencia finita $u:[n]\rightarrow A$, donde $n\in \mathbb{N}$.
\item Al conjunto $A$ se le suele llamar un \emph{alfabeto}.
\item Dada la cadena $u:[n]\rightarrow A$, $n$ es la longitud de $u$, $|u|$.
\item La cadena vacía corresponde a $n=0$, $\epsilon$.
\item El conjunto de todas las cadenas sobre $A$ se denota $A^*$.
\item Si $u:[n]\rightarrow A$ es una cadena, $n>0$, para toda $i\in [n]$, $u(i)=u_i$ es un elemento de $u$.
\item Las cadenas pueden concatenarse (no daré definición, ver la bibliografía).
\item Luego vienen las definiciones de prefijo, sufijo, subcadena y subfijo propio, pueden verlas pero me parece pueden ya estar más que claras.
\end{itemize}
\section{Árboles}
Los árboles son una estructura útil para acomodar conjuntos de datos, relacionarlos y agilizar la búsqueda.
\subsection{Dominio de árboles}
\begin{defi}
Un dominio de árbol $D$ es un subconjunto no vacío de cadenas en $\mathbb{N}_+^*$ que satisface las condiciones:
\begin{itemize}
\item Para cada $u\in D$ todo prefijo de $u$ también está en $D$.
\item Para cada $u\in D$, para todo $i\in \mathbb{N}_+$, si $ui\in D$, entonces para toda $j$, $1\leq j\leq i$, $uj$ también está en $D$
\end{itemize}
\end{defi}
Un ejemplo es el dominio de árbol $\{\epsilon, 1,2,11,21,22,221,222,2211\}$.
\begin{defi}
Dado un conjunto $\Sigma$ de etiquetas, un $\Sigma-$árbol (o simplemente árbol) es una función total $t:D\rightarrow \Sigma$ donde $D$ es un dominio de árbol.
\end{defi}
Noten que el dominio del árbol muestra que es un conjunto de cadenas ordenadas, el árbol tal cual es este mismo arreglo ordenado pero con cualquier etiqueta en sus elementos. El orden de cierta forma está implícito aunque puede tener cualquier etiqueta. El dominio se denota como $dom(t)$, cada cadena $u\in dom(t)$ es llamada un nodo.
\begin{figure}[h!]
\begin{center}
\includegraphics[width=0.5\linewidth]{tree.jpg}
\caption{Imagen de \href{https://xkcd.com/835}{xkcd} con licencia CC-BY-NC.}
\label{fig:noether}
\end{center}
\end{figure}
\begin{defi}
El rango o ramificación $d(u)$ del nodo $u$ es la cardinalidad del conjunto $\{i| ui\in dom(t)\}$.
\end{defi}
\begin{itemize}
\item Un árbol de rango $0$ es una \emph{hoja}.
\item El nodo con dirección $\epsilon$ es la \emph{raíz} del árbol.
\item Un árbol $t$ es finito si su dominio $dom(t)$ es finito.
\item Dado un nodo $u$ en $dom(t)$, todo nodo de la forma $ui$ en $dom(t)$ con $i\in\mathbb{N}_+$ es un hijo de $u$.
\end{itemize}
\textbf{Ejercicio:} Sea $T$ un árbol binario con altura $h$ y $n$ nodos. Entonces $n\leq 2^{h+1}-1$.
\textbf{Respuesta:} Hacemos inducción sobre $h$, la altura del árbol.
\textbf{Caso base:} El caso base es cuando $h=0$, en ese caso hay un nodo, es decir $n=1$, y dado que $h=0$ entonces $2^{h+1}-1=2^1-1=1$, $n=1\leq h=1$, de manera estricta $1=1$, lo cumple.
\textbf{Paso inductivo:} Suponemos que se cumple para toda $h>0$, debemos demostrar que se cumple para $h+1$. Debemos verlo por casos
\begin{itemize}
\item \emph{Caso 1:} $T$ consiste de una raíz más un subárbol $X$. $x$ tiene una altura $h-1$ (es el árbol sin la raíz). De tal forma que $h$ máximo $2^h-1$ nodos, así que $T$ contiene máximo $2^h$ nodos, que es menor que $2^{h+1}-1$ ya que $2^{h+1}-1=2*2^h-1$ que sin importar cuanto vale $h$ cumple $2^h\leq 2^{h+1}-1$.
\item \emph{Caso 2:} $T$ consiste de una raíz y dos subárboles $X$ y $Y$, los cuales tienen alturas $p$ y $q$ respectivamente, tales que $p,q< h$. Por el paso inductivo sabemos que $X$ y $Y$ cumplen la relación, es decir que $X$ tiene a lo más $2^{p+1}-1$ nodos y $Y$ a lo más $2^{q+1}-1$ nodos. Pero como $p,q< h$ entonces ambos árboles tienen una cantidad de nodos tales que $\leq 2^h-1$. El número total de nodos es la suma de los nodos de $X$ y $Y$ más la raíz, es decir que el número total de nodos es $\leq 1+ (2^p-1)+(2^q-1)\leq 1+2(2^h-1) = 1-2^{h+1}-2=2^{h+1}-1$. Así que el número total de nodos de $T$ es $\leq 2^{h+1}-1.\square$
\end{itemize}
\begin{figure}
\begin{center}
\begin{tikzpicture}
[
%level 1/.style = {sibling distance = 2.0cm, level distance = 0.8cm}
level 2/.style = {sibling distance = 0.5cm, level distance = 0.8cm}
]
\node {S}
child {node {A}
child {node {$a_1$}}
child {node {$a_2$}}
child {node {$a_3$}}}
child {node {B}
child {node {$b_1$}}
child {node {$b_2$}}
child {node {$b_3$}}}
child {node {C}
child {node {$c_1$}}
child {node {$c_2$}}
child {node {$c_3$}}};
\end{tikzpicture}
\caption{Árbol ternario.}
\label{fig:tree1}
\end{center}
\end{figure}
\subsection{Inducción estructural sobre árboles}
Cuando se puede establecer un orden entre nodos, por ejemplo si el árbol se llena con números naturales, y el padre siempre tiene un valor mayor que los hijos, se dice que el árbol tiene una propiedad de pila (\emph{heap}). Para verlo concentremos nuestra atención en un árbol binario.
\textbf{Proposición:} Si un árbol binario tiene la propiedad de pila entonces el valor en su raíz es cuando menos tan grande como cualquier valor en los nodos del árbol.
Sea $v(a)$ el valor en uno de los nodos del árbol, para demostrarlo se usa la estructura recursiva de un árbol.
\textbf{Caso base:} Si el árbol contiene uyn sólo nodo, la raíz, es claro que se cumple.
\textbf{Paso inductivo:} Suponemos es cierto para los árboles $X$ y $Y$, con ello probamos que es cierto para el árbol $T$ que consiste en un nodo raís y los subárboles $X$ y $Y$. Sea $r$ la raíz de $T$ y $p$ y $q$ los hijos de esta raíz, es decir, la raíz de los árboles $X$ y $Y$ respectivamente. Como suponemos que $T$ tiene la propiedad de pila entonces se cumple $v(r)\geq v(p)$ y $v(r)\geq v(q)$.
Ahora sea $x$ cualquier nodo del árbol $T$, probamos que $v(r)\geq v(x)$ por casos:
\begin{itemize}
\item $x=r$ es el caso obvio.
\item $x$ es un nodo en el subárbol $X$, por la hipótesis inductiva $v(p)\geq v(x)$ y como sabemos que $v(r)\geq v(p)$ entonces se cumple $v(r)\geq v(x)$.
\item $x$ es un nodo en el subárbol $Y$, por la hipótesis inductiva $v(q)\geq v(x)$ y como sabemos que $v(r)\geq v(q)$ entonces se cumple $v(r)\geq v(x).\square$
\end{itemize}
\section{Definiciones inductivas}
Una definición inductiva tiene la siguiente estructura:
\begin{itemize}
\item Definición de los átomos, los elementos que son la base del objeto, pueden ser variables, letras, números.
\item Especificación de las condiciones de cerradura, es decir que si al operar los átomos con ciertas operaciones los resultados vuelven a caer en la definición.
\item La determinación de que los conjuntos así definidos son la expresión más pequeña de los conjuntos que pueden definirse así.
\end{itemize}
Para ponerlo en términos más formales:
\begin{defi}
Sea $A$ un conjunto y $X$ un subconjunto de $A$, sea $F$ un conjunto de funciones $f:A^n\rightarrow A$, con \emph{aridad} $n>0$\footnote{La aridad se refiere a la cantidad de argumentos que acepta la función, si es $1$ es una función unitaria, $2$ binaria, $3$ ternaria, etc.}. Decimos que un conjunto $Y$ es inductivo en $X$ si y sólo si $X$ es subconjunto de $Y$ y $Y$ es cerrado bajo las funciones en $F$, es decir, para toda función $f:A^n\rightarrow A$ en $F$, para toda $y_1,y_2,...,y_n\in Y$, $f(y_1,y_2,...,t_n)\in Y$ también.
\end{defi}
EL mismo conjunto $A$ es inductivo en $X$. La intersección de todos los conjuntos inductivos en $X$ también está cerrado bajo $F$, se le llama la cerradura inductiva de $X$ y se representa como $X^+$.
Podemos definir la secuencia de conjuntos $(X_i)_{i\geq 0}$ de manera inductiva como:
\begin{itemize}
\item $X_0=X$ y
\item $X_{i+1}= X_i \cup \{f(x_1,...,x_n) | f\in F, x_1,...,x_n\in X_i, n=r(f)\}$
\item Es claro que $X_i\subseteq X_{i+1}$ para toda $1\geq 0$. Sea
\begin{equation}
X_+=\cup_{i\geq 0}X_i.
\end{equation}
\end{itemize}
Esta definición de la cerradura inductiva es por abajo, la de líneas arriba es por arriba, pero son equivalentes, la demostración puede consultarse en \cite{Gallier2003}.
\subsection{Conjuntos libremente generados}
\begin{defi}
Sea $A$ un conjunto, $X$ un subconjunto de $A$, $F$ un conjunto de funciones en $A$ y $X_+$ la cerradura inductiva de $X$ bajo $F$. Decimos que $X_+$ es libremente generado por $X$ y $F$ si se cumplen las siguientes condiciones:
\begin{itemize}
\item La restricción de toda función $f:A^m\rightarrow A$ en $F$ a $X^m_+$ es inyectiva.
\item Para toda $f:A^m\rightarrow A$, $g:A^n\rightarrow A$ en $F$, $f(X^m_+)$ es disjunta de $g(X^n_+)$ cuando $f\neq g$.
\item Para toda $f:A^m\rightarrow A$ en $F$ y toda $(x_1,...,x_m)\in X_+^m$, $f(x_1,...,x_m)\notin X$.
\end{itemize}
\end{defi}
\begin{thebibliography}{10}
\bibitem{Gallier2003} Gallier, Jean. ``Logic for computer science. Foundations of automatic theorem proving'' University of Pensylvania (2003) \url{https://www.researchgate.net/publication/31634432_Logic_for_computer_science_foundations_of_automatic_theorem_proving_JH_Gallier}
\bibitem{Lemus} Lemus, Vladimir. ``Notas para el curso de programación funcional para la física computacional'', \url{https://git.disroot.org/vladomiro/notas-tsfc}.
\bibitem{Pagina} \url{https://courses.engr.illinois.edu/cs173/fa2010/Lectures/trees.pdf} Consultada el 14 de febrero de 2024.
\end{thebibliography}
\end{document}

Binary file not shown.

View File

@ -507,7 +507,45 @@ Ahora sea $x$ cualquier nodo del árbol $T$, probamos que $v(r)\geq v(x)$ por ca
\section{Definiciones inductivas}
Una definición inductiva tiene la siguiente estructura:
\begin{itemize}
\item Definición de los átomos, los elementos que son la base del objeto, pueden ser variables, letras, números.
\item Especificación de las condiciones de cerradura, es decir que si al operar los átomos con ciertas operaciones los resultados vuelven a caer en la definición.
\item La determinación de que los conjuntos así definidos son la expresión más pequeña de los conjuntos que pueden definirse así.
\end{itemize}
Para ponerlo en términos más formales:
\begin{defi}
Sea $A$ un conjunto y $X$ un subconjunto de $A$, sea $F$ un conjunto de funciones $f:A^n\rightarrow A$, con \emph{aridad} $n>0$\footnote{La aridad se refiere a la cantidad de argumentos que acepta la función, si es $1$ es una función unitaria, $2$ binaria, $3$ ternaria, etc.}. Decimos que un conjunto $Y$ es inductivo en $X$ si y sólo si $X$ es subconjunto de $Y$ y $Y$ es cerrado bajo las funciones en $F$, es decir, para toda función $f:A^n\rightarrow A$ en $F$, para toda $y_1,y_2,...,y_n\in Y$, $f(y_1,y_2,...,t_n)\in Y$ también.
\end{defi}
EL mismo conjunto $A$ es inductivo en $X$. La intersección de todos los conjuntos inductivos en $X$ también está cerrado bajo $F$, se le llama la cerradura inductiva de $X$ y se representa como $X^+$.
Podemos definir la secuencia de conjuntos $(X_i)_{i\geq 0}$ de manera inductiva como:
\begin{itemize}
\item $X_0=X$ y
\item $X_{i+1}= X_i \cup \{f(x_1,...,x_n) | f\in F, x_1,...,x_n\in X_i, n=r(f)\}$
\item Es claro que $X_i\subseteq X_{i+1}$ para toda $1\geq 0$. Sea
\begin{equation}
X_+=\cup_{i\geq 0}X_i.
\end{equation}
\end{itemize}
Esta definición de la cerradura inductiva es por abajo, la de líneas arriba es por arriba, pero son equivalentes, la demostración puede consultarse en \cite{Gallier2003}.
\subsection{Conjuntos libremente generados}
\begin{defi}
Sea $A$ un conjunto, $X$ un subconjunto de $A$, $F$ un conjunto de funciones en $A$ y $X_+$ la cerradura inductiva de $X$ bajo $F$. Decimos que $X_+$ es libremente generado por $X$ y $F$ si se cumplen las siguientes condiciones:
\begin{itemize}
\item La restricción de toda función $f:A^m\rightarrow A$ en $F$ a $X^m_+$ es inyectiva.
\item Para toda $f:A^m\rightarrow A$, $g:A^n\rightarrow A$ en $F$, $f(X^m_+)$ es disjunta de $g(X^n_+)$ cuando $f\neq g$.
\item Para toda $f:A^m\rightarrow A$ en $F$ y toda $(x_1,...,x_m)\in X_+^m$, $f(x_1,...,x_m)\notin X$.
\end{itemize}
\end{defi}
\begin{thebibliography}{10}