All those EPPA classes
(Strengthenings of the Herwig–Lascar theorem)
Abstract.
In this paper we prove a general theorem showing the extension property for partial automorphisms (EPPA, also called the Hrushovski property) for classes of structures containing relations and unary functions, optionally equipped with a permutation group of the language. The proof is elementary, combinatorial and fully selfcontained. Our result is a common strengthening of the Herwig–Lascar theorem on EPPA for relational classes with forbidden homomorphisms, the Hodkinson–Otto theorem on EPPA for relational free amalgamation classes, its strengthening for unary functions by Evans, Hubička and Nešetřil and their coherent variants by Siniora and Solecki. We also prove an EPPA analogue of the main results of J. Hubička and J. Nešetřil: All those Ramsey classes (Ramsey classes with closures and forbidden homomorphisms), thereby establishing a common framework for proving EPPA and the Ramsey property.
Our results have numerous applications, we include a solution of a problem related to a class constructed by the Hrushovski predimension construction.
1. Introduction
Let be finite structures (i.e. graphs, hypergraphs or metric spaces) such that is a substructure of . We say that is an EPPAwitness for if every isomorphism of substructures of (a partial automorphism of ) extends to an automorphism of . We say that a class of finite structures has the extension property for partial automorphisms (EPPA, also called the Hrushovski property) if for every there is which is an EPPAwitness for .
In 1992 Hrushovski [Hru92] established that the class of all finite graphs has EPPA. This result was used by Hodges, Hodkinson, Lascar and Shelah to show the small index property for the random graph [HHLS93]. After this, the quest of identifying new classes of structures with EPPA continued with a series of papers including [Her95, Her98, HL00, HO03, Sol05, Ver08, Con19, Ott17, ABWH17c, HKN18a, Kon18b, HKN18b, EHKN18].
In particular, Herwig and Lascar [HL00] proved EPPA for certain relational classes with forbidden homomorphisms. Solecki [Sol05] used this result to prove EPPA for the class of all finite metric spaces (this result was independently obtained by Vershik [Ver08], see also [Pes08, Ros11b, Ros11a, Sab17, HKN18a] for other proofs, some combinatorial [HKN18a], others using the profinite topology on free groups and the Ribes–Zalesskiĭ [RZ93] and Hall [Hal49] theorems). Solecki’s argument was refined by Conant [Con19] for certain classes of generalized metric spaces and metric spaces with (some) forbidden subspaces. In [ABWH17c] these techniques were carried further and a layer was added on top of the Herwig–Lascar theorem to show EPPA for many classes of metrically homogeneous graphs from Cherlin’s catalogue [Che17] (see also exposition in [Kon18a]).
There are known EPPA classes to which the Herwig–Lascar theorem is not well suited. In particular, EPPA for free amalgamation classes of relational structures was shown by Hodkinson and Otto [HO03]. It was noticed by Ivanov [Iva15] that a lemma on permomorphisms from Herwig’s paper [Her98, Lemma 1] can be used to show EPPA for structures with definable equivalences on tuples with infinitely many equivalence classes. Evans, Hubička and Nešetřil [EHN17] strengthened the aforementioned construction of Hodkinson and Otto and established EPPA for free amalgamation classes in languages with relations and unary functions (e.g. the class of orientations arising from a Hrushovski construction [EHN18] or the class of all finite bowtiefree graphs [EHN18]).
In this paper we give a combinatorial, elementary and fully selfcontained proof of a strengthening of all the aforementioned results [Her98, HL00, HO03, EHN17] and their coherent variants by Siniora and Solecki [SS17, Sin17] (note that the original proofs of most of these results use nontrivial algebraic methods [RZ93, Hal49] and are quite complicated). This has a number of applications and particularly in Section 9.3 we present a solution of a problem related to a class constructed by the Hrushovski predimension construction. For additional applications see also [Kon19].
With applications in mind, we generalise the standard notion of modeltheoretic structures in two directions. We consider functions which go to subsets of the vertex set and we also equip the languages with a permutation group . The standard notions of homomorphism, embedding etc. are generalised naturally (see Section 2), similarly for (irreducible structure faithful) EPPA (see Section 2.3). Coherent EPPA is defined in Section 2.4. If consists of the identity only, one gets back the standard modeltheoretic structures together with the standard mappings, standard definition of EPPA etc.
For a set of structures, we denote by the set of all finite and countable structures such that there is no with a homomorphismembedding .
We prove the following theorems:
Theorem 1.1.
Let be a finite language with relations and unary functions equipped with a permutation group . Let be a finite family of finite structures and let be a structure. If there exists a structure containing such that each partial automorphism of extends to an automorphism of , then there exists a finite structure which is an irreducible structure faithful coherent EPPAwitness for .
The first and the third authors [HN16] gave a structural condition for a class to be Ramsey. It turns out that in papers studying Ramsey expansions of various classes using their Theorem, EPPA is often an easy corollary of one of the intermediate steps [ABWH17c, ABWH17a, ABWH17b, Kon18b]. In this paper we make this correspondence more explicit by proving a theorem on EPPA whose statement is very similar to [HN16, Theorem 2.2]. For the definition of locally finite automorphismpreserving subclass see Section 8.1.
Theorem 1.2.
Let be a finite language with relations and unary functions equipped with a permutation group and let be a class of finite structures which has EPPA. Let be a hereditary locally finite automorphismpreserving subclass of with strong amalgamation which consists of irreducible structures. Then has EPPA. Moreover, if EPPAwitnesses in can be chosen to be coherent then EPPAwitnesses in are coherent, too.
Theorem 1.2 has a form of implication one needs a base EPPA class . The following theorem is a strengthening of Herwig’s result [Her98, Lemma 1].
Theorem 1.3.
Let be a finite language with relations and unary functions equipped with a permutation group . Then the class of all finite structures has irreducible structure faithful coherent EPPA.
In Section 2 we give all necessary notions and definitions. In Section 3, which is supposed to serve as a warmup, we give a new proof of (coherent) Hrushovski’s theorem [Hru92]. Then, in Section 4 we show that the construction generalises naturally to relational structures. In Section 5 we add a new layer which allows the language to also contain unary functions. In Section 6 we combine this with techniques introduced earlier [HO03, EHN17] to obtain irreducible structure faithfulness and in Section 7 we once again use a similar construction to deal with forbidden homomorphic images, which allows us to prove the main theorems of this paper in Section 8. Finally, in Section 9 we apply our results and prove EPPA for the class of orientations with closures, thereby confirming the first part of [EHN18, Conjecture 7.5]. We also illustrate the usage of Theorems 1.3 and 1.2 on the example of integervalued metric spaces with no large cliques of ones.
The constructions in this paper are inspired by the construction of clique faithful EPPAwitnesses for relational structures given by Hodkinson and Otto [HO03] and follows the scheme of proofs of related results in [HN16] which are concerned with the structural Ramsey theory. This can be outlined as follows.
In each section, we first fix a structure and give an explicit construction of a structure with the desired properties. Then we, again explicitly, show how to construct an automorphism of extending the given automorphism of . And finally we give proofs that all the constructions indeed work as expected and that they give coherent EPPA. In many cases, the constructions themselves are the difficult part, the rest is just verification that a function is an automorphism and that it composes correctly.
2. Background and notation
To state our main result we find it convenient to work with modeltheoretic structures generalised in two ways: We equip the language with a permutation group (giving a more systematic treatment to the concept of permomorphisms introduced by Herwig [Her98]) and consider functions to the powerset (a further generalisation of [EHN17]). This is motivated by applications (see Section 9.3).
Let be a language with relational symbols and function symbols each having its arity denoted by for relations and for functions.
Let be a permutation group on which preserves types and arities of all symbols. We say that is a language equipped with a permutation group. Observe that when is trivial and the ranges of all functions consist of singletons, one obtains the usual notion of modeltheoretic language (and structures). All results and constructions in this paper presented on structures can thus be directly applied to standard structures.
Denote by the set of all subsets of . A structure is a structure with vertex set , functions for every and relations for every . Notice that the domain of a function is ordered while the range is unordered. If the set is finite we call a finite structure. We consider only structures with finitely or countably infinitely many vertices. If , we call a relational language and say that a structure is a relational structure. A function such that is a unary function.
In this paper, the language and its permutation group are often fixed and understood from the context (and they are in most cases denoted by and respectively), we also only consider unary functions.
2.1. Maps between structures
A homomorphism is a pair where and is a mapping such that for every and we have:

