(* Title: CCL/Fix.thy ID: $Id: Fix.thy,v 1.4 2005/09/17 15:35:27 wenzelm Exp $ Author: Martin Coen Copyright 1993 University of Cambridge *) header {* Tentative attempt at including fixed point induction; justified by Smith *} theory Fix imports Type begin consts idgen :: "[i]=>i" INCL :: "[i=>o]=>o" axioms idgen_def: "idgen(f) == lam t. case(t,true,false,%x y.,%u. lam x. f ` u(x))" INCL_def: "INCL(%x. P(x)) == (ALL f.(ALL n:Nat. P(f^n`bot)) --> P(fix(f)))" po_INCL: "INCL(%x. a(x) [= b(x))" INCL_subst: "INCL(P) ==> INCL(%x. P((g::i=>i)(x)))" ML {* use_legacy_bindings (the_context ()) *} end