src/HOL/TLA/Init.thy
author wenzelm
Tue, 16 May 2006 21:33:01 +0200
changeset 19656 09be06943252
parent 17309 c43ed29bd197
child 21624 6f79647cf536
permissions -rw-r--r--
tuned concrete syntax -- abbreviation/const_syntax;
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
17309
c43ed29bd197 converted to Isar theory format;
wenzelm
parents: 12338
diff changeset
     1
(*
c43ed29bd197 converted to Isar theory format;
wenzelm
parents: 12338
diff changeset
     2
    File:        TLA/Init.thy
c43ed29bd197 converted to Isar theory format;
wenzelm
parents: 12338
diff changeset
     3
    ID:          $Id$
6255
db63752140c7 updated (Stephan Merz);
wenzelm
parents:
diff changeset
     4
    Author:      Stephan Merz
db63752140c7 updated (Stephan Merz);
wenzelm
parents:
diff changeset
     5
    Copyright:   1998 University of Munich
db63752140c7 updated (Stephan Merz);
wenzelm
parents:
diff changeset
     6
db63752140c7 updated (Stephan Merz);
wenzelm
parents:
diff changeset
     7
    Theory Name: Init
db63752140c7 updated (Stephan Merz);
wenzelm
parents:
diff changeset
     8
    Logic Image: HOL
db63752140c7 updated (Stephan Merz);
wenzelm
parents:
diff changeset
     9
db63752140c7 updated (Stephan Merz);
wenzelm
parents:
diff changeset
    10
Introduces type of temporal formulas. Defines interface between
db63752140c7 updated (Stephan Merz);
wenzelm
parents:
diff changeset
    11
temporal formulas and its "subformulas" (state predicates and actions).
db63752140c7 updated (Stephan Merz);
wenzelm
parents:
diff changeset
    12
*)
db63752140c7 updated (Stephan Merz);
wenzelm
parents:
diff changeset
    13
17309
c43ed29bd197 converted to Isar theory format;
wenzelm
parents: 12338
diff changeset
    14
theory Init
c43ed29bd197 converted to Isar theory format;
wenzelm
parents: 12338
diff changeset
    15
imports Action
c43ed29bd197 converted to Isar theory format;
wenzelm
parents: 12338
diff changeset
    16
begin
c43ed29bd197 converted to Isar theory format;
wenzelm
parents: 12338
diff changeset
    17
c43ed29bd197 converted to Isar theory format;
wenzelm
parents: 12338
diff changeset
    18
typedecl behavior
c43ed29bd197 converted to Isar theory format;
wenzelm
parents: 12338
diff changeset
    19
instance behavior :: world ..
6255
db63752140c7 updated (Stephan Merz);
wenzelm
parents:
diff changeset
    20
db63752140c7 updated (Stephan Merz);
wenzelm
parents:
diff changeset
    21
types
17309
c43ed29bd197 converted to Isar theory format;
wenzelm
parents: 12338
diff changeset
    22
  temporal = "behavior form"
6255
db63752140c7 updated (Stephan Merz);
wenzelm
parents:
diff changeset
    23
db63752140c7 updated (Stephan Merz);
wenzelm
parents:
diff changeset
    24
db63752140c7 updated (Stephan Merz);
wenzelm
parents:
diff changeset
    25
consts
17309
c43ed29bd197 converted to Isar theory format;
wenzelm
parents: 12338
diff changeset
    26
  Initial     :: "('w::world => bool) => temporal"
c43ed29bd197 converted to Isar theory format;
wenzelm
parents: 12338
diff changeset
    27
  first_world :: "behavior => ('w::world)"
c43ed29bd197 converted to Isar theory format;
wenzelm
parents: 12338
diff changeset
    28
  st1         :: "behavior => state"
c43ed29bd197 converted to Isar theory format;
wenzelm
parents: 12338
diff changeset
    29
  st2         :: "behavior => state"
6255
db63752140c7 updated (Stephan Merz);
wenzelm
parents:
diff changeset
    30
db63752140c7 updated (Stephan Merz);
wenzelm
parents:
diff changeset
    31
syntax
17309
c43ed29bd197 converted to Isar theory format;
wenzelm
parents: 12338
diff changeset
    32
  TEMP       :: "lift => 'a"                          ("(TEMP _)")
c43ed29bd197 converted to Isar theory format;
wenzelm
parents: 12338
diff changeset
    33
  "_Init"    :: "lift => lift"                        ("(Init _)"[40] 50)
6255
db63752140c7 updated (Stephan Merz);
wenzelm
parents:
diff changeset
    34
db63752140c7 updated (Stephan Merz);
wenzelm
parents:
diff changeset
    35
translations
db63752140c7 updated (Stephan Merz);
wenzelm
parents:
diff changeset
    36
  "TEMP F"   => "(F::behavior => _)"
db63752140c7 updated (Stephan Merz);
wenzelm
parents:
diff changeset
    37
  "_Init"    == "Initial"
db63752140c7 updated (Stephan Merz);
wenzelm
parents:
diff changeset
    38
  "sigma |= Init F"  <= "_Init F sigma"
db63752140c7 updated (Stephan Merz);
wenzelm
parents:
diff changeset
    39
db63752140c7 updated (Stephan Merz);
wenzelm
parents:
diff changeset
    40
defs
17309
c43ed29bd197 converted to Isar theory format;
wenzelm
parents: 12338
diff changeset
    41
  Init_def:    "sigma |= Init F  ==  (first_world sigma) |= F"
c43ed29bd197 converted to Isar theory format;
wenzelm
parents: 12338
diff changeset
    42
  fw_temp_def: "first_world == %sigma. sigma"
c43ed29bd197 converted to Isar theory format;
wenzelm
parents: 12338
diff changeset
    43
  fw_stp_def:  "first_world == st1"
c43ed29bd197 converted to Isar theory format;
wenzelm
parents: 12338
diff changeset
    44
  fw_act_def:  "first_world == %sigma. (st1 sigma, st2 sigma)"
c43ed29bd197 converted to Isar theory format;
wenzelm
parents: 12338
diff changeset
    45
c43ed29bd197 converted to Isar theory format;
wenzelm
parents: 12338
diff changeset
    46
ML {* use_legacy_bindings (the_context ()) *}
c43ed29bd197 converted to Isar theory format;
wenzelm
parents: 12338
diff changeset
    47
6255
db63752140c7 updated (Stephan Merz);
wenzelm
parents:
diff changeset
    48
end