I'm currently trying to get clear about some terms that are often used in computer science (I'm a computer science student), but were never formally introduced. Especially, I would like to know what a "predicate logic" is. Or is it "the predicate logic"?
Defintions
I think the following definitions are correct, by I'm not sure about it. This is what I came up with when I tried to answer my question:
What is a formal definition of "predicate logic"?
As I've wrote this question, I came across many other terms that I could not formally defined, but were used in my definition for "predicate logic". So maybe you can do this shorter. But please keep in mind that I'm not looking for examples, but for a formal definition.
Propositional calculus is a formal system. It contains propositions that can either be false or true. Those propositions can be combined ($\land, \lor, \Rightarrow, \Leftrightarrow, \neg$ and more, but all others can be represented by those logical connectives).
What is the difference between boolean algebra and propostional calculus?
A predicate is a function $p:X \rightarrow \{true, false\}$ where $X$ is any set.
What is the difference between a propsition and a predicate?
A predicate logic is a formal system that uses variables and quantifiers ($\forall$, $\exists$, $\exists!$) to formulate propositions.
Are there axioms for the / a predicate logic?
I'm afraid the definition you suggested has some shortcomings. To begin with your definition essentially makes use of the notion of a formal system, a notion that has not been formally defined. Furthermore, classical first-order logic satisfies a certain isomorphism condition: First-order sentences cannot be distinguished in isomorphic models. But your definition does not seem to capture this fact.
For a better start, let a logic, $\mathcal{L}$, consist of a function $L$ and a 2-place relation $\models_{\mathcal{L}}$. $L$ assigns a set $L(\sigma)$ (the set of $\sigma$-sentences of $\mathcal{L}$) to each signature $\sigma$ (set of non-logical constants) such that the following holds:
1. If $\sigma_0 \subseteq \sigma_1$, $L(\sigma_0) \subseteq L(\sigma_1)$.
2. If $\mathfrak{A} \models_{\mathcal{L}} \phi$, then there is some signature $\sigma$ such that $\mathfrak{A}$ is a model interpreting $\sigma$ and $\phi \in L(\sigma)$.
3. (isomorphism condition) If $\mathfrak{A} \models _{\mathcal{L}} \phi$ and $\mathfrak{A}, \mathfrak{B}$ are isomorphic, then $\mathfrak{B} \models_{\mathcal{L}} \phi$.
4. If $\sigma_0 \subseteq \sigma_1, \phi \in L(\sigma_0)$, and $\mathfrak{A}$ is a model interpreting $\sigma_1$, then $\mathfrak{A} \models_{\mathcal{L}} \phi$ iff $\mathfrak{A}|_{\sigma_0} \models_{\mathcal{L}} \phi$ (where $\mathfrak{A}|_{\sigma_0}$ is the $\sigma_0$-model having the same domain as $\mathfrak{A}$ and coinciding with $\mathfrak{A}$ on $\sigma_0$).
Now first-order logic, $\mathcal{L}_{I}$, is the logic whose function $L_I$ assigns to each signature $\sigma$ the set of first-order $\sigma$-sentences and whose 2-place relation $\models_{\mathcal{L}_I}$ is the usual satisfaction relation between first-order models and first-order sentences.