src/Tools/isac/ProgLang/Real2002-theorems.sml
author Walther Neuper <neuper@ist.tugraz.at>
Wed, 25 Aug 2010 16:20:07 +0200
branchisac-update-Isa09-2
changeset 37947 22235e4dbe5f
parent 37906 src/Tools/isac/Scripts/Real2002-theorems.sml@e2b23ba9df13
child 37965 9c11005c33b8
permissions -rw-r--r--
renamed isac's directories and Build_Isac.thy

Scripts --> ProgLang
ME --> Interpret
IsacKnowledge --> Knowledge
neuper@37906
     1
(*WN060306 from isabelle-users:
neuper@37906
     2
put expressions involving plus and minus into a canonical form. Here is a possible set of 
neuper@37906
     3
rules:
neuper@37906
     4
neuper@37906
     5
  add_assoc add_commute
neuper@37906
     6
  diff_def minus_add_distrib
neuper@37906
     7
  minus_minus minus_zero
neuper@37906
     8
===========================================================================*)
neuper@37906
     9
neuper@37906
    10
(*
neuper@37906
    11
 cd ~/Isabelle2002/src/HOL/Real
neuper@37906
    12
 grep qed *.ML > ~/develop/isac/Isa02/Real2002-theorems.sml
neuper@37906
    13
 WN 9.8.02
neuper@37906
    14
neuper@37906
    15
ML> thy;
neuper@37906
    16
val it =
neuper@37906
    17
  {ProtoPure, CPure, HOL, Set, Typedef, Fun, Product_Type, Lfp, Gfp, Sum_Type,
neuper@37906
    18
    Relation, Record, Inductive, Transitive_Closure, Wellfounded_Recursion,
neuper@37906
    19
    NatDef, Nat, NatArith, Divides, Power, SetInterval, Finite_Set, Equiv,
neuper@37906
    20
    IntDef, Int, Datatype_Universe, Datatype, Numeral, Bin, IntArith,
neuper@37906
    21
    Wellfounded_Relations, Recdef, IntDiv, IntPower, NatBin, NatSimprocs,
neuper@37906
    22
    Relation_Power, PreList, List, Map, Hilbert_Choice, Main, Lubs, PNat, PRat,
neuper@37906
    23
    PReal, RealDef, RealOrd, RealInt, RealBin, RealArith0, RealArith,
neuper@37906
    24
    RComplete, RealAbs, RealPow, Ring_and_Field, Complex_Numbers, Real}
neuper@37906
    25
  : theory
neuper@37906
    26
neuper@37906
    27
theories with their respective theorems found by
neuper@37906
    28
grep qed *.ML > ~/develop/isac/Isa02/Real2002-theorems.sml;
neuper@37906
    29
theories listed in the the order as found in Real.thy above
neuper@37906
    30
neuper@37906
    31
comments
neuper@37906
    32
    (**)"...theorem..."  : first choice for one of the rule-sets
neuper@37906
    33
    "...theorem..."(*??*): to be investigated
neuper@37906
    34
    "...theorem...       : just for documenting the contents
neuper@37906
    35
*)
neuper@37906
    36
neuper@37906
    37
Lubs.ML:qed -----------------------------------------------------------------
neuper@37906
    38
 "setleI";     "ALL y::?'a:?S::?'a set. y <= (?x::?'a) ==> ?S *<= ?x"
neuper@37906
    39
 "setleD";     "[| (?S::?'a set) *<= (?x::?'a); (?y::?'a) : ?S |] ==> ?y <= ?x"
neuper@37906
    40
 "setgeI";     "Ball (?S::?'a set) (op <= (?x::?'a)) ==> ?x <=* ?S"
neuper@37906
    41
 "setgeD";     "[| (?x::?'a) <=* (?S::?'a set); (?y::?'a) : ?S |] ==> ?x <= ?y"
neuper@37906
    42
 "leastPD1";
neuper@37906
    43
 "leastPD2";
neuper@37906
    44
 "leastPD3";
neuper@37906
    45
 "isLubD1";
neuper@37906
    46
 "isLubD1a";
neuper@37906
    47
 "isLub_isUb";
neuper@37906
    48
 "isLubD2";
neuper@37906
    49
 "isLubD3";
neuper@37906
    50
 "isLubI1";
neuper@37906
    51
 "isLubI2";
neuper@37906
    52
 "isUbD";
neuper@37906
    53
       	 "[| isUb (?R::?'a set) (?S::?'a set) (?x::?'a); (?y::?'a) : ?S |]
neuper@37906
    54
       	  ==> ?y <= ?x" "isUbD2";
neuper@37906
    55
 "isUbD2a";
neuper@37906
    56
 "isUbI";
neuper@37906
    57
 "isLub_le_isUb";
neuper@37906
    58
 "isLub_ubs";
neuper@37906
    59
PNat.ML:qed ------------------------------------------------------------------
neuper@37906
    60
 "pnat_fun_mono";          "mono (%X::nat set. {Suc (0::nat)} Un Suc ` X)"
neuper@37906
    61
 "one_RepI";               "Suc (0::nat) : pnat"
neuper@37906
    62
 "pnat_Suc_RepI";
neuper@37906
    63
 "two_RepI";
neuper@37906
    64
 "PNat_induct";
neuper@37906
    65
       	 "[| (?i::nat) : pnat; (?P::nat => bool) (Suc (0::nat));
neuper@37906
    66
       	     !!j::nat. [| j : pnat; ?P j |] ==> ?P (Suc j) |] ==> ?P ?i"
neuper@37906
    67
 "pnat_induct";
neuper@37906
    68
       	 "[| (?P::pnat => bool) (1::pnat); !!n::pnat. ?P n ==> ?P (pSuc n) |]
neuper@37906
    69
       	  ==> ?P (?n::pnat)"
neuper@37906
    70
 "pnat_diff_induct";
neuper@37906
    71
 "pnatE";
neuper@37906
    72
 "inj_on_Abs_pnat";
neuper@37906
    73
 "inj_Rep_pnat";
neuper@37906
    74
 "zero_not_mem_pnat";
neuper@37906
    75
 "mem_pnat_gt_zero";
neuper@37906
    76
 "gt_0_mem_pnat";
neuper@37906
    77
 "mem_pnat_gt_0_iff";
neuper@37906
    78
 "Rep_pnat_gt_zero";
neuper@37906
    79
 "pnat_add_commute";        "(?x::pnat) + (?y::pnat) = ?y + ?x"
neuper@37906
    80
 "Collect_pnat_gt_0";
neuper@37906
    81
 "pSuc_not_one";
neuper@37906
    82
 "inj_pSuc"; 
neuper@37906
    83
 "pSuc_pSuc_eq";
neuper@37906
    84
 "n_not_pSuc_n";
neuper@37906
    85
 "not1_implies_pSuc";
neuper@37906
    86
 "pSuc_is_plus_one";
neuper@37906
    87
 "sum_Rep_pnat";
neuper@37906
    88
 "sum_Rep_pnat_sum";
neuper@37906
    89
 "pnat_add_assoc";
neuper@37906
    90
 "pnat_add_left_commute";
neuper@37906
    91
 "pnat_add_left_cancel";
neuper@37906
    92
 "pnat_add_right_cancel";
neuper@37906
    93
 "pnat_no_add_ident";
neuper@37906
    94
 "pnat_less_not_refl";
neuper@37906
    95
 "pnat_less_not_refl2";
neuper@37906
    96
 "Rep_pnat_not_less0";
neuper@37906
    97
 "Rep_pnat_not_less_one";
neuper@37906
    98
 "Rep_pnat_gt_implies_not0";
neuper@37906
    99
 "pnat_less_linear";
neuper@37906
   100
 "Rep_pnat_le_one";
neuper@37906
   101
 "lemma_less_ex_sum_Rep_pnat";
neuper@37906
   102
 "pnat_le_iff_Rep_pnat_le";
neuper@37906
   103
 "pnat_add_left_cancel_le";
neuper@37906
   104
 "pnat_add_left_cancel_less";
neuper@37906
   105
 "pnat_add_lessD1";
neuper@37906
   106
 "pnat_not_add_less1";
neuper@37906
   107
 "pnat_not_add_less2";
neuper@37906
   108
PNat.ML:qed_spec_mp 
neuper@37906
   109
 "pnat_add_leD1";
neuper@37906
   110
 "pnat_add_leD2";
neuper@37906
   111
PNat.ML:qed 
neuper@37906
   112
 "pnat_less_add_eq_less";
neuper@37906
   113
 "pnat_less_iff";
neuper@37906
   114
 "pnat_linear_Ex_eq";
neuper@37906
   115
 "pnat_eq_lessI";
neuper@37906
   116
 "Rep_pnat_mult_1";
neuper@37906
   117
 "Rep_pnat_mult_1_right";
neuper@37906
   118
 "mult_Rep_pnat";
neuper@37906
   119
 "mult_Rep_pnat_mult";
neuper@37906
   120
 "pnat_mult_commute";           "(?m::pnat) * (?n::pnat) = ?n * ?m"
neuper@37906
   121
 "pnat_add_mult_distrib";
neuper@37906
   122
 "pnat_add_mult_distrib2";
neuper@37906
   123
 "pnat_mult_assoc";
neuper@37906
   124
 "pnat_mult_left_commute";
neuper@37906
   125
 "pnat_mult_1";
neuper@37906
   126
 "pnat_mult_1_left";
neuper@37906
   127
 "pnat_mult_less_mono2";
neuper@37906
   128
 "pnat_mult_less_mono1";
neuper@37906
   129
 "pnat_mult_less_cancel2";
neuper@37906
   130
 "pnat_mult_less_cancel1";
neuper@37906
   131
 "pnat_mult_cancel2";
neuper@37906
   132
 "pnat_mult_cancel1";
neuper@37906
   133
 "pnat_same_multI2";
neuper@37906
   134
 "eq_Abs_pnat";
