src/HOL/Import/HOL_Light/HOLLightReal.thy
author wenzelm
Mon, 12 Mar 2012 19:09:38 +0100
changeset 46879 a8b1236e0837
parent 46786 f0285e69d704
permissions -rw-r--r--
tuned headers;
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
46879
a8b1236e0837 tuned headers;
wenzelm
parents: 46786
diff changeset
     1
(*  Title:      HOL/Import/HOL_Light/HOLLightReal.thy
43785
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
     2
    Author:     Cezary Kaliszyk
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
     3
*)
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
     4
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
     5
header {* Compatibility theorems for HOL Light reals *}
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
     6
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
     7
theory HOLLightReal imports Real begin
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
     8
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
     9
lemma REAL_OF_NUM_MAX:
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
    10
  "max (real (m :: nat)) (real n) = real (max m n)"
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
    11
  by simp
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
    12
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
    13
lemma REAL_OF_NUM_MIN:
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
    14
  "min (real (m :: nat)) (real n) = real (min m n)"
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
    15
  by simp
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
    16
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
    17
lemma REAL_POLY_NEG_CLAUSES:
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
    18
  "(\<forall>(x :: real). - x = - 1 * x) \<and> (\<forall>(x :: real) y. x - y = x + - 1 * y)"
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
    19
  by simp
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
    20
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
    21
lemma REAL_MUL_AC:
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
    22
  "(m :: real) * n = n * m \<and> m * n * p = m * (n * p) \<and> m * (n * p) = n * (m * p)"
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
    23
  by simp
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
    24
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
    25
lemma REAL_EQ_ADD_LCANCEL_0:
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
    26
  "((x :: real) + y = x) = (y = 0)"
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
    27
  by simp
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
    28
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
    29
lemma REAL_EQ_ADD_RCANCEL_0:
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
    30
  "((x :: real) + y = y) = (x = 0)"
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
    31
  by simp
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
    32
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
    33
lemma REAL_LT_ANTISYM:
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
    34
  "\<not> ((x :: real) < y \<and> y < x)"
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
    35
  by simp
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
    36
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
    37
lemma REAL_LET_ANTISYM:
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
    38
  "\<not> ((x :: real) \<le> y \<and> y < x)"
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
    39
  by simp
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
    40
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
    41
lemma REAL_LT_NEGTOTAL:
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
    42
  "(x :: real) = 0 \<or> 0 < x \<or> 0 < - x"
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
    43
  by auto
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
    44
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
    45
lemma REAL_LT_ADDNEG:
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
    46
  "((y :: real) < x + - z) = (y + z < x)"
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
    47
  by auto
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
    48
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
    49
lemma REAL_LT_ADDNEG2:
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
    50
  "((x :: real) + - y < z) = (x < z + y)"
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
    51
  by auto
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
    52
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
    53
lemma REAL_LT_ADD1:
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
    54
  "(x :: real) \<le> y \<longrightarrow> x < y + 1"
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
    55
  by simp
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
    56
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
    57
lemma REAL_SUB_ADD2:
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
    58
  "(y :: real) + (x - y) = x"
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
    59
  by simp
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
    60
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
    61
lemma REAL_ADD_SUB:
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
    62
  "(x :: real) + y - x = y"
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
    63
  by simp
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
    64
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
    65
lemma REAL_NEG_EQ:
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
    66
  "(- (x :: real) = y) = (x = - y)"
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
    67
  by auto
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
    68
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
    69
lemma REAL_LE_ADDR:
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
    70
  "((x :: real) \<le> x + y) = (0 \<le> y)"
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
    71
  by simp
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
    72
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
    73
lemma REAL_LE_ADDL:
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
    74
  "((y :: real) \<le> x + y) = (0 \<le> x)"
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
    75
  by simp
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
    76
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
    77
lemma REAL_LT_ADDR:
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
    78
  "((x :: real) < x + y) = (0 < y)"
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
    79
  by simp
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
    80
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
    81
lemma REAL_LT_ADDL:
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
    82
  "((y :: real) < x + y) = (0 < x)"
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
    83
  by simp
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
    84
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
    85
lemma REAL_SUB_SUB:
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
    86
  "(x :: real) - y - x = - y"
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
    87
  by simp
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
    88
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
    89
lemma REAL_SUB_LNEG:
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
    90
  "- (x :: real) - y = - (x + y)"
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
    91
  by simp
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
    92
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
    93
lemma REAL_SUB_NEG2:
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
    94
  "- (x :: real) - - y = y - x"
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
    95
  by simp
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
    96
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
    97
