From 49960d8950d001a372a0abde670a66ee60026957 Mon Sep 17 00:00:00 2001 From: Shinya Sato Date: Tue, 5 Mar 2024 18:19:27 +0900 Subject: v0.12.0 --- sample/ack_3_5.in | 32 -------------------------------- 1 file changed, 32 deletions(-) delete mode 100644 sample/ack_3_5.in (limited to 'sample/ack_3_5.in') diff --git a/sample/ack_3_5.in b/sample/ack_3_5.in deleted file mode 100644 index 19f92fa..0000000 --- a/sample/ack_3_5.in +++ /dev/null @@ -1,32 +0,0 @@ -// Ackermann Function -// -// fun ack(0,n) = n+1 -// | ack(m,0) = ack(m-1,1) -// | ack(m,n) = ack(m-1,ack(m,n-1)); - -// The following rule is wrong because there is no gurantee that -// the 'cnt' is connected to an integer agent -// when ack(r)~(m-1,cnt) is evaluated. -// -// ack(r) >< (int m, int n) -// | m==0 => r~(n+1) -// | n==0 => ack(r) ~ (m-1,1) -// | _ => ack(cnt)~(m,n-1), ack(r)~(m-1,cnt); -// -// So, the `cnt' should be connected as an element of connections. - -ack(ret, int m) >< (int n) -| m==0 => ret~(n+1) -| n==0 => ack(ret, m-1)~1 -| _ => ack(cnt, m)~(n-1), ack(ret, m-1)~cnt; - -ackMain(ret)><(int m, int n) => ack(ret,m)~n; - - -// main -const M=3; -const N=5; -ackMain(ret)~(M,N); -ret; -free ret; - -- cgit v1.2.3