src/ZF/ex/Commutation.thy
author paulson
Mon, 21 May 2001 14:36:24 +0200
changeset 11316 b4e71bd751e4
parent 11042 bb566dd3f927
child 12867 5c900a821a7c
permissions -rw-r--r--
X-symbols for set theory
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
11042
bb566dd3f927 commutation theory, ported by Sidi Ehmety
paulson
parents:
diff changeset
     1
(*  Title:      HOL/Lambda/Commutation.thy
bb566dd3f927 commutation theory, ported by Sidi Ehmety
paulson
parents:
diff changeset
     2
    ID:         $Id$
bb566dd3f927 commutation theory, ported by Sidi Ehmety
paulson
parents:
diff changeset
     3
    Author:     Tobias Nipkow & Sidi Ould Ehmety
bb566dd3f927 commutation theory, ported by Sidi Ehmety
paulson
parents:
diff changeset
     4
    Copyright   1995  TU Muenchen
bb566dd3f927 commutation theory, ported by Sidi Ehmety
paulson
parents:
diff changeset
     5
bb566dd3f927 commutation theory, ported by Sidi Ehmety
paulson
parents:
diff changeset
     6
Commutation theory for proving the Church Rosser theorem
bb566dd3f927 commutation theory, ported by Sidi Ehmety
paulson
parents:
diff changeset
     7
	ported from Isabelle/HOL  by Sidi Ould Ehmety
bb566dd3f927 commutation theory, ported by Sidi Ehmety
paulson
parents:
diff changeset
     8
*)
bb566dd3f927 commutation theory, ported by Sidi Ehmety
paulson
parents:
diff changeset
     9
bb566dd3f927 commutation theory, ported by Sidi Ehmety
paulson
parents:
diff changeset
    10
Commutation = Main +    
bb566dd3f927 commutation theory, ported by Sidi Ehmety
paulson
parents:
diff changeset
    11
bb566dd3f927 commutation theory, ported by Sidi Ehmety
paulson
parents:
diff changeset
    12
constdefs
bb566dd3f927 commutation theory, ported by Sidi Ehmety
paulson
parents:
diff changeset
    13
  square  :: [i, i, i, i] => o
bb566dd3f927 commutation theory, ported by Sidi Ehmety
paulson
parents:
diff changeset
    14
   "square(r,s,t,u) ==
11316
b4e71bd751e4 X-symbols for set theory
paulson
parents: 11042
diff changeset
    15
   (\\<forall>a b. <a,b>:r --> (\\<forall>c. <a, c>:s
b4e71bd751e4 X-symbols for set theory
paulson
parents: 11042
diff changeset
    16
                          --> (\\<exists>x. <b,x>:t & <c,x>:u)))"
11042
bb566dd3f927 commutation theory, ported by Sidi Ehmety
paulson
parents:
diff changeset
    17
bb566dd3f927 commutation theory, ported by Sidi Ehmety
paulson
parents:
diff changeset
    18
   commute :: [i, i] => o       
bb566dd3f927 commutation theory, ported by Sidi Ehmety
paulson
parents:
diff changeset
    19
   "commute(r,s) == square(r,s,s,r)"
bb566dd3f927 commutation theory, ported by Sidi Ehmety
paulson
parents:
diff changeset
    20
bb566dd3f927 commutation theory, ported by Sidi Ehmety
paulson
parents:
diff changeset
    21
  diamond :: i=>o
bb566dd3f927 commutation theory, ported by Sidi Ehmety
paulson
parents:
diff changeset
    22
  "diamond(r)   == commute(r, r)"
bb566dd3f927 commutation theory, ported by Sidi Ehmety
paulson
parents:
diff changeset
    23
bb566dd3f927 commutation theory, ported by Sidi Ehmety
paulson
parents:
diff changeset
    24
  strip :: i=>o  
bb566dd3f927 commutation theory, ported by Sidi Ehmety
paulson
parents:
diff changeset
    25
  "strip(r) == commute(r^*, r)"
bb566dd3f927 commutation theory, ported by Sidi Ehmety
paulson
parents:
diff changeset
    26
bb566dd3f927 commutation theory, ported by Sidi Ehmety
paulson
parents:
diff changeset
    27
  Church_Rosser :: i => o     
11316
b4e71bd751e4 X-symbols for set theory
paulson
parents: 11042
diff changeset
    28
  "Church_Rosser(r) == (\\<forall>x y. <x,y>: (r Un converse(r))^* -->
b4e71bd751e4 X-symbols for set theory
paulson
parents: 11042
diff changeset
    29
			(\\<exists>z. <x,z>:r^* & <y,z>:r^*))"
11042
bb566dd3f927 commutation theory, ported by Sidi Ehmety
paulson
parents:
diff changeset
    30
  confluent :: i=>o    
bb566dd3f927 commutation theory, ported by Sidi Ehmety
paulson
parents:
diff changeset
    31
  "confluent(r) == diamond(r^*)"
bb566dd3f927 commutation theory, ported by Sidi Ehmety
paulson
parents:
diff changeset
    32
end