src/HOLCF/Sprod1.ML
author paulson
Tue Jul 04 15:58:11 2000 +0200 (2000-07-04)
changeset 9245 428385c4bc50
parent 3323 194ae2e0c193
child 9248 e1dee89de037
permissions -rw-r--r--
removed most batch-style proofs
slotosch@2640
     1
(*  Title:      HOLCF/Sprod1.ML
nipkow@243
     2
    ID:         $Id$
clasohm@1461
     3
    Author:     Franz Regensburger
nipkow@243
     4
    Copyright   1993  Technische Universitaet Muenchen
nipkow@243
     5
nipkow@243
     6
*)
nipkow@243
     7
nipkow@243
     8
(* ------------------------------------------------------------------------ *)
nipkow@243
     9
(* less_sprod is a partial order on Sprod                                   *)
nipkow@243
    10
(* ------------------------------------------------------------------------ *)
nipkow@243
    11
paulson@9245
    12
val prems = goalw thy [less_sprod_def]"(p::'a ** 'b) << p";
paulson@9245
    13
by (fast_tac (HOL_cs addIs [refl_less]) 1);
paulson@9245
    14
qed "refl_less_sprod";
nipkow@243
    15
paulson@9245
    16
val prems = goalw thy [less_sprod_def]
paulson@9245
    17
        "[|(p1::'a ** 'b) << p2;p2 << p1|] ==> p1=p2";
paulson@9245
    18
by (cut_facts_tac prems 1);
paulson@9245
    19
by (rtac Sel_injective_Sprod 1);
paulson@9245
    20
by (fast_tac (HOL_cs addIs [antisym_less]) 1);
paulson@9245
    21
by (fast_tac (HOL_cs addIs [antisym_less]) 1);
paulson@9245
    22
qed "antisym_less_sprod";
nipkow@243
    23
paulson@9245
    24
val prems = goalw thy [less_sprod_def]
paulson@9245
    25
        "[|(p1::'a**'b) << p2;p2 << p3|] ==> p1 << p3";
paulson@9245
    26
by (cut_facts_tac prems 1);
paulson@9245
    27
by (rtac conjI 1);
paulson@9245
    28
by (fast_tac (HOL_cs addIs [trans_less]) 1);
paulson@9245
    29
by (fast_tac (HOL_cs addIs [trans_less]) 1);
paulson@9245
    30
qed "trans_less_sprod";