In constructive mathematics we often hear expressions such as "extracting computational content from proofs", "the constructivity of mathematics lies in its computational content", "realizability models allow to study the computational content", "intuitionistic double-negation forgets the computational content of a proposition", and so on.
I was wondering if there is a formal notion of computational content (of a proposition, proof, theory...), so that the meaning of expressions such as the ones above can be made precise. If so, I would be grateful to anyone who could give me some references. Thank you.
Addendum. Let me clarify that I do understand the intuitive meaning behind the words "computational content" in the expressions above. What I'm looking for is a formal definition.
It seems to me that in this area there are indeed many notions which are left unformalized, maybe because they are often used in a broad sense, or because a formal definition is felt to be unnecessary. Examples of these notions are realizability, proofs-as-programs paradigm, propositions-as-sets paradigm, intensionality/extensionality, proof irrelevance. Formal definitions have been proposed for some of these concepts. For instance, one could say that a theory satisfies the proofs-as-programs paradigm if it is consistent with the axiom of choice and Church's thesis, following [1]; or that a type $B$ is proof irrelevant if $x \in B, y \in B \vdash x = y \in B$ is derivable.
I'm looking for the same kind of thing for "computational content". For instance, a formal definition of computational content of propositions in a fixed theory could look like a function from the set of valid propositions to a partially ordered set, so that we would have that the computational content of $\neg \forall x \neg P(x)$ is always less than or equal to that of $\exists x P(x)$.
[1] M. Maietti & G. Sambin. Toward a minimalist foundation for constructive mathematics. In L. Crosilla and P. Schuster, editors, From Sets and Types to Topology and Analysis: Practicable Foundations for Constructive Mathematics, number 48 in Oxford Logic Guides, pages 91–114. Oxford University Press, 2005.
One way of formalizing the computational content of mathematical theorems is via Weihrauch reducibility, as described in the paper "Weihrauch Degrees, Omniscience Principles and Weak Computability" by Brattka and Gherardi. An important aspect is that it measures the computational content of theorems, not the computational content of proofs.
Weihrauch reducibility gives us a partially ordered set of mathematical theorems, where the lower ones as "more computable" (or at least "less uncomputable") than the higher ones. It is currently a very active area of research in computability theory.
Another method to formalize computational content of theorems is via Reverse Mathematics, which also gives a formal way to compare the computational strengths of different theorems of mathematics. This gives, intuitively, a coarser order than Weihrauch reducibility, but it has been a very productive setting for analyzing real theorems.
The general problem that any definition of "computational content" will encounter is that the objects in mathematics are not typically constructed in a way that is suitable for computability. So it's always necessary to choose coding systems to represent them. But every choice of coding, every choice of computability conventions, etc. leads to a different formal definition of "computational content".