There are two type families which are given a special interpretation during execution of a program: sigma and ` (backquote). Backquote was intended as a debugging aid, but the semantics is to tricky to make this reliable in the current intepreter. The first is generally useful at the top-level.
sigma. Use ?- sigma [x:A] B. to get the operational behavior of solving A with proof term M, then solving [M/x]B. The corresponding deduction is a pair of the witness M and deduction of [M/x]B, using the proof constructor #pr#. This awkward mechanism will be replaced by the solve declaration in the module system. Sigma's can be nested, but they can only be used at the top-level and cannot be embedded in signatures, since they are not properly part of the type theory.
` (backquote). Use ` A for tracing invocations of the goal A. Note that this will break proof transformation code, since the type of the constants now involves backquote. The constructor #`# coerces an object of type A into an object of type ` A and will thus appear in proof objects if a subgoal of the form ` A was successful.