neuper@37906
   135
 "pnat_one_iff";
neuper@37906
   136
 "pnat_two_eq";
neuper@37906
   137
 "inj_pnat_of_nat";
neuper@37906
   138
 "nat_add_one_less";
neuper@37906
   139
 "nat_add_one_less1";
neuper@37906
   140
 "pnat_of_nat_add";
neuper@37906
   141
 "pnat_of_nat_less_iff";
neuper@37906
   142
 "pnat_of_nat_mult";
neuper@37906
   143
PRat.ML:qed ------------------------------------------------------------------
neuper@37906
   144
 "prat_trans_lemma";
neuper@37906
   145
   	  "[| (?x1.0::pnat) * (?y2.0::pnat) = (?x2.0::pnat) * (?y1.0::pnat);
neuper@37906
   146
   	      ?x2.0 * (?y3.0::pnat) = (?x3.0::pnat) * ?y2.0 |]
neuper@37906
   147
   	   ==> ?x1.0 * ?y3.0 = ?x3.0 * ?y1.0"
neuper@37906
   148
 "ratrel_iff";
neuper@37906
   149
 "ratrelI";
neuper@37906
   150
 "ratrelE_lemma";
neuper@37906
   151
 "ratrelE";
neuper@37906
   152
 "ratrel_refl";
neuper@37906
   153
 "equiv_ratrel";
neuper@37906
   154
 "ratrel_in_prat";
neuper@37906
   155
 "inj_on_Abs_prat";
neuper@37906
   156
 "inj_Rep_prat";
neuper@37906
   157
 "inj_prat_of_pnat";
neuper@37906
   158
 "eq_Abs_prat";
neuper@37906
   159
 "qinv_congruent";
neuper@37906
   160
 "qinv";
neuper@37906
   161
 "qinv_qinv";
neuper@37906
   162
 "inj_qinv";
neuper@37906
   163
 "qinv_1";
neuper@37906
   164
 "prat_add_congruent2_lemma";
neuper@37906
   165
 "prat_add_congruent2";
neuper@37906
   166
 "prat_add";
neuper@37906
   167
 "prat_add_commute";
neuper@37906
   168
 "prat_add_assoc";
neuper@37906
   169
 "prat_add_left_commute";
neuper@37906
   170
 "pnat_mult_congruent2";
neuper@37906
   171
 "prat_mult";
neuper@37906
   172
 "prat_mult_commute";
neuper@37906
   173
 "prat_mult_assoc";
neuper@37906
   174
 "prat_mult_left_commute";
neuper@37906
   175
 "prat_mult_1";
neuper@37906
   176
 "prat_mult_1_right";
neuper@37906
   177
 "prat_of_pnat_add";
neuper@37906
   178
 "prat_of_pnat_mult";
neuper@37906
   179
 "prat_mult_qinv";
neuper@37906
   180
 "prat_mult_qinv_right";
neuper@37906
   181
 "prat_qinv_ex";
neuper@37906
   182
 "prat_qinv_ex1";
neuper@37906
   183
 "prat_qinv_left_ex1";
neuper@37906
   184
 "prat_mult_inv_qinv";
neuper@37906
   185
 "prat_as_inverse_ex";
neuper@37906
   186
 "qinv_mult_eq";
neuper@37906
   187
 "prat_add_mult_distrib";
neuper@37906
   188
 "prat_add_mult_distrib2";
neuper@37906
   189
 "prat_less_iff";
neuper@37906
   190
 "prat_lessI";
neuper@37906
   191
 "prat_lessE_lemma";
neuper@37906
   192
 "prat_lessE";
neuper@37906
   193
 "prat_less_trans";
neuper@37906
   194
 "prat_less_not_refl";
neuper@37906
   195
 "prat_less_not_sym";
neuper@37906
   196
 "lemma_prat_dense";
neuper@37906
   197
 "prat_lemma_dense";
neuper@37906
   198
 "prat_dense";
neuper@37906
   199
 "prat_add_less2_mono1";
neuper@37906
   200
 "prat_add_less2_mono2";
neuper@37906
   201
 "prat_mult_less2_mono1";
neuper@37906
   202
 "prat_mult_left_less2_mono1";
neuper@37906
   203
 "lemma_prat_add_mult_mono";
neuper@37906
   204
 "qless_Ex";
neuper@37906
   205
 "lemma_prat_less_linear";
neuper@37906
   206
 "prat_linear";
neuper@37906
   207
 "prat_linear_less2";
neuper@37906
   208
 "lemma1_qinv_prat_less";
neuper@37906
   209
 "lemma2_qinv_prat_less";
neuper@37906
   210
 "qinv_prat_less";
neuper@37906
   211
 "prat_qinv_gt_1";
neuper@37906
   212
 "prat_qinv_is_gt_1";
neuper@37906
   213
 "prat_less_1_2";
neuper@37906
   214
 "prat_less_qinv_2_1";
neuper@37906
   215
 "prat_mult_qinv_less_1";
neuper@37906
   216
 "prat_self_less_add_self";
neuper@37906
   217
 "prat_self_less_add_right";
neuper@37906
   218
 "prat_self_less_add_left";
neuper@37906
   219
 "prat_self_less_mult_right";
neuper@37906
   220
 "prat_leI";
neuper@37906
   221
 "prat_leD";
neuper@37906
   222
 "prat_less_le_iff";
neuper@37906
   223
 "not_prat_leE";
neuper@37906
   224
 "prat_less_imp_le";
neuper@37906
   225
 "prat_le_imp_less_or_eq";
neuper@37906
   226
 "prat_less_or_eq_imp_le";
neuper@37906
   227
 "prat_le_eq_less_or_eq";
neuper@37906
   228
 "prat_le_refl";
neuper@37906
   229
 "prat_le_less_trans";
neuper@37906
   230
 "prat_le_trans";
neuper@37906
   231
 "not_less_not_eq_prat_less";
neuper@37906
   232
 "prat_add_less_mono";
neuper@37906
   233
 "prat_mult_less_mono";
neuper@37906
   234
 "prat_mult_left_le2_mono1";
neuper@37906
   235
 "prat_mult_le2_mono1";
neuper@37906
   236
 "qinv_prat_le";
neuper@37906
   237
 "prat_add_left_le2_mono1";
neuper@37906
   238
 "prat_add_le2_mono1";
neuper@37906
   239
 "prat_add_le_mono";
neuper@37906
   240
 "prat_add_right_less_cancel";
neuper@37906
   241
 "prat_add_left_less_cancel";
neuper@37906
   242
 "Abs_prat_mult_qinv";
neuper@37906
   243
 "lemma_Abs_prat_le1";
neuper@37906
   244
 "lemma_Abs_prat_le2";
neuper@37906
   245
 "lemma_Abs_prat_le3";
neuper@37906
   246
 "pre_lemma_gleason9_34";
neuper@37906
   247
 "pre_lemma_gleason9_34b";
neuper@37906
   248
 "prat_of_pnat_less_iff";
neuper@37906
   249
 "lemma_prat_less_1_memEx";
neuper@37906
   250
 "lemma_prat_less_1_set_non_empty";
neuper@37906
   251
 "empty_set_psubset_lemma_prat_less_1_set";
neuper@37906
   252
 "lemma_prat_less_1_not_memEx";
neuper@37906
   253
 "lemma_prat_less_1_set_not_rat_set";
neuper@37906
   254
 "lemma_prat_less_1_set_psubset_rat_set";
neuper@37906
   255
 "preal_1";
neuper@37906
   256
       "{x::prat. x < prat_of_pnat (Abs_pnat (Suc (0::nat)))}
neuper@37906
   257
     	: {A::prat set.
neuper@37906
   258
     	   {} < A &
neuper@37906
   259
     	   A < UNIV &
neuper@37906
   260
     	   (ALL y::prat:A. (ALL z::prat. z < y --> z : A) & Bex A (op < y))}"
neuper@37906
   261
PReal.ML:qed -----------------------------------------------------------------
neuper@37906
   262
 "inj_on_Abs_preal";           "inj_on Abs_preal preal"
neuper@37906
   263
 "inj_Rep_preal";
neuper@37906
   264
 "empty_not_mem_preal";
neuper@37906
   265
 "one_set_mem_preal";
neuper@37906
   266
 "preal_psubset_empty";
neuper@37906
   267
 "Rep_preal_psubset_empty";
neuper@37906
   268
 "mem_Rep_preal_Ex";
neuper@37906
   269
 "prealI1";                    
neuper@37906
   270
      "[| {} < (?A::prat set); ?A < UNIV;
neuper@37906
   271
    	  ALL y::prat:?A. (ALL z::prat. z < y --> z : ?A) & Bex ?A (op < y) |]
neuper@37906
   272
       ==> ?A : preal"
neuper@37906
   273
 "prealI2";
neuper@37906
   274
 "prealE_lemma";
neuper@37906
   275
 "prealE_lemma1";
neuper@37906
   276
 "prealE_lemma2";
neuper@37906
   277
 "prealE_lemma3";
neuper@37906
   278
 "prealE_lemma3a";
neuper@37906
   279
 "prealE_lemma3b";
neuper@37906
   280
 "prealE_lemma4";
neuper@37906
   281
 "prealE_lemma4a";
neuper@37906
   282
 "not_mem_Rep_preal_Ex";
neuper@37906
   283
 "lemma_prat_less_set_mem_preal";
neuper@37906
   284
 "lemma_prat_set_eq";
neuper@37906
   285
 "inj_preal_of_prat";
neuper@37906
   286
 "not_in_preal_ub";
neuper@37906
   287
 "preal_less_not_refl";
neuper@37906
   288
 "preal_not_refl2";
neuper@37906
   289
 "preal_less_trans";
neuper@37906
   290
 "preal_less_not_sym";
neuper@37906
   291
 "preal_linear";
neuper@37906
   292
              "(?r1.0::preal) < (?r2.0::preal) | ?r1.0 = ?r2.0 | ?r2.0 < ?r1.0"
