Since many of the visitors here are new to the Stackexchange environment, it might be useful to collect questions and answers here to add to the official site FAQ. In addition, it would be useful to add questions and answers that help delineate the scope of this site, since we're already getting questions about it.

I'll make this "question" community wiki. Feel free to post answers, or even edit this post to add to the list.

StackExchange Questions

  • What is a "community wiki"?
  • What purpose does a community wiki designation serve?
  • What is the difference between an Answer and a Comment, and what technical restrictions are there on Comments?
  • What happens if you delete something you've posted?
  • How does closing and re-opening work? (see this link for good practices when voting to close)
  • When should you downvote/upvote ?
  • An updated cross-posting policy

Subject-related Questions

  • 3
    $\begingroup$ I'm not sure why the vote to close is here. This seems spot-on for the meta page, and it grows directly out of a demonstrated need here. Is there a better way to handle this than Suresh's method? $\endgroup$ – Daniel Apon Aug 17 '10 at 16:40
  • $\begingroup$ I'm going to list questions in the post, and post a suggested answer as a single item that can be commented on. $\endgroup$ – Suresh Venkat Aug 18 '10 at 2:01
  • 2
    $\begingroup$ Maybe "Why is itself written iteself on the announcement of meta.cstheory on the homepage?" :-) $\endgroup$ – Michaël Cadilhac Aug 18 '10 at 20:18
  • 2
    $\begingroup$ For the community wiki question, there is a good explanation on the MathOverflow FAQ, perhaps we should ask permission to re-use it? $\endgroup$ – Evgenij Thorstensen Aug 23 '10 at 23:18
  • 1
    $\begingroup$ For `how to ask questions': catb.org/esr/faqs/smart-questions.html (hacker-oriented, but nice) $\endgroup$ – Radu GRIGore Sep 1 '10 at 9:41

13 Answers 13


Some resources that people should check before asking questions:


  • 3
    $\begingroup$ In response to this question, it might be worthwhile to toss a little more weight behind the Complexity Zoo link than "worthwhile to check." I'm thinking something like "This is the standard naming convention for complexity classes on this site." I don't necessarily have a strong preference for one naming convention over another, but it seems good to have SOME naming convention, and the Complexity Zoo is very thorough. $\endgroup$ – Daniel Apon Aug 21 '10 at 17:46

One further addition that I'd like to see in the FAQ:

  • Keep the site clean. You can delete your own comments that are no longer relevant. For example, if you spot a typo in a question, add a comment, and the typo is fixed, you can delete your comment which is no longer useful to people who visit the site in the future.

What is the policy on crossposting to/from Mathoverflow ?

I suspect that there will a fair amount of cross posting between here and mathoverflow. While we can't control whether or not people post to MO, here's a possible policy on posts that are also on MO.

Crossposting from MO is perfectly fine, as long as they aren't done in parallel. I.e the post should be made there first, and then the post here should integrate as far as possible the answers received there.

alternatively, we could allow simultaneous crossposting. The only reason to be wary of this is that the discussion gets fragmented between the two sites, and would create lots of repetition.

Thoughts ?

  • 7
    $\begingroup$ +1. Simultaneous posting will make things very confusing. We could insist that cross-posted questions must contain a link to the question on MO, and should be posted only after some time has elapsed. $\endgroup$ – Robin Kothari Aug 18 '10 at 5:17
  • $\begingroup$ that's also a good idea. $\endgroup$ – Suresh Venkat Aug 18 '10 at 6:43
  • $\begingroup$ We have a first example of an almost simultaneous cross posting: cstheory.stackexchange.com/questions/414/… and mathoverflow.net/questions/36457/… $\endgroup$ – Suresh Venkat Aug 24 '10 at 6:06
  • 6
    $\begingroup$ It is important to add links in both directions, which means the questioner should edit the older question to include a link to the newer question, too. $\endgroup$ – Tsuyoshi Ito Sep 17 '10 at 13:48
  • 2
    $\begingroup$ Maybe moderators from both sites should talk about this. I haven't noticed many problems on the MO end, but I do run across confused users from time to time. $\endgroup$ – François G. Dorais Jun 9 '11 at 3:19
  • $\begingroup$ Hi Francois, we seem to be having less of an issue with this now, so maybe the problem sorted itself out $\endgroup$ – Suresh Venkat Jun 9 '11 at 14:53

When should you downvote/upvote?

[I'll formulate this answer to sound as a FAQ answer so that others may edit and then perhaps copy&paste in the FAQ. However, at the moment it is only a description of what I do. Remove this note once you edit, please.]

Upvote only questions and answers you understand but do so whenever they are of high quality. To evaluate quality for a question think of whether it is interesting, whether it is at the appropriate level, whether it is well formulated. To evaluate quality for an answer think whether it addresses the question and whether you learned something from it. Above all, use your judgement.

Downvote a question only if it is clearly not at the appropriate level or it is clearly not well formulated. Downvote an answer only if it is technically wrong, or does not address the question, or is so badly formulated that it is impossible to understand. You should leave a comment explaining why you downvoted whenever you do so, unless that would duplicate an already existing comment.

You should ignore a question/answer's current score when you decide on your vote.

  • $\begingroup$ I think we could make it more explicit that voting a question and voting an answer to the same question are pretty much independent. It's perfectly ok (and encouraged) to downvote an off-topic question and simultaneously upvote an excellent answer to the same question. $\endgroup$ – Jukka Suomela Sep 1 '10 at 10:09
  • 1
    $\begingroup$ And one remark regarding voting based on the current score. I think there have been some cases where people have decided to upvote a question whose current score is -1, to "neutralise" the downvote; the score of the question keeps fluctuating between -1 and 0. I think this behaviour should be discouraged. Upvoting does not "neutralise" downvotes. One downvote + one upvote = -2 + 5 = +3 reputation in total; every time the score fluctuates down to -1 and back to 0, the person who asked the borderline question gains +3 reputation, which doesn't seem to be intended... $\endgroup$ – Jukka Suomela Sep 1 '10 at 10:14
  • $\begingroup$ About your first point: Would that encourage people to spend time to answer bad or off-topic questions? About your second point: I think it is a good example of how 'meta-thinking'about voting could have unexpected results, and should thus be avoided. $\endgroup$ – Radu GRIGore Sep 2 '10 at 9:38

I think the following note should be added to the FAQ "How do I write formulas?" It's a minor technicality, but also a frustrating stumbling block for beginners:

One notable exception to the "just use normal LaTeX" rule is the use of braces {}. In questions and answers, braces-in-LaTeX must be preceded by two backslashes; in comments only one backslash is necessary.

  • $\begingroup$ Testing: $A = \{a,b,c\}$. $\endgroup$ – Jukka Suomela Sep 4 '10 at 9:00

I would like to see the following entry in FAQ (in the “Best Practice” section):

My answer turned out to be incorrect. What should I do?

if there is a consensus about the answer. Reasonable actions include:

  • Correct it. (But sometimes it is better to delete it and repost a correct answer; see the link to Meta Stack Overflow below.)
  • Leave it as it is after adding a clear notice that it is incorrect and why.
  • Delete it.

Such an FAQ entry should cover both the case where a flaw is found by the answerer him/herself and the case where a flaw is pointed out by someone else and the answerer is convinced (because I do not think there is much difference between them).

Related discussions:

(There is another discussion about deleting your own question, but it is not much related.)

  • $\begingroup$ I think it's a good idea. There's one question where the same user proposed two answers, and they both ended up being wrong. In that case, the user could have merged the two wrong answers. $\endgroup$ – Suresh Venkat Sep 25 '10 at 19:36
  • $\begingroup$ I added an FAQ entry, but I am not sure about its qualify (it sounds pretty indecisive). Anyone please edit it to make it better. $\endgroup$ – Tsuyoshi Ito Sep 27 '10 at 23:05

I've added my question to your post:

  • What is a "community wiki"? What purpose does a community wiki designation serve?

Hopefully this is in the style you intend!


An updated cross-posting FAQ item?

The old one is restricted to MO. Here is a possible update:

While we don't mind an on-topic question being reposted, our site policy prohibits simultaneous crossposting as it duplicates effort and fractures discussion. Cross-posting is only permitted if:

  • it is not simultaneous, and
  • the OP has waited a reasonable time (a few days) without receiving a satisfying answer before posting it on another site, and
  • the OP has provided links in both directions between the copies.

The OP is expected to keep all copies up-to-date, e.g. if one copy is clarified based on the comments, the OP should clarify the other one also. Similarly, if she receives a satisfying answer on the other site, she should post an answer on cstheory linking to the full answer (or do better by posting a complete answer tailored to cstheory based on what she has leaned).

In the case that the cross-posting does not satisfy these conditions moderators close the question as not-constructive and will explain the policy in a comment: the OP should wait a week and if she does not receive a satisfying answer by then she can flag the question for moderator attention and ask for the question to be reopened.

  • $\begingroup$ IMO undergrad sites should not be important (or reference) for the research level sides, so there is no need to provide link to the undergrad question from research level site, but there should be a link in the reverse direction. $\endgroup$ – Saeed May 13 '13 at 13:56
  • $\begingroup$ @Saeed, I don't think the level is that important here. What we want to to have all copies of the post easily accessible. That has been the practice so far when a question is on-topic on cstheory and I don't see why we shouldn't continue it. Questions on Computer Science also get very good and informative answers. The comments on a previous copy on another site can be helpful in understanding what the OP is looking for and also help us see that the question is on-topic for cstheory. $\endgroup$ – Kaveh May 14 '13 at 5:28
  • $\begingroup$ If you want to keep track of changes, is OK to reference them, but there is one question, why we do need to keep track of changes on the other sites? But about comments in CS, (or other similar sites) may be they are better than CSTheory, but each Q/A in each site should be self descriptive, otherwise it's a bad, and for questions we could close it, and for answers we can delete them, I mean in CSTheory, we should be independently have a clear Q. And the only reason I can see for linking, is because of existence of another result in the other site with another point of view. $\endgroup$ – Saeed May 17 '13 at 13:51
  • $\begingroup$ And finally, may be the link to the other site is dead. Then again, someone should check this to keep it up-to-date. $\endgroup$ – Saeed May 17 '13 at 13:52
  • $\begingroup$ @Saeed, I don't see any real issue with having links to that other copies, yet we have found that it is useful in practice to have them: it is helpful to know what has happened or is happing with a question. Linking doesn't mean a question should not be self-contained, we require that even with linking to other copies. This is the practice we have followed and I don't see any real issue against it. That is my opinion, if you think this is a big issue you may want to start a new discussion and see what other people think. $\endgroup$ – Kaveh May 17 '13 at 14:16
  • $\begingroup$ As I stated before, this seems to be extra useless task to link to the normal sites from research level site, because 1.Is useless 2.Is not easy to keep track of changes (but not a big issue), anyway you can have your own opinion, and because in meta all people are trying to say their opinion, is useless for me to participate there, while I try to decide about something by logic not by personal feeling or personal opinion. And you are moderator, sure you have more fans here, they will support you. It's better to not bother myself and others for such a simple thing. P.S: May be I'm wrong. $\endgroup$ – Saeed May 17 '13 at 14:50

I once posted the following FAQ entry and got two downvotes and no upvotes, so I moved it here to discuss what to do with it. However, it has been made from my post in another discussion, which has three upvotes and no downvotes at this moment, and I do not know how to interpret this discrepancy. What should I do with this entry?

I might have found an error in a paper. Can I discuss it?

In general, it is considered wrong to discuss a possible error in a paper on a public forum before giving the author a chance to think about and correct it first. Before posting a question about a possible error, use your imagination to consider what the author may feel about the post.

Related to this, a question or a discussion may reveal an error of a paper in an unexpected way. In that case, it would be better to contact the author to let him/her know about the finding. (If you contacted the author, please leave a line so that other people do not have to worry about the possibility that the author is not notified.) If you are not involved in the discussion but happen to notice a case like this, you can flag the post for a moderator attention.

Related discussions: [1] [2]

  • $\begingroup$ I downvoted because I don't think this represents a view held by the community. $\endgroup$ – Robin Kothari Oct 4 '10 at 14:17
  • $\begingroup$ @Robin: Thanks for the explanation. If a considerable number of people feel in the same way as you, I agree that my post was not suitable as an FAQ entry. (Too bad no one had objected before I had spent time to rewrite the post for FAQ, but that’s life.) $\endgroup$ – Tsuyoshi Ito Oct 4 '10 at 14:38

Is my question suitable for cstheory?

Theoretical Computer Science - Stack Exchange is a Q&A for professional researchers in theoretical computer science and related fields. We welcome research-level questions in theoretical computer science (TCS).


Although there is no black-and-white distinction between research-level questions and non-research-level questions, questions are considered to be "research-level" roughly when they can be discussed between two professors or between two graduate students working on Ph.D.'s, but not usually between a professor and a typical undergraduate student. It does not include questions at the level of difficulty of typical undergraduate course/textbook homework/exercise.


For an explanation of what TCS is, we refer you to the description of ACM Special Interest Group on Algorithms and Computation Theory (SIGACT):

TCS covers a wide variety of topics including algorithms, data structures, computational complexity, parallel and distributed computation, probabilistic computation, quantum computation, automata theory, information theory, cryptography, program semantics and verification, machine learning, computational biology, computational economics, computational geometry, and computational number theory and algebra. Work in this field is often distinguished by its emphasis on mathematical technique and rigor.

Questions should be based on knowledge sharing, not on shirking

You should only post questions you're actually seriously thinking about. Users are expected to do their part and try to answer their question by themselves before posting them on cstheory and asking for help from others. Search to see if your question is already answered somewhere else (e.g. Wikipedia) before asking a question. Try to make your question interesting for others by providing some background knowledge. Remember, questions should be based on knowledge sharing, not on shirking. Shirking goes against the spirit of the site.

Checking if your question is on-topic

You can check if if your question is on-topic cstheory by answering the following questions:

  • Do you have a good reason to think that your question is likely to receive a satisfying answer from theoretical computer scientists?

  • Do you have a good reason to think that answering your question requires the expertise of professional researchers in theoretical computer science?
    $ $
    If your question can be answered by the knowledge of undergraduate/introductory textbook/course on the topic then it is off-topic for cstheory. Your question might be suitable for our sister site Computer Science - StackExchange which has a broader scope.

  • Do you know the basics of the topic that your question is about (at least at the level of an undergraduate/introductory textbook/course on the topic)?
    $ $
    If not, please consider learning the basics before posting your question on cstheory. Note that if you post a question without knowing the basics it is likely that you will make a basic mistake. Therefore you should expect your question to get down-voted and closed, possibly without any further explanation.

If yes then cstheory can be a good place to ask it.

If no (e.g. an expert in some other topic is more likely to answer the question in a satisfying manner for you, or there is no reason to believe answering the question requires the expertise of professional researchers in theoretical computer science) then probably not.

It can be good to think about these and include your answers to them in your question. It will show us that you have thought about the suitability of your question for cstheory. It can also act as motivation for your question, which can make it more interesting for us.

Spend time to formulate and write your question clearly. When you ask a question you are seeking help from us, you are asking us to spend time to read and think about the question. We expect you to ask only questions that you really care about, not out of idle curiosity. If you care about your question you should spend time and effort on it, the effort correlates with the quality of the question. If you want us to spend our time on your question, you should have spent enough time on it.

In summery, we expect you to spend time doing your part before asking others for help, e.g.

  • Try to answer your question yourself first (Google, Wikipedia, Complexity Zoo, etc.) before asking us,

  • Spend enough time thinking about your question to be able to formulate it clearly and in a way that can be answered, i.e. you should know what you are looking for,

  • Spend time on formulating your question using the language and terminology of theoretical computer scientists correctly and following the norms of their community,

  • Spend time to write your question in a clear and easy to understand format for theoretical computer scientists.

FAQ contains more tips about writing better questions.


I think we should discourage questions and answers that cite no other references. Nearly as bad are the ones that insert a Wikipedia reference as the sole reference.

Of course, a reference request, or a genuinely novel question may well merit not referencing anything else, or using an unspecific reference. But I think we are trying to do science here, not gauge who can correctly type a phrase into the Wikipedia search box.

I think Wikipedia links add a lot of value in providing definitions for terms, when a background pointer is needed, or when referring to a particular proof technique that is used in a Wikipedia article. But when discussing specific results, I would prefer to see a greater use of primary sources, and evaluation of the content instead of just a pointer. Otherwise what value are we adding over Wikipedia or Google Scholar?

Please note that I am one of the several contributors here who also actively contribute to Wikipedia, so I am not anti-Wikipedia. But it would be nice to see a depth of answers here that goes beyond a general encyclopaedia.

  • 1
    $\begingroup$ are there examples of such questions already ? after all, there's an F in FAQ :) $\endgroup$ – Suresh Venkat Aug 19 '10 at 5:16
  • 5
    $\begingroup$ I think a more frequent problem is that people post questions without telling what they already know. I think the FAQ could suggest that people should give in their questions the best references that they already are aware of. (I wouldn't mind giving pointers to Wikipedia, but I think in most cases the latest references would be primary sources.) $\endgroup$ – Jukka Suomela Aug 23 '10 at 19:45

Asking questions like "is my/this solution to P vs. NP correct" is off-topic

(also applies to other famous open problems similar to P vs. NP)

cstheory is not a peer-review site. We don't check, verify, or discuss such solutions. If you think you have a solution send it to a journal or conference that peer-reviews such articles.

Keep in mind that most reputable ones have a policy similar to JACM's policy:

No author may submit more than one paper to J. ACM, ACM Trans. on Algorithms, or ACM Trans. on Computation Theory in any 24 month period, purporting to resolve the P versus NP question or related long-standing questions in complexity theory, except by invitation of the Editor-in-Chief. This applies to resubmissions of previously rejected manuscripts.

Related discussions

Related discussions on CS.SE:

Related discussions on MathOverflow:


cstheory polices

Policies are cstheory's laws (in addition to general Stack Exchange policies required to be followed by all sites on the Stack Exchange network).

Policies are passed by voting on meta. Right now a policy requires 2/3 majority in favor with at least 5 up votes to pass.

Typically we start with a question on meta. When the discussion has received enough feedback we move to the voting phase by posting a question. The policy question must start with

This is a policy question. The proposed policy in the question (or answers) will be adopted in the case that after 7 days it receives at least 5 up votes with a 2/3 majority in favor. Please upvote or downvote this question based on your opinion of the policy statement as presented (not based on whether the premise of the question is reasonable).

A policy post should contain a short summery of the discussion and a link to it. It should be followed by the statement of the proposed policy:


The title of the policy question should start with "Policy:". Typically the tag is added to the question by a moderator. During the 7 days following the proposal users can vote for or against the policy. After 7 days voting ends and the policy either is passed or is rejected. A moderator tags the post accordingly with either or , and locks the question and its answers to preserve the votes, and removes the tag. Users who want to propose a change to a policy should start a new discussion.

During the voting period there can be suggestions for amendments or modifications. If an amendment is passed a moderator will modify the policy question to add the passed amendments.

For an example, please see this policy.


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .