1474
|
1 |
(* Title: CCL/Lazy/fix.thy
|
0
|
2 |
ID: $Id$
|
1474
|
3 |
Author: Martin Coen
|
0
|
4 |
Copyright 1993 University of Cambridge
|
|
5 |
|
|
6 |
Tentative attempt at including fixed point induction.
|
|
7 |
Justified by Smith.
|
|
8 |
*)
|
|
9 |
|
|
10 |
Fix = Type +
|
|
11 |
|
|
12 |
consts
|
|
13 |
|
1474
|
14 |
idgen :: "[i]=>i"
|
0
|
15 |
INCL :: "[i=>o]=>o"
|
|
16 |
|
|
17 |
rules
|
|
18 |
|
|
19 |
idgen_def
|
3837
|
20 |
"idgen(f) == lam t. case(t,true,false,%x y.<f`x, f`y>,%u. lam x. f ` u(x))"
|
0
|
21 |
|
3837
|
22 |
INCL_def "INCL(%x. P(x)) == (ALL f.(ALL n:Nat. P(f^n`bot)) --> P(fix(f)))"
|
|
23 |
po_INCL "INCL(%x. a(x) [= b(x))"
|
|
24 |
INCL_subst "INCL(P) ==> INCL(%x. P((g::i=>i)(x)))"
|
0
|
25 |
|
|
26 |
end
|