 There are several other approaches to negation that build on quite different ideas of expressing semantic opposition. A meta-level conception of negation, for example, is the so-called negation as failure that has been developed in logic programming. The seminal paper Clark 1978 suggests the higher-level negation as failure rule (in a slightly irritating notation): \(\vdash \osim \vdash p \mbox{ infer } \vdash \osim p\). The idea is that \(\osim p\) may be inferred if the exhaustive search for a proof of the atomic statement \(p\) failed.