src/ZF/UNITY/ListPlus.thy
author kleing
Tue, 13 May 2003 08:59:21 +0200
changeset 14024 213dcc39358f
parent 12197 d9320fb0a570
permissions -rw-r--r--
HOL-Real -> HOL-Complex
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
12197
d9320fb0a570 New files
ehmety
parents:
diff changeset
     1
(*  Title:      ZF/UNITY/ListPlus.thy
d9320fb0a570 New files
ehmety
parents:
diff changeset
     2
    ID:         $Id$
d9320fb0a570 New files
ehmety
parents:
diff changeset
     3
    Author:     Sidi O Ehmety, Cambridge University Computer Laboratory
d9320fb0a570 New files
ehmety
parents:
diff changeset
     4
    Copyright   2001  University of Cambridge
d9320fb0a570 New files
ehmety
parents:
diff changeset
     5
d9320fb0a570 New files
ehmety
parents:
diff changeset
     6
More about lists
d9320fb0a570 New files
ehmety
parents:
diff changeset
     7
d9320fb0a570 New files
ehmety
parents:
diff changeset
     8
*)
d9320fb0a570 New files
ehmety
parents:
diff changeset
     9
d9320fb0a570 New files
ehmety
parents:
diff changeset
    10
ListPlus = NatPlus + 
d9320fb0a570 New files
ehmety
parents:
diff changeset
    11
d9320fb0a570 New files
ehmety
parents:
diff changeset
    12
constdefs
d9320fb0a570 New files
ehmety
parents:
diff changeset
    13
(* Function `take' returns the first n elements of a list *)
d9320fb0a570 New files
ehmety
parents:
diff changeset
    14
  take     :: [i,i]=>i
d9320fb0a570 New files
ehmety
parents:
diff changeset
    15
  "take(n, as) == list_rec(lam n:nat. [],
d9320fb0a570 New files
ehmety
parents:
diff changeset
    16
		%a l r. lam n:nat. nat_case([], %m. Cons(a, r`m), n), as)`n"
d9320fb0a570 New files
ehmety
parents:
diff changeset
    17
  
d9320fb0a570 New files
ehmety
parents:
diff changeset
    18
(* Function `nth' returns the (n+1)th element in a list (not defined at Nil) *)
d9320fb0a570 New files
ehmety
parents:
diff changeset
    19
  
d9320fb0a570 New files
ehmety
parents:
diff changeset
    20
  nth :: [i, i]=>i
d9320fb0a570 New files
ehmety
parents:
diff changeset
    21
  "nth(n, as) == list_rec(lam n:nat. 0,
d9320fb0a570 New files
ehmety
parents:
diff changeset
    22
		%a l r. lam n:nat. nat_case(a, %m. r`m, n), as)`n"
d9320fb0a570 New files
ehmety
parents:
diff changeset
    23
d9320fb0a570 New files
ehmety
parents:
diff changeset
    24
end