Julien Courtiel

A GENERAL NOTION OF ACTIVITY FOR THE TUTTE POLYNOMIAL

teaching and research institutions in France or abroad, or from public or private research centers.

A general notion of activity for the Tutte polynomial

Introduction

Intended as a generalization of the chromatic polynomial [START_REF] Whitney | A logical expansion in mathematics[END_REF][START_REF] Tutte | A contribution on the theory of chromatic polynomial[END_REF], the Tutte polynomial is a graph invariant playing a fundamental role in graph theory. This polynomial is essentially the generating function of the spanning subgraphs, counted by their number of connected components and cycles. Because of its wide study and its universality property of deletion/contraction [START_REF] Brylawski | The Tutte polynomial and its applications[END_REF], the Tutte polynomial is often used as reference polynomial when it comes to interlink graph polynomials from different research fields. For example, the Potts model in statistical physics [START_REF] Fortuin | On the random cluster model: I. Introduction and relation to other models[END_REF], the weight enumerator polynomial in coding theory [START_REF] Greene | Weight enumeration and the geometry of linear codes[END_REF], the reliability polynomial in network theory [START_REF] Oxley | The Tutte polynomial and percolation[END_REF] and the Jones polynomial of an alternating node in knot theory [START_REF] Thistlethwaite | A spanning tree expansion of the Jones polynomial[END_REF] can all be expressed as (partial) evaluations of the Tutte polynomial. The reader can be referred for more information to the survey [START_REF] Ellis-Monaghan | Graph polynomials and their applications I: The Tutte polynomial[END_REF] written by Ellis-Monaghan and Merino.

It is well-known that the Tutte polynomial can be also defined as the generating function of the spanning trees T counted according to the numbers i(T ) and e(T ) of internal and external active edges:

T G (x, y) =

T spanning tree

x i(T ) y e(T ) .

(1) Such a description appeared for the first time in the founding paper of Tutte [START_REF] Tutte | A contribution on the theory of chromatic polynomial[END_REF]. Tutte's notion of activity required to linearly order the edge set. More recently, Bernardi [START_REF] Bernardi | A characterization of the Tutte polynomial via combinatorial embedding[END_REF] gave a new notion of activity which was this time based on an embedding of the graph. The two notions are not equivalent, but they both satisfy (1). One can also cite the notion of external activity introduced by Gessel and Sagan [START_REF] Gessel | The Tutte polynomial of a graph, depth-first search, and simplicial complex partitions[END_REF] involving the depth-first search algorithm and requiring a linear ordering on the vertex set.

The purpose of this paper is to unify all these notions of activity. We thereby define a new notion of activity, called ∆-activity. Its definition is based on a new combinatorial object named decision tree, to which the letter ∆ refers. We show that each of the previous activities is a particular case of ∆-activity. Moreover, we see that the ∆-activity enjoys most of the properties that were true for the other activities, like Crapo's property of partition of the subgraphs into intervals [START_REF] Crapo | The Tutte polynomial[END_REF].

Here is an overview of the paper. We begin in Section 2 by summarizing the definitions and the notations thereafter needed. For instance an activity denotes a function that maps a spanning tree onto a set of active edges. An activity is said to be Tutte-descriptive if it describes the Tutte polynomial in the sense of (1). Section 3 outlines four families of Tutte-descriptive activities, including the aforementioned three ones. A new fourth family of activities is described, named blossoming activities. It is based on the transformation of a planar map into blossoming trees [START_REF] Schaeffer | Bijective census and random generation of Eulerian planar maps with prescribed vertex degrees[END_REF][START_REF] Bouttier | Census of planar maps: from the one-matrix model solution to a combinatorial proof[END_REF]. In the context of a study on maps, it constitutes an interesting alternative to Bernardi's notion of activity.

Section 4 introduces the notion of ∆-activity through an algorithm. This first definition of the ∆-activity is strongly reminiscent of what we could see in [START_REF] Gordon | Generalized activities and the Tutte polynomial[END_REF]. In this paper, Gordon and Traldi stated that the Tutte's active edges for a subset S of a matroid M correspond to the elements that are deleted or contracted as an isthmus or a loop during the so-called resolution 1 of M with respect to S. Our approach is very similar, except that we do not consider our "resolution" in a fixed order as Gordon and Traldi did. We also prove that the ∆-activities are Tutte-descriptive. In Section 5, we state some properties connecting ∆-activity and edge ordering. For instance, we see that an edge is active when it is maximal (for a certain order depending on the spanning tree) inside its fundamental cycle/cocycle. In Section 6 we set forth a partition of the set of subgraphs that is the counterpart of Crapo's partition [START_REF] Crapo | The Tutte polynomial[END_REF] for ∆-activities. This partition results from the equivalence relation naturally induced by the algorithm of Section 4. We deduce from this an enlightening proof of the equivalence between the principal descriptions of the Tutte polynomial.

In Section 7, we show that the four families of activities of Section 3 can be defined in terms of ∆-activities. We thus prove in an alternative way that these activities are all Tutte-descriptive. Some extra properties can be deduced using the theory from Section 4, 5, 6. In Section 8, we discuss about some extensions of the ∆-activities, as the (easy) generalization to the matroids. We conclude the paper by a conjecture that would emphasize the relevance of the ∆-activities: In rough terms it states that the "interesting" activities exactly coincide with the ∆-activities.

Definitions, notations, motivations

2.1. Sets and graphs 2.1.1. Sets. The set of non-negative integers is denoted by N. We denote by |A| the cardinality of any set A. When we say that a set A is the disjoint union of some subsets A 1 , . . . , A k , this means that A is the union of these subsets and that A 1 , . . . , A k are pairwise disjoint. We then write A = k i=1 A i . For any pair of sets A, B, we denote by A B the symmetric difference of A and B. 2 Let us recall that the symmetric difference is commutative and associative.

2.1.2. Graphs, subgraphs, intervals. In this paper, the graphs will be finite and undirected. Moreover, they may contain loops and multiple edges. For a graph G, the set of vertices is denoted by V (G) and the set of edges by E(G).

A spanning subgraph of G is a graph S such that V (S) = V (G) and E(S) ⊆ E(G). Unless otherwise indicated, all subgraphs will be spanning in this paper. A subgraph is completely determined by its edge set, therefore we identify the subgraph with its edge set. For instance, given A a set of edges, we will allow ourselves to write S ⊆ A if S is a subgraph of G only made of edges that belong to A. For any subgraph S, we denote by S the complement subgraph of S in G, i.e. the subgraph S such that V (S) = V (G) and E(S) = E(G)\E(S). If S is a subgraph of G and A ⊆ E(S), we write S\A to denote the subgraph of G with edge set E(S)\A. Given a subgraph S of G, an edge e ∈ E(G) is said to be internal if e ∈ S, external otherwise.

1 A resolution of a matroid is a sequence of deletions and contractions which reduces the matroid into the empty matroid. 2 We do not use the notation A B because the triangle can be easily mistaken for the letter ∆, very used in this paper.

The collection of all subgraphs of G can be ordered via inclusion to obtain a boolean lattice. A subgraph interval I denotes an interval for this lattice, meaning that there exist two subgraphs H -and H + such that I is the set of subgraphs S satisfying H -⊆ S ⊆ H + . In this case, we write I = [H -, H + ].

2.1.3. Cycles and cocycles. A path is an alternating sequence (v 1 , e 1 , v 2 , . . . , e k , v k+1 ) of vertices and edges such that the endpoints of e j are v j and v j+1 for all j ∈ {1, . . . , k}. A path with no repeated vertices and edges, with the possible exception v 1 = v k+1 , is called a simple path. A path is said to be closed when v 1 = v k+1 . A cycle is the set of edges of a simple and closed path. For instance, a loop can be seen as a cycle reduced to a singleton. A graph (or a subgraph) with no cycle is said to be acyclic.

A cut of a graph G is a set of edges K such that the endpoints of each edge of K are in two distinct connected components of K. A cocycle is a cut which is minimal for inclusion. (Therefore the deletion of a cocycle exactly increases the number of connected components by one.) An isthmus is an edge whose deletion increases the number of connected components. (In other terms, an isthmus is a cocycle reduced to a singleton.) Note that a subgraph S of G is connected if and only if the set S does not contain any cocycle of G.

An edge which is neither an isthmus, nor a loop, is said to be standard.

Example. Consider the graph of Figure 1. The set {a, c, d} is a cycle but {a, c, d, g, i, j} is not (because the associated path is not simple). The set {b, h} is a cocycle but {b, h, i, j} is not. A spanning tree is a (spanning) subgraph that is a tree, that is to say a connected and acyclic graph. Fix T a spanning tree of a graph G. The fundamental cycle of an external edge e is the only cycle contained in the subgraph T ∪ {e}, i.e. the cycle made of e and the unique path in T linking the endpoints of e. Similarly, the fundamental cocycle of an internal edge e is the only cocycle contained in T ∪ {e}, i.e. the cocycle made of the edges having exactly one endpoint in each of the two subtrees obtained from T by removing e.

Example. Consider the spanning tree from Figure 1. The fundamental cycle of j is {d, e, i, j}, the fundamental cocycle of e is {e, f, g, j}.

2.1.4. Embeddings. We now define combinatorial map as Robert Cori and Toni Machi did in [START_REF] Cori | Un code pour les graphes planaires et ses applications[END_REF][START_REF] Cori | Maps, hypermaps and their automorphisms : a survey. I, II[END_REF]. A map M = (H, σ, α) is a finite set of half-edges H, a permutation σ of H and an involution without fixed point α on H such that the group generated by σ and α acts transitively on H. A map is rooted when one of its half-edges, called the root, is distinguished. In this paper, all the maps are rooted.

For every map M = (H, σ, α), we define its underlying graph as follows: We form a vertex for each cycle of σ, and an edge for each cycle of α. A vertex is incident with an edge if the corresponding cycles have a non-empty intersection. Observe that such a graph is always connected since σ and α act transitively on H. A combinatorial embedding of a connected graph G is a map M such that the underlying graph of M is isomorphic to G. Every embedding of G is in correspondence with a rotation system of G, that is to say a choice of a circular ordering of the half-edges around each vertex of G. The rotation system actually corresponds to the above permutation σ. The permutation α is automatically given by the matching of the half-edges. When an embedding of G is considered, we write the edges of G as pairs of half-edges (for instance e = {h, h }).

A map M = (H, σ, α) can be graphically represented in the following way: We draw the underlying graph of M in such a manner that the cyclic ordering of the half-edges in counterclockwise order around each vertex matches the corresponding cycle in σ. If we want to indicate the root, we add an arrow just before 3 the root half-edge, pointing to the root vertex. In other terms, if h 0 denotes the root, we put an arrow between the half-edges h 0 and σ -1 (h 0 ). For example, Figure 2 Given a map M = (H, σ, α), we say that a half-edge h 2 immediately follows another half-edge h 1 when h 2 = σ • α(h 1 ). In Figure 2, the half-edge that immediately follows a for the left map is d , while it is c for the right map.

2.1.5. Edge contraction and deletion. Edge deletion is the operation that removes an edge e from the edge set of a graph G but leaves its endpoints unchanged. The resulting graph is denoted by delete(G, e).

Edge contraction is the operation that removes an edge from a graph by merging the two vertices it previously connected. More precisely, given an edge e with endpoints v and w in a graph G, the contraction of e yields a new graph G where w has been removed from the vertex set and any edge which was incident to w in G is now incident to v in G . The resulting graph G is denoted by contract(G, e).

We extend the operations of deletion and contraction to maps, as follows. Let us consider M = (H, σ, α) an embedding of a graph G and e = {h 1 , h 2 } an edge of G. Let H be H\ {h 1 , h 2 } and α the involution α restricted to H . If e is not an isthmus, we define delete(M, e) as the map (H , σ d , α ) where

σ d (h) =    σ • σ • σ(h) if (σ(h) = h 1 and σ(h 1 ) = h 2 ) or (σ(h) = h 2 and σ(h 2 ) = h 1 ), σ • σ(h) if (σ(h) = h 1 and σ(h 1 ) = h 2 ) or (σ(h) = h 2 and σ(h 2 ) = h 1 ), σ(h)
otherwise.

(2)

Similarly, if e is not a loop, we define contract(M, e) as the map (H , σ c , α ) where

