src/ZF/UNITY/Increasing.thy
changeset 14052 e9c9f69e4f63
child 14055 a3f592e3f4bd
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/ZF/UNITY/Increasing.thy	Wed May 28 18:13:41 2003 +0200
@@ -0,0 +1,35 @@
+(*  Title:      ZF/UNITY/Increasing
+    ID:         $Id$
+    Author:     Sidi O Ehmety, Cambridge University Computer Laboratory
+    Copyright   2001  University of Cambridge
+
+The "Increasing" relation of Charpentier.
+
+Increasing's parameters are a state function f, a domain A and an order
+relation r over the domain A. 
+*)
+
+Increasing = Constrains + Monotonicity +
+constdefs
+
+  part_order :: [i, i] => o
+  "part_order(A, r) == refl(A,r) & trans[A](r) & antisym(r)"
+
+  increasing :: [i, i, i=>i] => i ("increasing[_]'(_, _')")
+  "increasing[A](r, f) ==
+    {F:program. (ALL k:A. F: stable({s:state. <k, f(s)>:r})) &
+                (ALL x:state. f(x):A)}"
+  
+  Increasing :: [i, i, i=>i] => i ("Increasing[_]'(_, _')")
+  "Increasing[A](r, f) ==
+    {F:program. (ALL k:A. F:Stable({s:state. <k, f(s)>:r})) &
+                (ALL x:state. f(x):A)}"
+
+syntax
+  IncWrt      ::  [i=>i, i, i] => i ("(_ IncreasingWrt _ '/ _)" [60, 0, 60] 60)
+
+translations
+  "IncWrt(f,r,A)" => "Increasing[A](r,f)"
+
+  
+end