, and

.
For brevity we will also write for in the context where and for where . For a subset we denote by the set and by the homomorphic image of a structure .
If is injective then is called a monomorphism. A monomorphism is an embedding if for every and :

, and

.
If is an embedding where is onetoone then is an isomorphism. If is an inclusion and is the identity then is a substructure of . For an embedding we say that is isomorphic to .
Given and , the closure of in , denoted by , is the smallest substructure of containing . For we will also write for .
Example.
Consider the class of finite complete bipartite graphs (or, equivalently, equivalences on pairs with two equivalence classes).
2.2. Amalgamation classes
Let , and be structures, an embedding of into and an embedding of into . Then every structure with embeddings and such that (note that this also must hold for the language part of ’s and ’s) is called an amalgamation of and over with respect to and . See Figure 1. We will often call simply an amalgamation of and over (in most cases and can be chosen to be inclusion embeddings).
We say that the amalgamation is strong if it holds that if and only if and . Strong amalgamation is free if and whenever a tuple of vertices of contains vertices of both and , then is in no relation of and for every function with it holds that .
Definition 2.1.
An amalgamation class is a class of finite structures which is closed for isomorphisms and satisfies the following three conditions:

Hereditary property: For every and a structure with an embedding we have ;

Joint embedding property: For every there exists with an embeddings and ;

