The Oracle Zoo inhabits different oracle constructions, various hypotheses surrounding open questions in complexity theory, and separations and relativizable implications between them.
To interact with the inhabitants, a directed graph whose nodes represent hypotheses, solid edges represent relativizable implications, and dotted edges represent separations of hypotheses is provided. There is also a list of the oracles inhabiting the Oracle Zoo on the right of the graph. Both can be found here.
Hypotheses are represented in a square enclosing a unique identifier in the graph. A list of the hypotheses and their corresponding identifiers can be found here.
By clicking on a hypothesis, its assumed truth value can be changed from unknown (white) to true (green) to false (red) to unknown (white). This is only possible if its truth value is not already fixed by another hypothesis's truth value. The truth values of all hypotheses can be set to unknown by pressing the button "Reset Selection".
Relativizable implications between hypotheses, i.e., implications that hold relative to an arbitrary oracle, are represented by solid arrows. The arrow goes from the premise hypothesis to the conclusion hypothesis.
Separations between hypotheses, i.e., implications that do not hold relative to an oracle, are represented by a dotted arrow. The arrow goes from the true premise hypothesis to the false conclusion hypothesis and is marked with an abbreviation of the oracle's source relative to which the implication does not hold. By clicking on the abbreviation, the source information can be viewed.
Oracles are represented in the graph by the known truth values of the hypotheses relative to it. If at least one truth value other than unknown is selected, the Oracle Zoo shows which other oracles are suitable, are of unknown suitability, and are not suitable for the truth value selection.
An oracle is suitable given an assignment of hypotheses to truth values true, false, and unknown if all hypotheses that are assigned true or false have the same known truth value relative to the oracle.
An oracle is of unknown suitability given an assignment of hypotheses to truth values true, false, and unknown if all assignments of true and false are consistent with the oracle's known true and false truth values.
An oracle is not suitable given an assignment of hypotheses to truth values true, false and unknown if there is a hypothesis whose truth value assignment is not consistent with the oracle's known true and false truth values.
By selecting the desired truth values, the oracles that are known to have the selected truth values can be found in the list of suitable oracles.
By selecting an oracle from the list of oracles, its known truth values unequal to unknown are applied to the hypotheses in the graph. If there are some hypotheses in the graph with a truth value unequal to unknown that are conflicting to the truth values in an oracle, that oracle cannot be selected. In this case reset the selection before selecting the oracle.