Existing in Mathlib · Logic and foundations
Compactness Theorem for First-Order Logic
Take any collection of first-order sentences, possibly infinite. If every finite selection from that collection can be satisfied in some nonempty structure, then there is one nonempty structure satisfying the entire collection at once.
- first-order theory
- finite subtheory
- satisfiability
- models
- compactness
Exact theorem
Exact Mathlib statement
theorem FirstOrder.Language.Theory.isSatisfiable_iff_isFinitelySatisfiable {L : FirstOrder.Language.{u, v}} {T : L.Theory} : T.IsSatisfiable ↔ T.IsFinitelySatisfiableThe theorem at a glance
First-order compactness at a glance
A visual guide to the theorem's hypotheses, structure, and conclusion; the exact statement gives the formal detail.
First-order compactness at a glance

Detailed visual description
The poster distinguishes an arbitrary theory, its many finite subtheories, their potentially different models, and the single model obtained for the whole theory. A restrained proof-route strip evokes the ultraproduct construction without turning it into evidence.
Statement structure
Statement and scope
Read the exact Mathlib declaration
This map summarizes the statement's structure; the exact Mathlib declaration remains authoritative.
First-order compactness theorem schematic

Detailed visual description
An unbounded field of sentence tiles represents an arbitrary theory. Several differently shaped finite windows select finite subtheories and connect to distinct model structures; a final coherent structure receives the whole field, without suggesting that the finite-stage models were identical.
Why it matters
A mathematical landmark
Logical compactness turns consistent finite behavior into a global model and underlies many of model theory's central transfer and existence arguments.
ProofAtlas record
What has been checked
Mathlib is the source of the theorem; the local Lean replay and page review are separate.
Claim boundary
No new theorem is claimed
This target indexes Mathlib's semantic compactness theorem for arbitrary first-order languages. Here finite satisfiability means that every finite set of sentences contained in the theory has some nonempty model; those finite models need not be the same. The endpoint is not a theorem about compact topological spaces.
- Proof Atlas did not originate the Compactness Theorem or Mathlib's declaration.
- The theorem does not say that one fixed finite-stage model already satisfies the whole theory.
- The selected endpoint is semantic first-order compactness, not topological compactness.
- The generated explanation and visuals are not proof evidence.
Source and local evidence
Where the theorem comes from
- Existing declaration
FirstOrder.Language.Theory.isSatisfiable_iff_isFinitelySatisfiablein mathlib- Relationship
- The checked artifact is the upstream declaration itself
- Local Lean evidence
artifact.library.mathlib.first-order-compactness-theorem.v001