neuper@37906
   293
 "preal_linear_less2";
neuper@37906
   294
 "preal_add_commute";          "(?x::preal) + (?y::preal) = ?y + ?x"
neuper@37906
   295
 "preal_add_set_not_empty";
neuper@37906
   296
 "preal_not_mem_add_set_Ex";
neuper@37906
   297
 "preal_add_set_not_prat_set";
neuper@37906
   298
 "preal_add_set_lemma3";
neuper@37906
   299
 "preal_add_set_lemma4";
neuper@37906
   300
 "preal_mem_add_set";
neuper@37906
   301
 "preal_add_assoc";            
neuper@37906
   302
 "preal_add_left_commute";
neuper@37906
   303
 "preal_mult_commute";          "(?x::preal) * (?y::preal) = ?y * ?x"
neuper@37906
   304
 "preal_mult_set_not_empty";
neuper@37906
   305
 "preal_not_mem_mult_set_Ex";
neuper@37906
   306
 "preal_mult_set_not_prat_set";
neuper@37906
   307
 "preal_mult_set_lemma3";
neuper@37906
   308
 "preal_mult_set_lemma4";
neuper@37906
   309
 "preal_mem_mult_set";
neuper@37906
   310
 "preal_mult_assoc";
neuper@37906
   311
 "preal_mult_left_commute";
neuper@37906
   312
 "preal_mult_1";
neuper@37906
   313
 "preal_mult_1_right";
neuper@37906
   314
 "preal_add_assoc_cong";
neuper@37906
   315
 "preal_add_assoc_swap";
neuper@37906
   316
 "mem_Rep_preal_addD";
neuper@37906
   317
 "mem_Rep_preal_addI";
neuper@37906
   318
 "mem_Rep_preal_add_iff";
neuper@37906
   319
 "mem_Rep_preal_multD";
neuper@37906
   320
 "mem_Rep_preal_multI";
neuper@37906
   321
 "mem_Rep_preal_mult_iff";
neuper@37906
   322
 "lemma_add_mult_mem_Rep_preal";
neuper@37906
   323
 "lemma_add_mult_mem_Rep_preal1";
neuper@37906
   324
 "lemma_preal_add_mult_distrib";
neuper@37906
   325
 "lemma_preal_add_mult_distrib2";
neuper@37906
   326
 "preal_add_mult_distrib2";
neuper@37906
   327
 "preal_add_mult_distrib";
neuper@37906
   328
 "qinv_not_mem_Rep_preal_Ex";
neuper@37906
   329
 "lemma_preal_mem_inv_set_ex";
neuper@37906
   330
 "preal_inv_set_not_empty";
neuper@37906
   331
 "qinv_mem_Rep_preal_Ex";
neuper@37906
   332
 "preal_not_mem_inv_set_Ex";
neuper@37906
   333
 "preal_inv_set_not_prat_set";
neuper@37906
   334
 "preal_inv_set_lemma3";
neuper@37906
   335
 "preal_inv_set_lemma4";
neuper@37906
   336
 "preal_mem_inv_set";
neuper@37906
   337
 "preal_mem_mult_invD";
neuper@37906
   338
 "lemma1_gleason9_34";
neuper@37906
   339
 "lemma1b_gleason9_34";
neuper@37906
   340
 "lemma_gleason9_34a";
neuper@37906
   341
 "lemma_gleason9_34";
neuper@37906
   342
 "lemma1_gleason9_36";
neuper@37906
   343
 "lemma2_gleason9_36";
neuper@37906
   344
 "lemma_gleason9_36";
neuper@37906
   345
 "lemma_gleason9_36a";
neuper@37906
   346
 "preal_mem_mult_invI";
neuper@37906
   347
 "preal_mult_inv";
neuper@37906
   348
 "preal_mult_inv_right";
neuper@37906
   349
 "eq_Abs_preal";
neuper@37906
   350
 "Rep_preal_self_subset";
neuper@37906
   351
 "Rep_preal_sum_not_subset";
neuper@37906
   352
 "Rep_preal_sum_not_eq";
neuper@37906
   353
 "preal_self_less_add_left";
neuper@37906
   354
 "preal_self_less_add_right";
neuper@37906
   355
 "preal_leD";
neuper@37906
   356
 "not_preal_leE";
neuper@37906
   357
 "preal_leI";
neuper@37906
   358
 "preal_less_le_iff";
neuper@37906
   359
 "preal_less_imp_le";
neuper@37906
   360
 "preal_le_imp_less_or_eq";
neuper@37906
   361
 "preal_less_or_eq_imp_le";
neuper@37906
   362
 "preal_le_refl";
neuper@37906
   363
 "preal_le_trans";
neuper@37906
   364
 "preal_le_anti_sym";
neuper@37906
   365
 "preal_neq_iff";
neuper@37906
   366
 "preal_less_le";
neuper@37906
   367
 "lemma_psubset_mem";
neuper@37906
   368
 "lemma_psubset_not_refl";
neuper@37906
   369
 "psubset_trans";
neuper@37906
   370
 "subset_psubset_trans";
neuper@37906
   371
 "subset_psubset_trans2";
neuper@37906
   372
 "psubsetD";
neuper@37906
   373
 "lemma_ex_mem_less_left_add1";
neuper@37906
   374
 "preal_less_set_not_empty";
neuper@37906
   375
 "lemma_ex_not_mem_less_left_add1";
neuper@37906
   376
 "preal_less_set_not_prat_set";
neuper@37906
   377
 "preal_less_set_lemma3";
neuper@37906
   378
 "preal_less_set_lemma4";
neuper@37906
   379
 "preal_mem_less_set";
neuper@37906
   380
 "preal_less_add_left_subsetI";
neuper@37906
   381
 "lemma_sum_mem_Rep_preal_ex";
neuper@37906
   382
 "preal_less_add_left_subsetI2";
neuper@37906
   383
 "preal_less_add_left";
neuper@37906
   384
 "preal_less_add_left_Ex";        
neuper@37906
   385
 "preal_add_less2_mono1";
neuper@37906
   386
 "preal_add_less2_mono2";
neuper@37906
   387
 "preal_mult_less_mono1";
neuper@37906
   388
 "preal_mult_left_less_mono1";
neuper@37906
   389
 "preal_mult_left_le_mono1";
neuper@37906
   390
 "preal_mult_le_mono1";
neuper@37906
   391
 "preal_add_left_le_mono1";
neuper@37906
   392
 "preal_add_le_mono1";
neuper@37906
   393
 "preal_add_right_less_cancel";
neuper@37906
   394
 "preal_add_left_less_cancel";
neuper@37906
   395
 "preal_add_less_iff1";
neuper@37906
   396
 "preal_add_less_iff2";
neuper@37906
   397
 "preal_add_less_mono";
neuper@37906
   398
 "preal_mult_less_mono";
neuper@37906
   399
 "preal_add_right_cancel";
neuper@37906
   400
 "preal_add_left_cancel";
neuper@37906
   401
 "preal_add_left_cancel_iff";
neuper@37906
   402
 "preal_add_right_cancel_iff";
neuper@37906
   403
 "preal_sup_mem_Ex";
neuper@37906
   404
 "preal_sup_set_not_empty";
neuper@37906
   405
 "preal_sup_not_mem_Ex";
neuper@37906
   406
 "preal_sup_not_mem_Ex1";
neuper@37906
   407
 "preal_sup_set_not_prat_set";
neuper@37906
   408
 "preal_sup_set_not_prat_set1";
neuper@37906
   409
 "preal_sup_set_lemma3";
neuper@37906
   410
 "preal_sup_set_lemma3_1";
neuper@37906
   411
 "preal_sup_set_lemma4";
neuper@37906
   412
 "preal_sup_set_lemma4_1";
neuper@37906
   413
 "preal_sup";
neuper@37906
   414
 "preal_sup1";
neuper@37906
   415
 "preal_psup_leI";
neuper@37906
   416
 "preal_psup_leI2";
neuper@37906
   417
 "preal_psup_leI2b";
neuper@37906
   418
 "preal_psup_leI2a";
neuper@37906
   419
 "psup_le_ub";
neuper@37906
   420
 "psup_le_ub1";
neuper@37906
   421
 "preal_complete";
neuper@37906
   422
 "lemma_preal_rat_less";
neuper@37906
   423
 "lemma_preal_rat_less2";
neuper@37906
   424
 "preal_of_prat_add";
neuper@37906
   425
 "lemma_preal_rat_less3";
neuper@37906
   426
 "lemma_preal_rat_less4";
neuper@37906
   427
 "preal_of_prat_mult";
neuper@37906
   428
 "preal_of_prat_less_iff"; "(preal_of_prat ?p < preal_of_prat ?q) = (?p < ?q)"
neuper@37906
   429
RealDef.ML:qed ---------------------------------------------------------------
neuper@37906
   430
 "preal_trans_lemma";      
neuper@37906
   431
 "realrel_iff";		   
neuper@37906
   432
 "realrelI";		   
neuper@37906
   433
   "?x1.0 + ?y2.0 = ?x2.0 + ?y1.0 ==> ((?x1.0, ?y1.0), ?x2.0, ?y2.0) : realrel"
neuper@37906
   434
 "realrelE_lemma";	   
neuper@37906
   435
 "realrelE";		   
neuper@37906
   436
 "realrel_refl";	   
neuper@37906
   437
 "equiv_realrel";	   
neuper@37906
   438
 "realrel_in_real";	   
neuper@37906
   439
 "inj_on_Abs_REAL";	   
neuper@37906
   440
 "inj_Rep_REAL";	   
neuper@37906
   441
 "inj_real_of_preal";	   
neuper@37906
   442
 "eq_Abs_REAL";		   
neuper@37906
   443
 "real_minus_congruent";   
neuper@37906
   444
 "real_minus";		   
neuper@37906
   445
        "- Abs_REAL (realrel `` {(?x, ?y)}) = Abs_REAL (realrel `` {(?y, ?x)})"
neuper@37906
   446
 "real_minus_minus";	   (**)"- (- (?z::real)) = ?z"
neuper@37906
   447
 "inj_real_minus";	   "inj uminus"
neuper@37906
   448
 "real_minus_zero";	   (**)"- 0 = 0"
neuper@37906
   449
 "real_minus_zero_iff";	   (**)"(- ?x = 0) = (?x = 0)"
neuper@37906
   450
 "real_add_congruent2";    
neuper@37906
   451
    "congruent2 realrel
neuper@37906
   452
     (%p1 p2. (%(x1, y1). (%(x2, y2). realrel `` {(x1 + x2, y1 + y2)}) p2) p1)"
neuper@37906
   453
 "real_add";
neuper@37906
   454
       "Abs_REAL (realrel `` {(?x1.0, ?y1.0)}) +
neuper@37906
   455
     	Abs_REAL (realrel `` {(?x2.0, ?y2.0)}) =
neuper@37906
   456
     	Abs_REAL (realrel `` {(?x1.0 + ?x2.0, ?y1.0 + ?y2.0)})"
neuper@37906
   457
 "real_add_commute";	   (**)"(?z::real) + (?w::real) = ?w + ?z"
neuper@37906
   458
 "real_add_assoc";	   (**)
neuper@37906
   459
 "real_add_left_commute";  (**)
neuper@37906
   460
 "real_add_zero_left";	   (**)"0 + ?z = ?z"
neuper@37906
   461
 "real_add_zero_right";	   (**)
neuper@37906
   462
 "real_add_minus";	   (**)"?z + - ?z = 0"
neuper@37906
   463
 "real_add_minus_left";	   (**)
neuper@37906
   464
 "real_add_minus_cancel";  (**)"?z + (- ?z + ?w) = ?w"
neuper@37906
   465
 "real_minus_add_cancel";  (**)"- ?z + (?z + ?w) = ?w"
neuper@37906
   466
 "real_minus_ex";	   "EX y. ?x + y = 0"
neuper@37906
   467
 "real_minus_ex1";	   
neuper@37906
   468
 "real_minus_left_ex1";	   "EX! y. y + ?x = 0"
neuper@37906
   469
 "real_add_minus_eq_minus";"?x + ?y = 0 ==> ?x = - ?y"
neuper@37906
   470
 "real_as_add_inverse_ex"; "EX y. ?x = - y"
neuper@37906
   471
 "real_minus_add_distrib"; (**)"- (?x + ?y) = - ?x + - ?y"
neuper@37906
   472
 "real_add_left_cancel";   "(?x + ?y = ?x + ?z) = (?y = ?z)"
neuper@37906
   473
 "real_add_right_cancel";  "(?y + ?x = ?z + ?x) = (?y = ?z)"
neuper@37906
   474
 "real_diff_0";		   (**)"0 - ?x = - ?x"
neuper@37906
   475
 "real_diff_0_right";	   (**)"?x - 0 = ?x"
neuper@37906
   476
 "real_diff_self";         (**)"?x - ?x = 0"
neuper@37906
   477
 "real_mult_congruent2_lemma";
neuper@37906
   478
 "real_mult_congruent2";
neuper@37906
   479
     "congruent2 realrel
neuper@37906
   480
       (%p1 p2.
neuper@37906
   481
   	   (%(x1, y1).
neuper@37906
   482
   	       (%(x2, y2). realrel `` {(x1 * x2 + y1 * y2, x1 * y2 + x2 * y1)})
neuper@37906
   483
   		p2) p1)"
neuper@37906
   484
 "real_mult";		    
neuper@37906
   485
  	 "Abs_REAL (realrel `` {(?x1.0, ?y1.0)}) *
neuper@37906
   486
  	  Abs_REAL (realrel `` {(?x2.0, ?y2.0)}) =
neuper@37906
   487
  	  Abs_REAL
neuper@37906
   488
  	   (realrel ``
neuper@37906
   489
  	    {(?x1.0 * ?x2.0 + ?y1.0 * ?y2.0, ?x1.0 * ?y2.0 + ?x2.0 * ?y1.0)})"
neuper@37906
   490
 "real_mult_commute";	   (**)"?z * ?w = ?w * ?z"
neuper@37906
   491
 "real_mult_assoc";	   (**)
neuper@37906
   492
 "real_mult_left_commute";  
neuper@37906
   493
                       (**)"?z1.0 * (?z2.0 * ?z3.0) = ?z2.0 * (?z1.0 * ?z3.0)"
neuper@37906
   494
 "real_mult_1";		   (**)"1 * ?z = ?z"
neuper@37906
   495
 "real_mult_1_right";	   (**)"?z * 1 = ?z"
neuper@37906
   496
 "real_mult_0";		   (**)
neuper@37906
   497
 "real_mult_0_right";	   (**)"?z * 0 = 0"
neuper@37906
   498
 "real_mult_minus_eq1";	   (**)"- ?x * ?y = - (?x * ?y)"
neuper@37906
   499
 "real_mult_minus_eq2";	   (**)"?x * - ?y = - (?x * ?y)"
neuper@37906
   500
 "real_mult_minus_1";	   (**)"- 1 * ?z = - ?z"
neuper@37906
   501
 "real_mult_minus_1_right";(**)"?z * - 1 = - ?z"
neuper@37906
   502
 "real_minus_mult_cancel"; (**)"- ?x * - ?y = ?x * ?y"
neuper@37906
   503
 "real_minus_mult_commute";(**)"- ?x * ?y = ?x * - ?y"
neuper@37906
   504
 "real_add_assoc_cong";	
neuper@37906
   505
                    "?z + ?v = ?z' + ?v' ==> ?z + (?v + ?w) = ?z' + (?v' + ?w)"
neuper@37906
   506
 "real_add_assoc_swap";	   (**)"?z + (?v + ?w) = ?v + (?z + ?w)"
neuper@37906
   507
 "real_add_mult_distrib";  (**)"(?z1.0 + ?z2.0) * ?w = ?z1.0 * ?w + ?z2.0 * ?w"
neuper@37906
   508
 "real_add_mult_distrib2"; (**)"?w * (?z1.0 + ?z2.0) = ?w * ?z1.0 + ?w * ?z2.0"
neuper@37906
   509
 "real_diff_mult_distrib"; (**)"(?z1.0 - ?z2.0) * ?w = ?z1.0 * ?w - ?z2.0 * ?w"
neuper@37906
   510
 "real_diff_mult_distrib2";(**)"?w * (?z1.0 - ?z2.0) = ?w * ?z1.0 - ?w * ?z2.0"
neuper@37906
   511
 "real_zero_not_eq_one";    
neuper@37906
   512
 "real_zero_iff";	    "0 = Abs_REAL (realrel `` {(?x, ?x)})"
neuper@37906
   513
 "real_mult_inv_right_ex";  "?x ~= 0 ==> EX y. ?x * y = 1"
neuper@37906
   514
 "real_mult_inv_left_ex";   "?x ~= 0 ==> inverse ?x * ?x = 1"
neuper@37906
   515
 "real_mult_inv_left";	    
neuper@37906
   516
 "real_mult_inv_right";     "?x ~= 0 ==> ?x * inverse ?x = 1"
neuper@37906
   517
 "INVERSE_ZERO";            "inverse 0 = 0"
neuper@37906
   518
 "DIVISION_BY_ZERO";  (*NOT for adding to default simpset*)"?a / 0 = 0"
neuper@37906
   519
 "real_mult_left_cancel";   (**)"?c ~= 0 ==> (?c * ?a = ?c * ?b) = (?a = ?b)"
neuper@37906
   520
 "real_mult_right_cancel";  (**)"?c ~= 0 ==> (?a * ?c = ?b * ?c) = (?a = ?b)"
neuper@37906
   521
 "real_mult_left_cancel_ccontr";  "?c * ?a ~= ?c * ?b ==> ?a ~= ?b"
neuper@37906
   522
 "real_mult_right_cancel_ccontr"; "?a * ?c ~= ?b * ?c ==> ?a ~= ?b"
neuper@37906
   523
 "real_inverse_not_zero";   "?x ~= 0 ==> inverse ?x ~= 0"
neuper@37906
   524
 "real_mult_not_zero";	    "[| ?x ~= 0; ?y ~= 0 |] ==> ?x * ?y ~= 0"
neuper@37906
   525
 "real_inverse_inverse";    "inverse (inverse ?x) = ?x"
neuper@37906
   526
 "real_inverse_1";	    "inverse 1 = 1"
neuper@37906
   527
 "real_minus_inverse";	    "inverse (- ?x) = - inverse ?x"
neuper@37906
   528
 "real_inverse_distrib";    "inverse (?x * ?y) = inverse ?x * inverse ?y"
neuper@37906
   529
 "real_times_divide1_eq";   (**)"?x * (?y / ?z) = ?x * ?y / ?z"
neuper@37906
   530
 "real_times_divide2_eq";   (**)"?y / ?z * ?x = ?y * ?x / ?z"
neuper@37906
   531
 "real_divide_divide1_eq";  (**)"?x / (?y / ?z) = ?x * ?z / ?y"
neuper@37906
   532
 "real_divide_divide2_eq";  (**)"?x / ?y / ?z = ?x / (?y * ?z)"
neuper@37906
   533
 "real_minus_divide_eq";    (**)"- ?x / ?y = - (?x / ?y)"
neuper@37906
   534
 "real_divide_minus_eq";    (**)"?x / - ?y = - (?x / ?y)"
neuper@37906
   535
 "real_add_divide_distrib"; (**)"(?x + ?y) / ?z = ?x / ?z + ?y / ?z"
neuper@37906
   536
 "preal_lemma_eq_rev_sum";
neuper@37906
   537
                     "[| ?x = ?y; ?x1.0 = ?y1.0 |] ==> ?x + ?y1.0 = ?x1.0 + ?y"
