src/HOL/Lambda/Confluence.thy
author nipkow
Fri, 23 Jun 1995 09:15:09 +0200
changeset 1156 b373cb33352f
parent 1153 5c5daf97cf2d
permissions -rw-r--r--
Put in direct proof of C-R w/o detour via cd.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1120
ff7dd80513e6 Lambda calculus in de Bruijn notation.
nipkow
parents:
diff changeset
     1
(*  Title: 	HOL/Lambda/Confluence.thy
ff7dd80513e6 Lambda calculus in de Bruijn notation.
nipkow
parents:
diff changeset
     2
    ID:         $Id$
ff7dd80513e6 Lambda calculus in de Bruijn notation.
nipkow
parents:
diff changeset
     3
    Author: 	Tobias Nipkow
ff7dd80513e6 Lambda calculus in de Bruijn notation.
nipkow
parents:
diff changeset
     4
    Copyright   1995  TU Muenchen
ff7dd80513e6 Lambda calculus in de Bruijn notation.
nipkow
parents:
diff changeset
     5
ff7dd80513e6 Lambda calculus in de Bruijn notation.
nipkow
parents:
diff changeset
     6
Abstract confluence notions.
ff7dd80513e6 Lambda calculus in de Bruijn notation.
nipkow
parents:
diff changeset
     7
*)
ff7dd80513e6 Lambda calculus in de Bruijn notation.
nipkow
parents:
diff changeset
     8
ff7dd80513e6 Lambda calculus in de Bruijn notation.
nipkow
parents:
diff changeset
     9
Confluence = Trancl +
ff7dd80513e6 Lambda calculus in de Bruijn notation.
nipkow
parents:
diff changeset
    10
ff7dd80513e6 Lambda calculus in de Bruijn notation.
nipkow
parents:
diff changeset
    11
consts
1131
8e81ad0c6f12 Added Church-Rosser
nipkow
parents: 1124
diff changeset
    12
  confluent, confluent1, confluent2, diamond, Church_Rosser ::
8e81ad0c6f12 Added Church-Rosser
nipkow
parents: 1124
diff changeset
    13
  "('a*'a)set => bool"
1120
ff7dd80513e6 Lambda calculus in de Bruijn notation.
nipkow
parents:
diff changeset
    14
ff7dd80513e6 Lambda calculus in de Bruijn notation.
nipkow
parents:
diff changeset
    15
defs
1124
a6233ea105a4 Polished the presentation making it completely definitional.
nipkow
parents: 1120
diff changeset
    16
  diamond_def
1156
b373cb33352f Put in direct proof of C-R w/o detour via cd.
nipkow
parents: 1153
diff changeset
    17
  "diamond(R) == !x y.(x,y):R --> (!z.(x,z):R --> (EX u. (y,u):R & (z,u):R))" 
1120
ff7dd80513e6 Lambda calculus in de Bruijn notation.
nipkow
parents:
diff changeset
    18
1124
a6233ea105a4 Polished the presentation making it completely definitional.
nipkow
parents: 1120
diff changeset
    19
  confluent_def "confluent(R) == diamond(R^*)"
1120
ff7dd80513e6 Lambda calculus in de Bruijn notation.
nipkow
parents:
diff changeset
    20
1151
c820b3cc3df0 removed \...\ inside strings
clasohm
parents: 1131
diff changeset
    21
  Church_Rosser_def "Church_Rosser(R) ==   
1153
5c5daf97cf2d Simplified the confluence proofs.
nipkow
parents: 1151
diff changeset
    22
  !x y. (x,y) : (R Un converse(R))^* --> (? z. (x,z) : R^* & (y,z) : R^*)"
1120
ff7dd80513e6 Lambda calculus in de Bruijn notation.
nipkow
parents:
diff changeset
    23
end