File: MK_CONJ_UPPERCASE.doc

package info (click to toggle)
hol-light 20120602-1
  • links: PTS, VCS
  • area: main
  • in suites: wheezy
  • size: 23,452 kB
  • sloc: ml: 348,797; cpp: 438; java: 279; makefile: 252; sh: 183; yacc: 108; perl: 78; ansic: 57; sed: 39
file content (34 lines) | stat: -rw-r--r-- 829 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
\DOC MK_CONJ

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

\SYNOPSIS
Conjoin both sides of two equational theorems.

\DESCRIBE
Given two theorems, each with a Boolean equation as conclusion, {MK_CONJ}
returns the equation resulting from conjoining their respective sides:
{
         A |- p <=> p'   B |- q <=> q'
      ----------------------------------- MK_CONJ
           A u B |- p /\ q <=> p' /\ q'
}

\FAILURE
Fails unless both input theorems are Boolean equations (iff).

\EXAMPLE
{
  # let th1 = ARITH_RULE `0 < n <=> ~(n = 0)`
    and th2 = ARITH_RULE `1 <= n <=> ~(n = 0)`;;
  val th1 : thm = |- 0 < n <=> ~(n = 0)
  val th2 : thm = |- 1 <= n <=> ~(n = 0)

  # MK_CONJ th1 th2;;
  val it : thm = |- 0 < n /\ 1 <= n <=> ~(n = 0) /\ ~(n = 0)
}

\SEEALSO
AP_TERM, AP_THM, MK_BINOP, MK_COMB, MK_DISJ, MK_EXISTS, MK_FORALL.

\ENDDOC