neuper@37906
   538
 "preal_add_left_commute_cancel";
neuper@37906
   539
            "?x + (?b + ?y) = ?x1.0 + (?b + ?y1.0) ==> ?x + ?y = ?x1.0 + ?y1.0"
neuper@37906
   540
 "preal_lemma_for_not_refl"; 
neuper@37906
   541
 "real_less_not_refl";	     "~ ?R < ?R"  
neuper@37906
   542
 "real_not_refl2";	     
neuper@37906
   543
 "preal_lemma_trans";	     
neuper@37906
   544
 "real_less_trans";	     
neuper@37906
   545
 "real_less_not_sym";	     
neuper@37906
   546
 "real_of_preal_add";	  
neuper@37906
   547
    "real_of_preal (?z1.0 + ?z2.0) = real_of_preal ?z1.0 + real_of_preal ?z2.0"
neuper@37906
   548
 "real_of_preal_mult";	     
neuper@37906
   549
 "real_of_preal_ExI";	     
neuper@37906
   550
 "real_of_preal_ExD";	     
neuper@37906
   551
 "real_of_preal_iff";	     
neuper@37906
   552
 "real_of_preal_trichotomy"; 
neuper@37906
   553
 "real_of_preal_trichotomyE";
neuper@37906
   554
 "real_of_preal_lessD";	     
neuper@37906
   555
 "real_of_preal_lessI";	     
neuper@37906
   556
                  "?m1.0 < ?m2.0 ==> real_of_preal ?m1.0 < real_of_preal ?m2.0"
neuper@37906
   557
 "real_of_preal_less_iff1";  
neuper@37906
   558
 "real_of_preal_minus_less_self";
neuper@37906
   559
 "real_of_preal_minus_less_zero";
neuper@37906
   560
 "real_of_preal_not_minus_gt_zero";
neuper@37906
   561
 "real_of_preal_zero_less";
neuper@37906
   562
 "real_of_preal_not_less_zero";
neuper@37906
   563
 "real_minus_minus_zero_less";
neuper@37906
   564
 "real_of_preal_sum_zero_less";
neuper@37906
   565
 "real_of_preal_minus_less_all";
neuper@37906
   566
 "real_of_preal_not_minus_gt_all";
neuper@37906
   567
 "real_of_preal_minus_less_rev1";
neuper@37906
   568
 "real_of_preal_minus_less_rev2";
neuper@37906
   569
 "real_of_preal_minus_less_rev_iff";
neuper@37906
   570
 "real_linear";            "?R1.0 < ?R2.0 | ?R1.0 = ?R2.0 | ?R2.0 < ?R1.0"
neuper@37906
   571
 "real_neq_iff";	   
neuper@37906
   572
 "real_linear_less2";	
neuper@37906
   573
       "[| ?R1.0 < ?R2.0 ==> ?P; ?R1.0 = ?R2.0 ==> ?P; ?R2.0 < ?R1.0 ==> ?P |]
neuper@37906
   574
								     ==> ?P"
neuper@37906
   575
 "real_leI";		   
neuper@37906
   576
 "real_leD";		   "~ ?w < ?z ==> ?z <= ?w"
neuper@37906
   577
 "real_less_le_iff";	   
neuper@37906
   578
 "not_real_leE";	   
neuper@37906
   579
 "real_le_imp_less_or_eq"; 
neuper@37906
   580
 "real_less_or_eq_imp_le"; 
neuper@37906
   581
 "real_le_less";	   
neuper@37906
   582
 "real_le_refl";	   "?w <= ?w"
neuper@37906
   583
 "real_le_linear";	   
neuper@37906
   584
 "real_le_trans";	   "[| ?i <= ?j; ?j <= ?k |] ==> ?i <= ?k"
neuper@37906
   585
 "real_le_anti_sym";       "[| ?z <= ?w; ?w <= ?z |] ==> ?z = ?w"
neuper@37906
   586
 "not_less_not_eq_real_less";
neuper@37906
   587
 "real_less_le";           "(?w < ?z) = (?w <= ?z & ?w ~= ?z)"
neuper@37906
   588
 "real_minus_zero_less_iff";
neuper@37906
   589
 "real_minus_zero_less_iff2";
neuper@37906
   590
 "real_less_add_positive_left_Ex";
neuper@37906
   591
 "real_less_sum_gt_zero";  "?W < ?S ==> 0 < ?S + - ?W"
neuper@37906
   592
 "real_lemma_change_eq_subj";
neuper@37906
   593
 "real_sum_gt_zero_less";  "0 < ?S + - ?W ==> ?W < ?S"
neuper@37906
   594
 "real_less_sum_gt_0_iff"; "(0 < ?S + - ?W) = (?W < ?S)"
neuper@37906
   595
 "real_less_eq_diff";	   "(?x < ?y) = (?x - ?y < 0)"
neuper@37906
   596
 "real_add_diff_eq";	   (**)"?x + (?y - ?z) = ?x + ?y - ?z"
neuper@37906
   597
 "real_diff_add_eq";	   (**)"?x - ?y + ?z = ?x + ?z - ?y"
neuper@37906
   598
 "real_diff_diff_eq";	   (**)"?x - ?y - ?z = ?x - (?y + ?z)"
neuper@37906
   599
 "real_diff_diff_eq2";	   (**)"?x - (?y - ?z) = ?x + ?z - ?y"
neuper@37906
   600
 "real_diff_less_eq";	   "(?x - ?y < ?z) = (?x < ?z + ?y)"
neuper@37906
   601
 "real_less_diff_eq";	   
neuper@37906
   602
 "real_diff_le_eq";	   "(?x - ?y <= ?z) = (?x <= ?z + ?y)"
neuper@37906
   603
 "real_le_diff_eq";	   
neuper@37906
   604
 "real_diff_eq_eq";	   (**)"(?x - ?y = ?z) = (?x = ?z + ?y)"
neuper@37906
   605
 "real_eq_diff_eq";	   (**)"(?x - ?y = ?z) = (?x = ?z + ?y)"
neuper@37906
   606
 "real_less_eqI";	   
neuper@37906
   607
 "real_le_eqI";		   
neuper@37906
   608
 "real_eq_eqI";            "?x - ?y = ?x' - ?y' ==> (?x = ?y) = (?x' = ?y')"
neuper@37906
   609
RealOrd.ML:qed ---------------------------------------------------------------
neuper@37906
   610
 "real_add_cancel_21";     "(?x + (?y + ?z) = ?y + ?u) = (?x + ?z = ?u)"
neuper@37906
   611
 "real_add_cancel_end";    "(?x + (?y + ?z) = ?y) = (?x = - ?z)"
neuper@37906
   612
 "real_minus_diff_eq";     (*??*)"- (?x - ?y) = ?y - ?x"
neuper@37906
   613
 "real_gt_zero_preal_Ex";
neuper@37906
   614
 "real_gt_preal_preal_Ex";
neuper@37906
   615
 "real_ge_preal_preal_Ex";
neuper@37906
   616
 "real_less_all_preal";    "?y <= 0 ==> ALL x. ?y < real_of_preal x"
neuper@37906
   617
 "real_less_all_real2";
neuper@37906
   618
 "real_lemma_add_positive_imp_less";
neuper@37906
   619
 "real_ex_add_positive_left_less";"EX T. 0 < T & ?R + T = ?S ==> ?R < ?S"
neuper@37906
   620
 "real_less_iff_add";
neuper@37906
   621
 "real_of_preal_le_iff";
neuper@37906
   622
 "real_mult_order";        "[| 0 < ?x; 0 < ?y |] ==> 0 < ?x * ?y"
neuper@37906
   623
 "neg_real_mult_order";
neuper@37906
   624
 "real_mult_less_0";       "[| 0 < ?x; ?y < 0 |] ==> ?x * ?y < 0"
neuper@37906
   625
 "real_zero_less_one";     "0 < 1"
neuper@37906
   626
 "real_add_right_cancel_less";       "(?v + ?z < ?w + ?z) = (?v < ?w)"
neuper@37906
   627
 "real_add_left_cancel_less";
neuper@37906
   628
 "real_add_right_cancel_le";
neuper@37906
   629
 "real_add_left_cancel_le";
neuper@37906
   630
 "real_add_less_le_mono";  "[| ?w' < ?w; ?z' <= ?z |] ==> ?w' + ?z' < ?w + ?z"
neuper@37906
   631
 "real_add_le_less_mono";  "[| ?w' <= ?w; ?z' < ?z |] ==> ?w' + ?z' < ?w + ?z"
neuper@37906
   632
 "real_add_less_mono2";
neuper@37906
   633
 "real_less_add_right_cancel";
neuper@37906
   634
 "real_less_add_left_cancel";                  "?C + ?A < ?C + ?B ==> ?A < ?B"
neuper@37906
   635
 "real_le_add_right_cancel";
neuper@37906
   636
 "real_le_add_left_cancel";                  "?C + ?A <= ?C + ?B ==> ?A <= ?B"
neuper@37906
   637
 "real_add_order";                      "[| 0 < ?x; 0 < ?y |] ==> 0 < ?x + ?y"
neuper@37906
   638
 "real_le_add_order";
neuper@37906
   639
 "real_add_less_mono";
neuper@37906
   640
 "real_add_left_le_mono1";
neuper@37906
   641
 "real_add_le_mono";
neuper@37906
   642
 "real_less_Ex";
neuper@37906
   643
 "real_add_minus_positive_less_self";  "0 < ?r ==> ?u + - ?r < ?u"
neuper@37906
   644
 "real_le_minus_iff";      "(- ?s <= - ?r) = (?r <= ?s)"
neuper@37906
   645
 "real_le_square";
neuper@37906
   646
 "real_of_posnat_one";
neuper@37906
   647
 "real_of_posnat_two";
neuper@37906
   648
 "real_of_posnat_add";     "real_of_posnat ?n1.0 + real_of_posnat ?n2.0 =
