ejercicios

This commit is contained in:
Vladimir Lemus 2024-03-13 20:26:28 -06:00
parent 1d43a6cd4e
commit 2198133f16
7 changed files with 100 additions and 11 deletions

2
ejem.hs Normal file
View File

@ -0,0 +1,2 @@
funC x | x > 100 = x-10
| otherwise = funC (funC (x+11))

Binary file not shown.

View File

@ -205,6 +205,12 @@ Pasos para convertir a forma normal conjuntiva:
Expresar $A\iff B$ en forma normal disyuntiva.
\textbf{Ejercicio}: Convierte a forma normal conjuntiva:
\begin{align*}
&A\iff (\neg B \wedge \neg C)\\
&\neg(A\wedge B \wedge \neg C)
\end{align*}
\section{Sistemas de demostraciones}
Para esta sección nos centraremos en el sistema de Łukasiewicz, para ello partamos de las siguientes tautologías:
@ -240,6 +246,13 @@ Lo único que hace falta es la regla de derivación, llamada \emph{modus ponens}
\item $(A\wedge B)\rightarrow A$
\end{itemize}
\textbf{Ejercicio:} Muestra que las siguientes son expresiones lógicas válidas o no:
\begin{align*}
&\{B\rightarrow A, C\rightarrow C, D\rightarrow B, B\wedge c\wedge D\} \models A\wedge B\\
&\{A\wedge B\rightarrow C, A\rightarrow B\} \models A\rightarrow C
\end{align*}
\section{Deducción natural}
La \emph{deducción natural} es un tipo de sistema lógico, un sistema para poder obtener demostraciones siguiendo algunos pasos establecidos. Su principal característica es tener \emph{subpruebas}, partes de la prueba general que depende de premisas temporales.
@ -353,6 +366,13 @@ Ahora un ejemplo conocido. \textbf{Ejemplo}: Mostrar que $\neg(p\vee q)\iff (\ne
}
\]
\textbf{Ejercicio}: Prueba las siguientes proposiciones por deducción natural:
\begin{align*}
&(A\wedge (A\rightarrow B)) \rightarrow B\\
&((A\rightarrow B)\wedge (A\rightarrow C))\rightarrow (A\rightarrow (B\wedge C))
\end{align*}
\begin{thebibliography}{10}
\bibitem{Enderton2021} Enderton, Herbert B. ``Una Introducción matemática a la lógica'' Universidad Nacional Autónoma de México, Instituto de Investigaciones Filosóficas, 2a edición (2004), reimpresión (2021).
\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}

Binary file not shown.

View File

@ -166,4 +166,26 @@ Pero imaginemos que ahora tenemos una interpretación de cócteles de mariscos,
\noindent para toda asignación $s$.
\end{itemize}
\newtheorem{teo}{Teorema}
\begin{teo}
Si $\phi$ y $\sigma$ son fórmulas en lógica de predicados. las siguientes fórmulas son derivadas en lógica de predicados:
\begin{itemize}
\item $\forall x.(\phi \rightarrow \sigma) \rightarrow \forall x.\phi \rightarrow \forall x.\sigma$
\item $(\forall x.\phi \rightarrow \forall x.\sigma) \rightarrow \exists x.(\phi \rightarrow \sigma)$
\item $(\exists x.\phi \rightarrow \exists x.\sigma) \rightarrow \exists x.(\phi \rightarrow \sigma)$
\item $\exists x.(\phi \iff \sigma) \rightarrow \forall x.\phi \rightarrow \exists x.\sigma$
\item $x.\phi \vee \forall x.\sigma \rightarrow \forall x.(\phi \vee \sigma)$
\item $\forall x.(\phi \vee \sigma) \rightarrow \exists x.\phi \vee \forall x.\sigma$
\item $\exists x.(\phi \vee \sigma) \iff \exists x.\phi \vee \exists x.\sigma$
\item $\exists x.(\phi \wedge \sigma) \rightarrow \exists x.\phi \wedge \exists x.\sigma$
\item $\forall x.(\phi \wedge \sigma) \rightarrow \forall x.\sigma \wedge \exists x.\sigma$
\item $\forall x.(\phi \wedge \sigma) \iff \forall x.\phi \wedge \forall x.\sigma$
\item $\exists y. (\forall x. \phi) \rightarrow \forall x.(\exists y.\phi)$
\item $\forall x.(\forall y. \phi) \iff \forall y.(\forall x. \phi)$
\item $\exists x.(\exists y. \phi) \iff \exists y.(\exists x. \phi)$
\item $\forall x.\phi \iff \phi$ si no hay ninguna ocurrencia libre de $x$ en $\phi$
\item $\exists x.\phi \iff \phi$ si no hay ninguna ocurrencia libre de $x$ en $\phi$
\end{itemize}
\end{teo}
\end{document}