lemma REAL_SUB_TRIANGLE:
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
    98
  "(a :: real) - b + (b - c) = a - c"
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
    99
  by simp
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   100
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   101
lemma REAL_SUB_SUB2:
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   102
  "(x :: real) - (x - y) = y"
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   103
  by simp
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   104
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   105
lemma REAL_ADD_SUB2:
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   106
  "(x :: real) - (x + y) = - y"
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   107
  by simp
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   108
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   109
lemma REAL_POS_NZ:
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   110
  "0 < (x :: real) \<longrightarrow> x \<noteq> 0"
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   111
  by simp
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   112
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   113
lemma REAL_DIFFSQ:
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   114
  "((x :: real) + y) * (x - y) = x * x - y * y"
44282
f0de18b62d63 remove bounded_(bi)linear locale interpretations, to avoid duplicating so many lemmas
huffman
parents: 43785
diff changeset
   115
  by (simp add: comm_semiring_1_class.normalizing_semiring_rules(7) right_distrib mult_diff_mult)
43785
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   116
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   117
lemma REAL_ABS_TRIANGLE_LE:
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   118
  "abs (x :: real) + abs (y - x) \<le> z \<longrightarrow> abs y \<le> z"
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   119
  by auto
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   120
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   121
lemma REAL_ABS_TRIANGLE_LT:
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   122
  "abs (x :: real) + abs (y - x) < z \<longrightarrow> abs y < z"
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   123
  by auto
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   124
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   125
lemma REAL_ABS_REFL:
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   126
  "(abs (x :: real) = x) = (0 \<le> x)"
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   127
  by auto
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   128
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   129
lemma REAL_ABS_BETWEEN:
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   130
  "(0 < (d :: real) \<and> x - d < y \<and> y < x + d) = (abs (y - x) < d)"
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   131
  by auto
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   132
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   133
lemma REAL_ABS_BOUND:
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   134
  "abs ((x :: real) - y) < d \<longrightarrow> y < x + d"
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   135
  by auto
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   136
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   137
lemma REAL_ABS_STILLNZ:
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   138
  "abs ((x :: real) - y) < abs y \<longrightarrow> x \<noteq> 0"
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   139
  by auto
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   140
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   141
lemma REAL_ABS_CASES:
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   142
  "(x :: real) = 0 \<or> 0 < abs x"
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   143
  by simp
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   144
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   145
lemma REAL_ABS_BETWEEN1:
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   146
  "(x :: real) < z \<and> abs (y - x) < z - x \<longrightarrow> y < z"
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   147
  by auto
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   148
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   149
lemma REAL_ABS_SIGN:
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   150
  "abs ((x :: real) - y) < y \<longrightarrow> 0 < x"
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   151
  by auto
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   152
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   153
lemma REAL_ABS_SIGN2:
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   154
  "abs ((x :: real) - y) < - y \<longrightarrow> x < 0"
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   155
  by auto
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   156
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   157
lemma REAL_ABS_CIRCLE:
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   158
  "abs (h :: real) < abs y - abs x \<longrightarrow> abs (x + h) < abs y"
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   159
  by auto
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   160
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   161
lemma REAL_BOUNDS_LT:
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   162
  "(- (k :: real) < x \<and> x < k) = (abs x < k)"
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   163
  by auto
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   164
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   165
lemma REAL_MIN_MAX:
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   166
  "min (x :: real) y = - max (- x) (- y)"
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   167
  by auto
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   168
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   169
lemma REAL_MAX_MIN:
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   170
  "max (x :: real) y = - min (- x) (- y)"
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   171
  by auto
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   172
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   173
lemma REAL_MAX_MAX:
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   174
  "(x :: real) \<le> max x y \<and> y \<le> max x y"
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   175
  by simp
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   176
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   177
lemma REAL_MIN_MIN:
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   178
  "min (x :: real) y \<le> x \<and> min x y \<le> y"
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   179
  by simp
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   180
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   181
lemma REAL_MAX_ACI:
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   182
  "max (x :: real) y = max y x \<and>
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   183
   max (max x y) z = max x (max y z) \<and>
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   184
   max x (max y z) = max y (max x z) \<and> max x x = x \<and> max x (max x y) = max x y"
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   185
  by auto
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   186
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   187
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   188
lemma REAL_MIN_ACI:
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   189
  "min (x :: real) y = min y x \<and>
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   190
   min (min x y) z = min x (min y z) \<and>
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   191
   min x (min y z) = min y (min x z) \<and> min x x = x \<and> min x (min x y) = min x y"
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   192
  by auto
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   193
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   194
lemma REAL_EQ_MUL_RCANCEL:
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   195
  "((x :: real) * z = y * z) = (x = y \<or> z = 0)"
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   196
  by auto
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   197
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   198
lemma REAL_MUL_LINV_UNIQ:
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   199
  "(x :: real) * y = 1 \<longrightarrow> inverse y = x"
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   200
  by (metis inverse_inverse_eq inverse_unique)
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   201
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   202
lemma REAL_DIV_RMUL:
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   203
  "(y :: real) \<noteq> 0 \<longrightarrow> x / y * y = x"
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   204
  by simp
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   205
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   206
lemma REAL_DIV_LMUL:
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   207
  "(y :: real) \<noteq> 0 \<longrightarrow> y * (x / y) = x"
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   208
  by simp
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   209
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   210
lemma REAL_LT_IMP_NZ:
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   211
  "0 < (x :: real) \<longrightarrow> x \<noteq> 0"
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   212
  by simp
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   213
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   214
lemma REAL_LT_LCANCEL_IMP:
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   215
  "0 < (x :: real) \<and> x * y < x * z \<longrightarrow> y < z"
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   216
  by (auto simp add: mult_less_cancel_left_disj not_less_iff_gr_or_eq)
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   217
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   218
lemma REAL_LT_RCANCEL_IMP:
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   219
  "0 < (z :: real) \<and> x * z < y * z \<longrightarrow> x < y"
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   220
  by (auto simp add: mult_less_cancel_left_disj not_less_iff_gr_or_eq)
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   221
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   222
lemma REAL_MUL_POS_LE:
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   223
  "(0 \<le> (x :: real) * y) = (x = 0 \<or> y = 0 \<or> 0 < x \<and> 0 < y \<or> x < 0 \<and> y < 0)"
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   224
  by (metis less_eq_real_def mult_eq_0_iff zero_le_mult_iff)
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   225
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   226
lemma REAL_EQ_RDIV_EQ:
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   227
  "0 < (z :: real) \<longrightarrow> (x = y / z) = (x * z = y)"
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   228
  by auto
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   229
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   230
lemma REAL_EQ_LDIV_EQ:
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   231
  "0 < (z :: real) \<longrightarrow> (x / z = y) = (x = y * z)"
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   232
  by auto
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   233
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   234
lemma REAL_SUB_INV:
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   235
  "(x :: real) \<noteq> 0 \<and> y \<noteq> 0 \<longrightarrow> inverse x - inverse y = (y - x) / (x * y)"