neuper@37906
   649
                            real_of_posnat (?n1.0 + ?n2.0) + 1"
neuper@37906
   650
 "real_of_posnat_add_one";   
neuper@37906
   651
 "real_of_posnat_Suc";	     
neuper@37906
   652
 "inj_real_of_posnat";	     
neuper@37906
   653
 "real_of_nat_zero";	     
neuper@37906
   654
 "real_of_nat_one";	    "real (Suc 0) = 1"
neuper@37906
   655
 "real_of_nat_add";	     
neuper@37906
   656
 "real_of_nat_Suc";	     
neuper@37906
   657
 "real_of_nat_less_iff";     
neuper@37906
   658
 "real_of_nat_le_iff";	     
neuper@37906
   659
 "inj_real_of_nat";	     
neuper@37906
   660
 "real_of_nat_ge_zero";	     
neuper@37906
   661
 "real_of_nat_mult";	     
neuper@37906
   662
 "real_of_nat_inject";	     
neuper@37906
   663
RealOrd.ML:qed_spec_mp 	     
neuper@37906
   664
 "real_of_nat_diff";	     
neuper@37906
   665
RealOrd.ML:qed 		     
neuper@37906
   666
 "real_of_nat_zero_iff";     
neuper@37906
   667
 "real_of_nat_neg_int";	     
neuper@37906
   668
 "real_inverse_gt_0";	     
neuper@37906
   669
 "real_inverse_less_0";	     
neuper@37906
   670
 "real_mult_less_mono1";     
neuper@37906
   671
 "real_mult_less_mono2";     
neuper@37906
   672
 "real_mult_less_cancel1";   
neuper@37906
   673
                  "(?k * ?m < ?k * ?n) = (0 < ?k & ?m < ?n | ?k < 0 & ?n < ?m)"
neuper@37906
   674
 "real_mult_less_cancel2";   
neuper@37906
   675
 "real_mult_less_iff1";	     
neuper@37906
   676
 "real_mult_less_iff2";	     
neuper@37906
   677
 "real_mult_le_cancel_iff1";  
neuper@37906
   678
 "real_mult_le_cancel_iff2"; 
neuper@37906
   679
 "real_mult_le_less_mono1";  
neuper@37906
   680
 "real_mult_less_mono";	     
neuper@37906
   681
 "real_mult_less_mono'";     
neuper@37906
   682
 "real_gt_zero";	     "1 <= ?x ==> 0 < ?x"
neuper@37906
   683
 "real_mult_self_le";	     "[| 1 < ?r; 1 <= ?x |] ==> ?x <= ?r * ?x"
neuper@37906
   684
 "real_mult_self_le2";	     
neuper@37906
   685
 "real_inverse_less_swap";   
neuper@37906
   686
 "real_mult_is_0";	     
neuper@37906
   687
 "real_inverse_add";	     
neuper@37906
   688
 "real_minus_zero_le_iff";   
neuper@37906
   689
 "real_minus_zero_le_iff2";  
neuper@37906
   690
 "real_sum_squares_cancel";  "?x * ?x + ?y * ?y = 0 ==> ?x = 0"
neuper@37906
   691
 "real_sum_squares_cancel2"; "?x * ?x + ?y * ?y = 0 ==> ?y = 0"
neuper@37906
   692
 "real_0_less_mult_iff";     
neuper@37906
   693
 "real_0_le_mult_iff";	     
neuper@37906
   694
 "real_mult_less_0_iff";  "(?x * ?y < 0) = (0 < ?x & ?y < 0 | ?x < 0 & 0 < ?y)"
neuper@37906
   695
 "real_mult_le_0_iff";       
neuper@37906
   696
RealInt.ML:qed --------------------------------------------------------------- 
neuper@37906
   697
 "real_of_int_congruent";   
neuper@37906
   698
 "real_of_int";           "real (Abs_Integ (intrel `` {(?i, ?j)})) =
neuper@37906
   699
                           Abs_REAL
neuper@37906
   700
                            (realrel ``
neuper@37906
   701
                             {(preal_of_prat (prat_of_pnat (pnat_of_nat ?i)),
neuper@37906
   702
                              preal_of_prat (prat_of_pnat (pnat_of_nat ?j)))})"
neuper@37906
   703
 "inj_real_of_int";	    
neuper@37906
   704
 "real_of_int_zero";	    
neuper@37906
   705
 "real_of_one";		    
neuper@37906
   706
 "real_of_int_add";	    "real ?x + real ?y = real (?x + ?y)"
neuper@37906
   707
 "real_of_int_minus";	    
neuper@37906
   708
 "real_of_int_diff";	    
neuper@37906
   709
 "real_of_int_mult";	    "real ?x * real ?y = real (?x * ?y)"
neuper@37906
   710
 "real_of_int_Suc";	    
neuper@37906
   711
 "real_of_int_real_of_nat"; 
neuper@37906
   712
 "real_of_nat_real_of_int"; 
neuper@37906
   713
 "real_of_int_zero_cancel"; 
neuper@37906
   714
 "real_of_int_less_cancel"; 
neuper@37906
   715
 "real_of_int_inject";	    
neuper@37906
   716
 "real_of_int_less_mono";   
neuper@37906
   717
 "real_of_int_less_iff";    
neuper@37906
   718
 "real_of_int_le_iff";      
neuper@37906
   719
RealBin.ML:qed ---------------------------------------------------------------
neuper@37906
   720
 "real_number_of";          "real (number_of ?w) = number_of ?w"
neuper@37906
   721
 "real_numeral_0_eq_0";	     
neuper@37906
   722
 "real_numeral_1_eq_1";	     
neuper@37906
   723
 "add_real_number_of";	     
neuper@37906
   724
 "minus_real_number_of";     
neuper@37906
   725
 "diff_real_number_of";	     
neuper@37906
   726
 "mult_real_number_of";	     
neuper@37906
   727
 "real_mult_2";		    (**)"2 * ?z = ?z + ?z"
neuper@37906
   728
 "real_mult_2_right";       (**)"?z * 2 = ?z + ?z"
neuper@37906
   729
 "eq_real_number_of";	     
neuper@37906
   730
 "less_real_number_of";	     
neuper@37906
   731
 "le_real_number_of_eq_not_less"; 
neuper@37906
   732
 "real_minus_1_eq_m1";      "- 1 = -1"(*uminus.. = "-.."*)
neuper@37906
   733
 "real_mult_minus1";        (**)"-1 * ?z = - ?z"
neuper@37906
   734
 "real_mult_minus1_right";  (**)"?z * -1 = - ?z"
neuper@37906
   735
 "zero_less_real_of_nat_iff";"(0 < real ?n) = (0 < ?n)"
neuper@37906
   736
 "zero_le_real_of_nat_iff";
neuper@37906
   737
 "real_add_number_of_left";
neuper@37906
   738
 "real_mult_number_of_left";
neuper@37906
   739
         "number_of ?v * (number_of ?w * ?z) = number_of (bin_mult ?v ?w) * ?z"
neuper@37906
   740
 "real_add_number_of_diff1";
neuper@37906
   741
 "real_add_number_of_diff2";"number_of ?v + (?c - number_of ?w) =
neuper@37906
   742
                             number_of (bin_add ?v (bin_minus ?w)) + ?c"
neuper@37906
   743
 "real_of_nat_number_of";
neuper@37906
   744
       "real (number_of ?v) = (if neg (number_of ?v) then 0 else number_of ?v)"
neuper@37906
   745
 "real_less_iff_diff_less_0"; "(?x < ?y) = (?x - ?y < 0)"
neuper@37906
   746
 "real_eq_iff_diff_eq_0";
neuper@37906
   747
 "real_le_iff_diff_le_0";
neuper@37906
   748
 "left_real_add_mult_distrib";
neuper@37906
   749
                           (**)"?i * ?u + (?j * ?u + ?k) = (?i + ?j) * ?u + ?k"
neuper@37906
   750
 "real_eq_add_iff1";
neuper@37906
   751
                   "(?i * ?u + ?m = ?j * ?u + ?n) = ((?i - ?j) * ?u + ?m = ?n)"
neuper@37906
   752
 "real_eq_add_iff2";
neuper@37906
   753
 "real_less_add_iff1";
neuper@37906
   754
 "real_less_add_iff2";
neuper@37906
   755
 "real_le_add_iff1";
neuper@37906
   756
 "real_le_add_iff2";
neuper@37906
   757
 "real_mult_le_mono1";
neuper@37906
   758
 "real_mult_le_mono2";
neuper@37906
   759
 "real_mult_le_mono";
neuper@37906
   760
            "[| ?i <= ?j; ?k <= ?l; 0 <= ?j; 0 <= ?k |] ==> ?i * ?k <= ?j * ?l"
neuper@37906
   761
RealArith0.ML:qed ------------------------------------------------------------
neuper@37906
   762
 "real_diff_minus_eq";       (**)"?x - - ?y = ?x + ?y"
neuper@37906
   763
 "real_0_divide";            (**)"0 / ?x = 0"
neuper@37906
   764
 "real_0_less_inverse_iff";  "(0 < inverse ?x) = (0 < ?x)"
neuper@37906
   765
 "real_inverse_less_0_iff";
neuper@37906
   766
 "real_0_le_inverse_iff";
neuper@37906
   767
 "real_inverse_le_0_iff";
neuper@37906
   768
 "REAL_DIVIDE_ZERO";         "?x / 0 = 0"(*!!!*)
neuper@37906
   769
 "real_inverse_eq_divide";
neuper@37906
   770
 "real_0_less_divide_iff";"(0 < ?x / ?y) = (0 < ?x & 0 < ?y | ?x < 0 & ?y < 0)"
neuper@37906
   771
 "real_divide_less_0_iff";"(?x / ?y < 0) = (0 < ?x & ?y < 0 | ?x < 0 & 0 < ?y)"
