src/ZF/ex/contract0.thy
author lcp
Thu, 30 Sep 1993 10:54:01 +0100
changeset 16 0b033d50ca1c
parent 0 a5a9c433f639
permissions -rw-r--r--
ex/{bin.ML,comb.ML,prop.ML}: replaced NewSext by Syntax.simple_sext ex/prop-log/hyps_thms_if: split up the fast_tac call for more speed called expandshort
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
     1
(*  Title: 	ZF/ex/contract.thy
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
     2
    ID:         $Id$
16
0b033d50ca1c ex/{bin.ML,comb.ML,prop.ML}: replaced NewSext by Syntax.simple_sext
lcp
parents: 0
diff changeset
     3
    Author: 	Lawrence C Paulson
0
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
     4
    Copyright   1993  University of Cambridge
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
     5
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
     6
Inductive definition of (1-step) contractions and (mult-step) reductions
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
     7
*)
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
     8
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
     9
Contract0 = Comb +
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
    10
consts
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
    11
  diamond   :: "i => o"
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
    12
  I         :: "i"
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
    13
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
    14
  contract  :: "i"
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
    15
  "-1->"    :: "[i,i] => o"    			(infixl 50)
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
    16
  "--->"    :: "[i,i] => o"    			(infixl 50)
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
    17
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
    18
  parcontract :: "i"
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
    19
  "=1=>"    :: "[i,i] => o"    			(infixl 50)
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
    20
  "===>"    :: "[i,i] => o"    			(infixl 50)
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
    21
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
    22
translations
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
    23
  "p -1-> q" == "<p,q> : contract"
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
    24
  "p ---> q" == "<p,q> : contract^*"
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
    25
  "p =1=> q" == "<p,q> : parcontract"
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
    26
  "p ===> q" == "<p,q> : parcontract^+"
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
    27
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
    28
rules
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
    29
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
    30
  diamond_def "diamond(r) == ALL x y. <x,y>:r --> \
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
    31
\                            (ALL y'. <x,y'>:r --> \
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
    32
\                                 (EX z. <y,z>:r & <y',z> : r))"
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
    33
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
    34
  I_def       "I == S#K#K"
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
    35
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
    36
end