print_unambiguous_comprehensions : bool ref
- SYNOPSIS
-
Determines whether bound variables in set abstractions are made explicit.
- DESCRIPTION
-
The reference variable print_unambiguous_comprehensions is one of several
settable parameters controlling printing of terms by pp_print_term, and hence
the automatic printing of terms and theorems at the toplevel. When it is
true, all set comprehensions are printed with an explicit indication of the
bound variables in the middle: `{t | vs | p}`. When it is false, as it is
by default, this printing of the set of bound variables is only done when the
term would otherwise fail to match the default parsing behaviour on input, and
otherwise just printed as `{t | p}`. The parsing behaviour for such a term is
to take the bound variables to be those free in both t and p, unless there
is just one variable free in t (in which case that variable is the only bound
one) or there are none free in p (in which case all free variables of t are
taken).
- FAILURE CONDITIONS
-
Not applicable.
- EXAMPLE
-
# print_unambiguous_comprehensions := false;;
val it : unit = ()
# `{x + y | x | EVEN(x)}`;;
val it : term = `{x + y | EVEN x}`
# print_unambiguous_comprehensions := true;;
val it : unit = ()
# `{x + y | x | EVEN(x)}`;;
val it : term = `{x + y | x | EVEN x}`
- SEE ALSO
-
pp_print_term, prebroken_binops, print_all_thm, reverse_interface_mapping,
typify_universal_set, unspaced_binops.