Giter VIP home page Giter VIP logo

jkorb / ki1v13001-inleiding-logica Goto Github PK

View Code? Open in Web Editor NEW
3.0 3.0 17.0 7.87 MB

This is the source material for the course "Inleiding Logica" (KI1V13001) as taught at Utrecht University for the BSc "Kunstmatige Intelligentie"

License: Creative Commons Attribution 4.0 International

TeX 99.54% Makefile 0.44% Perl 0.02%
artifical-intelligence course-materials education latex logic utrecht-university

ki1v13001-inleiding-logica's People

Contributors

607github avatar coenvdam avatar crcaret avatar jkorb avatar jlwbr avatar lucsp avatar margajdon avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

ki1v13001-inleiding-logica's Issues

Typo 9.2.10

"i.e. terms of the of the form n=S(...S(0)...)." should be "i.e. terms of the form n=S(...S(0)...). "

Typo 7.2.1

/tex/mainmatter/prop-completeness.tex on line 150 we need to show that we can derive from $\Gamma\nvDash\phi$ that at least one branch in the tableau for $\Gamma\cup\{\neg\phi\}$ at least one branch in the tableau doesn't contain both some $p$ and $\neg p$. should be we need to show that we can derive from $\Gamma\nvDash\phi$ that at least one branch in the tableau for $\Gamma\cup\{\neg\phi\}$ doesn't contain both some $p$ and $\neg p$.

Typo 9.2.9

/tex/mainmatter/fo-semantics.tex on line 409 Exercise 1.7.3. should be Exercise 9.7.3.

Typo 8.1.2

"Clearly whatever terms and predicates you fill in here, in the inferences remain valid." should be -> "Clearly whatever terms and predicates you fill in here, the inferences remain valid."

Missing item labels and incomplete solutions to 10.8.2c,d

Okay, my final judgment for now: (the rest was edited out to be less confusing)
The first unlabeled item after 10.8.2a and b in Appendix J, is a solution to 10.8.2d. However, the countermodel given is infinite, which is not allowed. A finite countermodel would be D = {p1, p2}, S = {<p1, p2>, <p2, p1>}. I'm not sure what the second unlabeled item is, but there is no solution for c. The solution for c has one closed branch and one open branch, and a finite countermodel is D = {p, q}, P = {p}, Q = emptyset.

Typo 10.2.5