neuper@37906
   772
 "real_0_le_divide_iff";
neuper@37906
   773
 "real_divide_le_0_iff";
neuper@37906
   774
                 "(?x / ?y <= 0) = ((?x <= 0 | ?y <= 0) & (0 <= ?x | 0 <= ?y))"
neuper@37906
   775
 "real_inverse_zero_iff";
neuper@37906
   776
 "real_divide_eq_0_iff";     "(?x / ?y = 0) = (?x = 0 | ?y = 0)"(*!!!*)
neuper@37906
   777
 "real_divide_self_eq";      "?h ~= 0 ==> ?h / ?h = 1"(**)
neuper@37906
   778
 "real_minus_less_minus";    "(- ?y < - ?x) = (?x < ?y)"
neuper@37906
   779
 "real_mult_less_mono1_neg"; "[| ?i < ?j; ?k < 0 |] ==> ?j * ?k < ?i * ?k"
neuper@37906
   780
 "real_mult_less_mono2_neg"; 
neuper@37906
   781
 "real_mult_le_mono1_neg";   
neuper@37906
   782
 "real_mult_le_mono2_neg";   
neuper@37906
   783
 "real_mult_less_cancel2";   
neuper@37906
   784
 "real_mult_le_cancel2";     
neuper@37906
   785
 "real_mult_less_cancel1";   
neuper@37906
   786
 "real_mult_le_cancel1";     
neuper@37906
   787
 "real_mult_eq_cancel1";     "(?k * ?m = ?k * ?n) = (?k = 0 | ?m = ?n)"
neuper@37906
   788
 "real_mult_eq_cancel2";     "(?m * ?k = ?n * ?k) = (?k = 0 | ?m = ?n)"
neuper@37906
   789
 "real_mult_div_cancel1";    (**)"?k ~= 0 ==> ?k * ?m / (?k * ?n) = ?m / ?n"
neuper@37906
   790
 "real_mult_div_cancel_disj";
neuper@37906
   791
                        "?k * ?m / (?k * ?n) = (if ?k = 0 then 0 else ?m / ?n)"
neuper@37906
   792
 "pos_real_le_divide_eq";    
neuper@37906
   793
 "neg_real_le_divide_eq";    
neuper@37906
   794
 "pos_real_divide_le_eq";    
neuper@37906
   795
 "neg_real_divide_le_eq";    
neuper@37906
   796
 "pos_real_less_divide_eq";  
neuper@37906
   797
 "neg_real_less_divide_eq";  
neuper@37906
   798
 "pos_real_divide_less_eq";  
neuper@37906
   799
 "neg_real_divide_less_eq";  
neuper@37906
   800
 "real_eq_divide_eq";        (**)"?z ~= 0 ==> (?x = ?y / ?z) = (?x * ?z = ?y)"
neuper@37906
   801
 "real_divide_eq_eq";	     (**)"?z ~= 0 ==> (?y / ?z = ?x) = (?y = ?x * ?z)"
neuper@37906
   802
 "real_divide_eq_cancel2";   "(?m / ?k = ?n / ?k) = (?k = 0 | ?m = ?n)"
neuper@37906
   803
 "real_divide_eq_cancel1";   "(?k / ?m = ?k / ?n) = (?k = 0 | ?m = ?n)"
neuper@37906
   804
 "real_inverse_less_iff";    
neuper@37906
   805
 "real_inverse_le_iff";	     
neuper@37906
   806
 "real_divide_1";            (**)"?x / 1 = ?x"
neuper@37906
   807
 "real_divide_minus1";	     (**)"?x / -1 = - ?x"
neuper@37906
   808
 "real_minus1_divide";	     (**)"-1 / ?x = - (1 / ?x)"
neuper@37906
   809
 "real_lbound_gt_zero";
neuper@37906
   810
           "[| 0 < ?d1.0; 0 < ?d2.0 |] ==> EX e. 0 < e & e < ?d1.0 & e < ?d2.0"
neuper@37906
   811
 "real_inverse_eq_iff";	     "(inverse ?x = inverse ?y) = (?x = ?y)"
neuper@37906
   812
 "real_divide_eq_iff";	     "(?z / ?x = ?z / ?y) = (?z = 0 | ?x = ?y)"
neuper@37906
   813
 "real_less_minus"; 	     "(?x < - ?y) = (?y < - ?x)"
neuper@37906
   814
 "real_minus_less"; 	     "(- ?x < ?y) = (- ?y < ?x)"
neuper@37906
   815
 "real_le_minus"; 	     
neuper@37906
   816
 "real_minus_le";            "(- ?x <= ?y) = (- ?y <= ?x)"
neuper@37906
   817
 "real_equation_minus";	     (**)"(?x = - ?y) = (?y = - ?x)"
neuper@37906
   818
 "real_minus_equation";	     (**)"(- ?x = ?y) = (- ?y = ?x)"
neuper@37906
   819
 "real_add_minus_iff";	     (**)"(?x + - ?a = 0) = (?x = ?a)"
neuper@37906
   820
 "real_minus_eq_cancel";     (**)"(- ?b = - ?a) = (?b = ?a)"
neuper@37906
   821
 "real_add_eq_0_iff";	     (**)"(?x + ?y = 0) = (?y = - ?x)"
neuper@37906
   822
 "real_add_less_0_iff";	     "(?x + ?y < 0) = (?y < - ?x)"
neuper@37906
   823
 "real_0_less_add_iff";	     
neuper@37906
   824
 "real_add_le_0_iff";	     
neuper@37906
   825
 "real_0_le_add_iff";	     
neuper@37906
   826
 "real_0_less_diff_iff";     "(0 < ?x - ?y) = (?y < ?x)"
neuper@37906
   827
 "real_0_le_diff_iff";	     
neuper@37906
   828
 "real_minus_diff_eq";	     (**)"- (?x - ?y) = ?y - ?x"
neuper@37906
   829
 "real_less_half_sum";	     "?x < ?y ==> ?x < (?x + ?y) / 2"
neuper@37906
   830
 "real_gt_half_sum";	     
neuper@37906
   831
 "real_dense";               "?x < ?y ==> EX r. ?x < r & r < ?y"
neuper@37906
   832
RealArith ///!!!///-----------------------------------------------------------
neuper@37906
   833
RComplete.ML:qed -------------------------------------------------------------
neuper@37906
   834
 "real_sum_of_halves";       (**)"?x / 2 + ?x / 2 = ?x"
neuper@37906
   835
 "real_sup_lemma1";
neuper@37906
   836
 "real_sup_lemma2";
neuper@37906
   837
 "posreal_complete";
neuper@37906
   838
 "real_isLub_unique";
neuper@37906
   839
 "real_order_restrict";
neuper@37906
   840
 "posreals_complete";
neuper@37906
   841
 "real_sup_lemma3";
neuper@37906
   842
 "lemma_le_swap2";
neuper@37906
   843
 "lemma_real_complete2b";
neuper@37906
   844
 "reals_complete";
neuper@37906
   845
 "real_of_nat_Suc_gt_zero";
neuper@37906
   846
 "reals_Archimedean";     "0 < ?x ==> EX n. inverse (real (Suc n)) < ?x"
neuper@37906
   847
 "reals_Archimedean2";
neuper@37906
   848
RealAbs.ML:qed 
neuper@37906
   849
 "abs_nat_number_of";
neuper@37906
   850
      "abs (number_of ?v) =
neuper@37906
   851
       (if neg (number_of ?v) then number_of (bin_minus ?v) else number_of ?v)"
neuper@37906
   852
 "abs_split";
neuper@37906
   853
 "abs_iff";
neuper@37906
   854
 "abs_zero";              "abs 0 = 0"
neuper@37906
   855
 "abs_one";
neuper@37906
   856
 "abs_eqI1";
neuper@37906
   857
 "abs_eqI2";
neuper@37906
   858
 "abs_minus_eqI2";
neuper@37906
   859
 "abs_minus_eqI1";
neuper@37906
   860
 "abs_ge_zero";           "0 <= abs ?x"
neuper@37906
   861
 "abs_idempotent";        "abs (abs ?x) = abs ?x"
neuper@37906
   862
 "abs_zero_iff";          "(abs ?x = 0) = (?x = 0)"
neuper@37906
   863
 "abs_ge_self";           "?x <= abs ?x"
neuper@37906
   864
 "abs_ge_minus_self";
neuper@37906
   865
 "abs_mult";              "abs (?x * ?y) = abs ?x * abs ?y"
neuper@37906
   866
 "abs_inverse";           "abs (inverse ?x) = inverse (abs ?x)"
neuper@37906
   867
 "abs_mult_inverse";
neuper@37906
   868
 "abs_triangle_ineq";     "abs (?x + ?y) <= abs ?x + abs ?y"
neuper@37906
   869
 "abs_triangle_ineq_four";
neuper@37906
   870
 "abs_minus_cancel";
neuper@37906
   871
 "abs_minus_add_cancel";
neuper@37906
   872
 "abs_triangle_minus_ineq";
neuper@37906
   873
RealAbs.ML:qed_spec_mp 
neuper@37906
   874
 "abs_add_less";   "[| abs ?x < ?r; abs ?y < ?s |] ==> abs (?x + ?y) < ?r + ?s"
neuper@37906
   875
RealAbs.ML:qed 
neuper@37906
   876
 "abs_add_minus_less";
neuper@37906
   877
 "real_mult_0_less";       "(0 * ?x < ?r) = (0 < ?r)"
neuper@37906
   878
 "real_mult_less_trans";
neuper@37906
   879
 "real_mult_le_less_trans";
neuper@37906
   880
 "abs_mult_less";
neuper@37906
   881
 "abs_mult_less2";
neuper@37906
   882
 "abs_less_gt_zero";
neuper@37906
   883
 "abs_minus_one";         "abs -1 = 1"
neuper@37906
   884
 "abs_disj";              "abs ?x = ?x | abs ?x = - ?x"
