Mathlib theorem · Existing formal mathematics

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.

Exact theorem

Exact Mathlib statement

theorem FirstOrder.Language.Theory.isSatisfiable_iff_isFinitelySatisfiable {L : FirstOrder.Language.{u, v}} {T : L.Theory} : T.IsSatisfiable ↔ T.IsFinitelySatisfiable

The 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.

Every finite part having some model is exactly enough for the complete first-order theory to have a model. Explanatory diagram.
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

Statement map for Compactness Theorem for First-Order LogicA first-order theory has a model if and only if every finite subtheory has a model. Claim boundary: 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. The pinned upstream declaration is FirstOrder.Language.Theory.isSatisfiable_iff_isFinitelySatisfiable. The complete formal statement is available in the Exact Mathlib statement section.Mathematical readingA first-order theory hasa model if and only ifevery finite subtheoryhas a model.Claim boundaryThis target indexesMathlib's semanticcompactness theorem forarbitrary first-orderlanguages. Here finitesatisfiability meansthat every finite set ofsentences contained inthe theory has somenonempty model; thosefinite models need notbe the same. Theendpoint is not atheorem about compacttopological spaces.Pinned declarationmathlib ·FirstOrder.Language.Theory.isSatisfiable_iff_isFinitelySatisfiableStatement map for Compactness Theorem for First-Order LogicA first-order theory has a model if and only if every finite subtheory has a model. Claim boundary: 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. The pinned upstream declaration is FirstOrder.Language.Theory.isSatisfiable_iff_isFinitelySatisfiable. The complete formal statement is available in the Exact Mathlib statement section.Mathematical readingA first-order theory hasa model if and only ifevery finite subtheoryhas a model.Claim boundaryThis target indexesMathlib's semanticcompactness theorem forarbitrary first-orderlanguages. Here finitesatisfiability meansthat every finite set ofsentences contained inthe theory has somenonempty model; thosefinite models need notbe the same. Theendpoint is not atheorem about compacttopological spaces.Pinned declarationmathlib ·FirstOrder.Language.Theory.isSatisfiable_iff_isFinitelySatisfiable

Read the exact Mathlib declaration

This map summarizes the statement's structure; the exact Mathlib declaration remains authoritative.

Satisfiability of every finite subtheory is equivalent to satisfiability of the whole first-order theory. Explanatory diagram.
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

Upstream indexedPinned source bytes verified locally
Locally reproducedExact upstream declaration replayed
Reviewed pageCurrent public presentation reviewed
Accepted Atlas resultNot recorded for the preferred artifact

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.

Source and local evidence

Where the theorem comes from

Existing declaration
FirstOrder.Language.Theory.isSatisfiable_iff_isFinitelySatisfiable in mathlib
Relationship
The checked artifact is the upstream declaration itself
Local Lean evidence
artifact.library.mathlib.first-order-compactness-theorem.v001
Source
Open the pinned upstream reference