src/LCF/ex/Ex1.thy
author paulson
Wed, 11 Nov 1998 15:45:32 +0100
changeset 5846 d99feda2d226
parent 4905 be73ddff6c5a
child 17248 81bf91654e73
permissions -rw-r--r--
tidied
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
4905
be73ddff6c5a proper thy files;
wenzelm
parents:
diff changeset
     1
be73ddff6c5a proper thy files;
wenzelm
parents:
diff changeset
     2
(***  Section 10.4  ***)
be73ddff6c5a proper thy files;
wenzelm
parents:
diff changeset
     3
be73ddff6c5a proper thy files;
wenzelm
parents:
diff changeset
     4
Ex1 = LCF +
be73ddff6c5a proper thy files;
wenzelm
parents:
diff changeset
     5
be73ddff6c5a proper thy files;
wenzelm
parents:
diff changeset
     6
consts
be73ddff6c5a proper thy files;
wenzelm
parents:
diff changeset
     7
  P	:: "'a => tr"
be73ddff6c5a proper thy files;
wenzelm
parents:
diff changeset
     8
  G	:: "'a => 'a"
be73ddff6c5a proper thy files;
wenzelm
parents:
diff changeset
     9
  H	:: "'a => 'a"
be73ddff6c5a proper thy files;
wenzelm
parents:
diff changeset
    10
  K	:: "('a => 'a) => ('a => 'a)"
be73ddff6c5a proper thy files;
wenzelm
parents:
diff changeset
    11
be73ddff6c5a proper thy files;
wenzelm
parents:
diff changeset
    12
rules
be73ddff6c5a proper thy files;
wenzelm
parents:
diff changeset
    13
  P_strict	"P(UU) = UU"
be73ddff6c5a proper thy files;
wenzelm
parents:
diff changeset
    14
  K		"K = (%h x. P(x) => x | h(h(G(x))))"
be73ddff6c5a proper thy files;
wenzelm
parents:
diff changeset
    15
  H		"H = FIX(K)"
be73ddff6c5a proper thy files;
wenzelm
parents:
diff changeset
    16
be73ddff6c5a proper thy files;
wenzelm
parents:
diff changeset
    17
end