σ c (h) =    σ • σ(h) if (σ(h) = h 1 and σ(h 2 ) = h 2 ) or (σ(h) = h 2 and σ(h 1 ) = h 1 ), σ • α • σ(h) if (σ(h) = h 1 and σ(h 2 ) = h 2 ) or (σ(h) = h 2 and σ(h 1 ) = h 1 ), σ(h)
otherwise.

(3)

We do not want to define the deletion of an isthmus of the contraction of a loop since it could bring about the disconnection of the map 4 .

One can check that delete(M, e) (resp. contract(M, e)) is indeed an embedding of delete(G, e) (resp. contract(G, e)). If h 1 is the root of the map M , we choose σ d (h 1 ) (resp. σ c (h 1 )) as the root of delete(M, e) (resp. contract(M, e)).

The Tutte polynomial

2.2.1. Definition. Two parameters are important to define the Tutte polynomial. The first one is the number of connected components of a subgraph S, denoted by cc(S). Recall that by convention each subgraph is spanning. This implies that the subgraph of G with no edge has |V (G)| connected components. The second parameter is the cyclomatic number of S, denoted by cycl(S). It can be defined as

cycl(S) = cc(S) + |S| -|V (G)|. ( 4
)
It equals the minimal number of edges that we need to remove from S to obtain an acyclic graph.

In particular, cycl(S) = 0 if and only if S is a forest.

Definition 2.1. The Tutte polynomial of a graph G is

T G (x, y) = S subgraph of G (x -1) cc(S)-cc(G) (y -1) cycl(S) , (5)
where cc(S) and cycl(S) respectively denote the number of connected components of S and the cyclomatic number of S.

For example, consider the graph of Figure 3. Let us list all its subgraphs with their contributions to the Tutte polynomial: there are one subgraph with no edge (contribution (x -1) 2 ), four subgraphs with one edge (contribution 4 (x -1)), five acyclic subgraphs with two edges (contribution 5), the subgraph {a, d} (contribution (x -1) (y -1)), four subgraphs with three edges (contribution 4 (y -1)) and the whole graph (contribution (y -1) 2 ). Thus the Tutte polynomial of this graph is (x -1) 2 + 4 (x -1) + 5 + (x -1) (y -1) + 4 (y -1) + (y -1) 2 , which can be rewritten as x 2 + x + x y + y + y 2 . 2.2.2. Properties. One can easily duduce from (5) that if the graph G is the disjoint union of two graphs G = G 1 G 2 , then the Tutte polynomial of G is the product of the two other Tutte polynomials: T G (x, y) = T G1 (x, y) × T G2 (x, y). We can de facto restrict our study to connected graphs. From now, all the graphs G we consider are connected. We also assume that our graphs have at least one edge. (Otherwise, the Tutte polynomial is equal to 1.) Let us recall the relations of induction satisfied by the Tutte polynomial, due to Tutte himself [START_REF] Tutte | A contribution on the theory of chromatic polynomial[END_REF]. Proposition 2.2. Let G be a graph and e be one of its edges. The Tutte polynomial of G satisfies:

T G (x, y) =    T contract(G,e) (x, y) + T delete(G,e) (x, y) if e is standard, x T contract(G,e) (x, y) if e is an isthmus, y T delete(G,e) (x, y) if e is a loop. (6)
Since the Tutte polynomial of a graph with one edge is equal to x or y, the previous proposition implies by induction the following property:

Corollary 2.3. The Tutte polynomial of any graph has non-negative integer coefficients in x and y.

It is natural to ask if a combinatorial interpretation exists for these coefficients. Tutte found in 1954 a characterization of his polynomial in terms of an "activity" based on a total ordering of the edges. Some decades later, Bernardi gave a similar characterization with a notion of activity this time related to an embedding of the graph. The precise definitions will be given in Section 3.

Activities.

Let us formalize the notion of activity. (The following definitions are not conventional, as the activity of a spanning tree usually denotes the number of active edges.)

An activity is a function that maps spanning trees of G on subsets of E(G). We say that an activity ψ is Tutte-descriptive if the Tutte polynomial of G is equal to

T G (x, y) = T spanning tree of G x |I(T )| y |E(T )| , (7)
where

I(T ) = ψ(T ) ∩ T and E(T ) = ψ(T ) ∩ T .
An internal activity (resp. external activity) is a function that maps any spanning tree T of G onto a subset of T (resp. a subset of T ). We say that an internal activity I (resp. external activity E) can be extended into a Tutte-descriptive activity if there exists a Tutte-descriptive activity ψ such that ψ(T ) ∩ T = I(T ) (resp. ψ(T ) ∩ T = E(T )) for any spanning tree T of G.

The objective of this paper is to introduce several families of Tutte-descriptive activities, and to describe a general framework from which every of these activities can be deduced.

Four families of activities

In this section, we introduce four families of activities, one of which is new. All these families are (pairwise) not equivalent, meaning that no family is included in another. We will prove in Section 7 that any of these activities is Tutte-descriptive, or can be extended into Tuttedescriptive activities.

Ordering activity (Tutte)

The first family of activity was defined by Tutte in [START_REF] Tutte | A contribution on the theory of chromatic polynomial[END_REF], as follows.

Consider G a graph. We equip it with a linear ordering on the edge set. An external (resp. internal) edge of a spanning tree T is said to be ordering-active if it is minimal in its fundamental cycle (resp. cocycle). The ordering activity is the function that sends every spanning tree T onto the set of its ordering-active edges. This activity naturally depends on the chosen ordering of the edges.

Example: Consider the graph of Figure 3. The edges are ordered alphabetically, that is to say a < b < c < d. With this ordering, the spanning tree T = {a, c} induces only one internal active edge, a, and no external active edge. Indeed, b is not externally active since its fundamental cycle is {a, b, c}. Similarly, c is not internally active because b belongs to its fundamental cocycle. Tutte established that the ordering activity is always Tutte-descriptive. In particular, the sum (7), where I(T ) and E(T ) denote the sets of internal and external ordering-active edges of a spanning tree T , does not depend on the chosen linear ordering, although the activity clearly does.

Embedding activity (Bernardi)

Bernardi defined in [START_REF] Bernardi | A characterization of the Tutte polynomial via combinatorial embedding[END_REF] other activities that are well adapted to the notion of maps.

We consider M G = (H, σ, α) an embedding of a graph G, that we root on a half-edge denoted by h 0 . To each spanning tree T , we associate a motion function t on the set H of half-edges by setting

t(h) = σ(h) if h is external, σ • α(h) if h is internal. (8)
If the notation is ambiguous, we will write t(h; T ). The motion function characterizes the tour of a spanning tree. In informal terms, a tour is a counterclockwise walk around the tree that follows internal edges and crosses external edges (see Figure 4). Bernardi proved the following result [START_REF] Bernardi | A characterization of the Tutte polynomial via combinatorial embedding[END_REF].

Proposition 3.1. For each spanning tree, the motion function is a cyclic permutation of the half-edges.

Thus, we can define a linear order on the set H of half-edges, called the (M G ,T )-order, by setting

h 0 < t(h 0 ) < t 2 (h 0 ) < • • • < t |H|-1 (h 0 )
, where h 0 is the root of M G . This order can be then transposed on the set of edges: we say that e = {h 1 , h 1 } < e = {h 2 , h 2 } when min(h 1 , h 1 ) < min(h 2 , h 2 ).

Then, an external (resp. internal) edge is said to be (M G , T )-active if it is minimal for the (M G , T )-order in its fundamental cycle (resp. cocycle). The embedding activity is the function that associates with a spanning tree T the set of (M G , T )-active edges of G.

Example: Take the embedded graph from Figure 4, that we will denote M G , rooted on a and equipped with the spanning tree T = {{b, b }, {d, d }}. The motion function for this spanning tree is the cycle (a, b, c, b , d, c , a , d ). So the half-edges are sorted for the (M G , T )-order as follows: a < b < c < b < d < c < a < d . Thus, the (M G , T )-order for the edges is {a, a } < {b, b } < {c, c } < {d, d }. There is one external active edge, {a, a }, and one internal active edge, {b, b }. The edge {c, c } (resp. {d, d }) is not active since {b, b } (resp. {a, a }) is in its fundamental cycle (resp. cocycle).

It was proven by Bernardi that any embedding activity is Tutte-descriptive, whatever the chosen embedding is.

Blossoming activity

We are going to give a new family of activities, named blossoming activities. We first define it for internal edges only. As for any embedding activity, we need beforehand to embed the graph G and root it. We denote by M the resulting map.

Given a spanning forest F , Algorithm 1 outputs a spanning tree denoted τ (F ). Informal description: Starting from the root, we turn counterclockwise around the map. After we walk along an edge, we remove it whenever the deletion of this edge leaves the map connected (i.e. it is not an isthmus) and it is external. We stop the algorithm when every edge has been visited.

Example:

We consider the first embedded graph of Figure 5 with spanning forest F = {d}. The run of Algorithm 1 with this input is illustrated on the same figure. We have τ (F ) = {c, d}. Let us justify the termination of the algorithm. Proposition 3.2. For any spanning forest F , Algorithm 1 with input F stops and outputs a spanning tree.

Proof. Consider a step in the run of Algorithm 1 where the map M is not a tree. Then some edges incident to the face5 that contains the half-edge h in M form a cycle. This cycle contains an external edge because F is acyclic. So the face that contains h includes an external nonisthmus edge. As e takes for successive values in Algorithm 1 the edges of the face incident to h, the edge e will be eventually both external and a non-isthmus edge. At this time, e will be removed from M .

In other terms, while M is not a tree, an edge is deleted. Since M remains connected, M will end as a tree. Then, M has only one face and every edge has been visited by the algorithm.

Remark 1. For those who are familiar with [START_REF] Schaeffer | Bijective census and random generation of Eulerian planar maps with prescribed vertex degrees[END_REF][START_REF] Bouttier | Census of planar maps: from the one-matrix model solution to a combinatorial proof[END_REF], Algorithm 1 is related to the transformation of a map into a blossoming tree. If we do not take into account the so-called buds and leaves, the blossoming tree that corresponds to the map M is exactly τ (∅). Subtler connections exist and are described in the author's PhD [START_REF] Courtiel | Combinatorics of the Tutte polynomial and planar maps[END_REF].

Given a spanning tree T of G, we say that an internal edge e is blossoming-active if

τ (T \e) = T.
The internal blossoming activity is the function that maps a spanning tree T onto the set of its internal blossoming-active edges.

Example. For the first map of Figure 5 with spanning tree T = {c, d}, the only internally blossoming-active edge is c. Indeed, we saw that τ ({d}) = T and we observe that τ ({c}) = {b, c}.

We will see with Proposition 7.6 that the internal blossoming activity can be extended into a Tutte-descriptive activity, for any embedding of the graph. Observe that the blossoming-active edges are not defined in terms of their fundamental cocycles, but such a description exists, as is shown in Corollary 7.7.

Remark 2. Let us give an alternative definition of this activity, based on an assignment of charges, when M is planar6 . A charge is an element from {-1, +1}. Given a spanning tree T of M , we run Algorithm 1 and whenever we delete an edge e, we add a charge -1 to the departure vertex and a charge +1 to the arrival vertex. At the end of the algorithm, there only remains a rooted plane tree, namely T , where each vertex has several charges. Let e be an internal edge. Deleting e splits T into two components. The one which does not contain the root is the subtree corresponding to e. Proposition 3.3. Given any spanning tree, if an internal edge is blossoming-active, then the sum of charges in the corresponding subtree is 0 or 1. If M is planar, then the converse is true. An example is shown in Figure 6. Four charges have been distributed on the plane tree T . If we delete d, the corresponding subtree has two vertices with one charge +1 each, so the charge of the subtree is +2. Hence the edge d is not blossoming-active. On the contrary, if we delete c, the subtree has only one charge +1: the edge c is blossoming-active. We have checked on this example Proposition 3.3: the only internal blossoming-active edge is c.

When M is not planar, the previous property is false. A counterexample is shown in Figure 7. The subtree corresponding to the only internal edge has charge 0 but this edge is not blossoming active. (It will be deleted at the first step of Algorithm 1 if we remove it from the spanning tree.) Consider a graph G. We assume that V (G) = {1, . . . , n} . Moreover, we assume that G does not have multiple edges. This allows us to avoid technical details, which can be easily included if needed. Every edge will be denoted by the pair of integers that corresponds to its endpoints, for example e = {1, 2}.

Given a (not necessarily connected) graph H, Algorithm 2 computes the (greatest-neighbor) DFS forest of H, denoted by F(H).

Informal description: We begin by the least vertex. We proceed to the DFS of the graph H that favors the largest neighbors. Each time we move from a vertex to another, we add the edge that we have followed to the DFS forest. When we have visited all the vertices of a connected component, we reset the process, starting from the least unvisited vertex.

Here we only apply the algorithm to a subgraph H of G. An example is shown in Figure 8: during the DFS of the subgraph on the left, the vertices will be visited in the order 1, 4, 6, 2, 3, 5. The resulting DFS forest is represented on the right. Note that S and F(S) have the same number of connected components.

Given a spanning forest F of G, we say that an external edge is DFS-active if

F (F ∪ {e}) = F.
The external DFS activity is the function that sends every spanning forest onto the set of its external DFS-active edges.

For instance, let us go back the spanning forest F of Figure 8 (right). It has two external DFS-active edges: {1, 2} and {5, 5}. On the contrary, the edge e = {1, 6} is not DFS-active since

F (F ∪ {e}) is equal to {{1, 6} , {6, 4} , {4, 2} , {3, 5}}.
There is a natural question about Algorithm 2: given a spanning forest F of G, can we describe the set of subgraphs S such that F(S) equals F ? The notion of external DFS activity answers to this question. Indeed, for any subgraph S and for any spanning forest F of G, we have

F(S) = F if and only if S ∈ [F, F ∪ E(F )]
, where E(F ) denotes the set of external DFS-active edges (see Subsection 2.1.2 for the definition of intervals).

Let us cite this alternative characterization of the externally DFS-active edges (Lemma 3.2 from [GS96]).

Proposition 3.4. Let F be a spanning forest of G. An external edge e is DFS-active if and only if:

• e is a loop, or • e = {u, v} where v is a descendant 7 of u, and w > v, where w is the child of u on the unique path in F linking u and v. (We also say that (w, v) is an inversion.)

The last case is depicted in Figure 9. 7 that is to say a vertex in the same component of u, visited after u

Gessel and Sagan proved that the Tutte polynomial of G satisfies:

T G (x, y) = F spanning forest of G (x -1) cc(F )-1 y |E(F )| , (9)
where E denotes the external DFS activity. We are going to show that the external DFS activity, restricted to spanning trees, can be extended into a Tutte-descriptive activity (cf. Prop. 7.9).

In the same paper, Gessel and Sagan defined a notion of external activity with respect to NFS (NFS for Neighbors-first search). We will not detail it but this activity also falls within the scope of this work. Also note that a notion of edge activity based on Breadth-First Search is conceivable.

Algorithmic definition of ∆-activity

We are going to introduce a meta-family of Tutte-descriptive activities, named ∆-activities. This family includes all the Tutte-descriptive activities we have seen so far.

The ∆-activities can be defined in several manners. In this section, we are going to describe algorithms that compute such activities.

Decision trees and decision functions

All the families of activities we saw depended on a parameter: linear order for the ordering activities, embedding for the embedding activities... Similarly, the ∆-activities will depend on a object, which is in a certain sense more general, named decision tree.

Consider a graph G. A decision tree is a perfect binary tree 8 ∆ with a labelling V (∆) → E(G) such that along every path starting from the root and ending on a leaf, the labels of the nodes form a permutation of E(G). In particular, the depth of every leaf is |E(G)|. An example of decision tree is shown in Figure 10. A direction denotes either left or right, which we will write and r. Each node of the decision tree bijectively corresponds to a sequence (d 1 , . . . , d k ) of directions with 0 ≤ k < |E(G)|: the root node maps to the empty sequence, its children respectively map to the sequences ( ) and (r), its grand-children map to ( , ), ( , r), (r, ) and (r, r), and so on. If a node n maps to the sequence (d 1 , . . . , d k ), then the label of n will be denoted by ∆(d 1 , . . . , d k ). For instance, given the decision tree of Figure 10, we have ∆(r, ) = b and ∆( , , r) = d. By convention, the left or right child of a leaf in ∆ is the empty node. This function ∆ thus maps every sequence (d 1 , . . . , d k ) of directions to an edge of G such that

∀ i < k ∆(d 1 , . . . , d i ) = ∆(d 1 , . . . , d k ), (10)
for every sequence (d 1 , . . . , d k ) of directions. Such a function is called a decision function.

8 A perfect binary tree is a binary tree in which every node has 0 or 2 children and all leaves are on the same level. Sometimes perfect trees are called full trees.

The decision function and the decision tree are the same object under different forms. Indeed, given a decision function, it is not difficult to label a decision tree accordingly. Therefore, when a formal definition of a decision tree is needed, we could give the decision function instead.

Algorithm

We fix G a connected graph with m edges and ∆ a decision tree for G. Given a subgraph S of G (not necessarily a spanning tree), Algorithm 3 outputs a partition (T ypeSe, T ypeL, T ypeSi, T ypeI) of E(G). In other terms, the algorithm assigns to each edge a type, denoted by S e (for Standard External), L (for Loop), S i (for Standard Internal) or I (for Isthmus). Thus, if an edge belongs to T ypeSe (resp. T ypeL, T ypeSi, T ypeI), we say that this edge has ∆-type S e (resp. L, S i , I) for S. If there is no ambiguity, we simply write type.

Algorithm 3 How types are assigned to the edges. n ← right child of n; end if end for return (T ypeSe, T ypeL, T ypeSi, T ypeI) Informal description. We start from the edge that labels the root of ∆. If this edge is standard external or a loop, we assign it the type S e or L, the edge is deleted and we go to the left subtree of ∆. If this edge is standard internal or an isthmus, we assign the type S i or I, the edge is contracted and we go to the right subtree of ∆. We repeat the process until the graph has no more edge. Figure 11 We say that an edge is ∆-active (or active) for S if it has ∆-type L or I. The ∆-activity is the function denoted by Act that maps each spanning tree onto its set of ∆-active edges. Warning: an edge with type L or I is not necessarily a loop or an isthmus. It is an edge that is a loop or an isthmus at some point in Algorithm 3. Algorithm 3 is a generalization of the matroid resolution algorithm from Gordon and Traldi [GT90] that computes the ordering activity. In Gordon and Traldi's version, the edges (e k ) are considered in a fix order that does not depend on the subgraph. This constitutes a noticeable difference with Algorithm 3 where the sequence (e k ) is given by the decision tree.

Input: S subgraph of G. Output: A partition (T ypeSe, T ypeL, T ypeSi, T ypeI) of E(G). m ← number of edges in G; T ypeSe ← ∅; T ypeL ← ∅; T ypeSi ← ∅; T ypeI ← ∅; n ← root of ∆; H ← G; 5: for k from 1 to m do e k ← label of n; if e k is
A sequence of edges (e 1 , . . . , e m ) and a sequence of types (t 1 , . . . , t m ) can be naturally assigned to each subgraph S, where m is the number of edges in G, where e k is the k-th edge visited by Algorithm 3 and t k is the type of e k . This pair of sequences is called the history of

d(t) = if t = S e or t = L, r if t = S i or t = I.
(12)

Description of the Tutte polynomial with ∆-activity

We are now ready to state the central theorem.

Theorem 4.1. Let G be any connected graph and ∆ a decision tree for G. The ∆-activity is Tutte-descriptive. In other terms, the Tutte polynomial of G is equal to

T G (x, y) = T spanning tree of G x |I(T )| y |E(T )| , (13)
where I(T ) and E(T ) are respectively the sets of internal ∆-active and external ∆-active edges of the spanning tree T .

Observe that this theorem holds for every decision tree ∆, although the notion of ∆-activity depends on the chosen decision tree.

Before giving a proof of this theorem, let us remark that when the subgraph is a spanning tree, the edges of type I/L coincide with the internal/external active edges.

Proposition 4.2. Let G be a connected graph and ∆ a decision tree for G. If the considered subgraph S = T is a spanning tree of G, then each edge of type I is internal and each edge of type L is external.

Proof. It is not difficult to see that at each step of the algorithm, T ∩ H is a spanning tree of H. Thus, when the algorithm assigns to an edge e the type I (resp. L), e is an isthmus (resp. a loop) in H, so it must be inside T (resp. outside T ).

In other terms, for every spanning tree T , the edges of type I are precisely the internal ∆active edges and the edges of type L the external ∆-active edges. Also note that each edge of type S e is external and each edge of type S i is internal, even if the subgraph is not a spanning tree.

Proof of Theorem 4.1. Let T G,∆ be the polynomial

T G,∆ (x, y) = T spanning tree of G x |I(T )| y |E(T )| .
Let us prove by induction on the number of edges that the equality T G = T G,∆ is true for any graph G and decision tree ∆. More precisely, we show that T G,∆ satisfies the same relation of induction as the Tutte polynomial (see Proposition 6).

Assume that G is reduced to a graph with one edge e. Then e is a loop or an isthmus, and ∆ is reduced to a leaf labelled by e. We easily check that T G (x, y) = y = T G,∆ (x, y) when e is a loop and T G (x, y) = x = T G,∆ (x, y) when e is an isthmus. Now assume that G has at least two edges. We denote by n 1 the root node of ∆ and e 1 its label.

Lemma 4.3. Let T be a spanning tree of G. If e 1 is external for T , define the graph G as delete(G, e 1 ) and ∆ as the subtree rooted on the left child of n 1 . If e 1 is internal, define the graph G as contract(G, e 1 ) and ∆ as the subtree rooted on the right child of n 1 . Then the ∆-type in G for T and the ∆ -type in G for T \e 1 of every edge in G are the same.

Proof. After the first iteration of Algorithm 3 with graph G, decision tree ∆ and input T , one can check that the graph H is equal to G , and the node n is the root node of ∆ . (Indeed, by Proposition 4.2, an edge in a spanning tree is external if and only if it has type S e or L. So we go to the left subtree of ∆ at the first iteration if and only if e 1 is external.) These are exactly the values of H and n at the beginning of Algorithm 3 with graph G , decision tree ∆ and input T \e 1 . Therefore, in both cases, the algorithm will evolve in the same way from this point on: the edges will be visited in the same order and the types will be identically assigned.

We study now three cases:

(1) e 1 is a standard edge. Then we can partition the set of spanning trees of G into two disjoint sets: the set of spanning trees not containing the edge e 1 , denoted by T 1 , and the set of spanning trees containing e 1 , denoted by T 2 . Let us consider ∆ 1 (resp. ∆ 2 ) the subtree rooted on the left child (resp. right child) of n 1 .

The map φ : T → delete(T, e 1 ) is a bijection from T 1 to the spanning trees of delete(G, e 1 ). (Actually φ is nothing else than the identity map.) Moreover, for every T ∈ T 1 , the edge e 1 has type S e . So according to Lemma 4.3, the bijection φ preserves the internal and external active edges (for G and ∆ on the one hand, for G and ∆ 1 on the other hand), hence

T delete(G,e1),∆1 = T ∈T1 x |I(T )| y |E(T )| .
Similarly, one can prove that

T contract(G,e1),∆2 = T ∈T2 x |I(T )| y |E(T )| .
But we have T delete(G,e1),∆1 = T delete(G,e1) and T contract(G,e1),∆2 = T contract(G,e1) by the induction hypothesis. So with Proposition 6, we get

T G (x, y) = T delete(G,e1) (x, y) + T contract(G,e1) (x, y) = T ∈T1 x |I(T )| y |E(T )| + T ∈T2 x |I(T )| y |E(T )| = T G,∆ (x, y).
(2) e 1 is an isthmus. Then e 1 must be internal for every spanning tree of G and so the map T → contract(T, e 1 ) is a bijection from the spanning trees of G to the spanning trees of contract(G, e 1 ). Moreover, for each spanning tree T of G, the edge e 1 has ∆-type I because it is an isthmus. Let ∆ denote the subtree of ∆ rooted on the right child of n 1 . By Lemma 4.3, the ∆-type for T and the ∆ -type for contract(T, e 1 ) are identical for every edge different from e 1 . So from the properties above, we have

T G,∆ (x, y) = x T contract(G,e1),∆ (x, y).
We conclude by induction and Proposition 6.

(3) e 1 is a loop. Exactly the dual demonstration of the case (2).

Variants of the algorithm

Algorithm 3 is rather flexible. As stated inside the pseudo-code, it admits variants that lead to the same partition of edges.

Proposition 4.4. Removing line 13 or/and line 23 from Algorithm 3 does not change its output. In other terms, given a subgraph S of G, the types of the edges remain identical if we choose not to delete the edges of type L or/and not to contract the edges of type I.

