A similar analysis can be performed for non-uniform random graphs, where the probability of including an edge is a function of the number of vertices, and where the decision to include or exclude an edge is made independently with equal probability for all edges. However, for these graphs the situation is more complicated.
In this case, a first-order property may have one or more thresholds, such that when the edge inclusion probability is bounded away from the threshold then the probability of having the given property tends to zero or one. These thresholds can never be an irrational power of
n
{\displaystyle n}
, so random graphs where the edge inclusion probability is an irrational power obey a zero-one law analogous to the one for uniformly random graphs. A similar zero-one law holds for very sparse random graphs that have an edge inclusion probability of
n
−
c
{\displaystyle n^{-c}}
with
c
>
1
{\displaystyle c>1}
, as long as
c
{\displaystyle c}
is not a superparticular ratio. If
c
{\displaystyle c}
is superparticular, the probability of having a given property may tend to a limit that is not zero or one, but this limit can be calculated efficiently. There exist first-order sentences that have infinitely many thresholds.
If a first-order sentence includes
k
{\displaystyle k}
distinct variables, then the property it describes can be tested in graphs of
n
{\displaystyle n}
vertices by examining all
k
{\displaystyle k}
-tuples of vertices; however, this brute force search algorithm is not particularly efficient, taking time
O
(
n
k
)
{\displaystyle O(n^{k})}
.
The problem of checking whether a graph models a given first-order sentence includes as special cases the subgraph isomorphism problem (in which the sentence describes the graphs that contain a fixed subgraph) and the clique problem (in which the sentence describes graphs that contain complete subgraphs of a fixed size).
The clique problem is hard for W(1), the first level of a hierarchy of hard problems from the point of view of parameterized complexity. Therefore, it is unlikely to have a fixed-parameter tractable algorithm, one whose running time takes the form
O
(
f
(
k
)
n
c
)
{\displaystyle O(f(k)n^{c})}
for a function
f
{\displaystyle f}
and constant
c
{\displaystyle c}
that are independent of
k
{\displaystyle k}
and
n
{\displaystyle n}
.
More strongly, if the exponential time hypothesis is true, then clique-finding and first-order model checking would necessarily take time proportional to a power of
n
{\displaystyle n}
whose exponent is proportional to
k
{\displaystyle k}
.
On restricted classes of graphs, model checking of first-order sentences can be much more efficient. In particular, every graph property expressible as a first-order sentence can be tested in linear time for the graphs of bounded expansion. These are the graphs in which all shallow minors are sparse graphs, with a ratio of edges to vertices bounded by a function of the depth of the minor. Even more generally, first-order model checking can be performed in near-linear time for nowhere-dense graphs, classes of graphs for which, at each possible depth, there is at least one forbidden shallow minor. Conversely, if model checking is fixed-parameter tractable for any monotone family of graphs, that family must be nowhere-dense.
A first-order sentence
S
{\displaystyle S}
in the logic of graphs is said to define a graph
G
{\displaystyle G}
if
G
{\displaystyle G}
is the only graph that models
S
{\displaystyle S}
. Every graph may be defined by at least one sentence; for instance, one can define any
n
{\displaystyle n}
-vertex graph
G
{\displaystyle G}
by a sentence with
n
+
1
{\displaystyle n+1}
variables, one for each vertex of the graph, and one more to state the condition that there is no vertex other than the
n
{\displaystyle n}
vertices of the graph. Additional clauses of the sentence can be used to ensure that no two vertex variables are equal, that each edge of
G
{\displaystyle G}
is present, and no edge exists between a pair of non-adjacent vertices of
G
{\displaystyle G}
. However, for some graphs there exist significantly shorter sentences that define the graph.
All trees, and most graphs, can be described by first-order sentences with only two variables, but extended by counting predicates. For graphs that can be described by sentences in this logic with a fixed constant number of variables, it is possible to find a graph canonization in polynomial time (with the exponent of the polynomial equal to the number of variables). By comparing canonizations, it is possible to solve the graph isomorphism problem for these graphs in polynomial time.
Some first-order sentences are modeled by infinite graphs but not by any finite graph. For instance, the property of having exactly one vertex of degree one, with all other vertices having degree exactly two, can be expressed by a first-order sentence. It is modeled by an infinite ray, but violates Euler's handshaking lemma for finite graphs. However, it follows from the negative solution to the Entscheidungsproblem (by Alonzo Church and Alan Turing in the 1930s) that satisfiability of first-order sentences for graphs that are not constrained to be finite remains undecidable. It is also undecidable to distinguish between the first-order sentences that are true for all graphs and the ones that are true of finite graphs but false for some infinite graphs.
For instance, define
C
(
u
,
v
)
{\displaystyle C(u,v)}
to be true when the two vertices
u
{\displaystyle u}
and
v
{\displaystyle v}
are connected by a path in a given graph, and false otherwise.
Then every vertex is connected to itself, and when
u
{\displaystyle u}
is connected to a neighbor of
v
{\displaystyle v}
, it is also connected by one more step to
v
{\displaystyle v}
. Expressing this reasoning in logical terms,
C
{\displaystyle C}
is the least fixed point of the formula
C
(
u
,
v
)
←
(
(
u
=
v
)
∨
∃
w
(
C
(
u
,
w
)
∧
w
∼
v
)
)
.
{\displaystyle C(u,v)\leftarrow {\Bigl (}(u=v)\vee \exists w{\bigl (}C(u,w)\wedge w\sim v{\bigr )}{\Bigr )}.}
Here, being a fixed point means that the truth of the right side of the formula implies the truth of the left side, as the reversed implication arrow suggests. Being the least fixed point, in this case, implies that no two vertices will be defined as connected unless their connectivity comes from repeated use of this implication.
Several variations of fixed point logics have been studied. In least fixed point logic, the right hand side of the
←
{\displaystyle \leftarrow }
operator in the defining formula must use the predicate only positively (that is, each appearance should be nested within an even number of negations) in order to make the least fixed point well defined.
In another variant with equivalent logical power, inflationary fixed point logic, the formula need not be monotone but the resulting fixed point is defined as the one obtained by repeatedly applying implications derived from the defining formula starting from the all-false predicate.
Other variants, allowing negative implications or multiple simultaneously-defined predicates, are also possible, but provide no additional definitional power.
A predicate, defined in one of these ways, can then be applied to a tuple of vertices as part of a larger logical sentence.
Fixed point logics, and extensions of these logics that also allow integer counting variables whose values range from 0 to the number of vertices, have been used in descriptive complexity in an attempt to provide a logical description of decision problems in graph theory that can be decided in polynomial time. The fixed point of a logical formula can be constructed in polynomial time, by an algorithm that repeatedly adds tuples to the set of values for which the predicate is true until reaching a fixed point, so deciding whether a graph models a sentence in this logic can always be decided in polynomial time. Not every polynomial time graph property can be modeled by a sentence in a logic that uses only fixed points and counting. However, for some special classes of graphs the polynomial time properties are the same as the properties expressible in fixed point logic with counting. These include random graphs, interval graphs, and (through a logical expression of the graph structure theorem) every class of graphs characterized by forbidden minors.
Spencer (2001), Section 1.2, "What Is a First Order Theory?", pp. 15–17. - Spencer, Joel (2001), The Strange Logic of Random Graphs, Algorithms and Combinatorics, vol. 22, Springer-Verlag, Berlin, doi:10.1007/978-3-662-04538-1, ISBN 3-540-41654-4, MR 1847951 https://doi.org/10.1007%2F978-3-662-04538-1
Spencer (2001), Section 1.2, "What Is a First Order Theory?", pp. 15–17. - Spencer, Joel (2001), The Strange Logic of Random Graphs, Algorithms and Combinatorics, vol. 22, Springer-Verlag, Berlin, doi:10.1007/978-3-662-04538-1, ISBN 3-540-41654-4, MR 1847951 https://doi.org/10.1007%2F978-3-662-04538-1
Verbitsky & Zhukovskii (2019). - Verbitsky, Oleg; Zhukovskii, Maksim (2019), "Tight bounds on the asymptotic descriptive complexity of subgraph isomorphism", ACM Transactions on Computational Logic, 20 (2): A9:1–A9:18, arXiv:1802.02143, doi:10.1145/3303881, MR 3942556, S2CID 3603039 https://arxiv.org/abs/1802.02143
Zeume (2017). - Zeume, Thomas (2017), "The dynamic descriptive complexity of k-clique" (PDF), Information and Computation, 256: 9–22, arXiv:1610.09089, doi:10.1016/j.ic.2017.04.005, MR 3705411, S2CID 1412001 https://informatik-rub.de/wp-content/uploads/2021/03/Zeume2017-dynclique-journal.pdf
Goldberg (1993). - Goldberg, Leslie Ann (1993), "Polynomial space polynomial delay algorithms for listing families of graphs", Proceedings of the Twenty-Fifth Annual ACM Symposium on Theory of Computing (STOC '93), New York, NY, USA: ACM, pp. 218–225, doi:10.1145/167088.167160, ISBN 0-89791-591-7, S2CID 6305108 https://doi.org/10.1145%2F167088.167160
For instance, Henson (1972) requires directed graphs to be described by an asymmetric relation, meaning that loops and 2-cycles are both disallowed, giving the oriented graphs. - Henson, C. Ward (1972), "Countable homogeneous relational structures and
ℵ
0
{\displaystyle \aleph _{0}}
-categorical theories", The Journal of Symbolic Logic, 37: 494–500, doi:10.2307/2272734, JSTOR 2272734, MR 0321727, S2CID 40662635 https://doi.org/10.2307%2F2272734
Koncewicz (1973). - Koncewicz, Leszek (1973), "Definability of classes of graphs in the first order predicate calculus with identity", Polish Academy of Sciences, 32: 159–190, doi:10.1007/BF02123839, JSTOR 20014678, MR 0351796, S2CID 189786935 https://doi.org/10.1007%2FBF02123839
Bruggink & König (2018). - Bruggink, H. J. Sander; König, Barbara (2018), "Recognizable languages of arrows and cospans", Mathematical Structures in Computer Science, 28 (8): 1290–1332, doi:10.1017/S096012951800018X, MR 3849613, S2CID 52275704 https://doi.org/10.1017%2FS096012951800018X
Glebskiĭ et al. (1969); Fagin (1976) - Glebskiĭ, Ju. V.; Kogan, D. I.; Liogon'kiĭ, M. I.; Talanov, V. A. (1969), "Volume and fraction of satisfiability of formulas of the lower predicate calculus", Otdelenie Matematiki, Mekhaniki i Kibernetiki Akademii Nauk Ukrainskoĭ SSR: Kibernetika (2): 17–27, MR 0300882 https://mathscinet.ams.org/mathscinet-getitem?mr=0300882
Grandjean (1983). - Grandjean, Étienne (1983), "Complexity of the first-order theory of almost all finite structures", Information and Control, 57 (2–3): 180–204, doi:10.1016/S0019-9958(83)80043-6, MR 0742707 https://doi.org/10.1016%2FS0019-9958%2883%2980043-6
Goldberg (1993). - Goldberg, Leslie Ann (1993), "Polynomial space polynomial delay algorithms for listing families of graphs", Proceedings of the Twenty-Fifth Annual ACM Symposium on Theory of Computing (STOC '93), New York, NY, USA: ACM, pp. 218–225, doi:10.1145/167088.167160, ISBN 0-89791-591-7, S2CID 6305108 https://doi.org/10.1145%2F167088.167160
Shelah & Spencer (1988); Spencer (2001). - Shelah, Saharon; Spencer, Joel (1988), "Zero-one laws for sparse random graphs", Journal of the American Mathematical Society, 1 (1): 97–115, doi:10.2307/1990968, JSTOR 1990968, MR 0924703 https://doi.org/10.2307%2F1990968
Lynch (1992). - Lynch, James F. (1992), "Probabilities of sentences about very sparse random graphs", Random Structures & Algorithms, 3 (1): 33–53, doi:10.1002/rsa.3240030105, MR 1139487 https://doi.org/10.1002%2Frsa.3240030105
Spencer (1990). - Spencer, Joel (1990), "Infinite spectra in the first order theory of graphs", Combinatorica, 10 (1): 95–102, doi:10.1007/BF02122699, MR 1075070, S2CID 27770505 https://doi.org/10.1007%2FBF02122699
Downey & Fellows (1995). - Downey, R. G.; Fellows, M. R. (1995), "Fixed-parameter tractability and completeness. II. On completeness for W[1]", Theoretical Computer Science, 141 (1–2): 109–131, doi:10.1016/0304-3975(94)00097-3 https://doi.org/10.1016%2F0304-3975%2894%2900097-3
Chen et al. (2006). - Chen, Jianer; Huang, Xiuzhen; Kanj, Iyad A.; Xia, Ge (2006), "Strong computational lower bounds via parameterized complexity", Journal of Computer and System Sciences, 72 (8): 1346–1367, doi:10.1016/j.jcss.2006.04.007 https://doi.org/10.1016%2Fj.jcss.2006.04.007
Nešetřil & Ossona de Mendez (2012), 18.3 The Subgraph Isomorphism Problem and Boolean Queries, pp. 400–401; Dvořák, Kráľ & Thomas (2010); Grohe, Kreutzer & Siebertz (2014). - Nešetřil, Jaroslav; Ossona de Mendez, Patrice (2012), Sparsity: Graphs, Structures, and Algorithms, Algorithms and Combinatorics, vol. 28, Springer-Verlag, doi:10.1007/978-3-642-27875-4, ISBN 978-3-642-27874-7, MR 2920058 https://doi.org/10.1007%2F978-3-642-27875-4
Pikhurko, Spencer & Verbitsky (2006). - Pikhurko, Oleg; Spencer, Joel; Verbitsky, Oleg (2006), "Succinct definitions in the first order theory of graphs", Annals of Pure and Applied Logic, 139 (1–3): 74–109, arXiv:math/0401307, doi:10.1016/j.apal.2005.04.003, MR 2206252, S2CID 3041191 https://arxiv.org/abs/math/0401307
Pikhurko & Verbitsky (2011). - Pikhurko, Oleg; Verbitsky, Oleg (2011), "Logical complexity of graphs: a survey", in Grohe, Martin; Makowsky, Johann A. (eds.), Model Theoretic Methods in Finite Combinatorics (AMS-ASL Joint Special Session, January 5-8, 2009, Washington, DC), Contemporary Mathematics, vol. 558, American Mathematical Society, pp. 129–180, arXiv:1003.4865, ISBN 978-0-8218-8322-8 https://books.google.com/books?id=5kfVAwAAQBAJ&pg=PA129
Pikhurko & Verbitsky (2011). - Pikhurko, Oleg; Verbitsky, Oleg (2011), "Logical complexity of graphs: a survey", in Grohe, Martin; Makowsky, Johann A. (eds.), Model Theoretic Methods in Finite Combinatorics (AMS-ASL Joint Special Session, January 5-8, 2009, Washington, DC), Contemporary Mathematics, vol. 558, American Mathematical Society, pp. 129–180, arXiv:1003.4865, ISBN 978-0-8218-8322-8 https://books.google.com/books?id=5kfVAwAAQBAJ&pg=PA129
Verbitsky (2005). - Verbitsky, Oleg (2005), "The first order definability of graphs with separators via the Ehrenfeucht game", Theoretical Computer Science, 343 (1–2): 158–176, arXiv:math/0401361, doi:10.1016/j.tcs.2005.05.003, MR 2168849, S2CID 17886484 https://arxiv.org/abs/math/0401361
Pikhurko & Verbitsky (2011). - Pikhurko, Oleg; Verbitsky, Oleg (2011), "Logical complexity of graphs: a survey", in Grohe, Martin; Makowsky, Johann A. (eds.), Model Theoretic Methods in Finite Combinatorics (AMS-ASL Joint Special Session, January 5-8, 2009, Washington, DC), Contemporary Mathematics, vol. 558, American Mathematical Society, pp. 129–180, arXiv:1003.4865, ISBN 978-0-8218-8322-8 https://books.google.com/books?id=5kfVAwAAQBAJ&pg=PA129
Immerman & Lander (1990). - Immerman, Neil; Lander, Eric (1990), "Describing graphs: a first-order approach to graph canonization", in Selman, Alan L. (ed.), Complexity Theory Retrospective: In honor of Juris Hartmanis on the occasion of his sixtieth birthday, New York: Springer-Verlag, pp. 59–81, doi:10.1007/978-1-4612-4478-3_5, ISBN 978-1-4612-8793-3, MR 1060782 https://doi.org/10.1007%2F978-1-4612-4478-3_5
Ebbinghaus & Flum (1995). Parys (2014) writes that this undecidability result is well known, and attributes it to Trahtenbrot (1950) on the undecidability of first-order satisfiability for more general classes of finite structures. - Ebbinghaus, Heinz-Dieter; Flum, Jörg (1995), Finite Model Theory, Springer Monographs in Mathematics (2nd ed.), Springer, p. 129, doi:10.1007/3-540-28788-4, ISBN 978-3-540-28787-2 https://doi.org/10.1007%2F3-540-28788-4
Lavrov (1963). - Lavrov, I. A. (1963), "The effective non-separability of the set of identically true formulae and the set of finitely refutable formulae for certain elementary theories", Algebra i Logika Sem., 2 (1): 5–18, MR 0157904 https://mathscinet.ams.org/mathscinet-getitem?mr=0157904
Grohe (2017), pp. 23–27. - Grohe, Martin (2017), Descriptive complexity, canonisation, and definable graph structure theory, Lecture Notes in Logic, vol. 47, Cambridge University Press, Cambridge, ISBN 978-1-107-01452-7, MR 3729479 https://mathscinet.ams.org/mathscinet-getitem?mr=3729479
Grohe (2017), pp. 23–27. - Grohe, Martin (2017), Descriptive complexity, canonisation, and definable graph structure theory, Lecture Notes in Logic, vol. 47, Cambridge University Press, Cambridge, ISBN 978-1-107-01452-7, MR 3729479 https://mathscinet.ams.org/mathscinet-getitem?mr=3729479
Grohe (2017), pp. 23–27. - Grohe, Martin (2017), Descriptive complexity, canonisation, and definable graph structure theory, Lecture Notes in Logic, vol. 47, Cambridge University Press, Cambridge, ISBN 978-1-107-01452-7, MR 3729479 https://mathscinet.ams.org/mathscinet-getitem?mr=3729479
Grohe (2017), pp. 50–51. - Grohe, Martin (2017), Descriptive complexity, canonisation, and definable graph structure theory, Lecture Notes in Logic, vol. 47, Cambridge University Press, Cambridge, ISBN 978-1-107-01452-7, MR 3729479 https://mathscinet.ams.org/mathscinet-getitem?mr=3729479
Cai, Fürer & Immerman (1992). - Cai, Jin-Yi; Fürer, Martin; Immerman, Neil (1992), "An optimal lower bound on the number of variables for graph identification", Combinatorica, 12 (4): 389–410, doi:10.1007/BF01305232, MR 1194730 https://doi.org/10.1007%2FBF01305232
Grohe (2017), pp. 50–51. - Grohe, Martin (2017), Descriptive complexity, canonisation, and definable graph structure theory, Lecture Notes in Logic, vol. 47, Cambridge University Press, Cambridge, ISBN 978-1-107-01452-7, MR 3729479 https://mathscinet.ams.org/mathscinet-getitem?mr=3729479
Hella, Kolaitis & Luosto (1996). - Hella, Lauri; Kolaitis, Phokion G.; Luosto, Kerkko (1996), "Almost everywhere equivalence of logics in finite model theory", The Bulletin of Symbolic Logic, 2 (4): 422–443, doi:10.2307/421173, JSTOR 421173, MR 1460316, S2CID 16411368 https://doi.org/10.2307%2F421173
Grohe (2017), pp. 50–51. - Grohe, Martin (2017), Descriptive complexity, canonisation, and definable graph structure theory, Lecture Notes in Logic, vol. 47, Cambridge University Press, Cambridge, ISBN 978-1-107-01452-7, MR 3729479 https://mathscinet.ams.org/mathscinet-getitem?mr=3729479
Laubner (2010). - Laubner, Bastian (2010), "Capturing polynomial time on interval graphs", 25th Annual IEEE Symposium on Logic in Computer Science (LICS 2010), Los Alamitos, California: IEEE Computer Society, pp. 199–208, arXiv:0911.3799, doi:10.1109/LICS.2010.42, ISBN 978-1-4244-7588-9, MR 2963094, S2CID 1450409 https://arxiv.org/abs/0911.3799
Grohe (2017), pp. 50–51. - Grohe, Martin (2017), Descriptive complexity, canonisation, and definable graph structure theory, Lecture Notes in Logic, vol. 47, Cambridge University Press, Cambridge, ISBN 978-1-107-01452-7, MR 3729479 https://mathscinet.ams.org/mathscinet-getitem?mr=3729479
These definitions can be found e.g. in Courcelle & Engelfriet (2012), p. 69, under the slightly different notation MS1 and MS2. Other authors used the MSO1 and MSO2 notations, and Courcelle came to use it later as well; see, e.g., Courcelle (2018). - Courcelle, Bruno; Engelfriet, Joost (2012), Graph Structure and Monadic Second-Order Logic: A Language-Theoretic Approach, Encyclopedia of Mathematics and its Applications, vol. 138, Cambridge University Press, ISBN 9781139644006, Zbl 1257.68006 https://zbmath.org/?format=complete&q=an:1257.68006
Fagin, Stockmeyer & Vardi (1995). - Fagin, Ronald; Stockmeyer, Larry J.; Vardi, Moshe Y. (1995), "On monadic NP vs monadic co-NP", Information and Computation, 120 (1): 78–92, doi:10.1006/inco.1995.1100, MR 1340807 https://doi.org/10.1006%2Finco.1995.1100
Courcelle & Engelfriet (2012); Libkin (2004), Corollary 7.24, pp. 126–127. - Courcelle, Bruno; Engelfriet, Joost (2012), Graph Structure and Monadic Second-Order Logic: A Language-Theoretic Approach, Encyclopedia of Mathematics and its Applications, vol. 138, Cambridge University Press, ISBN 9781139644006, Zbl 1257.68006 https://zbmath.org/?format=complete&q=an:1257.68006
Courcelle (1996). - Courcelle, Bruno (1996), "On the expression of graph properties in some fragments of monadic second-order logic" (PDF), in Immerman, Neil; Kolaitis, Phokion G. (eds.), Proc. Descr. Complex. Finite Models, DIMACS, vol. 31, Amer. Math. Soc., pp. 33–62, CiteSeerX 10.1.1.55.5184, MR 1451381 http://www.labri.fr/perso/courcell/Textes/DIMACS(1997).pdf
Courcelle & Engelfriet (2012). - Courcelle, Bruno; Engelfriet, Joost (2012), Graph Structure and Monadic Second-Order Logic: A Language-Theoretic Approach, Encyclopedia of Mathematics and its Applications, vol. 138, Cambridge University Press, ISBN 9781139644006, Zbl 1257.68006 https://zbmath.org/?format=complete&q=an:1257.68006
Elberfeld, Jakoby & Tantau (2010). - Elberfeld, Michael; Jakoby, Andreas; Tantau, Till (October 2010), "Logspace Versions of the Theorems of Bodlaender and Courcelle" (PDF), Proc. 51st Annual IEEE Symposium on Foundations of Computer Science (FOCS 2010), pp. 143–152, doi:10.1109/FOCS.2010.21, ISBN 978-1-4244-8525-3, S2CID 1820251 https://wwwmayr.in.tum.de/konferenzen/Sommerakademie2010/talks/tantau_paper.pdf
Grohe (2001); Kawarabayashi & Reed (2007). - Grohe, Martin (2001), "Computing crossing numbers in quadratic time", Proceedings of the Thirty-Third Annual ACM Symposium on Theory of Computing (STOC '01), pp. 231–236, arXiv:cs/0009010, doi:10.1145/380752.380805, ISBN 1-58113-349-9, S2CID 724544 https://arxiv.org/abs/cs/0009010
Courcelle & Oum (2007). - Courcelle, Bruno; Oum, Sang-il (2007), "Vertex-minors, monadic second-order logic, and a conjecture by Seese" (PDF), Journal of Combinatorial Theory, Series B, 97 (1): 91–126, doi:10.1016/j.jctb.2006.04.003, MR 2278126 http://mathsci.kaist.ac.kr/~sangil/pdf/2006co.pdf
Seese (1991). - Seese, D. (1991), "The structure of the models of decidable monadic theories of graphs", Annals of Pure and Applied Logic, 53 (2): 169–195, doi:10.1016/0168-0072(91)90054-P, MR 1114848 https://doi.org/10.1016%2F0168-0072%2891%2990054-P
Courcelle & Oum (2007). - Courcelle, Bruno; Oum, Sang-il (2007), "Vertex-minors, monadic second-order logic, and a conjecture by Seese" (PDF), Journal of Combinatorial Theory, Series B, 97 (1): 91–126, doi:10.1016/j.jctb.2006.04.003, MR 2278126 http://mathsci.kaist.ac.kr/~sangil/pdf/2006co.pdf