45051
c478d1876371 discontinued legacy theorem names from RealDef.thy
huffman
parents: 44633
diff changeset
   236
  by (simp add: division_ring_inverse_diff divide_real_def)
43785
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   237
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   238
lemma REAL_DOWN:
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   239
  "0 < (d :: real) \<longrightarrow> (\<exists>e>0. e < d)"
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   240
  by (intro impI exI[of _ "d / 2"]) simp
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   241
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   242
lemma REAL_POW_MONO_LT:
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   243
  "1 < (x :: real) \<and> m < n \<longrightarrow> x ^ m < x ^ n"
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   244
  by simp
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   245
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   246
lemma REAL_POW_MONO:
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   247
  "1 \<le> (x :: real) \<and> m \<le> n \<longrightarrow> x ^ m \<le> x ^ n"
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   248
  by (cases "m < n", cases "x = 1") auto
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   249
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   250
lemma REAL_EQ_LCANCEL_IMP:
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   251
  "(z :: real) \<noteq> 0 \<and> z * x = z * y \<longrightarrow> x = y"
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   252
  by auto
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   253
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   254
lemma REAL_LE_DIV:
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   255
  "0 \<le> (x :: real) \<and> 0 \<le> y \<longrightarrow> 0 \<le> x / y"
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   256
  by (simp add: zero_le_divide_iff)
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   257
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   258
lemma REAL_10: "(1::real) \<noteq> 0"
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   259
  by simp
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   260
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   261
lemma REAL_ADD_ASSOC: "(x::real) + (y + z) = x + y + z"
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   262
  by simp
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   263
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   264
lemma REAL_MUL_ASSOC: "(x::real) * (y * z) = x * y * z"
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   265
  by simp
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   266
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   267
lemma REAL_ADD_LINV:  "-x + x = (0::real)"
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   268
  by simp
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   269
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   270
lemma REAL_MUL_LINV: "x \<noteq> (0::real) \<Longrightarrow> inverse x * x = 1"
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   271
  by simp
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   272
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   273
lemma REAL_LT_TOTAL: "((x::real) = y) \<or> x < y \<or> y < x"
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   274
  by auto
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   275
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   276
lemma real_lte: "((x::real) \<le> y) = (\<not>(y < x))"
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   277
  by auto
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   278
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   279
lemma real_of_num: "((0::real) = 0) \<and> (!n. real (Suc n) = real n + 1)"
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   280
  by (simp add: real_of_nat_Suc)
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   281
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   282
lemma abs: "abs (x::real) = (if 0 \<le> x then x else -x)"
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   283
  by (simp add: abs_if)
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   284
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   285
lemma pow: "(!x::real. x ^ 0 = 1) \<and> (!x::real. \<forall>n. x ^ (Suc n) = x * x ^ n)"
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   286
  by simp
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   287
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   288
lemma REAL_POLY_CLAUSES:
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   289
  "(\<forall>(x :: real) y z. x + (y + z) = x + y + z) \<and>
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   290
   (\<forall>(x :: real) y. x + y = y + x) \<and>
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   291
   (\<forall>(x :: real). 0 + x = x) \<and>
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   292
   (\<forall>(x :: real) y z. x * (y * z) = x * y * z) \<and>
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   293
   (\<forall>(x :: real) y. x * y = y * x) \<and>
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   294
   (\<forall>(x :: real). 1 * x = x) \<and>
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   295
   (\<forall>(x :: real). 0 * x = 0) \<and>
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   296
   (\<forall>(x :: real) y z. x * (y + z) = x * y + x * z) \<and>
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   297
   (\<forall>(x :: real). x ^ 0 = 1) \<and> (\<forall>(x :: real) n. x ^ Suc n = x * x ^ n)"
