What can I assume?

From CS2800 wiki

In 2800, we build a lot of things from the ground up, and revisit some things that you have known since kindergarten (later in the semester, we might prove 1+1=2 for example). This often leads to confusion about what is obvious and what is not.

The answer is somewhat context dependent. We have to start somewhere; we typically start with definitions for sets and basic proof techniques; we don't get around to defining things like addition until later.

Here's how to decide if what you've written includes enough detail if you are unsure:

  • First, clearly identify and write down what general fact you are using.
  • Then, think about how you would prove the general fact (what definitions would you use, what proof techniques would you apply)
  • If you don't have the relevant definitions, but it's something "everybody knows" (like 1+1=2 or a + b > a if b > 0), you can go ahead and use it (but not in the section of the course where we're defining + and >!).
  • If we've covered the relevant definitions in an earlier part of the course, you can gloss over the details. For example, by homework 3 or so, you can use the fact that if [math]A \href{/cs2800/wiki/index.php/%5Csubseteq}{\subseteq} B [/math] and [math]B \href{/cs2800/wiki/index.php/%5Csubseteq}{\subseteq} C [/math] then [math]A \href{/cs2800/wiki/index.php/%5Csubseteq}{\subseteq} C [/math]) without going into a detailed proof.

You want your proofs to clearly describe the "interesting" part of each question. That means you should deemphasize (shorten or elide) the details for things that you aren't focusing on, and add more detail to the things the problem does focus on.