src/HOL/ex/BinEx.thy
author wenzelm
Fri, 10 Nov 2000 19:03:55 +0100
changeset 10434 6ea4735c3955
parent 9297 bafe45732b10
child 11024 23bf8d787b04
permissions -rw-r--r--
simplified atomize; added inductive_rulify2 (to accomodate malformed induction rules);

(*  Title:      HOL/ex/BinEx.thy
    ID:         $Id$
    Author:     Lawrence C Paulson, Cambridge University Computer Laboratory
    Copyright   1998  University of Cambridge

Definition of normal form for proving that binary arithmetic on
normalized operands yields normalized results.

Normal means no leading 0s on positive numbers and no leading 1s on negatives.
*)

BinEx = Main +

consts normal :: bin set
  
inductive "normal"
  intrs 

    Pls  "Pls: normal"

    Min  "Min: normal"

    BIT_F  "[| w: normal; w ~= Pls |] ==> w BIT False : normal"

    BIT_T  "[| w: normal; w ~= Min |] ==> w BIT True : normal"

end