neuper@37906
   885
 "abs_interval_iff";
neuper@37906
   886
 "abs_le_interval_iff";
neuper@37906
   887
 "abs_add_pos_gt_zero";
neuper@37906
   888
 "abs_add_one_gt_zero";
neuper@37906
   889
 "abs_not_less_zero";
neuper@37906
   890
 "abs_circle";            "abs ?h < abs ?y - abs ?x ==> abs (?x + ?h) < abs ?y"
neuper@37906
   891
 "abs_le_zero_iff";
neuper@37906
   892
 "real_0_less_abs_iff";
neuper@37906
   893
 "abs_real_of_nat_cancel";
neuper@37906
   894
 "abs_add_one_not_less_self";
neuper@37906
   895
 "abs_triangle_ineq_three";    "abs (?w + ?x + ?y) <= abs ?w + abs ?x + abs ?y"
neuper@37906
   896
 "abs_diff_less_imp_gt_zero";
neuper@37906
   897
 "abs_diff_less_imp_gt_zero2";
neuper@37906
   898
 "abs_diff_less_imp_gt_zero3";
neuper@37906
   899
 "abs_diff_less_imp_gt_zero4";
neuper@37906
   900
 "abs_triangle_ineq_minus_cancel";
neuper@37906
   901
 "abs_sum_triangle_ineq";  
neuper@37906
   902
           "abs (?x + ?y + (- ?l + - ?m)) <= abs (?x + - ?l) + abs (?y + - ?m)"
neuper@37906
   903
RealPow.ML:qed
neuper@37906
   904
 "realpow_zero";           "0 ^ Suc ?n = 0"
neuper@37906
   905
RealPow.ML:qed_spec_mp 
neuper@37906
   906
 "realpow_not_zero";       "?r ~= 0 ==> ?r ^ ?n ~= 0"
neuper@37906
   907
 "realpow_zero_zero";      "?r ^ ?n = 0 ==> ?r = 0"
neuper@37906
   908
 "realpow_inverse";        "inverse (?r ^ ?n) = inverse ?r ^ ?n"
neuper@37906
   909
 "realpow_abs";            "abs (?r ^ ?n) = abs ?r ^ ?n"
neuper@37906
   910
 "realpow_add";            (**)"?r ^ (?n + ?m) = ?r ^ ?n * ?r ^ ?m"
neuper@37906
   911
 "realpow_one";            (**)"?r ^ 1 = ?r"
neuper@37906
   912
 "realpow_two";            (**)"?r ^ Suc (Suc 0) = ?r * ?r"
neuper@37906
   913
RealPow.ML:qed_spec_mp 
neuper@37906
   914
 "realpow_gt_zero";        "0 < ?r ==> 0 < ?r ^ ?n"
neuper@37906
   915
 "realpow_ge_zero";        "0 <= ?r ==> 0 <= ?r ^ ?n"
neuper@37906
   916
 "realpow_le";             "0 <= ?x & ?x <= ?y ==> ?x ^ ?n <= ?y ^ ?n"
neuper@37906
   917
 "realpow_less";	   
neuper@37906
   918
RealPow.ML:qed 		    
neuper@37906
   919
 "realpow_eq_one";         (**)"1 ^ ?n = 1"
neuper@37906
   920
 "abs_realpow_minus_one";  "abs (-1 ^ ?n) = 1"
neuper@37906
   921
 "realpow_mult";           (**)"(?r * ?s) ^ ?n = ?r ^ ?n * ?s ^ ?n" 
neuper@37906
   922
 "realpow_two_le";	   "0 <= ?r ^ Suc (Suc 0)"
neuper@37906
   923
 "abs_realpow_two";	   
neuper@37906
   924
 "realpow_two_abs";        "abs ?x ^ Suc (Suc 0) = ?x ^ Suc (Suc 0)"
neuper@37906
   925
 "realpow_two_gt_one";	   
neuper@37906
   926
RealPow.ML:qed_spec_mp 	   
neuper@37906
   927
 "realpow_ge_one";	   "1 < ?r ==> 1 <= ?r ^ ?n"
neuper@37906
   928
RealPow.ML:qed 		   
neuper@37906
   929
 "realpow_ge_one2";	   
neuper@37906
   930
 "two_realpow_ge_one";	   
neuper@37906
   931
 "two_realpow_gt";	   
neuper@37906
   932
 "realpow_minus_one";      (**)"-1 ^ (2 * ?n) = 1"  
neuper@37906
   933
 "realpow_minus_one_odd";  "-1 ^ Suc (2 * ?n) = - 1"
neuper@37906
   934
 "realpow_minus_one_even"; 
neuper@37906
   935
RealPow.ML:qed_spec_mp 	   
neuper@37906
   936
 "realpow_Suc_less";	   
neuper@37906
   937
 "realpow_Suc_le";         "0 <= ?r & ?r < 1 ==> ?r ^ Suc ?n <= ?r ^ ?n"
neuper@37906
   938
RealPow.ML:qed 
neuper@37906
   939
 "realpow_zero_le";        "0 <= 0 ^ ?n"
neuper@37906
   940
RealPow.ML:qed_spec_mp 
neuper@37906
   941
 "realpow_Suc_le2";
neuper@37906
   942
RealPow.ML:qed 
neuper@37906
   943
 "realpow_Suc_le3";
neuper@37906
   944
RealPow.ML:qed_spec_mp 
neuper@37906
   945
 "realpow_less_le";        "0 <= ?r & ?r < 1 & ?n < ?N ==> ?r ^ ?N <= ?r ^ ?n"
neuper@37906
   946
RealPow.ML:qed 
neuper@37906
   947
 "realpow_le_le";      "[| 0 <= ?r; ?r < 1; ?n <= ?N |] ==> ?r ^ ?N <= ?r ^ ?n"
neuper@37906
   948
 "realpow_Suc_le_self";
neuper@37906
   949
 "realpow_Suc_less_one";
neuper@37906
   950
RealPow.ML:qed_spec_mp 
neuper@37906
   951
 "realpow_le_Suc";
neuper@37906
   952
 "realpow_less_Suc";
neuper@37906
   953
 "realpow_le_Suc2";
neuper@37906
   954
 "realpow_gt_ge";
neuper@37906
   955
 "realpow_gt_ge2";
neuper@37906
   956
RealPow.ML:qed 
neuper@37906
   957
 "realpow_ge_ge";               "[| 1 < ?r; ?n <= ?N |] ==> ?r ^ ?n <= ?r ^ ?N"
neuper@37906
   958
 "realpow_ge_ge2";
neuper@37906
   959
RealPow.ML:qed_spec_mp 
neuper@37906
   960
 "realpow_Suc_ge_self";
neuper@37906
   961
 "realpow_Suc_ge_self2";
neuper@37906
   962
RealPow.ML:qed 
neuper@37906
   963
 "realpow_ge_self";
neuper@37906
   964
 "realpow_ge_self2";
neuper@37906
   965
RealPow.ML:qed_spec_mp 
neuper@37906
   966
 "realpow_minus_mult";          "0 < ?n ==> ?x ^ (?n - 1) * ?x = ?x ^ ?n"
neuper@37906
   967
 "realpow_two_mult_inverse";
neuper@37906
   968
                       "?r ~= 0 ==> ?r * inverse ?r ^ Suc (Suc 0) = inverse ?r"
neuper@37906
   969
 "realpow_two_minus";           "(- ?x) ^ Suc (Suc 0) = ?x ^ Suc (Suc 0)"
neuper@37906
   970
 "realpow_two_diff";
neuper@37906
   971
 "realpow_two_disj";
neuper@37906
   972
 "realpow_diff";
neuper@37906
   973
     "[| ?x ~= 0; ?m <= ?n |] ==> ?x ^ (?n - ?m) = ?x ^ ?n * inverse (?x ^ ?m)"
neuper@37906
   974
 "realpow_real_of_nat";
neuper@37906
   975
 "realpow_real_of_nat_two_pos"; "0 < real (Suc (Suc 0) ^ ?n)"
neuper@37906
   976
RealPow.ML:qed_spec_mp 
neuper@37906
   977
 "realpow_increasing";
neuper@37906
   978
 "realpow_Suc_cancel_eq";
neuper@37906
   979
                "[| 0 <= ?x; 0 <= ?y; ?x ^ Suc ?n = ?y ^ Suc ?n |] ==> ?x = ?y"
neuper@37906
   980
RealPow.ML:qed 
neuper@37906
   981
 "realpow_eq_0_iff";            "(?x ^ ?n = 0) = (?x = 0 & 0 < ?n)"
neuper@37906
   982
 "zero_less_realpow_abs_iff";
neuper@37906
   983
 "zero_le_realpow_abs";
neuper@37906
   984
 "real_of_int_power";           "real ?x ^ ?n = real (?x ^ ?n)"
neuper@37906
   985
 "power_real_number_of";        "number_of ?v ^ ?n = real (number_of ?v ^ ?n)"
neuper@37906
   986
Ring_and_Field ---///!!!///---------------------------------------------------
neuper@37906
   987
Complex_Numbers --///!!!///---------------------------------------------------
neuper@37906
   988
Real -------------///!!!///---------------------------------------------------
neuper@37906
   989
real_arith0.ML:qed "";
neuper@37906
   990
real_arith0.ML:qed "";
neuper@37906
   991
real_arith0.ML:qed "";
neuper@37906
   992
real_arith0.ML:qed "";
neuper@37906
   993
real_arith0.ML:qed "";
neuper@37906
   994
real_arith0.ML:qed "";
neuper@37906
   995
real_arith0.ML:qed "";
neuper@37906
   996
real_arith0.ML:qed "";
neuper@37906
   997
real_arith0.ML:qed "";
neuper@37906
   998
neuper@37906
   999
neuper@37906
  1000
neuper@37906
  1001
neuper@37906
  1002
neuper@37906
  1003
neuper@37906
  1004
neuper@37906
  1005