44282
f0de18b62d63 remove bounded_(bi)linear locale interpretations, to avoid duplicating so many lemmas
huffman
parents: 43785
diff changeset
   298
  by (auto simp add: right_distrib)
43785
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   299
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   300
lemma REAL_COMPLETE:
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   301
  "(\<exists>(x :: real). P x) \<and> (\<exists>(M :: real). \<forall>x. P x \<longrightarrow> x \<le> M) \<longrightarrow>
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   302
   (\<exists>M. (\<forall>x. P x \<longrightarrow> x \<le> M) \<and>
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   303
          (\<forall>M'. (\<forall>x. P x \<longrightarrow> x \<le> M') \<longrightarrow> M \<le> M'))"
44633
8a2fd7418435 HOL/Import: observe distinction between sets and predicates (where possible)
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 44282
diff changeset
   304
  using complete_real[unfolded Ball_def, of "Collect P"] by auto
43785
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   305
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   306
lemma REAL_COMPLETE_SOMEPOS:
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   307
  "(\<exists>(x :: real). P x \<and> 0 \<le> x) \<and> (\<exists>M. \<forall>x. P x \<longrightarrow> x \<le> M) \<longrightarrow>
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   308
   (\<exists>M. (\<forall>x. P x \<longrightarrow> x \<le> M) \<and>
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   309
          (\<forall>M'. (\<forall>x. P x \<longrightarrow> x \<le> M') \<longrightarrow> M \<le> M'))"
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   310
  using REAL_COMPLETE by auto
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   311
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   312
lemma REAL_ADD_AC:
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   313
  "(m :: real) + n = n + m \<and> m + n + p = m + (n + p) \<and> m + (n + p) = n + (m + p)"
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   314
  by simp
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   315
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   316
lemma REAL_LE_RNEG:
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   317
  "((x :: real) \<le> - y) = (x + y \<le> 0)"
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   318
  by auto
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   319
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   320
lemma REAL_LE_NEGTOTAL:
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   321
  "0 \<le> (x :: real) \<or> 0 \<le> - x"
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   322
  by auto
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   323
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   324
lemma DEF_real_sgn:
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   325
  "sgn = (\<lambda>u. if (0 :: real) < u then 1 else if u < 0 then - 1 else 0)"
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   326
  by (simp add: ext)
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   327
2bd54d4b5f3d HOL/Import for HOLLight revival: Proper theory headers, update generation scripts to SVN version of HOL Light, add some constant maps and compatibility theorems
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents:
diff changeset
   328
end
46783
3e89a5cab8d7 tuned whitespace
haftmann
parents: 45051
diff changeset
   329