src/ZF/Resid/Terms.thy
author paulson
Tue, 16 Jul 1996 15:49:46 +0200
changeset 1868 836950047d85
parent 1478 2b8c2a7547ab
child 3840 e0baea4d485a
permissions -rw-r--r--
Put in minimal simpset to avoid excessive simplification, just as in revision 1.9 of HOL/indrule.ML

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

Terms = Cube+

consts
  lambda        :: i
  unmark        :: i=>i
  Apl           :: [i,i]=>i

translations
  "Apl(n,m)" == "App(0,n,m)"
  
inductive
  domains       "lambda" <= "redexes"
  intrs
    Lambda_Var  "               n:nat ==>     Var(n):lambda"
    Lambda_Fun  "            u:lambda ==>     Fun(u):lambda"
    Lambda_App  "[|u:lambda; v:lambda|]==> Apl(u,v):lambda"
  type_intrs    "redexes.intrs@bool_typechecks"

defs
  unmark_def    "unmark(u) == redex_rec(u,%i.Var(i),   
                                          %x m.Fun(m),   
                                          %b x y m p.Apl(m,p))"
end