Proof. When a graph G is obtained by deletions and contractions of some edges from a graph G, we write G G . In this case, note that if e is a loop (resp. an isthmus) in G and an edge in G , then e is still a loop (resp. an isthmus) for G . Let A be the variant of Algorithm 3 where the lines 13 and 23 are missing and A a variant where these lines are potentially present. The graphs H in the algorithms A and A just before the j-th iteration will be respectively denoted by H j and

H j . Given a subgraph S of G, let e 1 → t1 . . . → tm-1 e m → tm (resp. e 1 → t 1 . . . → t m-1 e m → t m
) be the history of S for the algorithm A (resp. A ). Let us prove by induction on k that for each 1 ≤ j ≤ k, we have e j = e j and t j = t j .

Assume that the induction hypothesis is true for k -1. The edges e k and e k are identical since they are equal to ∆(d(t 1 ), . . . , d(t k-1 )) (see Equation ( 11)). Let us prove the equivalence

e k loop in H k ⇔ e k loop in H k .
The left-to-right implication is obvious since H k H k . Conversely, if e k is not a loop in H k , then there exists a cocycle C in H k including e k . Let us show that for every edge x of H k , we have x / ∈ H k ⇒ x / ∈ C, which implies that C is included in H k and so e k is not a loop in H k . Let e be an edge of H k \H k . It must be an edge of the form e j with j < k which has type I or L. So this edge was an isthmus or a loop in H j , hence also in H k since H j H k . Therefore e cannot appear in a non-singleton cocycle of H k , and in particular in C.

Similarly we prove

e k isthmus in

H k ⇔ e k isthmus in H k .
So if e k is respectively a loop, an isthmus, a standard external edge, a standard internal edge in H k , then it will be a loop, an isthmus, a standard external edge, a standard internal edge in

H k ; hence t k = t k .
Each version of Algorithm 3 can be of interest: For implementation, it would be better to perform a minimum number of operations and consequently choose the variant where the edges of type L or I remain untouched. From a theoretical point of view, deleting each edge of type L and contracting each edge of type I can facilitate the proofs. For example, with this version, it is easy to see that e m has necessarily type L or I since at the last iteration e m is the only edge of H, so must be an isthmus or a loop. Moreover, Algorithm 3 can be differently adapted depending on the context. For instance, Algorithm 4 allows us to compute the internal ∆-active edges of a spanning tree, the external active edges being omitted. This algorithm will be useful to connect blossoming activities with ∆-activities.

Algorithm 4 Another way to compute the set of internal active edges. Informal description: The principle is the same as in Algorithm 3, except that the internal edges are never contracted.

Input: T spanning tree of G. Output: A subset IntAct of E(G). m ← number of edges in G; IntAct ← ∅; n ← root of ∆; H ← G for k from 1 to m do e k ← label
Proposition 4.5. For any spanning tree T of G, Algorithm 4 outputs the set of edges of type I.

Proof. On the one hand, we consider the version of Algorithm 3 where the edges of type I are not contracted and where the edges of type L are deleted. Thus, the graph H at the k-th iteration is obtained by contracting all the edges e i of type S i and by deleting all the external edges e i , with i ∈ {1, . . . , k -1} 9 . On the other hand, in Algorithm 4, the graph H at the k-th iteration is obtained by deleting all the external edges of the form e i , with i ∈ {1, . . . , k -1}. So H differs from H at this moment only by some edge contractions (which do not involve e k ). Therefore, e k is an isthmus in H if and only if e k is an isthmus in H. This means that e k belongs to the output of Algorithm 4 if and only if e k has type I.

Edge ordering and ∆-activity

It turns out that we also can define the notion of ∆-activity by using fundamental cycles and cocycles, as Tutte and Bernardi did. This is the purpose of this section.

e 1 < e 2 < • • • < e m .
It corresponds to the visit order of the edges in Algorithm 3. This notion will be especially used for the subgraphs S = T that are spanning trees.

Given a decision tree ∆ and a spanning tree T of a graph G, the (∆, T )-ordering can be easily constructed from ∆ and T : Start with the root node of ∆. If the edge label is external, go down to the left child. If the edge is internal, go down to the right child. Repeat this operation until joining a leaf node. The sequence of the node labels gives the (∆, T )-ordering.

The explanation is simple. It relies on (11) and the fact that for all spanning trees, an edge is external if and only it has type S e or L(see Proposition 4.2).

Example. Consider the graph and the decision tree ∆ from Figure 10, with the spanning tree T = {a, c}. By following the path corresponding to the sequence of directions (r, , ), we can see that the (∆, T )-ordering is equal to c < d < b < a.

Fundamental cycles and cocycles

The following proposition is the first step to prove the link between the ∆-activity and some activities from Section 3. Proposition 5.1. Consider a graph G with decision tree ∆ and a spanning tree T . An external (resp. internal) edge e is ∆-active if and only if it is maximal for the (∆, T )-ordering in its fundamental cycle (resp. cocycle).

Remark. The active edges are here characterized by maximality in their corresponding fundamental cycles/cocycles, and not by minimality as in Tutte's or Bernardi's works. We cannot simply reverse the order so that "maximal" becomes "minimal". Indeed, we would need the reverse order to correspond to a (∆, T )-ordering, which seldom happens (except for the ordering activity). This is related to the notion of tree-compatibility, which is treated in the next subsection.

Before proving this proposition, let us state a lemma that will be used on several times in this paper.

Lemma 5.2. For each subgraph S of G, we have the following properties:

(1) For each edge e of type L, there exists a cycle in G which consists of e and edges of type S i . Moreover, e is maximal in this cycle for the (∆, S)-ordering.

(2) For each edge e of type I, there exists a cocycle of G which consists of e and edges of type S e . Moreover, e is maximal in this cocycle for the (∆, S)-ordering.

Proof. Here we consider the variant of Algorithm 3 where the edges of type I are not contracted and the edges of type L are not deleted.

(1) Suppose that e = e k , i.e. e was visited at the k-th iteration of the algorithm. Then let us prove by a decreasing induction on j ∈ {k, . . . , 1} that the graph H at the j-th iteration contains a path linking the endpoints of e only made of edges of type S i and visited before e. For the base case j = k, e k is a loop, so the empty path matches. Then assume that the induction hypothesis is true for some j ∈ {k, . . . , 2}. The only operation which could ensure that the endpoints of e can be linked with edges of type S i after the (j -1)-th iteration, but not before, is edge contraction. But a contracted edge must have type S i . So, whatever the type of e j-1 is, there will be always, at the (j -1)-th iteration, a path made of edges of type S i and visited before e linking the endpoints of e. So the induction step holds: the resulting path with the edge e forms the expected cycle.

(2) Similar to point (1), in a dual way.

We can now tackle the proof of Proposition 5.1.

Proof of Proposition 5.1. 1. Assume that an external edge e j is maximal in its fundamental cycle C. We use a version of Algorithm 3 where edges of type I are contracted. Except e j , the fundamental cycle C of e j is made of internal edges, so edges with type S i or I. Thus, at the j-th iteration, the edges other than e have been contracted, which implies that e j is a loop. Therefore e j has type L. In other terms, it is an external active edge.

2. Assume that an external edge e j is active, that is to say it has type L. By Lemma 5.2, there exists a cycle C made of e and edges of type S i . Since the edges of type S i are internal, C is the fundamental cycle of e. Lemma 5.2 also claims that e has been visited last in C: it means that e is maximal in C for the (∆, T )-ordering.

The case where e is internal can be processed in the same way.

Order map and tree-compatibility

If we want to prove that a specific activity (for example an embedding activity) is a ∆-activity, we need to define the adequate decision tree. However, building this decision tree can be rather tricky. In this subsection, we are going to give a combinatorial condition that guarantees the existence of such a decision tree.

Fix a graph G. An order map is a map from the set of spanning trees of G onto the set of total orders of E(G) (or equivalently the permutations of E(G)). Given an order map φ and a spanning tree T , we denote by φ k (T ) the k-th smallest edge in this order.

An order map φ is said to be tree-compatible if we can construct a decision tree ∆ φ such that for every spanning tree T , the (∆ φ , T )-ordering corresponds to φ(T ). In other, a tree-compatible order map is such that for each k ∈ {1, . . . , |E(G)|}, the edge e k , defined by Algorithm 3 with input T for some decision tree ∆, is equal to φ k (T ).

Example. Consider the graph from Figure 10 with this order map :

φ : {a, b} → c < b < a < d {a, c} → c < d < b < a {b, c} → c < d < b < a {b, d} → c < b < a < d {c, d} → c < d < a < b .
The order map φ is tree-compatible: if we denote by ∆ φ the decision tree of Figure 10, then we can easily check that φ(T ) and the (∆ φ , T )-ordering are the same for all spanning trees T . We can notice that the decision tree is not unique. For example, the same decision tree fits if we replace the leftmost subtree with three nodes, namely The following theorem gives a characterization of tree-compatible order maps.

Theorem 5.3. An order map φ is tree-compatible if and only if for all spanning trees T and T and for every k ∈ {0, . . . , |E(G)| -1} the implication

T ∩ {φ 1 (T ), . . . , φ k (T )} = T ∩ {φ 1 (T ), . . . , φ k (T )} =⇒ ∀j ∈ {1, . . . , k + 1} φ j (T ) = φ j (T ) (14)
holds.

Note the case k = 0 is significant: it implies that φ 1 (T ) is the same edge for all spanning trees T . Back to the previous example. Consider the order map φ defined by (??) and set T = {a, c} and T = {c, d}. We have φ 1 (T ) = c and c belongs to T and T . So for k = 1, the antecedent of ( 14) holds. Thus the order map coincides one step further: φ 2 (T ) = φ 2 (T ) (= d). But for k = 2, the antecedent of (14) does not hold since φ 2 (T ) = d / ∈ T and d ∈ T : no inferences can be made from this observation.

Proof. Left-to-right implication. Let ∆ be a decision tree and φ be the order map that sends each spanning tree T onto the (∆, T )-ordering. Let us prove by induction on k that (14) is true for all spanning trees T and T . It holds for k = 0 since φ 1 (T ) is for all spanning trees T the label of the root node of ∆ (which is the first edge we visit in Algorithm 3). Assume now that T ∩ {φ 1 (T ), . . . , φ k+1 (T )} = T ∩ {φ 1 (T ), . . . , φ k+1 (T )} .

By the induction hypothesis, (14) holds, hence for all j ∈ {1, . . . , k + 1} we have φ j (T ) = φ j (T ). Moreover, by (11), we have φ k+2 (T ) = ∆(d T 1 , . . . , d T k+1 ), where d T i = when φ i (T ) is external in T and d T i = r when φ i (T ) is internal in T . (Recall that the type an edge e i in a spanning tree is equal to S e or L when e is external, and is equal to S i or I when e is internal.) Of course, it also holds if we replace T by T . But by assumption, for every i ∈ {1, . . . , k + 1}, the edge φ i (T ) is internal in T if and only if φ(T ) is internal in T . Consequently, we have φ k+2 (T ) = φ k+2 (T ).

Right-to-left implication. Let φ be an order map that satisfies (14) for all spanning trees T and T and for every k ∈ {0, . . . , |E(G)| -1}. As indicated in Subsection 4.1, we can define a decision function instead of a decision tree in order to prove that φ is tree-compatible.

(1) Inductive definition of the decision function. Consider a sequence of directions (d 1 , . . . , d k-1 ) with k ∈ {1, . . . , |E(G)|}. We suppose by induction that for i ∈ {1, . . . , k -1} the edge ∆ φ (d 1 , . . . , d i-1 ), denoted by η i , is well defined. Given a spanning tree T and k ∈ {1, . . . , |E(G)|}, we denote by P (T, k) the property

{j ∈ {1, . . . , k -1} | η j ∈ T } = {j ∈ {1, . . . , k -1} | d j = r} .
Always by induction, we assume that for every i ∈ {1, . . . , k -1} if there exists a spanning tree T that satisfies P (T, i), then η i equals φ i (T ). (The base case of the induction is embodied by the case k = 1. Indeed, when k = 1, the set {1, . . . , k -1} is empty : no induction hypothesis is assumed.) If there exists a spanning tree T that satisfies P (T, k), we define ∆ φ (d 1 , . . . , d k-1 ) as φ k (T ). Two points have to be checked : (a) ∆ φ (d 1 , . . . , d k-1 ) is different from η 1 , . . . , η k-1 . For every i ∈ {1, . . . , k -1}, the property P (T, i) holds because P (T, k) holds. So by the induction hypothesis, we have

