10:12
@user709833 It's common to see confusion (even on Math SE) regarding meta-logical issues, and (usually) it is because they read some unclear exposition. The thing you must understand first before everything else is that a formal system is something that you can write a program to verify or refute the validity of any proof (given as a character string) over that system.
With this in mind, you can then look at FOL (first-order logic) and think carefully to convince yourself that, if you have a program that halts on every input string and outputs "yes" iff it is an axiom, then you can write a proof verifier program for the FOL system with those axioms.
What I've just said is in complete generality and applies to every possible practical formal system, whether it is Hilbert-style or Fitch-style or some new style in the future that we don't know about yet. Yes, the proof verifier program will be different for each particular system, but the underlying idea behind formal systems is completely identical.
I feel that there is a regrettable dearth of explanations of this that is accessible to the lay person. All you need is to understand rudimentary programming, and in fact it is necessary to understand programming if one wants to fully grasp certain parts of logic such as the incompleteness theorems.
If you know programming, I strongly encourage you to first figure out for yourself roughly how one might write a proof verifier program for say Fitch-style FOL, of which a specific variant can be found at ProofMood. Unfortunately, the English version has been recently taken down temporarily so you might have to wait to try it.
After you understand what goes into such concrete formal systems, then it is trivial to explain what axioms and schemas are. I've already stated above that an FOL system must come with a proof verifier program, which of course must not only know the deductive rules for your chosen flavour of FOL, but must also know the axioms for the specific system (such as PA, ACA, ZC, ZFC, NBG, ...). There is no mention of schemas, because there is no actual need for them.
But in the past, before logicians acquired a proper understanding of computation, when they wished to write down an axiomatization of some structure, they literally wrote down one axiom at a time. Hence for them to express the induction schema (which comprise infinitely many axioms, one for each sentence about a parameter from N) they gave the syntactic form that all such axioms must have.
10:51
But even historically, the term "schema" has not been precise, because it includes much more than a sentence with some placeholders! For example, even ZFC's specification schema includes axioms with arbitrarily many free variables.
Nevertheless, I hope it is clear to you that whatever people call an axiom schema is not an axiom. Informally, it is the form of some axioms. Formally, it is just a set of some axioms, but if we define "schema" as "set of axiom" then the term "schema" becomes redundant... And I doubt there is a rigorous way to define "schema" that will correspond to exactly what logicians will use it for in the future.
3 hours later…
You can say so. The theory comes with a language and a set of axioms, and that's it. Out of laziness, people sometimes don't bother stating the language when others can guess it... Also, as I mentioned before, in the past people didn't know programming so they had no way to express an infinite set of axioms except via what they called schemas.
For an example, the induction schema for PA is called a schema because it describes infinitely many axioms. It turns out (a difficult and non-trivial fact) that there is no single axiom in the language of PA that can capture all the induction axioms (i.e. instances of the induction schema). So there is usefulness for the notion of "schemas" if one doesn't know any programming.
If you look at the link I gave you, PA− is the system that has a bunch of axioms for 'basic facts about N', and PA is simply PA− plus induction.
14:53
@user709833 All modern mathematics can be expressed in an FOL system, and it is especially convenient to use many-sorted FOL such as the one I gave in this post. Any formal system based on higher-order logic can be easily translated into a many-sorted FOL system.
@user709833 Note that Peano's original axiomatization with the second-order induction axiom is useless for actual mathematics, because it quantifies over all sets, but Peano never did give any axiomatization for precisely what sets can be constructed, so the induction axiom becomes useless.
It turns out that almost every number theoretic fact can be proven in (first-order) PA, and there is no need to go to higher-order, but the price you pay is that you need to encode some stuff via Godel encoding. If you are not familiar with that, basically the issue is that you cannot obviously deal with arbitrary-length tuples in PA, so you need to devise some tricks that work in PA. But you can only observe from outside PA that those tricks actually capture tuples!
Based on what I said above, it is fair to say that PA cannot capture most number theory. That said, there are many systems of second-order arithmetic. One called ACA0 is conservative over PA (every arithmetical sentence is proven by ACA0 iff it is proven by PA). So although ACA0 proves some sentences that are not arithmetical (because they are about second-order objects), it does not prove any extra arithmetical sentences that PA does not. And the key point: ACA0 has finitely many axioms!
So ACA0 is a finitely axiomatized FOL system (with two sorts) that can capture most number theory, because we can more transparently encode a tuple as a set of pairs (i,k) where i is the index and k is the term.
Oh I forgot to say that while ACA0 is usually defined with the 'comprehension axiom' being a schema (one for each arithmetical property), it turns out that you can replace that by finitely many axioms.
@user709833 Because it can be proven after you have encoded the statement you want to prove via Godel encoding. However, you cannot convince anyone that you have proven what you originally wanted to prove without going outside PA and looking at what the encoding is doing.
It's not so easy to explain briefly what Godel coding is if you're not familiar with it, but I can point you to references if you are interested.
Anyway to be precise, for elementary number theory would probably be a good idea to have at least the language (0,1,+,·,<,^) and the axioms of PA− plus basic facts about ^ (i.e. all those you learnt in high-school) plus full induction plus ACA0's comprehension schema. For example Fermat's little theorem would be ∀p∈N ( Prime(p) ⇒ ∀k∈N ∃d∈N ( k^p = k+d·p ) ), where Prime(p) :≡ p ≠ 1 ∧ ∀x,y∈N ( p = x·y ⇒ x = 1 ∨ y = 1 ).
« first day (1141 days earlier) ← previous day next day → last day (1971 days later) »