src/HOL/UNITY/Rename.thy
author paulson
Fri Feb 18 15:37:08 2000 +0100 (2000-02-18)
changeset 8256 6ba8fa2b0638
child 9403 aad13b59b8d9
permissions -rw-r--r--
Rename: theory for applying a bijection over states to a UNITY program
     1 (*  Title:      HOL/UNITY/Rename.thy
     2     ID:         $Id$
     3     Author:     Lawrence C Paulson, Cambridge University Computer Laboratory
     4     Copyright   2000  University of Cambridge
     5 
     6 Renaming of state sets
     7 *)
     8 
     9 Rename = Extend +
    10 
    11 constdefs
    12   rename_act :: "['a => 'b, ('a*'a) set] => ('b*'b) set"
    13     "rename_act h == extend_act (%(x,u::unit). h x)"
    14 
    15 (**OR
    16       "rename_act h == %act. UN (s,s'): act.  {(h s, h s')}"
    17       "rename_act h == %act. (prod_fun h h) `` act"
    18 **)
    19   
    20   rename :: "['a => 'b, 'a program] => 'b program"
    21     "rename h == extend (%(x,u::unit). h x)"
    22 
    23 end