From eddac153a064648bee2aef6fb733ab6820bb96c3 Mon Sep 17 00:00:00 2001 From: Shinya Sato Date: Thu, 28 Apr 2022 21:41:58 +0900 Subject: v0.8.2 --- sample/hanoi.in | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'sample') diff --git a/sample/hanoi.in b/sample/hanoi.in index 3ba6f5c..2801817 100644 --- a/sample/hanoi.in +++ b/sample/hanoi.in @@ -2,7 +2,7 @@ // Rules hanoi(return, source, target, auxiliary) >< (int n) -| n==0 => return~[], Eps~source, Eps~target, Eps~auxiliary +| n==0 => return~[], Eraser~source, Eraser~target, Eraser~auxiliary | _ => source ~ dup(src1, dup(src2, src3)), target ~ dup(tgt1, dup(tgt2, tgt3)), auxiliary ~ dup(aux1, aux2), @@ -14,9 +14,9 @@ hanoi(return, source, target, auxiliary) >< (int n) dup(a,b)> a~A, b~A; dup(a,b)> a~B, b~B; dup(a,b)> a~C, b~C; -Eps>; -Eps>; -Eps>; + +// The `Eraser' is defined as a built-in agent for any agents as follows: +//Eraser >< Alpha(a1, ..., a5) => Eraser~a1, ..., Eraser~a5; // Net @@ -26,7 +26,8 @@ result; // should be [(1,A,C),(2,A,B),(1,C,B),(3,A,C),(1,B,A),(2,B,C),(1,A,C)] // These are also written using abbreviation as follows: // hanoi(return, source, target, auxiliary) >< (int n) -// | n==0 => return~[], << Eps(source), << Eps(target), << Eps(auxiliary) +// | n==0 => return~[], +// << Eraser(source), << Eraser(target), << Eraser(auxiliary) // | _ => src1, dup(src2, src3) << dup(source), // tgt1, dup(tgt2, tgt3) << dup(target), // aux1, aux2 << dup(auxiliary), -- cgit v1.2.3