Potential isomorphisms #
Two structures are potentially isomorphic when some nonempty family of equivalences between
finitely generated substructures has the back-and-forth extension property. Crucially, extensions
must remain inside the chosen family. Mathlib's Language.IsExtensionPair instead requires every
finitely generated partial equivalence to extend; holding in both directions, together with an
initial finitely generated partial equivalence, it implies potential isomorphism
(FirstOrder.Language.IsExtensionPair.potentialIso).
In any language, potential isomorphism is reflexive, since an isomorphism gives one
(FirstOrder.Language.Equiv.potentialIso), symmetric (TauCeti.PotentialIso.symm), and
transitive (TauCeti.PotentialIso.trans), by composing members of the two families.
The definition is the finitely-generated-partial-equivalence presentation of the back-and-forth
systems used by Carol Karp, Finite-quantifier equivalence (1965). Cameron Freer's
cameronfreer/infinitary-logic, InfinitaryLogic/Karp/PotentialIso.lean at checkpoint
9f82bd572af2d79a043c6bc3f1b745f14e0bcaa4, instead uses finite tuples; the two presentations
agree for relational languages.
Two structures are potentially isomorphic if a nonempty set of finitely generated partial equivalences admits extensions containing every element on either side.
Instances For
Potential isomorphism is witnessed by a nonempty family closed under extensions on both sides.
Potential isomorphism is symmetric.
Potential isomorphism is transitive.
Mathlib's global two-sided extension property gives a potential isomorphism when there is an initial finitely generated partial equivalence.