In logic and foundations, a principle of omniscience is any principle of classical mathematics that is not valid in constructive mathematics. The idea behind the name (which is due to Bishop (1967)) is that, if we attempt to extend the computational interpretation of constructive mathematics to incorporate one of these principles, we would have to know something that we cannot compute. The main example is the law of excluded middle ($EM$); to apply $p \vee \neg{p}$ computationally, we must know which of these disjuncts hold; to apply this in all situations, we would have to know everything (hence ‘omniscience’).
Bishop's principles of omniscience (stated below) may be seen as principles that extend classical logic from predicates (where $EM$ may happen to be valid, even constructively, for certain predicates) to their quantifications over infinite domains (where $EM$ is typically not constructively valid).
The limited principle of omniscience ($LPO$) states that the existential quantification of any decidable proposition is again decidable. That is,
or equivalently
We have not stated the domain of quantification of the variable $x$. If you take it to be the subsingleton corresponding to a given truth value and apply this principle to the constantly true proposition, then $EM$ follows; conversely, $EM$ implies $LPO$ (over any domain). However, Bishop's $LPO$ takes the domain to be the set of natural numbers, giving a weaker principle than $EM$. (It appears that a realizability topos based on infinite-time Turing machine?s validates $LPO$ but not $EM$; see Bauer (2011).)
We can also state the principle set-theoretically, with explicit reference to the domain of quantification. Given a set $A$, the limited principle of omniscience for $A$ ($LPO_A$) states that, given any function $f$ from $A$ to the boolean domain $\{0,1\}$, either $f$ is the constant map to $0$ or $1$ belongs to the image of $f$. Then Bishop's $LPO$ is $LPO_{\mathbb{N}}$, which applies to any infinite sequence of bits.
While $LPO$ for $\mathbb{N}$ is a classic example of the difference between constructive and classical mathematics, $LPO$ holds for the set $\overline{\mathbb{N}}$ of extended natural numbers; this is related to the fact that $\overline{\mathbb{N}}$ may constructively be given a compact topology. See Escardó (2011) for this and much more.
The lesser limited principle of omniscience ($LLPO$) states that, if the existential quantification of the conjunction of two decidable propositions is false, then one of their separate existential quantifications is false. That is,
or equivalently
If, as before, you take the domains of quantification to be subsingletons, you get de Morgan's law $\neg(p \wedge q) \Rightarrow \neg{p} \vee \neg{q}$ ($DM$), which is weaker than $EM$; conversely, $DM$ implies $LLPO$ (over any domain). Again, Bishop's $LLPO$ takes the domain to be $\mathbb{N}$, giving a principle weaker than $DM$ (and also weaker than $LPO_{\mathbb{N}}$).
Stated set-theoretically, the lesser limited principle of omniscience for $A$ ($LLPO_A$) states that, given functions $f, g\colon A \to \{0,1\}$, if $1 \notin \im f \cap \im g$, then $1 \notin \im f$ or $1 \notin \im g$. So Bishop's $LLPO$ is $LLPO_{\mathbb{N}}$. Note that $LLPO_A$ follows from $LPO_A$, but not conversely.
Bishop introduced the above principles of omniscience to show that certain results in pointwise analysis could not be constructive, by showing that these results implied a principle of omniscience. The principles of omniscience that appear directly in analysis are these:
The analytic (L)LPO implies the (L)LPO for natural numbers; the converses hold if we assume weak countable choice (as Bishop did). In any case, if we use the Cauchy real numbers (sequential real numbers), then the sequential analytic (L)LPO is the same as the (L)LPO for natural numbers.
(Note that we need not accept $WCC$ to see that an analytic result implies the (L)LPO and so cannot be constructively valid.)
There are various other results that are equivalent to or related to the principles of omniscience, which it might be handy to collect here. For the connection to writing real numbers as decimals (or in some other radix?), see Daniel Mehkeri's answer to Feldman (2010).
Assuming that Set is a Boolean topos, then $LPO_{\mathbb{N}}$ (the LPO for natural numbers) holds in any presheaf topos over $Set$ and indeed in any locally connected topos over $Set$, essentially since then $2^N$ is a constant object.
The LPO for natural numbers fails in the topological topos, due to its internal continuity principle.
Andrej Bauer (2011) via constructivenews, An Injection from $\mathbb{N}^{\mathbb{N}}$ to $\mathbb{N}$ (pdf)
Errett Bishop (1967), Foundations of Constructive Analysis (in the introduction or chapter 1, I forget)
Martín Escardó (2011) via constructivenews, Infinite sets that satisfy the principle of omniscience in all varieties of constructive mathematics (pdf)
David Feldman (2010) on Math.Overflow, Radix notation and toposes