File: LE_IMP.doc

package info (click to toggle)
hol-light 20170109-1
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 36,568 kB
  • ctags: 8,549
  • sloc: ml: 540,018; cpp: 439; lisp: 286; java: 279; makefile: 262; sh: 229; yacc: 108; perl: 78; ansic: 57; sed: 39
file content (30 lines) | stat: -rw-r--r-- 759 bytes parent folder | download | duplicates (6)
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
\DOC LE_IMP

\TYPE {LE_IMP : thm -> thm}

\SYNOPSIS
Perform transitivity chaining for non-strict natural number inequality.

\DESCRIBE
When applied to a theorem {A |- s <= t} where {s} and {t} have type {num}, the
rule {LE_IMP} returns {A |- !x1...xn z. t <= z ==> s <= z}, where {z} is some
variable and the {x1,...,xn} are free variables in {s} and {t}.

\FAILURE
Fails if applied to a theorem whose conclusion is not of the form {`s <= t`}
for some natural number terms {s} and {t}.

\EXAMPLE
{
  # LE_IMP (ARITH_RULE `n <= SUC(m + n)`);;
  val it : thm = |- !m n p. SUC (m + n) <= p ==> n <= p
}

\USES
Can make transitivity chaining in goals easier, e.g. by
{FIRST_ASSUM(MATCH_MP_TAC o LE_IMP)}.

\SEEALSO
ARITH_RULE, REAL_LE_IMP, REAL_LET_IMP.

\ENDDOC