In /tex/mainmatter/fo-tableaux.tex on line 273
[{$R(p,p)$} should be
[{R(p,p)}.

Typo 9.1.12

"While there is a assignment β such that" should be "while there is an assignment β such"

Typo 10.1.4

In /tex/mainmatter/fo-tableaux.tex on line 19
and in \S\ref{fo_tableau_functions}, we'll add function symbols. Without further ado: here we go! should be
and in \S\ref{fo_tableaux_functions}, we'll add function symbols. Without further ado: here we go!

Typo 10.8.5e

In /tex/mainmatter/fo-tableaux.tex on line 1506
\item $\vdash \exists x(\exists yPy\to Px)$ should be
\item $\vdash \exists x(\exists yP(y)\to P(x))$

Tree branche is not closed

Op pagina 148 van het dictaat onderdeel van 6.3.2 stap 3 wordt er gesteld dat een branche gesloten is als p ∈ P such that p ∈ B and ¬p ∈ B. Nu staat er in het voorbeeld een tak die gesloten is van r, maar de enige r die erin zitten zijn ¬¬¬r en ¬r. De tak hoort dan toch niet gesloten te zijn?
Screenshot 2020-09-24 at 11 46 06

Typo 10.5.6

In /tex/mainmatter/fo-tableaux.tex on line 1367
The problem in first-order logic is that countermodels sometimes \emph{need to be} be infinite. should be
The problem in first-order logic is that countermodels sometimes \emph{need to be} infinite..

Typo 4.4.2

"we’ll define is a function that maps each formula to the set of formulas it was constructed from." should be "we’ll define a function that maps each formula to the set of formulas it was constructed from."

Solutions 8.9.11 to 8.9.14

I'm not sure how the numbering in the document works, so my enumerates probably have to be changed. Besides that I hope this code is good, both as far as the content and the appearance are concerned. :)

\begin{enumerate}
Vertaalsleutel voor opdracht 8.9.11 t/m 8.9.13: \\
\begin{tabular}{l|l}
Denotatie & Betekenis\\
\hline
0 & het getal 0 \\
2 & het getal twee \\
3 & het getal drie \\
4 & het getal vier \\
$E^1(x)$ & $x$ is even \\ 
$O^1(x)$ & $x$ is oneven \\ 
$N^1(x)$ & ik heb het getal $x$ hier opgeschreven \\
$G^2(x,y)$ & $x$ is groter dan $y$\\
$K^2(x,y)$ & $x$ is kleiner dan $y$\\
$s^2(x,y)$ & De som van $x$ en $y$\\
\end{tabular}

\item
\begin{enumerate}
\item
2 is een even getal.\\
$E(2)$
\item
2 is groter dan 3.\\
$G(2,3)$
\item
De som van 2 en 3 is groter dan 4.\\
$G(s(2,3),4)$
\item
Als dit getal groter dan 4 is, dan is het ook groter dan 3.\\
$G(x,4) \rightarrow G(x,3)$
\item
Als dit getal niet groter dan 2 is, dan is het ook niet groter dan 3.\\
$\neg G(x,2) \rightarrow \neg G(x,3)$
\item
Dit getal is kleiner dan 2 of groter dan 4.\\
$K(x,2) \vee G(x,4)$
\end{enumerate}
\item
\begin{enumerate}
\item 
Er is een getal groter dan 4 en er is een getal kleiner dan 4.\\
$(\exists x G(x,4) \land \exists x K(x,4))$
\item
Er is een even getal groter dan 3.\\
$\exists x(E(x) \land G(x,3))$
\item
Ieder getal groter dan 4 is ook groter dan 3.\\
$\forall x (G(x,4) \rightarrow G(x,3))$
\item Geen getal is groter dan 3 en kleiner dan 4.\\
$\neg \exists x (G(x,3) \land K(x,4)$
\item Als dit getal groter dan 4 is, dan is ieder getal dat ik hier opgeschreven heb groter dan 4.\\
$G(x,4) \rightarrow \forall x ( N(x) \to G(x,4) )$
\item Een getal dat kleiner dan 3 is, is kleiner dan 4.\\
$\forall x (K(x,3) \rightarrow K(x,4))$
\item Een getal, dat kleiner dan 3 is, is kleiner dan 4.\\
$\exists x (K(x,3) \land K(x,4))$
\item Er is geen getal groter dan 4 en kleiner dan 3.\\
$\neg \exists x (G(x,4) \land K(x,3))$
\end{enumerate}
\item
\begin{enumerate}
\item Een getal dat groter is dan ieder even getal, is oneven.\\
$\forall x ( \forall y ( E(y) \rightarrow G(x,y) ) \rightarrow O(x))$
\item Ieder getal is groter dan tenminste één getal.\\
$\forall x ( \exists y G(x,y) )$
\item Er is een even getal dat kleiner is dan een oneven getal dat
groter is dan een oneven getal.\\
$\exists x ( E(x) \land \exists y ( O(y) \land K(x,y) \land \exists z ( O(z) \land G(y,z) ) ) )$
\item Er is geen getal dat groter is dan ieder getal.\\
$\neg \exists x ( \forall y G(x,y) )$
\item Geen getal is groter dan zichzelf.\\
$\neg \exists x G(x,x)$
\item Ieder oneven getal is groter dan 0.\\
$\forall x ( O(x) \rightarrow G(x,0) )$
\item Ieder oneven getal is groter dan een even getal.\\
$\forall x ( O(x) \rightarrow \exists y ( E(y) \land G(x,y) )$
\end{enumerate}
\item
Vertaalsleutel voor opdracht a t/m e: \\
\begin{tabular}{l|l}
Denotatie & Betekenis\\
\hline
m & mij\\
$V^1(x)$ & $x$ is verstandig\\
$B^2(x,y)$ & $x$ bemint $y$
\end{tabular}
\begin{enumerate}
\item 
Wie iemand bemint, bemint zichzelf.\\
$\forall x ( \exists y B(x,y) \rightarrow B(x,x) )$
\item
Wie niemand bemint, is niet verstandig.\\
$\forall x ( \neg \exists y B(x,y) \rightarrow \neg V(x))$
\item
Wie verstandig is, wordt door iemand bemind.\\
$\forall x ( V(x) \to \exists y B(y,x))$
\item 
Iedereen bemint iemand.\\
$\forall x \exists y B(x,y)$
\item
Wie mij bemint, wordt door mij bemind.\\
$\forall x ( B(x,m) \to B(m,x))$
\\\\
Vertaalsleutel voor opdracht f t/m h: \\
\begin{tabular}{l|l}
Denotatie & Betekenis\\
\hline
$V^1(x)$ & $x$ is voor mij\\
$T^1(x)$ & $x$ is tegen mij\\
\end{tabular}
\item
Wie tegen mij is, is niet voor mij.\\
$\forall x ( T(x) \rightarrow \neg V(x) )$
\item
Wie niet voor mij is, is tegen mij.\\
$\forall x ( \neg V(x) \rightarrow T(x) )$
\item
Iedereen is óf voor mij, óf tegen mij.\\
$\forall x ( ( V(x) \vee T(x) ) \land \neg( V(x) \land T(x) )$
\end{enumerate}
\end{enumerate}

This code obsoletes the few solutions that were already in the document. I figured it would make more sense to do them all in one go, especially because it seemed a waste of space to give a translation key for every individual instance, while most predicates and constants are reused between different assignments.

Typo 5.2.9

/tex/mainmatter/prop-semantics.tex on line 554 you can reason reason by affirming the disjunct should be you can reason by affirming the disjunct

Typo's chapter 9

9.1.2
"Note that a model for propositional logic, i.e. a assignment," should be "Note that a model for propositional logic, i.e. an assignment,"

9.1.12
"The problem is has very much to do with what happens when we have more than one quantifier in a statement" should be "The problem has very much to do with what happens when we have more than one quantifier in a statement"

"our intended momdel," should be "our intended model,"

"While there is a assignment β such that" should be "while there is an assignment β such"

9.2.10
"i.e. terms of the of the form n=S(...S(0)...)." should be "i.e. terms of the form n=S(...S(0)...). "

9.3.2
"we can define truth in a model under a assignment as a property of formulas." should be "we can define truth in a model under an assignment as a property of formulas."

Inconsistency 5.1.9

/tex/mainmatter/prop-semantics.tex on line 204 \llbracket ((p\to q)\lor (q\to r))\rrbracket_v &=max(\llbracket (p\to q)\rrbracket_v, \llbracket q\to r\rrbracket_v)\\ doesn't put () around q\to r. Change to \llbracket ((p\to q)\lor (q\to r))\rrbracket_v &=max(\llbracket (p\to q)\rrbracket_v, \llbracket (q\to r)\rrbracket_v)\\

Typo 9.3.1

/tex/mainmatter/fo-semantics.tex on line 442 \item $\llbracket t_1=t_2\rrbracket_\alpha^\mathcal{M}=\begin{cases} 1 & \text{if }\llbracket t_1\rrbracket^\mathcal{M}_\alpha=\llbracket t_1\rrbracket^\mathcal{M}_\alpha)\\0 &\text{otherwise}\end{cases}$ should be \item $\llbracket t_1=t_2\rrbracket_\alpha^\mathcal{M}=\begin{cases} 1 & \text{if }\llbracket t_1\rrbracket^\mathcal{M}_\alpha=\llbracket t_2\rrbracket^\mathcal{M}_\alpha)\\0 &\text{otherwise}\end{cases}$

Typo 9.2.10

/tex/mainmatter/fo-semantics.tex on line 416 Here is the solition for exercise i) of 9.7.2: should be Here is the solution for exercise i) of 9.7.2:

Numbering issue 11.7

There is a numbering issue in section 11.7, resulting in Part A and Part B using the same numbering for their exercises. Both start at 11.7.1

Typo 3.9.4

/tex/mainmatter/fund-sets.tex on line 968 \item There exists and object $x\in X$ such that $x\in Y$ should be \item There exists an object $x\in X$ such that $x\in Y$

Typo 5.1.9

in tex/mainmatter/prop-semantics.tex line 193

\llbracket \neg (p\land (p\lor q))\rrbracket_v &=1-\llbracket (p\land (r\lor q))\rrbracket_v\tag{ii.a}\\ should be:
\llbracket \neg (p\land (r\lor q))\rrbracket_v &=1-\llbracket (p\land (r\lor q))\rrbracket_v\tag{ii.a}\\

(p should be r before equals)

Typo 8.1.6

"So, in half-formal terms, the structure of ours sentence is:" should be "So, in half-formal terms, the structure of our sentence is:"

Typo 3.7.11

In /tex/mainmatter/fund-sets.tex line 629, en should be and.

Typo 9.1.2

"Note that a model for propositional logic, i.e. a assignment," should be "Note that a model for propositional logic, i.e. an assignment,"

Example 9.2.7 (iv)

last line: [[ S(((x . y) + z)) ]] = (0^1) . 2 = 2
but (0^1) = 0
so shouldn't it be (0^1) . 2 = 0 ?

Typo 8.4.9

/tex/mainmatter/fo-language.tex on line 771 (they're not unsurmountable, but they'r there) should be (they're not unsurmountable, but they're there)

Typo 9.1.12

"our intended momdel," should be "our intended model,"

Typo 7.4.1

second sentence: tableau -> tableaux, I think this is meant to be plural.
"So far, especially for tableau and truth-tables, we’ve restricted ourselves to inferences with finite premise sets." should thus be "So far,especially for tableaux and truth-tables, we’ve restricted ourselves toinferences with finite premise sets."

Typo 9.3.3

/tex/mainmatter/fo-semantics.tex on line 478 \item $\mathcal{M},\alpha\vDash t_1=t_2$ iff $\llbracket t_1\rrbracket^\mathcal{M}_\alpha=\llbracket t_1\rrbracket^\mathcal{M}_\alpha$ should be \item $\mathcal{M},\alpha\vDash t_1=t_2$ iff $\llbracket t_1\rrbracket^\mathcal{M}_\alpha=\llbracket t_2\rrbracket^\mathcal{M}_\alpha$

Extra comma 6.2.3

/tex/mainmatter/prop-tableaux.tex on line 126 \item Let's consider some examples of satisfiable sets (where we assume, again, that $\mathcal{P}=\{p,q,r,\}$): should be \item Let's consider some examples of satisfiable sets (where we assume, again, that $\mathcal{P}={p,q,r}$):`

Typo 9.1.12

"The problem is has very much to do with what happens when we have more than one quantifier in a statement" should be "The problem has very much to do with what happens when we have more than one quantifier in a statement"

Typo 9.2.7

/tex/mainmatter/fo-semantics.tex:

  • On line 320 \item In the standard model for $\mathcal{S}_{PA}$ (9.1.2.i.a) with $\alpha(x)=0,\alpha(y)=1,\alpha(z)=2$ (9.2.5.i.a): should be \item In the standard model for $\mathcal{S}_{PA}$ (9.2.2.i.a) with $\alpha(x)=0,\alpha(y)=1,\alpha(z)=2$ (9.2.5.i.a):

  • On line 329 \item In the non-intended model for $\mathcal{S}_{PA}$ (9.1.2.i.b), which has $D^\mathcal{M}=\{x:x\text{ is even}\}$, with $\alpha(x)=0,\alpha(y)=0,\alpha(z)=0$ (9.2.5.i.c): should be \item In the non-intended model for $\mathcal{S}_{PA}$ (9.2.2.i.b), which has $D^\mathcal{M}=\{x:x\text{ is even}\}$, with $\alpha(x)=0,\alpha(y)=0,\alpha(z)=0$ (9.2.5.i.c):

  • On line 338 \item In the non-intended model for $\mathcal{S}_{PA}$ (9.1.2.i.c), which has $D^\mathcal{M}=\{x:x\text{ is odd}\}$, with $\alpha(x)=1$ for all $x\in\mathcal{V}$ (9.2.5.i.e): should be \item In the non-intended model for $\mathcal{S}_{PA}$ (9.2.2.i.c), which has $D^\mathcal{M}=\{x:x\text{ is odd}\}$, with $\alpha(x)=1$ for all $x\in\mathcal{V}$ (9.2.5.i.e):

  • On line 348 \item In the non-intended model for $\mathcal{S}_{PA}$ (9.1.2.i.d), which has $D^\mathcal{M}=\{x:x\text{ is odd}\}$, with $\alpha(x)=0,\alpha(y)=1,\alpha(z)=2$ (9.2.5.i.a): should be \item In the non-intended model for $\mathcal{S}_{PA}$ (9.2.2.i.d), which has $D^\mathcal{M}=\{x:x\text{ is odd}\}$, with $\alpha(x)=0,\alpha(y)=1,\alpha(z)=2$ (9.2.5.i.a):

Proposed solutions for 9.7.5a,b,c

I do not expect any typos in here (although it's possible that there are some that I missed), but please do check if I had the right proof idea.

We will first derive $\llbracket x \rrbracket ^\mathcal{M}_\alpha$ as follows: $\llbracket x \rrbracket ^\mathcal{M}_\alpha = 1$.\\ We will then derive $\llbracket 1 \rrbracket ^\mathcal{M}$ as follows: $\llbracket 1 \rrbracket ^\mathcal{M} = \llbracket S(0)\rrbracket ^\mathcal{M}_\alpha = S^\mathcal{M}(\llbracket 0 \rrbracket ^\mathcal{M}_\alpha) = S^\mathcal{M}(0) = 0 + 1 = 1$.\\ Because $1 = 1$, it follows that $\mathcal{M},\alpha\vDash x=1$.

\item $\mathcal{M},\alpha\vDash S(x)=S(S(x))$\\
We will first derive $\llbracket S(x) \rrbracket ^\mathcal{M}_\alpha $ as follows: $\llbracket S(x) \rrbracket ^\mathcal{M}_\alpha = S^\mathcal{M}(\llbracket x \rrbracket ^\mathcal{M}_\alpha) = S^\mathcal{M}(1) = 1 + 1 = 2$.\\ We will then derive $\llbracket S(S(x)) \rrbracket ^\mathcal{M}_\alpha$ as follows: $\llbracket S(S(x)) \rrbracket ^\mathcal{M}_\alpha = S^\mathcal{M}(\llbracket S(x) \rrbracket ^\mathcal{M}_\alpha) = S^\mathcal{M}(S^\mathcal{M}(\llbracket x \rrbracket ^\mathcal{M}_\alpha)) = S^\mathcal{M}(S^\mathcal{M}(1)) = 1 + 1 + 1 = 3$.\\ Because $2 \neq 3$, it follows that $\mathcal{M}, \alpha \nvDash x = 1$.

\item $\mathcal{M},\alpha\vDash2+2=4$\\
We will first derive $\llbracket 2 + 2 \rrbracket ^\mathcal{M}_\alpha$ as follows: $\llbracket 2 + 2 \rrbracket ^\mathcal{M}_\alpha = +^\mathcal{M}(\llbracket 2 \rrbracket ^\mathcal{M},\llbracket 2 \rrbracket ^\mathcal{M}) = +^\mathcal{M}(\llbracket S(S(0))\rrbracket ^\mathcal{M}_\alpha, \llbracket S(S(0))\rrbracket ^\mathcal{M}_\alpha) = +^\mathcal{M}(S^\mathcal{M}(\llbracket S(0)\rrbracket ) ^\mathcal{M}_\alpha, S^\mathcal{M}(\llbracket S(0)\rrbracket) ^\mathcal{M}_\alpha) = +^\mathcal{M}(S^\mathcal{M}(S^\mathcal{M}(\llbracket 0 \rrbracket ^\mathcal{M}_\alpha)),S^\mathcal{M}(S^\mathcal{M}(\llbracket 0 \rrbracket ^\mathcal{M}_\alpha))) = +^\mathcal{M}(S^\mathcal{M}(S^\mathcal{M}(0)),S^\mathcal{M}(S^\mathcal{M}(0))) = +^\mathcal{M}(0 + 1 + 1,0 + 1 + 1) = 2 + 2= 4$.\\ We will then derive $\llbracket 4 \rrbracket ^\mathcal{M}_\alpha$ as follows: $\llbracket 4 \rrbracket ^\mathcal{M}_\alpha = \llbracket S(S(S(S(0))))\rrbracket^\mathcal{M}_\alpha = S^\mathcal{M}(\llbracket S(S(S(0))) \rrbracket ^\mathcal{M}_\alpha ) = S^\mathcal{M}(S^\mathcal{M}(\llbracket S(S(0)) \rrbracket ^\mathcal{M}_\alpha))  = S^\mathcal{M}(S^\mathcal{M}(S^\mathcal{M}(\llbracket S(0) \rrbracket ^\mathcal{M}_\alpha ))) = S^\mathcal{M}(S^\mathcal{M}(S^\mathcal{M}(S^\mathcal{M}(\llbracket 0 \rrbracket ^\mathcal{M}_\alpha )))) = S^\mathcal{M}(S^\mathcal{M}(S^\mathcal{M}(S^\mathcal{M}(0)))) = 0 + 1 + 1 + 1 + 1 = 4 $.\\ Because $4 = 4$, it follows that $\mathcal{M},\alpha\vDash2+2=4$.```

Typo 8.3.11

/tex/mainmatter/fo-language.tex:

  • On line 560 once at $(r,1,2)$ and once at $(r,1,2,1,1,2,1)$: should be once at $(r,1,1)$ and once at $(r,1,2,1,1,2,1)$:

  • On line 590 to be able to distinguish the occurrence of $R(x,y)$ at $(r,1,2)$ from the occurrence at $(r,1,2,1,1,2,1)$. should be to be able to distinguish the occurrence of $R(x,y)$ at $(r,1,1)$ from the occurrence at $(r,1,2,1,1,2,1)$.

Maybe more an error than a typo

Typo in 5.1.9

/tex/mainmatter/prop-semantics.tex on line 181 \item $\llbracket\neg \phi\rrbracket_v=1-\llbracket\phi\rrbracket_v)$ should be one of the following:

  • \item $\llbracket\neg \phi\rrbracket_v=(1-\llbracket\phi\rrbracket_v)$
  • \item $\llbracket\neg \phi\rrbracket_v=1-\llbracket\phi\rrbracket_v$

Typo 7.3.2

/tex/mainmatter/prop-completeness.tex on line 286 Fro this, we can quickly conclude completeness, should be For this, we can quickly conclude completeness,

Conflicting naming

In chapter 11 and its appendix, there are three completely independent occurrences of "11.7.1", and also of "11.7.2". For most other numbers there are two occurrences. This is confusing when trying to refer to a separate part, so I think this should be resolved somehow. Perhaps by including a fourth point (eg. 11.7.2.1).

Typo 9.1.4

/tex/mainmatter/fo-semantics.tex on line 13 All we need to know os which object $a$ denotes and which property, should be All we need to know is which object $a$ denotes and which property,

Typo 8.1.6

"if the one is true, the so is the other and vice versa" should be "if the one is true, then so is the other and vice versa"

Typo pagina 144

Op pagina 144 staat twee keer:
[[p ∨ q]]v = max([[p]]v, [[p]]v)

I.p.v.
[[p ∨ q]]v = max([[p]]v, [[q]]v)

Inconsistency 8.3.13

/tex/mainmatter/fo-language.tex I would switch line 661 and 662.

line 661 $((r,1,2,1,1,2),\neg R(x,y))$\\
line 662 $((r,1,2,1,1,1),R(y,x))$\\

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.