η i = φ i (T ), which is well different from ∆ φ (d 1 , . . . , d k-1 ) = φ k (T ). (b)
The definition of ∆ φ (d 1 , . . . , d k ) does not depend on the chosen spanning tree. Suppose that there exist two spanning trees T and T such that P (T, k) and P (T , k) hold.

Then {i ∈ {1, . . . , k -1} | η i ∈ T } = {i ∈ {1, . . . , k -1} | η i ∈ T }.
By the induction hypothesis,e have η i = φ i (T ) for all i ∈ {1, . . . , k -1}, hence T ∩{φ 1 (T ), . . . , φ k-1 (T )} = T ∩ {φ 1 (T ), . . . , φ k-1 (T )}. By (14), we have φ k (T ) = φ k (T ).

If there exists no spanning tree T such that P (T, k) is true, we arbitrarily define ∆ φ (d 1 , . . . , d k-1 ) as an edge different from η 1 , . . . , η k-1 . Here there is no importance for the choice of the edge, since the corresponding branch of the decision tree will never be visited.

(2) The (∆ φ , T )-ordering coincides with φ. Let k ∈ {1, . . . , |E(G)|} and T be a spanning tree. By (11), the edge e k (set by Algorithm 3 with decision tree ∆ φ and input T ) equals ∆ φ (d 1 , . . . , d k-1 ), the direction d i being defined for i ∈ {1, . . . , k -1} as:

d i = if e i is external for T, r if e i is internal for T. (15)
Hence,

{i ∈ {1, . . . , k -1} | ∆ φ (d 1 , . . . , d i-1 ) ∈ T } = {i ∈ {1, . . . , k -1} | e i ∈ T } = {i ∈ {1, . . . , k -1} | d i = r} .
So the spanning tree T satisfies P (T, k). By definition of ∆ φ , we have

e k = ∆ φ (d 1 , . . . , d k-1 ) = φ k (T ),
which proves the tree-compatibility of φ.

The following corollary will be helpful to prove that the activities from Section 3 are Tuttedescriptive. Observe that its statement does not involve Algorithm 3.

Corollary 5.4. Let φ be an order map. Assume that φ is tree-compatible, i.e. for all spanning trees T and T and for k ∈ {0, . . . , |E(G)| -1} such that T ∩ {φ 1 (T ), . . . , φ k (T )} = T ∩ {φ 1 (T ), . . . , φ k (T )}, we have φ i (T ) = φ i (T ) for each i ∈ {1, . . . , k + 1}.

The activity that maps any spanning tree T onto the set of edges that are maximal for φ(T ) in their fundamental cocycles/cycles is a ∆-activity. Therefore it is Tutte-descriptive.

Proof. By the definition of tree compatibility, there exists a decision tree ∆ φ such that the (∆ φ , T )-ordering is φ(T ) for every spanning tree T . Furthermore, Proposition 5.1 states that an edge is ∆ φ -active if and only if it is maximal in its fundamental cycle/cocyle for the (∆ φ , T )ordering, that is, φ(T ). Then we conclude thanks to Theorem 4.1.

Partition of the subgraph poset into intervals

Crapo discovered in [START_REF] Crapo | The Tutte polynomial[END_REF] that the ordering activity induces a natural partition of the poset of the subgraphs with some nice properties. Bernardi, Gessel and Sagan also defined a similar partition based on their respective notions of activity. In this section, we prove the universality of this partition by extending it to the ∆-activities.

Introduction on an example

We are going to introduce the different properties of this section throughout an example. Consider G the graph and ∆ the decision tree of Figure 10. The following table lists the types of edges for all subgraphs of G (described by their sets of edges).

Subgraphs

Type We have gathered in each line the subgraphs that share the same partition of edges. We can observe that the set of subgraphs inside any line is a subgraph interval. More particularly, given S and S two subgraphs taken from the same line, S S is only made of active edges (for S and for S ). This will be proved in Proposition 6.1. Furthermore, in each line we can find exactly one spanning tree, indicated in bold. This means that a spanning tree is included in each part of the partition of subgraphs, as stated in Theorem 6.3. Finally, observe that if we put a weight x per edge of type I and a weight y per edge of type L, then by summing over all the lines of the table we get

x 2 + x y + x + y + y 2 ,
which exactly corresponds to the Tutte polynomial of G. This is a consequence of Proposition 6.6. All these properties can be observed on Figure 13.

x -1

x -1

x -1

x -1

y -1 y -1 y -1 y -1 (x -1)(y -1) 1 1 1 1 1 (x -1) 2 (y -1) 2

Equivalence relation

For the rest of the section, we fix G a graph and ∆ a decision tree. Given two subgraphs S and S of G, we say that S and S are equivalent if they share the same history. In this case, we write S ∼ S . This is obviously an equivalence relation. Here are some other characterizations of this relation. Proposition 6.1. Let S and S be two subgraphs of G. Denote by Act(S) the set of active edges of S. The following properties are equivalent:

(i) S ∼ S , (ii) the subgraphs S and S induce the same partition of E(G), (iii) the subgraphs S and S yield the same set of edges with type S e and the same set of edges with type S i , (iv) S S ⊆ Act(S), (v) there exists R ⊆ Act(S) such that S = S R.

Proof. (i) ⇒ (ii) ⇒ (iii). Trivial.

(iii) ⇒ (iv). Let the set of edges with type S i be denoted by J. So we have S = J ∪(S ∩Act(S)) and S = J ∪ (S ∩ Act(S )) since an edge of type S i is always internal and an edge of type S e always external. Thus

S S = (S ∩ Act(S)) (S ∩ Act(S )) ⊆ Act(S) ∪ Act(S ).
But an edge that has neither type S e nor S i is active, so Act(S) = Act(S ) and then S S ⊆ Act(S). (iv) ⇒ (v). Set R = S S . Since the symmetric difference is associative, we have

S R = S (S S ) = (S S) S = S . (v) ⇒ (i): Let e 1 → t1 • • • → tm-1 e m → tm (resp. e 1 → t 1 • • • → t m-1 e m → t m
) be the history of S (resp. S = S R); we are going to prove by induction on k that for each 1 ≤ j ≤ k, we have e j = e j and t j = t j . We assume that the inductive hypothesis is true at the step k -1. Then, by (11), we have e k = ∆(d(t 1 ), . . . , d(t k-1 )) = e k . Let us consider the beginning of the k-th iteration. The graph H has undergone the same transformations whether the input was S or S R. Indeed, the deletions or contractions we have performed are governed by the types of the visited edges, which are identical by the inductive hypothesis. If the edge e k is a loop (resp. an isthmus) in H, then by following the algorithm we get t k = t k = L (resp. t k = t k = I). If e k is standard, then e k is not active for S and so e k / ∈ R. In this case, either e k / ∈ S which implies e k / ∈ S R and t k = t k = S e , or e k ∈ S which implies e k ∈ S R and

t k = t k = S i .
The most interesting implication is probably (ii) ⇔ (v). In particular, it means that removing from S or adding to S an active edge does not change the types of edges, nor a fortiori the set of active edges. This can be also be rewritten in term of subgraph intervals. Corollary 6.2. For any subgraph S, the equivalence class of S is exactly the subgraph interval [S\ Act(S), S ∪ Act(S)].

Indexation of the intervals by spanning trees

Theorem 6.3. Let G be a graph and ∆ a decision tree. Then the set of subgraphs can be partitioned into subgraph intervals indexed by the spanning trees:

2 E(G) = T spanning tree of G [T \I(T ), T ∪ E(T )], ( 16
)
where I(T ) and E(T ) are the sets of internal and external ∆-active edges of the spanning tree T .

Note that Corollary 6.2 tells that each of the intervals [T \I(T ), T ∪ E(T )] constitutes an equivalence class for the relation ∼.

We first prove that every subgraph of G is equivalent to some spanning tree. Lemma 6.4. For every S subgraph of G, the set of edges with type S i or I forms a spanning tree of G equivalent to S.

Proof. Let us denote by T the set of edges with type S i and I. We choose the version of Algorithm 3 where edges of type L are deleted and edges of type I are contracted. Let us prove that T has no cycle and is connected, which exactly means that T is a spanning tree.

1. T has no cycle. Let us assume that T has a cycle C. Consider e k the maximal edge of C for the (∆, S)-ordering. At the k-th iteration of the algorithm, every edge of C is contracted except e k , because C is only made of edges of type S i or I. This implies that e k is a loop, which contradicts the fact that e k has type S i or I.

2. T has only one connected component (This is precisely the dual of the previous point.). Let us assume that T has more than one connected component. This means that there exists a cocycle D of G only made of edges of type S e and L. Consider e k the maximal edge of D for the (∆, S)-ordering. Then at the k-th iteration of the algorithm, every edge of D has been deleted except e k . This implies that e k is a isthmus, which contradicts the fact that e k has type S e or L.

3. T is equivalent to S. We have S T ⊆ Act(S) because the edges of type S i (resp. S e ) for S are internal (resp. external) in both subgraphs. By the implication (iv) ⇒ (i) of Proposition 6.1, this means that S ∼ T .

Proof of Theorem 6.3. Since the equivalence classes for the relation ∼ partition 2 E(G) , we only need to show that there exists a unique spanning tree inside each of these classes. The existence is proved by Lemma 6.4. Now let us show the uniqueness of the spanning tree.

Let T and T be two spanning trees of G such that T ∼ T . Thus they share the same partition of E(G). But remember that edges of type S i are always internal and those of type S e always external. Furthermore, Proposition 4.2 tells that each edge of type I is internal and each edge of type L is external. Therefore T = T .

Some descriptions of the Tutte polynomial

Let us fix a graph G and a decision tree ∆. The following lemma describes how the number of connected components and the cyclomatic number behave when we add/remove an active edge. Lemma 6.5. Let S be a subgraph of G and e an active edge for S. Proposition 6.6. Let T be a spanning tree. We denote by I T the set of the subgraphs equivalent to T . Then

S∈I T (x -1) cc(S)-1 (y -1) cycl(S) = x |I(T )| y |E(T )| , ( 17
)
where I(T ) (resp. E(T )) denotes the set of internal (resp. external) ∆-active edges of T .

Proof. By Corollary 6.2 the interval I T is the set of subgraphs of the form (T \R i ) ∪ R e , where R i ⊆ I(T ) and R e ⊆ E(T ). In other terms, each subgraph of I T can be obtained by deleting from T some edges of type I one by one, then adding to T some edges of type L. Thus, by repeated applications of Lemma 6.5, given S = (T \R i ) ∪ R e ∈ I T , the number cc(S) is equal to cc(T )

+ |R i | = |R i | + 1 and cycl(S) is equal to cycl(T ) + |R e | = |R e |.
The formula (17) then derives from the identity (X + 1)

|A| (Y + 1) |B| = S A ⊆A S B ⊆B X |S A | Y |S B | .
Remark. Theorem 4.1 can be easily deduced from the previous proposition. Indeed, the formula (13) can be obtained by summing (17) over all spanning trees T . (Remember that the intervals I T form a partition of the subgraph set -see Theorem 6.3.)

We can adapt the previous reasoning to obtain more descriptions of the Tutte polynomial.

Proposition 6.7. Given any decision tree ∆, the Tutte polynomial of G admits the three following descriptions:

T G (x, y) = F spanning forest of G (x -1) cc(F )-1 y (F ) , (18)
T G (x, y) = K connected subgraph of G x i(K) (y -1) cycl(K) , (19)
T G (x, y) = S spanning subgraph of G x 2 i(S) y 2 (S) , (20)
where i(S) (resp. (S)) denotes the number of edges with type I (resp. L) for a subgraph S.

These three descriptions can be also found in [START_REF] Gordon | Generalized activities and the Tutte polynomial[END_REF], but in the specific case of ordering activity.

Proof. Formula (18). Let T be a spanning tree and I T the set of the subgraphs equivalent to T . Looking back on the proof of Proposition 6.6, we see that the spanning forests of I T are of the form T \R i with R i ⊆ I(T ). So every subgraph of I T can be written as F ∪ R e , where F is a spanning forest of I T and R e ⊆ E(T ). By Proposition 6.1, the set E(T ), which consists of edges with type L for T , equals L(F ) for any forest F in I T , where L(F ) denotes the set of edges with type L for F . Hence, we have

I T = F spanning forest of I T [F, F ∪ L(F )] .
As the intervals I T partition the set of subgraphs (see Theorem 6.3), we deduce:

2 E(G) = F spanning forest of G [F, F ∪ L(F )]. (21)
A subgraph S ∈ [F, F ∪ L(F )] is of the form F ∪ R, with R ⊆ L(F ), and thanks to Lemma 6.5 satisfies cc(S) = cc(F ) and cycl(S) = cycl(F ) + |R| = |R|. So we get

S∈[F,F ∪L(F )] (x -1) cc(S)-1 (y -1) cycl(S) = (x -1) cc(F )-1 y |L(F )| .
The formula (18) results from the previous equation and (21).

Formula (19). Similar to the previous point, in a dual way.

Formula (20). Let T be a spanning tree. By Proposition 6.1, each subgraph S equivalent to T satisfies i(S) = i(T ) and (S) = (T ). So the sum S∼T

x 2 i(S) y 2 (S) equals x 2 i(T ) y 2 (T )
times the number of subgraphs equivalent to T , namely 2 | Act(T )| = 2 i(T )+ (T ) . So the previous sum is equal to x i(T ) y (T ) . Summing over all spanning tree T , we obtain formula (20).

Back to the earlier activities

It is time to show that each activity defined at Section 3 is a ∆-activity. In this way, we prove that all these activities are Tutte-descriptive. The key tools for this section are Theorem 5.3 and Corollary 5.4.

Ordering activity

Let G be a graph and consider a linear order < ord :

1 < 2 < • • • < m , where E(G) = { 1 , . . . , m }. Define the decision function ∆ ord by setting ∆ ord (d 1 , . . . , d k ) = m-k (22)
for every sequence of directions (d 1 , . . . , d k ) with k < m.

Proposition 7.1. The ordering activity is equal to the ∆ φ -activity. Therefore it is Tuttedescriptive.