Amalgamation property: For and embedding of into , embedding of into , there is which is an amalgamation of and over with respect to and .
If the in the amalgamation property can always be chosen as the free amalgamation, then is a free amalgamation class.
By the Fraïssé theorem [Fra53], relational amalgamation classes in countable language with trivial correspond to countable homogeneous structures. This correspondence can be generalised further to languages with functions equipped with a permutation groups etc.
Generalising the notion of a graph clique, we say that a structure is irreducible if it is not the free amalgamation of its proper substructures. A homomorphism is a homomorphismembedding if the restriction is an embedding whenever is an irreducible substructure of . Given a family of structures we denote by the class of all finite or countable structures such that there is no with a homomorphismembedding .
2.3. EPPA for structures
A partial automorphism of the structure is an isomorphism where and are substructures of (note that it also includes a full permutation of the language). We say that a class of finite structures has the extension property for partial automorphisms (EPPA, sometimes called the Hrushovski property) if for every there is such that is a substructure of and every partial automorphism of extends to an automorphism of . We call with such a property an EPPAwitness of . is irreducible structure faithful (with respect to ) if it has the property that for every irreducible substructure of there exists an automorphism of such that .
Homomorphismembeddings were introduced in [HN16] and irreducible structure faithfulness was introduced in [EHN17] as a generalisation of clique faithfulness of Hodkinson and Otto [HO03]. The following (probably folkloristic) observation justifies the links with the structural Ramsey theory.
Observation 2.2.
Every hereditary isomorphismclosed class of finite structures which has EPPA and the joint embedding property (see Definition 2.1) is an amalgamation class.
Proof.
Let be such a class and let , , be as in Definition 2.1. Let be the joint embedding of and (that is, we have embeddings and ) and let be an EPPAwitness for .
Let be a partial automorphism of sending to and let be its extension to an automorphism of . Finally, put and . It is easy to check that and certify that is an amalgamation of and over with respect to and . ∎
2.4. Coherence of EPPAwitnesses
Siniora and Solecki [Sol09, SS17] strengthened the notion of EPPA in order to get a dense locally finite subgroup of the automorphism group of the corresponding Fraïssé limit.
Definition 2.3 (Coherent maps).
Let be a set and be a family of partial bijections between subsets of . A triple from is called a coherent triple if
and
Let and be sets, and and be families of partial bijections between subsets of and between subsets of , respectively. A function is said to be a coherent map if for each coherent triple from , its image () in is also coherent.
Definition 2.4 (Coherent EPPA).
A class of finite structures is said to have coherent EPPA if has EPPA and moreover the extension of partial automorphisms is coherent. That is, for every , there exists such that and every partial automorphism of extends to some with the property that the map from the partial automorphisms of to given by is coherent. We also say that is a coherent EPPAwitness for .
The following easy proposition will be used several times. We include its proof to make this paper selfcontained.
Proposition 2.5 (Lemma 2.1 in [Sin17]).
The class of all finite sets has coherent EPPA. That is, for every finite set and a partial injective function (i.e. its domain is a subset of ) there is a permutation such that .
Moreover, if , and are partial injective functions from to such that they form a coherent triple and , and their corresponding extensions as above, then .
Proof.
Fix a set . We can without loss of generality assume that . Let be a partial automorphism of , in other words, a partial injective function on . We construct an automorphism extending in the following way:
Put and and enumerate and such that and . Finally, we define by
It is obvious that is a permutation of which extends . Thus it only remains to prove the furthermore part, that is, coherence.
Consider . If , then clearly . Put (which is equal to ), () and () and again enumerate them in an ascending order. If , we have , and , therefore indeed . ∎
When using this result, we will often simply say that we extend a partial permutation in an orderpreserving way or coherently.
3. Warmup: new proof of EPPA for graphs
We start with a simple proof of the theorem of Hrushovski [Hru92]. This is the simplest case where the construction of coherent EPPAwitnesses is nontrivial. We consider graphs to be (relational) structures in a language with a single binary relation which is always symmetric and irreflexive.
Fix a graph with vertices .
3.1. Witness construction
We give a construction of a coherent EPPAwitness for a structure isomorphic to , which clearly implies that there is also a coherent EPPAwitness for . will be constructed as follows:

