File: reverse_interface_mapping.doc

package info (click to toggle)
hol-light 20190729-4
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 42,676 kB
  • sloc: ml: 637,078; cpp: 439; makefile: 301; lisp: 286; java: 279; sh: 239; yacc: 108; perl: 78; ansic: 57; sed: 39; python: 13
file content (42 lines) | stat: -rw-r--r-- 1,339 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
\DOC reverse_interface_mapping

\TYPE {reverse_interface_mapping : bool ref}

\SYNOPSIS
Determines whether interface map is printed on output (default {true}).

\DESCRIBE
The reference variable {reverse_interface_mapping} 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
{reverse_interface_mapping} is {true} (as it is by default), the front-end
interface map for a constant or variable is printed. When it is {false}, the
core constant or variable is printed.

\FAILURE
Not applicable.

\EXAMPLE
Here is a simple library theorem about real numbers as it usually appears:
{
  # reverse_interface_mapping := true;;
  val it : unit = ()
  # REAL_EQ_SUB_LADD;;
  val it : thm = |- !x y z. x = y - z <=> x + z = y
}
\noindent but with another setting of {reverse_interface_mapping} we see that 
the usual symbol `{+}' is an interface for {real_add}, while the `iff' sign is 
just an interface for Boolean equality:
{  
  # reverse_interface_mapping := false;;
  val it : unit = ()
  # REAL_EQ_SUB_LADD;;
  val it : thm = |- !x y z. (x = real_sub y z) = real_add x z = y
}

\SEEALSO
pp_print_term, prebroken_binops, print_all_thm,
print_unambiguous_comprehensions, the_interface, typify_universal_set,
unspaced_binops.

\ENDDOC