src/HOLCF/Fun1.ML
author wenzelm
Thu Aug 27 20:46:36 1998 +0200 (1998-08-27)
changeset 5400 645f46a24c72
parent 3323 194ae2e0c193
child 9245 428385c4bc50
permissions -rw-r--r--
made tutorial first;
     1 (*  Title:      HOLCF/Fun1.ML
     2     ID:         $Id$
     3     Author:     Franz Regensburger
     4     Copyright   1993  Technische Universitaet Muenchen
     5 
     6 Lemmas for fun1.thy 
     7 *)
     8 
     9 open Fun1;
    10 
    11 (* ------------------------------------------------------------------------ *)
    12 (* less_fun is a partial order on 'a => 'b                                  *)
    13 (* ------------------------------------------------------------------------ *)
    14 
    15 qed_goalw "refl_less_fun" thy [less_fun_def] "(f::'a::term =>'b::po) << f"
    16 (fn prems =>
    17         [
    18         (fast_tac (HOL_cs addSIs [refl_less]) 1)
    19         ]);
    20 
    21 qed_goalw "antisym_less_fun" Fun1.thy [less_fun_def] 
    22         "[|(f1::'a::term =>'b::po) << f2; f2 << f1|] ==> f1 = f2"
    23 (fn prems =>
    24         [
    25         (cut_facts_tac prems 1),
    26         (stac expand_fun_eq 1),
    27         (fast_tac (HOL_cs addSIs [antisym_less]) 1)
    28         ]);
    29 
    30 qed_goalw "trans_less_fun" Fun1.thy [less_fun_def] 
    31         "[|(f1::'a::term =>'b::po) << f2; f2 << f3 |] ==> f1 << f3"
    32 (fn prems =>
    33         [
    34         (cut_facts_tac prems 1),
    35         (strip_tac 1),
    36         (rtac trans_less 1),
    37         (etac allE 1),
    38         (atac 1),
    39         ((etac allE 1) THEN (atac 1))
    40         ]);