The vertices of are all pairs where and is a function from to (called a valuation function for ).

Vertices and form an edge if and only if and .
We now define a generic copy of in by constructing an embedding by putting , where if and and otherwise (remember that we enumerated ). We put to be the graph induced by on . It follows directly that is indeed an embedding of into .
Remark.
Note that the functions from the definition of are in fact the columns of the asymmetric variant of the adjacency matrix of .
Let be the projection mapping . Note that for every . In particular, is transversal, that is, is injective on .
3.2. Constructing the extension
The construction from the following paragraphs is schematically depicted in Figure 2.
Let be a partial automorphism of . Using we get a partial permutation of (the set) and we denote by the orderpreserving extension of (cf. Proposition 2.5) to a permutation of .
We now construct a set of flipped pairs by putting if and only if and there is a valuation function such that (denote ) and .
Note that if there is also such that , then condition above has the same outcome when the roles of and are exchanged: This follows from the definition of and the fact that maps edges to edges and nonedges to nonedges.
Finally, define a function by putting
where
This function will be the coherent extension of .
3.3. Proofs
Both of the proofs in this section are only an explicit verification that our constructions work as expected.
Lemma 3.1.
is an automorphism of extending . In other words, is an EPPAwitness for .
Proof.
Observe that the function defined as
where
is an inverse of and therefore is a bijection. If and form an edge of , then by the construction of we either preserve or flip the relevant valuation for both of them (depending of whether ) and therefore their images also form an edge. The same argument can be repeated for nonedges and therefore we get that is an automorphism of .
Let with . This means and therefore we know that for some . Observe that by definition of we have if and that, by definition of , we have if and only if , therefore indeed , which finishes the proof. ∎
Lemma 3.2.
Let , and be partial automorphisms of such that and , and their corresponding extensions as above. Then .
Proof.
Denote by , and the corresponding permutations of constructed above, by , and the corresponding sets of flipped pairs.
By Proposition 2.5 we get that . To see that is a composition of and it remains to verify that pairs flipped by are precisely those pairs that are flipped by the composition of and .
This follows from the construction of . Only pairs with at least one vertex in the domain of are put into sets and and again only pairs with at least one vertex in the domain of (which is the same as the value range of ) are put into .
Consider . This means that at least one of them (without loss of generality ) is in . Furthermore, for we know that . Because , we get that either , or (and precisely one of these happens). And this means that both and flip .
On the other hand, if , then either is in both and or in neither of them and then, again, neither nor flip . This implies that indeed . ∎
The previous lemmas immediately imply the following proposition.
Proposition 3.3.
The graph is a coherent EPPAwitness of .
What now follows is a series of strengthenings of the main ideas from this section. Each of the constructions will proceed in several steps:

