src/HOL/IMP/Examples.thy
author wenzelm
Thu, 15 Nov 2001 18:20:13 +0100
changeset 12207 4dff931b852f
parent 9243 22b460a0b676
child 12431 07ec657249e5
permissions -rw-r--r--
added Induct/Binary_Trees.thy, Induct/Tree_Forest (converted from former ex/TF.ML ex/TF.thy ex/Term.ML ex/Term.thy);
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
9243
22b460a0b676 disambiguated := ; added Examples (factorial)
oheimb
parents:
diff changeset
     1
(*  Title:      HOL/IMP/Examples.thy
22b460a0b676 disambiguated := ; added Examples (factorial)
oheimb
parents:
diff changeset
     2
    ID:         $Id$
22b460a0b676 disambiguated := ; added Examples (factorial)
oheimb
parents:
diff changeset
     3
    Author:     David von Oheimb, TUM
22b460a0b676 disambiguated := ; added Examples (factorial)
oheimb
parents:
diff changeset
     4
    Copyright   2000 TUM
22b460a0b676 disambiguated := ; added Examples (factorial)
oheimb
parents:
diff changeset
     5
*)
22b460a0b676 disambiguated := ; added Examples (factorial)
oheimb
parents:
diff changeset
     6
22b460a0b676 disambiguated := ; added Examples (factorial)
oheimb
parents:
diff changeset
     7
Examples = Natural +
22b460a0b676 disambiguated := ; added Examples (factorial)
oheimb
parents:
diff changeset
     8
22b460a0b676 disambiguated := ; added Examples (factorial)
oheimb
parents:
diff changeset
     9
defs (* bring up the deferred definition for update *)
22b460a0b676 disambiguated := ; added Examples (factorial)
oheimb
parents:
diff changeset
    10
22b460a0b676 disambiguated := ; added Examples (factorial)
oheimb
parents:
diff changeset
    11
 update_def "update == fun_upd"
22b460a0b676 disambiguated := ; added Examples (factorial)
oheimb
parents:
diff changeset
    12
22b460a0b676 disambiguated := ; added Examples (factorial)
oheimb
parents:
diff changeset
    13
constdefs
22b460a0b676 disambiguated := ; added Examples (factorial)
oheimb
parents:
diff changeset
    14
  
22b460a0b676 disambiguated := ; added Examples (factorial)
oheimb
parents:
diff changeset
    15
  factorial :: loc => loc => com
22b460a0b676 disambiguated := ; added Examples (factorial)
oheimb
parents:
diff changeset
    16
 "factorial a b == b :== (%s. 1);
22b460a0b676 disambiguated := ; added Examples (factorial)
oheimb
parents:
diff changeset
    17
               WHILE (%s. s a ~= 0) DO
22b460a0b676 disambiguated := ; added Examples (factorial)
oheimb
parents:
diff changeset
    18
                 (b :== (%s. s b * s a); a :== (%s. s a - 1))"
22b460a0b676 disambiguated := ; added Examples (factorial)
oheimb
parents:
diff changeset
    19
  
22b460a0b676 disambiguated := ; added Examples (factorial)
oheimb
parents:
diff changeset
    20
end