src/ZF/Resid/Terms.thy
author paulson
Sat, 22 Dec 2001 19:42:35 +0100
changeset 12593 cd35fe5947d4
parent 11319 8b84ee2cc79c
permissions -rw-r--r--
Resid converted to Isar/ZF
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1478
2b8c2a7547ab expanded tabs
clasohm
parents: 1401
diff changeset
     1
(*  Title:      Terms.thy
1048
5ba0314f8214 New example by Ole Rasmussen
lcp
parents:
diff changeset
     2
    ID:         $Id$
1478
2b8c2a7547ab expanded tabs
clasohm
parents: 1401
diff changeset
     3
    Author:     Ole Rasmussen
1048
5ba0314f8214 New example by Ole Rasmussen
lcp
parents:
diff changeset
     4
    Copyright   1995  University of Cambridge
5ba0314f8214 New example by Ole Rasmussen
lcp
parents:
diff changeset
     5
    Logic Image: ZF
5ba0314f8214 New example by Ole Rasmussen
lcp
parents:
diff changeset
     6
*)
5ba0314f8214 New example by Ole Rasmussen
lcp
parents:
diff changeset
     7
5ba0314f8214 New example by Ole Rasmussen
lcp
parents:
diff changeset
     8
Terms = Cube+
5ba0314f8214 New example by Ole Rasmussen
lcp
parents:
diff changeset
     9
5ba0314f8214 New example by Ole Rasmussen
lcp
parents:
diff changeset
    10
consts
1478
2b8c2a7547ab expanded tabs
clasohm
parents: 1401
diff changeset
    11
  lambda        :: i
2b8c2a7547ab expanded tabs
clasohm
parents: 1401
diff changeset
    12
  unmark        :: i=>i
2b8c2a7547ab expanded tabs
clasohm
parents: 1401
diff changeset
    13
  Apl           :: [i,i]=>i
1048
5ba0314f8214 New example by Ole Rasmussen
lcp
parents:
diff changeset
    14
5ba0314f8214 New example by Ole Rasmussen
lcp
parents:
diff changeset
    15
translations
5ba0314f8214 New example by Ole Rasmussen
lcp
parents:
diff changeset
    16
  "Apl(n,m)" == "App(0,n,m)"
5ba0314f8214 New example by Ole Rasmussen
lcp
parents:
diff changeset
    17
  
5ba0314f8214 New example by Ole Rasmussen
lcp
parents:
diff changeset
    18
inductive
5ba0314f8214 New example by Ole Rasmussen
lcp
parents:
diff changeset
    19
  domains       "lambda" <= "redexes"
5ba0314f8214 New example by Ole Rasmussen
lcp
parents:
diff changeset
    20
  intrs
11319
8b84ee2cc79c X-symbols for ZF
paulson
parents: 6046
diff changeset
    21
    Lambda_Var  "               n \\<in> nat ==>     Var(n):lambda"
8b84ee2cc79c X-symbols for ZF
paulson
parents: 6046
diff changeset
    22
    Lambda_Fun  "            u \\<in> lambda ==>     Fun(u):lambda"
8b84ee2cc79c X-symbols for ZF
paulson
parents: 6046
diff changeset
    23
    Lambda_App  "[|u \\<in> lambda; v \\<in> lambda|]==> Apl(u,v):lambda"
1478
2b8c2a7547ab expanded tabs
clasohm
parents: 1401
diff changeset
    24
  type_intrs    "redexes.intrs@bool_typechecks"
1048
5ba0314f8214 New example by Ole Rasmussen
lcp
parents:
diff changeset
    25
6046
2c8a8be36c94 converted to use new primrec section
paulson
parents: 3840
diff changeset
    26
primrec
2c8a8be36c94 converted to use new primrec section
paulson
parents: 3840
diff changeset
    27
  "unmark(Var(n)) = Var(n)"
2c8a8be36c94 converted to use new primrec section
paulson
parents: 3840
diff changeset
    28
  "unmark(Fun(u)) = Fun(unmark(u))"
2c8a8be36c94 converted to use new primrec section
paulson
parents: 3840
diff changeset
    29
  "unmark(App(b,f,a)) = Apl(unmark(f), unmark(a))"
2c8a8be36c94 converted to use new primrec section
paulson
parents: 3840
diff changeset
    30
1048
5ba0314f8214 New example by Ole Rasmussen
lcp
parents:
diff changeset
    31
end
5ba0314f8214 New example by Ole Rasmussen
lcp
parents:
diff changeset
    32
5ba0314f8214 New example by Ole Rasmussen
lcp
parents:
diff changeset
    33