Define a structure using a suitable variant of valuations.

Give a construction of a generic copy of in .

For a partial automorphism of , give a construction of .

Prove that is an automorphism of and that it extends .

Prove that is coherent.
The proofs often consist of verification, usually very similar as in this section.
Remark 3.4.
Note that only depends on the number of vertices of and, as such, is a coherent EPPAwitness for all graphs with at most vertices.
4. Coherent EPPA for relational structures
In this section we generalise the ideas from the previous section to prove coherent EPPA for languages with relational symbols. Fix a finite relational language equipped with a permutation group and a finite structure with .
4.1. Witness construction
Given a vertex and an integer we denote by the set of all tuples (tuples, not sets) of elements of containing . Note that also includes tuples with repeated occurrences of vertices. We start by introducing the right notion of valuations:
Given of arity and a vertex , we say that a function is an valuation function for . A valuation function for a vertex is a function assigning every an valuation function for .
Now we are ready to give the definition of :

The vertices of are all pairs where and; is an valuation function for .

For every relational symbol of arity we put
if and only if for every such that it also holds that and furthermore
is odd (summing over ensures that possible multiple occurrences of are only counted once).
Next we define the generic copy of by giving an embedding as follows:
where is the valuation function for defined by
Again it follows directly from the construction that is an embedding which does not permute the language. Notice also that is transversal. Let defined as be the projection.
4.2. Constructing the extension
As in Section 3, we fix a partial automorphism and extend the projection of to a permutation of in an orderpreserving way. Note that already gives a full permutation of the language, therefore we will focus on extending the structural part.
For every relational symbol of arity we construct a function . These functions will play a similar role as the set in Section 3 (i.e., they will control the flips) and are constructed as follows:

For tuples consisting only of vertices from we put if and only if , where is the valuation function such that and is such that .

For tuples containing both vertices from and vertices outside of we define in the same way as above for all choices of such that . Let be the smallest index such that . For every such that and we put . Finally we choose the remaining entries (which all correspond to the same vertex ) to be either all 0 or all 1 to ensure that number of distinct vertices of such that their corresponding entry in is 1 is even.

For tuples containing no vertices of we put for all .
Observe that by the construction we get that whenever and that
is even (where taking the size of the set means that each distinct vertex is counted only once even if it has repeated occurrences in ).
Define a function by putting
where
4.3. Proofs
The rest follows analogously to Section 3.
Lemma 4.1.
is an automorphism of extending .
Proof.
This follows in the same way as in Lemma 3.1. To get that is an automorphism we use the parity property of each . ∎
Lemma 4.2.
Let , and be partial automorphisms of such that and , and their corresponding extensions as above. Then .
Proof.
In a complete analogy to Lemma 3.2. ∎
The following proposition is then immediate.
Proposition 4.3.
The structure is a coherent EPPAwitness of .
We find it useful to state the result of this section a little more explicitly as a theorem.
Theorem 4.4.
Fix a finite relational language equipped with a permutation group . For every integer there is a finite structure such that is a coherent EPPAwitness for every structure on at most vertices.
5. EPPA for structures with unary functions
We are now ready to introduce unary functions into the language. In order to do it, we will use valuation structures instead of valuation functions, which was first done in [EHN17]. Otherwise we follow the general scheme.
Fix a finite language containing relational symbols and unary function symbols equipped with a permutation group and a finite structure .
Denote by the language consisting of all relational symbols of language equipped with the corresponding subgroup of . For a structure we will denote by the reduct of (that is, the structure on the same vertex set as with for every )
5.1. Witness construction
Let be a finite structure which is an EPPAwitness for (it exists by Proposition 4.3). We furthermore, for convenience, assume that . Let be a vertex of and let be a structure. We say that is a valuation structure for if the following hold:

,

there exists and an isomorphism satisfying (note that can permute the language),

is a substructure of .
We construct as follows:

The vertices of are all pairs where and is a valuation structure for ,

we put if and only if for every relational symbol of arity ,