Binary file not shown.

View File

@ -6,6 +6,10 @@
\usepackage{amssymb}
\usepackage{multicol}
\usepackage{hyperref}
\usepackage{graphicx}
\usepackage{listings}
\usepackage{xcolor}
\usepackage{caption}
\renewcommand{\rmdefault}{ptm}
\usepackage{pgf}
\usepackage{tikz}
@ -355,15 +359,16 @@ Entonces aplicamos la inducción:
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?
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*}
@ -376,6 +381,30 @@ No queda de otra que $\leq_L$ sea bien fundado $\square$.
Entonces $(\mathbb{N}_0 \times \mathbb{N}_0,\sqsubseteq)$ es un conjunto bien fundado con elemento minimal $(0,0)$.
\textbf{Ejercicio}: Se tiene una función $f:\mathbb{N}\rightarrow \mathbb{N}$ definida como:
\begin{equation*}
f(x) =
\begin{cases}
x-10 & \text{ si } x>100\\
f(f(x+11)) & \text{ de otra manera.}
\end{cases}
\end{equation*}
Demuestra por inducción bien fundada respecto al orden $<$ que:
\begin{equation*}
f(x) =
\begin{cases}
x-10 & \text{ si } x>101\\
91 & \text{ de otra manera.}
\end{cases}
\end{equation*}
Un programa de Haskell para que vean que es cierto lo que dice:
\lstinputlisting[firstline=1,lastline=3]{ejem.hs}
\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?
@ -536,17 +565,33 @@ Podemos definir la secuencia de conjuntos $(X_i)_{i\geq 0}$ de manera inductiva
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}.
\textbf{Un ejemplo coloquial}: podemos definir a un \emph{sadwich} (emparedado si quieren evitar el anglicismo) de forma inductiva:
\begin{enumerate}
\item Cualquier cosa que vaya entre dos panes es un emparedado.
\item Si tenemos un emparedado $e_1$ y un emparedado $e_2$, si a ambos los ponemos entre dos panes también forman un emparedado (piensen en esos emparedados con varias capas, claro que esto abre la posibilidad a tener emparedados de aire).
\item Nada que no pueda hacerse con los pasos anteriores es un emparedado.
\end{enumerate}
\textbf{Ejercicio}: Define el lenguaje de los términos agradables, aquellos formados por las letras $a,b,c,d$ (una letra ya es en sí un término agradable, la cosa es ver las posibles combinaciones con los corchetes y el operador), los corchetes bien anidados $[]$ (bien anidado quiere decir que todo corchete que se abra debe cerrarse, y no puede cerrarse un corchete sin tener uno abierto a la izquierda) y la operación binaria $\cdot$ que se escribe como $[a\cdot b]$.
\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$.
\item Para toda $f:A^m\rightarrow A$, $g:A^n\rightarrow A$ en $F$, $f(X^m_+)$ es disjunta\footnote{Disjunta se refiere a que $f(X^m_+)\cap g(X^n_+) = \emptyset$} 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$, es decir, los elementos son realmente básicos.
\end{itemize}
\end{defi}
\textbf{Ejemplo}: El grupo de los enteros positivos $(\mathbb{Z},Sum())$, donde el grupo generador es $S=\{1\}$ es libremente generado. La función $Sum()$ sumará una unidad al argumento dado, así $Sum(1)$ dará el siguiente natural (al cual no nombraremos $2$ porque imaginemos que tiene derechos de autor, solo le llamaremos $Sum(1)$). El siguiente natural será $Sum(Sum(1))$, que de nueva cuenta ya se figuran quien es pero no le daremos ese nombre. La función es inyectiva, a cada elemento del dominio $(1, Sum(1),...,Sum^n(1),...)$ le asocia un sólo elemento del codominio. En este caso no hay más funciones así que podemos asegurar las disyunción, y no hay manera de que alguna $Sum^i(1)$ nos regrese al mismo generador $1$.
\textbf{Ejercicio}: ¿Como ampliarías la definición de los naturales positivos para incluir una operación más, la multiplicación? Considera que tienes la cerradura inductiva, pero si no te convence también puedes probarlo ¿necesitas un nuevo conjunto generador?
\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}