src/ZF/Resid/Conversion.thy
author wenzelm
Wed, 15 Oct 1997 15:12:59 +0200
changeset 3872 a5839ecee7b8
parent 1478 2b8c2a7547ab
child 11319 8b84ee2cc79c
permissions -rw-r--r--
tuned; prepare ext;

(*  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