for every (unary) function symbol we put .
We define the generic copy of in using the embedding defined as . is indeed a valuation structure for being the identity, because we assumed that .
5.2. Constructing the extension
Let defined by be the projection. Note that and that is a homomorphismembedding . Fix a partial automorphism of . It induces (by and restriction to ) a partial automorphism of . Denote by the extension of to an automorphism of .
We put
where is a structure such that and for every (unary) function symbol and every it holds that . In other words, together with the permutation of function symbols from give an isomorphism of and .
5.3. Proofs
Lemma 5.1.
is an automorphism of extending .
Proof.
By the definition of we get that is a bijection from to . The relations on only depend on the projection, and since is an automorphism, we get that respect the relations. It thus remains to check the functions, but that follows from the construction. ∎
Lemma 5.2.
Assume that is a coherent EPPAwitness of and thus can be chosen to be coherent. Let , and be partial automorphisms of such that and , and their corresponding extensions as above. Then .
Proof.
Follows straightforwardly from the definition of : It is coherent on the first coordinate by the assumption of and it is easy to check that the extension to the second coordinate preserves coherence. ∎
We can thus summarize.
Proposition 5.3.
For every finite structure and EPPAwitness of it holds that is an EPPAwitness of . Moreover if is coherent then is coherent, too.
From now on our structures may contain unary functions. To some extent, the unary functions do not interfere too much with the properties which we are going to ensure and thus it is possible to treat them “separately”. Namely, we will always first introduce a notion of a valuation function (in order to get the desired property) and then wrap the valuation functions in a variant of the valuation structures.
6. Irreducible structure faithful EPPA
In this section we prove irreducible structure faithful (coherent) EPPA for structures. This is a simple strengthening of [EHN17, Theorem 1.7], which in turn extends [HO03].
Fix a finite language consisting of relational symbols and unary function symbols only equipped with a permutation group , a finite structure and its EPPAwitness (for example obtained by Proposition 5.3). Without loss of generality assume that . We give a construction of an irreducible structure faithful EPPAwitness which will have a homomorphismembedding (projection) to and every extension of a partial automorphism in will be induced by the corresponding extension of a partial automorphism in .
6.1. Witness construction
Let be an irreducible substructure of . We say that is bad if there is no automorphism such that . Given a vertex we denote by the set of all bad irreducible substructures of containing .
For a vertex , we say that a function assigning to every a value from is a valuation function for . Given vertices and their valuation functions and respectively, we say that the pairs and are generic if either , or and for every bad irreducible substructure of such that it holds that . We say that a set is a generic set if it consists of pairs where and is a valuation function for and every pair is generic. In particular, the projection to the first coordinate is injective on every generic set.
A valuation structure for a vertex is a structure such that:

The vertex set of is a generic set of pairs where and is a valuation function for , and

the function is an isomorphism of and with being the identity (that is, does not affect the language).
For a pair , where and is a valuation structure for , we denote by the (unique) valuation function for such that and we also put ( will again serve as a projection from to ). We say that a set of pairs such that and is a valuation structure for is generic if the set is generic. Note that this implies that the set is also generic and thus again is injective on every generic set.
Now we construct a structure :

The vertices of are all pairs , where and is a valuation structure for .

For every relational symbol we put
if and only if and moreover the set
is generic.

For every (unary) function symbol we put
Note that is a homomorphismembedding from to .
Next we define an embedding which will give the generic copy . For every bad irreducible fix an injective function . Such a function exists because is always a proper subset of , because otherwise would not be bad. Given a vertex we put , where and the structure on is chosen such that the function is an isomorphism of and (with the structure inherited from ).
It is easy to verify that this is indeed an embedding of to and that is generic.
6.2. Constructing the extension
At some point, we will also need to prove irreducible structure faithfulness. And in that proof, we are going to need to construct some automorphisms of based on some automorphisms of and partial automorphisms of . Because of it, we prove slightly a more general Lemma 6.1.
Lemma 6.1.
Let be a partial automorphism of satisfying the following conditions:

Both the domain and range of are generic,

there is an automorphism of which extends the projection of via (which is a partial automorphism of thanks to condition 1).
Then there is an automorphism of extending .
Note that if is a partial automorphism of , then it satisfies both conditions and therefore it can be extended to an automorphism of .
Proof of Lemma 6.1.
Put