This node tries to describe the properties of the basic "construction" used in non-standard analysis. It does not give the technical details; for the most part, they are boring yet nearly impossible to understand properly. They're also extremely unimportant for most applications of NSA.

Suppose we have a model^{Footnote 1} M for some language^{Footnote 2} L. Suppose also that L contains names for all the objects in M. You may, for instance, think of L as the language of real numbers, which includes a name for each real number, as well as the binary operations +,-,*,/,^, and of M as the real numbers as you know them. More often, however, we'll want a few more objects, so L will also contain a name for every function R->R, every set of real numbers, every predicate, maybe a few more objects, and M will be the corresponding model on the real real numbers. Machover's technique is to take M to be a model (an internal model, if you're interested in that kind of technicality) of ZF set theory (aka Everything); in that case, *every* object we could conceivably be interested in is already inside M. The "take-home message" from this is that L and M are sufficiently rich to talk about whatever you intend to talk about in your mathematical world.

The basic theorem lets us construct an extension *M (pronounced "pseudo-M") of M, known as an "*enlargement*" of M, which has the following properties (actually, two somewhat stronger properties are given, but we usually don't need them):

- transfer principle
*Any sentence of the language L is true of M iff it's true of *M.*
Note that L can express *any* first order property of M, since it has a name for every object of M. However, it does *not* have a name for every (pseudo-)object of *M; these pseudo-objects can arise out of quantifiers (e.g. saying "for all `x` in R, `x`^{2} >= 0" means a lot more in *M than it does in M, since *M contains *many* more objects than M does!

In particular, it follows that the square of every pseudo-real is nonnegative, that there is no smallest number greater than 0, that there is no greatest number, etc.

weak saturation
*Suppose F is a family of formulae of L with one free variable *`x`, and suppose further for every *finite* subset {f_{1},...,f_{n}} of formulae of F there exists an object `a` of M such that f_{1}(`a`),...,f_{n}(`a`) are all true. Such an F is called finitely satisfiable (in M). Then F is satisfiable in *M. That is, *M contains an object `b` for which f(`b`) hold simultaneously *for all* f in F.
This lets us construct our "infinitesimals". For every t>0, let f^{t}(`x`) be the formula "0 < `x` and `x` < t" (note that t has a name in L, so we may write all these formulae!). Let F be the set of all f^{t}(`x`). Then it is easy to see that F is finitely satisfiable in M (taking M to contain the real real numbers R). So in *M (which contains the pseudo-real numbers) there exists some `b` which is *positive* and *smaller* than any positive real number! (Note, however, that `b`/2 is a still smaller pseudo-real number with this property; since `b` has no name in L, there is no contradiction here!).