src/ZF/Resid/Conversion.thy
author lcp
Thu, 13 Apr 1995 15:38:07 +0200
changeset 1048 5ba0314f8214
child 1401 0c439768f45c
permissions -rw-r--r--
New example by Ole Rasmussen

(*  Title: 	Conversion.thy
    ID:         $Id$
    Author: 	Ole Rasmussen
    Copyright   1995  University of Cambridge
    Logic Image: ZF

*)

Conversion = Confluence+

consts
  Sconv1	:: "i"
  "<-1->"	:: "[i,i]=>o" (infixl 50)
  Sconv		:: "i"
  "<--->"	:: "[i,i]=>o" (infixl 50)

translations
  "a<-1->b"    == "<a,b>:Sconv1"
  "a<--->b"    == "<a,b>:Sconv"
  
inductive
  domains       "Sconv1" <= "lambda*lambda"
  intrs
    red1	"m -1-> n ==> m<-1->n"
    expl  	"n -1-> m ==> m<-1->n"
  type_intrs	"[red1D1,red1D2]@lambda.intrs@bool_typechecks"

inductive
  domains       "Sconv" <= "lambda*lambda"
  intrs
    one_step	"m<-1->n  ==> m<--->n"
    refl  	"m:lambda ==> m<--->m"
    trans	"[|m<--->n; n<--->p|] ==> m<--->p"
  type_intrs	"[Sconv1.dom_subset RS subsetD]@lambda.intrs@bool_typechecks"
end