src/ZF/Resid/Residuals.thy
author clasohm
Sat, 09 Dec 1995 13:36:11 +0100
changeset 1401 0c439768f45c
parent 1155 928a16e02f9f
child 1478 2b8c2a7547ab
permissions -rw-r--r--
removed quotes from consts and syntax sections
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1048
5ba0314f8214 New example by Ole Rasmussen
lcp
parents:
diff changeset
     1
(*  Title: 	Residuals.thy
5ba0314f8214 New example by Ole Rasmussen
lcp
parents:
diff changeset
     2
    ID:         $Id$
5ba0314f8214 New example by Ole Rasmussen
lcp
parents:
diff changeset
     3
    Author: 	Ole Rasmussen
5ba0314f8214 New example by Ole Rasmussen
lcp
parents:
diff changeset
     4
    Copyright   1995  University of Cambridge
5ba0314f8214 New example by Ole Rasmussen
lcp
parents:
diff changeset
     5
    Logic Image: ZF
5ba0314f8214 New example by Ole Rasmussen
lcp
parents:
diff changeset
     6
5ba0314f8214 New example by Ole Rasmussen
lcp
parents:
diff changeset
     7
*)
5ba0314f8214 New example by Ole Rasmussen
lcp
parents:
diff changeset
     8
5ba0314f8214 New example by Ole Rasmussen
lcp
parents:
diff changeset
     9
Residuals = Substitution+
5ba0314f8214 New example by Ole Rasmussen
lcp
parents:
diff changeset
    10
5ba0314f8214 New example by Ole Rasmussen
lcp
parents:
diff changeset
    11
consts
1401
0c439768f45c removed quotes from consts and syntax sections
clasohm
parents: 1155
diff changeset
    12
  Sres		:: i
0c439768f45c removed quotes from consts and syntax sections
clasohm
parents: 1155
diff changeset
    13
  residuals	:: [i,i,i]=>i
0c439768f45c removed quotes from consts and syntax sections
clasohm
parents: 1155
diff changeset
    14
  "|>"		:: [i,i]=>i     (infixl 70)
1048
5ba0314f8214 New example by Ole Rasmussen
lcp
parents:
diff changeset
    15
  
5ba0314f8214 New example by Ole Rasmussen
lcp
parents:
diff changeset
    16
translations
5ba0314f8214 New example by Ole Rasmussen
lcp
parents:
diff changeset
    17
  "residuals(u,v,w)"  == "<u,v,w>:Sres"
5ba0314f8214 New example by Ole Rasmussen
lcp
parents:
diff changeset
    18
5ba0314f8214 New example by Ole Rasmussen
lcp
parents:
diff changeset
    19
inductive
5ba0314f8214 New example by Ole Rasmussen
lcp
parents:
diff changeset
    20
  domains       "Sres" <= "redexes*redexes*redexes"
5ba0314f8214 New example by Ole Rasmussen
lcp
parents:
diff changeset
    21
  intrs
5ba0314f8214 New example by Ole Rasmussen
lcp
parents:
diff changeset
    22
    Res_Var	"n:nat ==> residuals(Var(n),Var(n),Var(n))"
1155
928a16e02f9f removed \...\ inside strings
clasohm
parents: 1048
diff changeset
    23
    Res_Fun	"[|residuals(u,v,w)|]==>   
928a16e02f9f removed \...\ inside strings
clasohm
parents: 1048
diff changeset
    24
		     residuals(Fun(u),Fun(v),Fun(w))"
928a16e02f9f removed \...\ inside strings
clasohm
parents: 1048
diff changeset
    25
    Res_App	"[|residuals(u1,v1,w1);   
928a16e02f9f removed \...\ inside strings
clasohm
parents: 1048
diff changeset
    26
		   residuals(u2,v2,w2); b:bool|]==>   
928a16e02f9f removed \...\ inside strings
clasohm
parents: 1048
diff changeset
    27
		 residuals(App(b,u1,u2),App(0,v1,v2),App(b,w1,w2))"
928a16e02f9f removed \...\ inside strings
clasohm
parents: 1048
diff changeset
    28
    Res_redex	"[|residuals(u1,v1,w1);   
928a16e02f9f removed \...\ inside strings
clasohm
parents: 1048
diff changeset
    29
		   residuals(u2,v2,w2); b:bool|]==>   
928a16e02f9f removed \...\ inside strings
clasohm
parents: 1048
diff changeset
    30
		 residuals(App(b,Fun(u1),u2),App(1,Fun(v1),v2),w2/w1)"
1048
5ba0314f8214 New example by Ole Rasmussen
lcp
parents:
diff changeset
    31
  type_intrs	"[subst_type]@nat_typechecks@redexes.intrs@bool_typechecks"
5ba0314f8214 New example by Ole Rasmussen
lcp
parents:
diff changeset
    32
5ba0314f8214 New example by Ole Rasmussen
lcp
parents:
diff changeset
    33
rules
5ba0314f8214 New example by Ole Rasmussen
lcp
parents:
diff changeset
    34
  res_func_def  "u |> v == THE w.residuals(u,v,w)"
5ba0314f8214 New example by Ole Rasmussen
lcp
parents:
diff changeset
    35
end
5ba0314f8214 New example by Ole Rasmussen
lcp
parents:
diff changeset
    36