src/ZF/Coind/BCR.thy
author lcp
Tue, 25 Apr 1995 11:14:03 +0200
changeset 1072 0140ff702b23
parent 945 23df3da5ffb5
child 1155 928a16e02f9f
permissions -rw-r--r--
updated version
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
915
6dae0daf57b7 New example by Jacob Frost, tidied by lcp
lcp
parents:
diff changeset
     1
(*  Title: 	ZF/Coind/BCR.thy
6dae0daf57b7 New example by Jacob Frost, tidied by lcp
lcp
parents:
diff changeset
     2
    ID:         $Id$
6dae0daf57b7 New example by Jacob Frost, tidied by lcp
lcp
parents:
diff changeset
     3
    Author: 	Jacob Frost, Cambridge University Computer Laboratory
6dae0daf57b7 New example by Jacob Frost, tidied by lcp
lcp
parents:
diff changeset
     4
    Copyright   1995  University of Cambridge
6dae0daf57b7 New example by Jacob Frost, tidied by lcp
lcp
parents:
diff changeset
     5
*)
6dae0daf57b7 New example by Jacob Frost, tidied by lcp
lcp
parents:
diff changeset
     6
6dae0daf57b7 New example by Jacob Frost, tidied by lcp
lcp
parents:
diff changeset
     7
BCR = Values + Types +
6dae0daf57b7 New example by Jacob Frost, tidied by lcp
lcp
parents:
diff changeset
     8
945
23df3da5ffb5 Commented isof(c,t)
lcp
parents: 915
diff changeset
     9
(*Basic correspondence relation -- not completely specified, as it is a
23df3da5ffb5 Commented isof(c,t)
lcp
parents: 915
diff changeset
    10
  parameter of the proof.  A concrete version could be defined inductively.*)
915
6dae0daf57b7 New example by Jacob Frost, tidied by lcp
lcp
parents:
diff changeset
    11
6dae0daf57b7 New example by Jacob Frost, tidied by lcp
lcp
parents:
diff changeset
    12
consts
6dae0daf57b7 New example by Jacob Frost, tidied by lcp
lcp
parents:
diff changeset
    13
  isof :: "[i,i] => o"
6dae0daf57b7 New example by Jacob Frost, tidied by lcp
lcp
parents:
diff changeset
    14
rules
6dae0daf57b7 New example by Jacob Frost, tidied by lcp
lcp
parents:
diff changeset
    15
  isof_app "[| isof(c1,t_fun(t1,t2)); isof(c2,t1) |] ==> isof(c_app(c1,c2),t2)"
6dae0daf57b7 New example by Jacob Frost, tidied by lcp
lcp
parents:
diff changeset
    16
945
23df3da5ffb5 Commented isof(c,t)
lcp
parents: 915
diff changeset
    17
(*Its extension to environments*)
915
6dae0daf57b7 New example by Jacob Frost, tidied by lcp
lcp
parents:
diff changeset
    18
6dae0daf57b7 New example by Jacob Frost, tidied by lcp
lcp
parents:
diff changeset
    19
consts
6dae0daf57b7 New example by Jacob Frost, tidied by lcp
lcp
parents:
diff changeset
    20
  isofenv :: "[i,i] => o"
945
23df3da5ffb5 Commented isof(c,t)
lcp
parents: 915
diff changeset
    21
defs
23df3da5ffb5 Commented isof(c,t)
lcp
parents: 915
diff changeset
    22
  isofenv_def "isofenv(ve,te) ==   		\
23df3da5ffb5 Commented isof(c,t)
lcp
parents: 915
diff changeset
    23
\   ve_dom(ve) = te_dom(te) &   		\
23df3da5ffb5 Commented isof(c,t)
lcp
parents: 915
diff changeset
    24
\   ( ALL x:ve_dom(ve).   			\
915
6dae0daf57b7 New example by Jacob Frost, tidied by lcp
lcp
parents:
diff changeset
    25
\     EX c:Const. ve_app(ve,x) = v_const(c) & isof(c,te_app(te,x)))"
6dae0daf57b7 New example by Jacob Frost, tidied by lcp
lcp
parents:
diff changeset
    26
  
6dae0daf57b7 New example by Jacob Frost, tidied by lcp
lcp
parents:
diff changeset
    27
end