src/HOL/Ord.ML
author nipkow
Mon, 22 Apr 1996 15:42:20 +0200
changeset 1669 e56cdf711729
parent 1465 5d7a7e439cec
child 2608 450c9b682a92
permissions -rw-r--r--
inserted Suc_less_eq explictly in a few proofs. inserted o_def explictly in a few proofs because the new split_tac causes fewer eta-expansions which some of the rewrites need. Indented proof in I.ML

(*  Title:      HOL/Ord.ML
    ID:         $Id$
    Author:     Tobias Nipkow, Cambridge University Computer Laboratory
    Copyright   1993  University of Cambridge

The type class for ordered types
*)

open Ord;

val [prem] = goalw Ord.thy [mono_def]
    "[| !!A B. A <= B ==> f(A) <= f(B) |] ==> mono(f)";
by (REPEAT (ares_tac [allI, impI, prem] 1));
qed "monoI";

val [major,minor] = goalw Ord.thy [mono_def]
    "[| mono(f);  A <= B |] ==> f(A) <= f(B)";
by (rtac (major RS spec RS spec RS mp) 1);
by (rtac minor 1);
qed "monoD";