author | wenzelm |
Sun, 21 Jan 2001 19:54:52 +0100 | |
changeset 10954 | a555bfb66c2d |
parent 9508 | 4d01dbf6ded7 |
child 11049 | 7eef34adb852 |
permissions | -rw-r--r-- |
(* Title: WilsonRuss.thy ID: $Id$ Author: Thomas M. Rasmussen Copyright 2000 University of Cambridge *) WilsonRuss = EulerFermat + consts inv :: "[int,int] => int" wset :: "int*int=>int set" defs inv_def "inv p a == (a ^ (nat (p - #2))) mod p" recdef wset "measure ((%(a,p).(nat a)) ::int*int=>nat)" "wset (a,p) = (if #1<a then let ws = wset (a-#1,p) in (if a:ws then ws else insert a (insert (inv p a) ws)) else {})" end