We recall that the ordering activities (also called Tutte's activities) have been introduced in Subsection 3.1.

Proof. Fix a spanning tree T . It is straightforward to see from the definition of ∆ ord that m < • • • < 1 for the (∆ ord , T )-order. In other terms, the (∆ ord , T )-order is inverse to < ord . So by Proposition 5.1, an edge is ordering-active if and only if it is ∆ ord -active. We conclude thanks to Theorem 4.1, applied to the decision function ∆ ord .

Remark. Alternatively, we could have also used Corollary 5.4 with constant order map T → > ord .

Example. The decision tree associated to the graph from Figure 3

Embedding activity

Let G be a graph. We want to express the embedding activities (see Subsection 3.2 for the definition) as ∆-activities and thus give an alternative proof of Theorem 7 from [START_REF] Bernardi | A characterization of the Tutte polynomial via combinatorial embedding[END_REF].

Proposition 7.2. For any embedding M G of the graph G, the embedding activity is a ∆-activity and so a Tutte-descriptive activity.

Example. Let M and ∆ be the map and the decision tree of Figure 15. Consider T = {b, d}. The (M, T )-ordering10 is a < b < c < d. So the set of (M, T )-active edge is {a, b}. The (∆, T )ordering is d < a < c < b, so the set of ∆-active edges for T is as well {a, b}. We can check that the two sets of active edges coincide (even if the two orderings do not look related). The proof is in two steps, embodied in two lemmas. The first lemma uses tree-compatibility via Corollary 5.4. Lemma 7.3. For each embedding M G of a graph G, the activity that maps any spanning tree T onto the set of edges that are maximal for the (M G ,T )-order in their fundamental cycles/cocycles is a ∆-activity and so Tutte-descriptive.

Proof. It suffices to prove that the order map that sends a spanning tree T of G onto the (M G , T )-order satisfies the hypothesis of Corollary 5.4.

For any spanning tree T , we denote by φ i (T ) (resp. h i (T )) the i-th smallest edge (resp. half-edge) for the (M G , T )-ordering, namely the edge (resp. half-edge) which is visited in i-th position during the tour of the tree T . We consider T and T two spanning trees of G and k an integer from {0, . . . , |E(G)| -1} such that

T ∩ {φ 1 (T ), . . . , φ k (T )} = T ∩ {φ 1 (T ), . . . , φ k (T )} . (23)
Moreover, let be the integer in {1, . . . , 2|E(G)|} such that h (T ) is the smallest half-edge of φ k+1 (T ). We want to show that φ i (T ) = φ i (T ) for each i ∈ {1, . . . , k + 1}.

Let us prove by recurrence on j ∈ {1, . . . , } that h j (T ) = h j (T ). For j = 1, the halfedges h 1 (T ) and h 1 (T ) are both equal to the root half-edge of M G . Now assume that for some j ∈ {1, . . . , -1} we have h j (T ) = h j (T ). Let φ i (T ) be the edge that corresponds to h j (T ). The edge φ i (T ) belongs to {φ 1 (T ), . . . , φ k (T )} since we have h j (T ) < h (T ) for the (M G , T )-ordering. So the equivalence φ i (T ) internal for T ⇔ φ i (T ) internal for T , that results from (23), holds. Thus, we have t(h j (T ); T ) = t(h j (T ); T ) (let us recall that t(.; T ) denotes the motion function of the spanning tree T , see Subsection 3.2), that is h j+1 (T ) = h j+1 (T ), which proves the recurrence.

We have shown that whether we consider the tour of T or the tour of T , the first visited half-edges are h 1 (T ), . . . , h (T ) in this order. Consequently, the k + 1 first visited edges are identical in both cases, namely φ 1 (T ), . . . , φ k (T ), φ k+1 (T ) in this order. This means that for every i ∈ {1, . . . , k + 1} we have φ i (T ) = φ i (T ).

Despite the similarities with embedding activities, the previous lemma is not sufficient to recover Bernardi's activity, for which an active edge is minimal in its fundamental cycle/cocycle rather than maximal.

We could then have the idea to adapt the previous proof by considering the order map that sends each spanning tree T onto the reversed (M G ,T )-ordering. But a problem occurs: this order map is not tree-compatible 11 .

We could also have the seemingly desperate idea to "reverse" the map instead of the (M G ,T )ordering. For example, consider the rooted maps M and M equipped with the spanning tree T of Figure 16 Figure 16. A map M with a spanning tree T and its mirror map M .

Lemma 7.4. Consider any embedding M G = (H, σ, α) of the graph G rooted on a half-edge a, and denote by M # G the mirror map of M G , that is to say the map (H, σ -1 , α) rooted on the half-edge σ -1 (a).

For any spanning tree T , an internal (resp. external) edge is (M G , T )-active if and only if it is maximal in its fundamental cocycle (resp. cycle) for the (M # G , T )-ordering.

This lemma shows that if we change "minimal" by "maximal" in the definition of the embedding activity, we obtain a strictly equivalent notion (and maybe more natural).

Proof. Fix T a spanning tree. We denote by t the motion function corresponding to M G and T , and by t the motion function corresponding to M # G and T . 1. Let us prove that an edge {h, h } is smaller than {g, g } for the (M # G , T )-ordering if and only if we have max(g, g ) < max(h, h ) for the (M G , T )-ordering. Let {g, g } be an edge and m 11 Indeed, when an order map φ is tree-compatible, the minimal edge for φ(T ) is the same for all spanning trees T , which is obviously not the case here.

12 If we formally remove the primes in these two orderings, we will observe a strange phenomenon: the two orderings are reverse! An explanation is implicitly given in the proof of Lemma 7.4.

the number of edges. Since t is a cyclic permutation of the set of half-edges (see Lemma 3.1), there exist k and in {0, . . . , 2m -1} such g = t k (σ -1 (a)) and g = t (σ -1 (a)). Moreover, it is easy to see from the algebraic definition of the motion function that t = σ -1 • t -1 • σ and that σ -1 (t(ĝ)) ∈ {ĝ, α(ĝ)} for every half-edge ĝ. Hence,

g = t k (σ -1 (a)) = σ -1 (t -k (a)) = σ -1 (t 2m-k (a)) ∈ t 2m-k-1 (a), α(t 2m-k-1 (a)) .
Similarly, we have g ∈ t 2m--1 (a), α(t 2m--1 (a)) . But g and g belong to the same edge, so {g, g } = t 2m-k-1 (a), α(t 2m-k-1 (a)) = t 2m--1 (a), α(t 2m--1 (a))

and since k = (we have g = g ), we deduce that {g, g } = t 2m-k-1 (a), t 2m--1 (a) .

Thus, the following two equalities hold:

min(g, g ) = min t k (σ -1 (a)), t (σ -1 (a)) = t min(k, ) (σ -1 (a)),
where the min concern the (M # G , T )-ordering, and max(g, g ) = max t 2m-k-1 (a), t 2m--1 (a) = t 2m-min(k, )-1 (a), where the max concern the (M # G , T )-ordering, Let {h, h } be an edge different from {g, g } with h = t i (σ -1 (a)) and h = t j (σ -1 (a)). Using the above equalities, there is equivalence between the following statements:

{h, h } < {g, g } for the (M # G , T )-ordering, ⇔ min(h, h ) < min(g, g ) for the (M # G , T )-ordering, ⇔ min(i, j) < min(k, ) ⇔ 2m -min(k, ) -1 < 2m -min(i, j) -1 ⇔ max(g, g ) < max(h, h )
for the (M G , T )-ordering.

2. Let {g, g } be an external (resp. internal) edge and {h, h } an edge in the fundamental cycle (resp. cocycle) of {g, g } with g < g , h < h and g < h, where < denotes from now on the (M G , T )-ordering. Let us show that g < h .

Using Lemma 4 from [START_REF] Bernardi | A characterization of the Tutte polynomial via combinatorial embedding[END_REF], it is not hard to see that for every spanning tree T , deleting an external edge or contracting an internal edge of M G does not change the (M G , T )-ordering between the remaining half-edges. This is why we can restrict the proof of this point to the case where E(G) = {{g, g }, {h, h }}. As it must contain a cycle with 2 edges or a cocycle with 2 edges, G must consist of two vertices linked by {g, g } and {h, h }. Since {g, g } < {h, h }, the root of the map is g. The only two possibilities for (G, T ) are depicted in Figure 17. Thus, we must have in both cases t = (g, h, g , h ). Therefore g < h . If we assume g < g and h < h , then g < h. By point 2, we have g < h . So by point 1, {g, g } is greater than {h, h } for the (M # G , T )-ordering. This being true for all {h, h }, the edge {g, g } is maximal for the (M # G , T )-ordering inside C. 4. Conversely, fix an edge {g, g } that is maximal for the (M # G , T )-ordering in its fundamental cycle/cocycle C, with g < g . For any other edge {h, h } in C with h < h , we have g < h by point 1. By contraposition of point 2, we have g < h. This means that inside its fundamental cycle/cocycle, {g, g } is minimal for the (M G , T )-ordering, and thus (M G , T )-active.

Finally, the combination of the two previous lemmas gives a proof of Proposition 7.2, since M # G is an embedding of the graph G.

Blossoming activity

Now we are going to deal with the blossoming activity of Subsection 3.3. We fix an embedding M of G. We begin by a lemma (with a ∆-activity flavour) establishing another characterization of internal blossoming-active edges.

Lemma 7.5. For any spanning tree T of G, an internal edge e is blossoming-active if and only if e is an isthmus of M when it is visited for the first time during the computation of τ (T ) (cf. Algorithm 1).

Proof. Let us compare the executions of Algorithm 1 with inputs T and T \e. Before the first visit of e, the map M is the same. At this point, there are two possibilities for e.

If e is not an isthmus in M , then e will be deleted when the input is T \e. But when the input is T , the edge e will be never deleted since it is internal. So e / ∈ τ (T \e) and e ∈ τ (T ). Thus τ (T \e) = τ (T ): the edge e is not blossoming-active.

If e is an isthmus in M , then e will not be deleted in both cases, and this for the rest of the run. Each other edge having the same status internal/external for the two inputs, we will have τ (T \e) = τ (T ): the edge e is blossoming-active.

We can now prove that our internal edge activity can be extended into a Tutte-descriptive activity.

Proposition 7.6. For any embedding of the graph G, the internal blossoming activity can be extended into a ∆-activity and so a Tutte-descriptive activity.

Example. Consider the map from Figure 5. A suitable decision tree ∆ is shown in Figure 18. For instance, consider the spanning tree T = {c, d}. The (∆, T )-ordering is a < d < b < c and the only internal active edge is c, as for the blossoming activity. In Algorithm 1, only the status (external, internal, isthmus) of e in M at each iteration has an influence on the next values of e, h and M . But before the visit of φ k+1 (T ), the statuses of e are the same in T and in T , since T ∩ {φ 1 (T ), . . . , φ k (T )} = T ∩ {φ 1 (T ), . . . , φ k (T )}. So we have φ i (T ) = φ i (T ) for every i ∈ {1, . . . , k + 1}.

By Theorem 5.3, the order map φ is tree-compatible, meaning that we can construct a decision tree ∆ φ such that the (∆ φ , T )-ordering coincides with φ(T ). In other terms, the edges are visited in the same order in Algorithm 1 and in Algorithm 3 (with decision tree ∆ φ ).

By Theorem 4.1, the activity that sends a spanning tree onto the set of its ∆ φ -active edges is Tutte-descriptive. Let us show that it extends the internal blossoming activity. Algorithm 4, when executed on a spanning tree T with decision tree ∆ φ , outputs the set of edges that are isthmuses at the time of their first visit in Algorithm 1. By Proposition 4.5, this is the set of internal ∆ φ -active edges. But by the previous lemma, this coincides also with the set of internal blossoming-active edges.

This proof allows us to give a natural definition of the complete blossoming activity: an external edge for a spanning tree T is blossoming-active if it is ∆ φ -active, where ∆ φ is any decision tree compatible with the order map φ defined in the previous proof. The ∆ φ -active edges are uniquely determined, although ∆ φ is not. Indeed, we can give an intrinsic characterization of the (complete) blossoming activity, like the following one.

Corollary 7.7. Given any spanning tree T , an edge is blossoming-active if and only if it has been visited last in its fundamental cycle/cocycle during the run of Algorithm 1 with input T .

Proof. By definition of ∆ φ , the (∆ φ , T )-ordering corresponds to the order of first visit during the run of Algorithm 1 with input T . We conclude using Proposition 5.1. Proof. Given the spanning forest F , the edges we delete in Algorithm 1 are the external edges that are not isthmuses at the time of their first visit. They are precisely the edges of ∆ φtype S e or L for F . Thus, τ (F ) corresponds to the set of edges of type S i or I for F . So by Lemma 6.4, the spanning tree τ (F ) is equivalent to F . By Corollary 6.2, we have then F ∈ [τ (F )\I(τ (F )), τ (F )∪E(τ (F ))], where E is the external blossoming activity. So, by Theorem 6.3, we have F ∈ [T \I(T ), T ∪ E(T )] if and only if T = τ (F ). But the restriction of the interval [T \I(T ), T ∪ E(T )] to the spanning forests of G is [T \I(T ), T ]: indeed, Lemma 6.5 states that a subgraph with an internal edge of type L has at least a cycle.

DFS activity

We end this section with DFS activity defined in Subsection 3.4. Let us recall that we now consider a graph G without multiple edges.

Proposition 7.9. For any labelling of V (G) with integers 1, 2, . . . , |V (G)|, the external DFSactivity restricted to spanning trees can be extended into a ∆-activity and so a Tutte-descriptive activity.

Example. We show in Figure 19 a graph with a decision tree ∆ inducing the DFS activity. For instance, consider the spanning tree T = {a, c, e}. The (∆, T )-ordering is b < a < c < e < d, so the only external ∆-active edge is d. One can check that d is also the only external DFS-active edge.

Proof. The principle of the proof can be detailed as follows: • we define an order map φ that is related to the visit order in the (greatest-neighbor) DFS, which is described by Algorithm 2 • we prove that φ is tree-compatible by checking the hypotheses of Corollary 5.4, • we show that the external DFS-activity can be described in terms of maximality in φ.

We would want to match an order map φ with the visit order in Algorithm 2. But this algorithm only considers the internal edges while we also need to order the external edges to define an order map. That is why we need to enrich Algorithm 2 to take into account external edges. The result is Algorithm 5.

Algorithm 5 The order map for DFS activity

Input: H spanning subgraph of G. Output: A total ordering of E(G) given by the edges φ 1 (H), φ 2 (H), . . . , φ |E(G)| (H) in this order. F(H) ← ∅; j ← 0; while there is a unvisited vertex do mark the least unvisited vertex of G as visited;

5:

while there is a visited vertex with unvisited incident edges do In this algorithm "incident" means "incident in G" (not in H). v ← the most recently visited such vertex; while v has an unvisited incident edge do u ← the greatest neighbor of v linked in G by an unvisited edge;

(H) < φ 2 (H) < • • • < φ |E(G)| (H);
Informal description. The input is a subgraph H of G. As in Algorithm 2, we begin by the least vertex. We proceed to the DFS of the graph G that favors the largest neighbors with an extra rule: when we visit an external edge (for H), we do not go through it, we come back to the original vertex as if this edge had never existed. Moreover, the visited edges (internal and external) are marked so that we visit them only once each. The rest of the algorithm is exactly as Algorithm 2. The output is the visit order of the edges, denoted by φ(H), instead of the DFS forest. The changes between Algorithm 2 and 5 are indicated in gray.

Remark. In this proof, only connected subgraphs are important. We could have simplified Algorithm 5 with a restriction of the input to connected subgraphs, but it could have interfered with understanding.

Example. A run of Algorithm 5 is depicted in Figure 20. The resulting order is b < a < c < e < d. Let us denote by φ(H) the result of Algorithm 5 for a subgraph H. One can straightforwardly see that the restriction of φ to the spanning trees satisfies the hypotheses of Corollary 5.4: indeed, the only influence of the input lies in Line 13, where we test if the successive values of φ j (T ) belong to T or not.

Let T be a spanning tree and e an external edge. Let us prove that e is DFS-active if and only if e is maximal for φ(T ) in its fundamental cycle C. If we manage to do so, we use Corollary 5.4 and the proof is ended. a. Assume that e is maximal in C. Since the only difference between T and T ∪ e is e (!), the executions in Algorithm 5 with input T and T ∪ e are strictly identical until the visit of e.

In particular, at this moment, as every edge in C other than e has been visited and belongs the DFS forest of T (because internal), both endpoints of e are visited. Since Algorithm 5 is an enriched version of Algorithm 2, the endpoints of e are also visited just before the first visit of e for Algorithm 2 with input T ∪ e. We never add to a DFS forest an edge whose both endpoints are marked, hence e / ∈ F(T ∪ e). But F(T ∪ e) is a spanning tree included in T ∪ e. So we must have F(T ∪ e) = T , which means that e is DFS-active. b. Observe that for any spanning tree T , an external edge ê is maximal for φ( T ) in its fundamental cycle in T if and only if ê is maximal for φ( T ∪ ê) in its fundamental cycle in T . Indeed, the executions in Algorithm 5 with input T and T ∪ ê are the same until the visit of ê. In particular, the set of edges visited before ê are identical. c. Assume that e is not maximal in C for φ(T ). By point b, the edge e is not maximal in C for φ(T ∪ e). Let e be the maximal edge in C for φ(T ∪ e) and denote by T the spanning tree (T ∪ e)\e . By point b, e is maximal in C for φ(T ). Then, by point a, it means that e is DFS-active for T . Hence F(T ∪ e) = F(T ∪ e ) = T = T, the edge e is not DFS-active.

Let us conclude this section by some remarks. We have just proved that the restriction of the external DFS activity to spanning trees can be extended into a Tutte-descriptive activity. But in the light of the equations ( 9) and (18), a question is looming: does there exist a decision tree ∆ such that for all spanning forest (not necessarily spanning trees) the external DFS-active edges coincide with the edges with ∆-type L? The answer is generally negative: consider for instance the graph 1 2 3 5 4 . The only external DFS-active edge for the spanning forest {{2, 4} , {4, 5} , {3, 5}} is {2, 3}. But one can check by inspection that this edge is never DFSactive for any spanning tree. This cannot occur with ∆-activities since every subgraph shares the same partition into types as some spanning tree.

However, with some slight modifications of the definition of DFS activity, we can ensure that the correspondance between DFS-active edges and edges with type L is effective. For this, without proving it, we just have to change the input of Algorithm 2 -taking subgraphs of G instead of general graphs -and choose a more convenient vertex v at Line 3 13 . This new definition does not change the results of Gessel and Sagan about the DFS activity [START_REF] Gessel | The Tutte polynomial of a graph, depth-first search, and simplicial complex partitions[END_REF], like Proposition 3.4. Furthermore, the external DFS activity can derive from another notion of ∆-activity, named ∆-forest activity. This will be the subject of Section 8.2.

Final comments

In this section, we make a few comments about ∆-activity and mention some prospects.

Generalization to matroids

The generalization of the ∆-activity to the matroids is rather immediate. Indeed, as the notions of contraction, deletion, cycle, cocycle, isthmus, loop also exist in the world of matroids, the ∆-activity can be defined for matroids verbatim (except we no longer speak about "edges" but more generally about "elements"). Moreover, it is not difficult to check that all the results from Sections 4, 5 and 6 hold in the same manner. Let us add to this a property of duality, the proof of which is rather straighforward: Proposition 8.1. Let M and M * be two dual matroids and ∆ a decision tree. We define the decision tree ∆ # as the mirror of ∆ 14 . Given any subset S of M , an edge is ∆-active for S in M if and only if it is ∆ # -active for S in M * .

Remark. We have not introduced the ∆-activities directly on matroids because the notions of activities that we wanted to unify are more based on graphs than matroids. Moreover, I think that everyone who is familiar with matroids can generalize the notion of ∆-activity without any difficulty. But the converse is not particularly true: those who are used to study the Tutte polynomial on graphs (or maps) could have been discouraged if this part was written in terms of matroids. 13 Let us describe in a few words how to modify Line 3 from Algorithm 2. If it is the first iteration, meaning that no vertex has been visited yet, we choose v as the least vertex. If some vertices have been visited, we consider ∆ φ the decision tree induced by Corollary 5.4 and order map φ, output of Algorithm 5 (see proof of Proposition 7.9). Then we run Algorithm 3 with the same subgraph and with decision tree ∆ φ . We consider the edge of type I with a visited endpoint and an unvisited endpoint that was visited first. The new vertex v is the unvisited endpoint of this edge.

14 In term of decision functions, it means that ∆ # (d 1 , . . . , d k ) = ∆(d 1 , . . . , d k ), where = r and r = .

Forest activities

The example of DFS activity suggests that a broader notion of external activity can be adapted for spanning forests. This is the topic of this subsection. For the purpose of brevity, no proof will be given, but they can be easily adapted from the rest of this paper.

Let G be a graph. A forest activity is a function that maps a spanning forest F onto a subset of G(F ), where G(F ) is the set of external edges e such that F ∪ e has a cycle. Every such edge has a fundamental cycle, which is the unique cycle included in F ∪ e. A forest activity is Tutte-descriptive if the Tutte polynomial of G equals

T G (x, y) = F spanning forest of G x cc(F )-1 y | (F )| . ( 24
)
The external DFS activity is an example of Tutte-descriptive forest activity (see Equation 9).

Consider now a decision tree ∆. Given any subgraph S, Algorithm 6 outputs a subset (S) of edges, called the set of ∆-forest active edges of S. n ← left child of n; end if end for return (S) Informal description. We start from the edge that labels the root of ∆. If this edge is external or a loop, we go to the left subtree of ∆. If this edge is internal and not a loop, the edge is contracted and we go to the right subtree of ∆. We repeat the process until the graph has no more edge. An external edge is ∆-forest active if it is a loop when it is visited. Figure 11 illustrates this description. We can prove that the function that maps a spanning forest F onto its set of ∆-forest active edges is a Tutte-descriptive forest activity. We call it the ∆-forest activity. For any decision tree ∆ the following properties are also true.

• Let F be a spanning forest. An edge e is ∆-forest active if and only if e is an external edge such that F ∪ e has a cycle and e is maximal in its fundamental cycle for the ordering induced by the edges e k in Algorithm 6. • The poset of subgraphs can be partitioned into subgraph intervals indexed by the spanning forests:

2 E(G) = F spanning forest of G [F, F ∪ (F )],
where denotes the ∆-forest activity. • There exists a decision tree ∆ such that the external DFS activity coincides with the ∆ -forest activity.

We could also define a dual notion of internal activity, with similar properties, based on connected subgraphs.

Strongly Tutte-descriptive activities

It is illusory to want to characterize every Tutte-descriptive activity. Most of them does not have any nice structure -for example, an isthmus or a loop could be non active. We thereby need to add a constraint in order to narrow the set of interesting activities.

An activity ψ is said to be strongly Tutte-descriptive if it is Tutte-descriptive15 and it induces a partition of the subgraphs:

2 E(G) = T spanning tree of G [T \ψ(T ), T ∪ ψ(T )] (25)
(this equation is equivalent to (16)). We conjecture that the strongly Tutte-descriptive activities are precisely the ∆-activities.

Conjecture 1. For any graph G, an activity ψ is strongly Tutte-descriptive if and only if there exists a decision tree ∆ such that ψ equals the ∆-activity.

The right-to-left implication has been already proven in this paper through Theorem 4.1 and Theorem 6.3. Furthermore, the above conjecture is equivalent to the following one.

Conjecture 2. Let G be a graph with a standard edge and ψ a strongly Tutte-descriptive activity. There exists an edge e of G such that for every spanning tree T , the edge e does not belong to ψ(T ) (i.e. e is active in no spanning tree).

I will be very glad if a proof or a counter-example is found for this conjecture. Here is a proof of the equivalence between the two conjectures.

Proof. Conjecture 1 implies Conjecture 2. Let us prove by induction on the total number of loops and isthmuses of G that for each decision tree ∆, there exists an edge e that is ∆-active in no spanning tree. Let e be the label of the root node of ∆. If e is standard (which happens when there is no isthmus nor loop in G), then e cannot have type L nor I. Consequently, e cannot be ∆-active for any spanning tree. If e is a loop (resp. an isthmus), then e is external (resp. internal) in any spanning tree. So it will be deleted (resp. contracted) in the first step in Algorithm 3 and we go to the left part (resp. right part) of ∆, denoted by ∆ . We then use the induction hypothesis with graph delete(G, e) (resp. contract(G, e)) and decision tree ∆ .

Conjecture 2 implies Conjecture 1. Let ψ be a strongly Tutte-descriptive activity for a graph G. First we have to prove that loops and isthmuses are active for any spanning tree T . Let e be a loop and set S = T ∪ e. By definition of a strongly Tutte-descriptive activity, there exists a spanning tree T such that S ∈ [T \ψ(T ), T ∪ ψ(T )]. Since e is a loop, we have e / ∈ T . But e ∈ S, hence e ∈ ψ(T ). The spanning tree T = S\e must thereby belong to [T \ψ(T ), T ∪ ψ(T )]. But the union in (25) is disjoint, so T = T . Thus e ∈ ψ(T ). We can similarly show that every isthmus belongs to ψ(T ). Now let us build by induction (on the number of edges) a decision tree ∆ such that ψ equals the ∆-activity. If G has standard edges, we label the root of ∆ by an edge e that is active in no spanning tree. (We have used Conjecture 2.) The edge e is standard since it is not active for ψ. So e cannot be ∆-active since it labels the root node of ∆. Then we build a strongly Tutte-descriptive activity ψ c for contract(G, e) by setting ψ c (T ) = ψ(T ∪ e) and a strongly Tutte-descriptive activity ψ d for delete(G, e) by setting ψ d (T ) = ψ(T ). (The proof that these activities are indeed strongly Tutte-descriptive are left to the reader.) By induction, there exist two decision trees ∆ c et ∆ d that correspond to ψ c and ψ d . The left subtree of ∆ is taken to be ∆ d and the right one is taken to be ∆ c . This ∆-activity is equal to ψ since every spanning tree T with e external satisfies ψ(T ) = ψ d (T ) and every spanning tree T with e internal satisfies φ(T ) = ψ c (T \e).

There remains the case (which includes the base case of the induction) where G has only loops and isthmuses. However, as any loop and any isthmus is active for ψ, any decision tree fits.

Figure 1 .

 1 Figure 1. A graph equipped with a spanning tree in bold edges

Figure 2 .

 2 Figure 2. Two different embeddings of the same graph.

  shows two different maps with the same underlying graph. The left map corresponds to (H, σ, α) and the right map to (H, σ , α), where H = {a, a , b, b , c, c , d, d }, σ = (a b d)(a d c )(b c), σ = (a b d)(a c d )(b c) and α = (a a )(b b )(c c )(d d ) (the permutations are written in cyclic notation). Each of these maps is rooted on the half-edge a.

4

  Even for a contraction. Take for instance the map (H, σ, α) with H = {a, a , b, b , c, c }, σ = (a b a c)(b )(c ) and α = (a a )(b b )(c c ). If e = {a, a }, we can check that σc = (b)(b )(c)(c ).

Figure 3 .

 3 Figure 3. A graph with spanning tree T = {a, c}.

Figure 4 .

 4 Figure 4. Example of an embedded graph equipped with a spanning tree and representation of the corresponding tour.

Figure 5 .

 5 Figure 5. Run of Algorithm 1 with spanning forest F = {d}.

Figure 6 .

 6 Figure 6. Run of the version with charges of Algorithm 1 with spanning tree T = {c, d}.

Figure 7 .

 7 Figure 7. A counterexample for Proposition 3.3 with M not planar.

Figure 8 .

 8 Figure 8. Left: a subgraph indicated by thick green edges. Right: its DFS forest.

Figure 9 .

 9 Figure 9. A non-loop DFS-active external edge.

Figure 10 .

 10 Figure 10. Example of a graph and an associated decision tree.

  illustrates this description.

Figure 11 .

 11 Figure 11. Diagram representing a step of Algorithm 3.

HFigure 12 .

 12 Figure 12. Run of two versions of Algorithm 3 with S = {a, d}. One has assigned to c the type S e , to b the type I, to a the type S i , to d the type L, in this order.

  S and is denoted by e 1 → t1 e 2 → t2 . . . → tm-1 e m → tm . For instance, given G and ∆ as in Figure 10, the history of {a, d} is c → prove by induction that for every history e 1 → t1 e 2 → t2 . . . → tm-1 e m → tm , the relation e k+1 = ∆(d(t 1 ), . . . , d(t k )) (11) holds for every k ∈ {0, . . . , m -1}, where d denotes the map {S e , L, S i , I} → { , r} defined as

  5.1. (∆, S)-ordering Consider a graph G with decision tree ∆. Let e 1 → t1 e 2 → t2 . . . → tm-1 e m → tm denote the history of a subgraph S of G. We define the (∆, S)-ordering on the edge set of G by setting:

Figure 13 .

 13 Figure 13. Partition of the subgraphs with respect to the relation ∼, given the graph and decision tree from Figure 10. The crosses indicate the edges with type I and the squares the edges with type L. The contribution of each subgraph to the Tutte polynomial is also mentioned, as well as the contribution of each part of the partition.

( a )

 a If e is external and has type L, then cc(S ∪ {e}) = cc(S), cycl(S ∪ {e}) = cycl(S) + 1. (b) If e is internal and has type I, then cc(S\e) = cc(S) + 1, cycl(S\e) = cycl(S). Proof. (a) e is external and has type L. Point (1) from Lemma 5.2 ensures that there exists a path only made of edges of type S i (so this is a path in S) linking the endpoints of e. Therefore including e in S does not add a connected component, hence cc(S ∪ {e}) = cc(S). Moreover, cycl(S ∪ {e}) = |S ∪ {e}| + cc(S ∪ {e}) -|V (G)| = |S| + 1 + cc(S) -|V (G)| = cycl(S) + 1. (b) e is internal and has type I. Point (2) from Lemma 5.2 ensures that there exists a cocycle only made of e and edges of type S e . In other terms, there exists no path with edges of S\e linking the endpoints of e. So removing e from S will increase the number of connected components: cc(S\e) = cc(S) + 1. Moreover, cycl(S\e) = |S\e| + cc(S\e) -|V (G)| = |S| -1 + cc(S) + 1 -|V (G)| = cycl(S), which ends the proof.

Figure 14 .

 14 Figure14. The decision tree corresponding to the linear order a < b < c < d.

Figure 15 .

 15 Figure15. A map and a decision tree for the embedding activity.

  . The map M is the mirror map of M . The (M, T )-ordering for half-edges equals a < b < c < b < d < c < a < d while the (M , T )-ordering equals a > b > c > b > d > c > a > d 12 . The orderings on the edges are not reverse ({a, a } < {b, b } < {c, c } < {d, d } for M and {d, d } < {a, a } < {c, c } < {b, b } for M ) but the (M, T )-active edges correspond to the edges that are maximal in their fundamental cycle/cocycle for the (M , T )-ordering, namely {a, a } and {b, b }.(For instance, take {a, a }: its fundamental cycle is {{a, a }, {d, d }}. We have {a, a } < {d, d } for the (M, T )-order and {d, d } < {a, a } for the (M , T )-order.) It turns out that this property is general.

Figure 17 .

 17 Figure17. Two possibilities when G is restricted to two edges 3. Fix a (M G , T )-active edge {g, g }. By definition, {g, g } is minimal for the (M G , T )-ordering in its fundamental cycle/cocycle C. Let {h, h } be any other edge in C. If we assume g < g and h < h , then g < h. By point 2, we have g < h . So by point 1, {g, g } is greater than {h, h } for the (M # G , T )-ordering. This being true for all {h, h }, the edge {g, g } is maximal for the (M # G , T )-ordering inside C. 4. Conversely, fix an edge {g, g } that is maximal for the (M # G , T )-ordering in its fundamental cycle/cocycle C, with g < g . For any other edge {h, h } in C with h < h , we have g < h by

Figure 18 .

 18 Figure 18. A decision tree for the blossoming activity, for the embedded graph from Figure 5.

Finally, let us

  give a description of the preimage of a spanning tree T under τ . (We recover a property similar to what we have already seen for the DFS activity.) Proposition 7.8. For each spanning tree T and each spanning forest F , we have τ (F ) = T if and only if F ∈ [T \I(T ), T ] (see Subsection 2.1.2 for the definition of an interval), where I denotes the internal blossoming activity.

Figure 19 .

 19 Figure19. A graph with no multiple edges and the decision tree corresponding to the DFS-activity.

Figure 20 .

 20 Figure 20. Illustration of a run of Algorithm 5.

Figure 21 .

 21 Figure 21. Diagram representing a step of Algorithm 6.

  Algorithm 2 DFS forest of a graph Input: graph H. Output: F(H) spanning forest of H.

	10:	v ← u; add e in F(H);
	end while
	end while
	end while
	15: return F(H)

F(H) ← ∅; while there is a unvisited vertex do mark the least unvisited vertex of H as visited; while there is a visited vertex with unvisited neighbors do 5:

v ← the most recently visited such vertex; while v has a unvisited neighbor do u ← the greatest unvisited neighbor of v; e ← {u, v}; mark u as visited;

  of a Type of b Type of c Type of d

	∅, {b}, {d}, {b, d} {a}, {a, b}, {a, d}, {a, b, d} {c}, {a, c} {b, c}, {a, b, c} {c, d}, {a, c, d}, {b, c, d}, {a, b, c, d}	S i S i I L L	I I S e S i L	S e S e S i S i S i	I L S e S e S i

  Algorithm 6 Computing the set of ∆-forest active edges. Input: S subgraph of G. Output: A subset (S) of E(G). if e k is not a loop in H and e k / ∈ S then n ← left child of n; end if if e k is not a loop in H and e k ∈ S then

	10:	H ← contract(H, e); n ← right child of n; end if
		if e k is a loop in H then
		add e k in (S);
	15:

m ← number of edges in G; (S) ← ∅; n ← root of ∆; H ← G; for k from 1 to m do 5:

e k ← label of n;

The faces of a combinatorial map (H, σ, α) are the cycles of σ • α.

No proof will be given, it would be a bit off topic. However the reader can refer to[START_REF] Courtiel | Combinatorics of the Tutte polynomial and planar maps[END_REF] p. 214].

Reminder: the (M, T )-order is the order of first visit during the tour of T -see Subsection 3.2.

This condition is dispensable. Indeed, any activity that satisfies (25) is Tutte-descriptive. The author thanks Vincent Delacroix for this remark.

Acknowledgements

The author is very grateful to his adviser Mireille Bousquet-Mélou for her unfailing support and helpful feedbacks on this work. He would also like to thank Emeric Gioan for his pertinent advices, Robert Cori for the interim replacement of Mireille and Vincent Delacroix for his very interesting remarks. Final thanks go to Olivier Bernardi and his thesis manuscript [Ber06] that was very useful for the writing of this paper.

The author is supported on the one hand by the French "Agence Nationale de la Recherche", project GRAAl, ANR-14-CE25-0014-02, and on the other hand by the PIMS postdoctoral fellowship grant. 1