File: IMP_ANTISYM_RULE.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 (38 lines) | stat: -rw-r--r-- 880 bytes parent folder | download | duplicates (7)
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
\DOC IMP_ANTISYM_RULE

\TYPE {IMP_ANTISYM_RULE : thm -> thm -> thm}

\SYNOPSIS
Deduces equality of boolean terms from forward and backward implications.

\KEYWORDS
rule, implication, equality.

\DESCRIBE
When applied to the theorems {A1 |- t1 ==> t2} and {A2 |- t2 ==> t1}, the
inference rule {IMP_ANTISYM_RULE} returns the theorem {A1 u A2 |- t1 <=> t2}.
{
   A1 |- t1 ==> t2     A2 |- t2 ==> t1
  -------------------------------------  IMP_ANTISYM_RULE
           A1 u A2 |- t1 <=> t2
}

\FAILURE
Fails unless the theorems supplied are a complementary implicative
pair as indicated above.

\EXAMPLE
{
  # let th1 = TAUT `p /\ q ==> q /\ p`
    and th2 = TAUT `q /\ p ==> p /\ q`;;
  val th1 : thm = |- p /\ q ==> q /\ p
  val th2 : thm = |- q /\ p ==> p /\ q

  # IMP_ANTISYM_RULE th1 th2;;
  val it : thm = |- p /\ q <=> q /\ p
}

\SEEALSO
EQ_IMP_RULE, EQ_MP, EQ_TAC.

\ENDDOC