changeset 2:f9794e92f964

WIP 8割くらいできた
author soto <soto@cr.ie.u-ryukyu.ac.jp>
date Thu, 05 May 2022 00:32:42 +0900
parents 9f6cb9166d06
children 952d4dbb7c6a
files DPP/.#ModelChecking.agda DPP/ModelChecking.agda DPP/logic.agdai DPP/sample.agda DPP/sample.agdai Paper/escape_agda.rb Paper/soto-sigos.aux Paper/soto-sigos.bbl Paper/soto-sigos.blg Paper/soto-sigos.dvi Paper/soto-sigos.fdb_latexmk Paper/soto-sigos.fls Paper/soto-sigos.log Paper/soto-sigos.pdf Paper/soto-sigos.synctex.gz Paper/soto-sigos.tex Paper/src/ModelChecking.agda Paper/src/agda-dpp-impl.agda Paper/src/agda-dpp-impl.agda.replaced Paper/src/agda-dpp-modelcheck.agda Paper/src/agda-dpp-modelcheck.agda.replaced Paper/src/agda/cbc-agda.agda Paper/src/agda/cbc-agda.agda.replaced Paper/src/agda/cbc-agda.agdai Paper/src/escape_agda.rb Paper/tex/cbc.tex Paper/tex/cbc_agda.tex Paper/tex/dpp_impl.tex Paper/tex/intro.tex
diffstat 29 files changed, 5649 insertions(+), 141 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/DPP/.#ModelChecking.agda	Thu May 05 00:32:42 2022 +0900
@@ -0,0 +1,1 @@
+soto@aquamarine.7587:1651166678
\ No newline at end of file
--- a/DPP/ModelChecking.agda	Sun May 01 15:17:52 2022 +0900
+++ b/DPP/ModelChecking.agda	Thu May 05 00:32:42 2022 +0900
@@ -14,9 +14,11 @@
 open import Relation.Binary.PropositionalEquality
 open import Relation.Nullary
 open import logic
-open import Data.Unit hiding ( _≟_ ;  _≤?_ ; _≤_)
+open import Data.Unit hiding (_≟_ ; _≤?_ ; _≤_)
 open import Relation.Binary.Definitions
 
+
+
 record AtomicNat : Set where
    field
       value : ℕ
@@ -92,7 +94,6 @@
 record Phi : Set where
   field
     pid : ℕ
-    eating : Bool
     right-hand : Bool
     left-hand : Bool
     next-code : Code
@@ -100,18 +101,17 @@
 
 record Env : Set where
   field
-    table : List Bool
+    table : List ℕ
     ph : List Phi
-    len : ℕ
 open Env
 
 init-table : {n : Level} {t : Set n} → ℕ → (exit : Env → t) → t
-init-table n exit = init-table-loop n 0 (record { table = [] ; ph = [] ; len = n}) exit where
+init-table n exit = init-table-loop n 0 (record {table = [] ; ph = []}) exit where
   init-table-loop : {n : Level} {t : Set n} → (redu inc : ℕ) → Env → (exit : Env → t) → t
   init-table-loop zero ind env exit = exit env
   init-table-loop (suc redu) ind env exit = init-table-loop redu (suc ind) record env{
-    table = true ∷ (table env)
-    ; ph = record {pid = redu ; eating = false ; left-hand = false ; right-hand = false ; next-code = C_thinking } ∷ (ph env) } exit
+    table = 0 ∷ (table env)
+    ; ph = record {pid = redu ; left-hand = false ; right-hand = false ; next-code = C_thinking } ∷ (ph env) } exit
 
 -- eatingも探索範囲に含める
 brute-force-search : {n : Level} {t : Set n} → Env → (exit : List Env → t) → t
@@ -131,12 +131,12 @@
       set-state redu origin [] f b env envl exit = bit-force-search redu [] origin env (record env{ph = (f ++ b)} ∷ envl) exit -- Stateが先に尽きる
       set-state redu origin state@(s ∷ ss) f b env envl exit with b
       ... | [] = bit-force-search redu [] origin env (record env{ph = f} ∷ envl) exit
-      ... | p ∷ ps with eating p
-      ... | true = set-state redu origin state (f ++ (p ∷ [])) ps env envl exit -- 変更対象ではないので奥を対象にする
-      ... | false with s
-      ... | true = set-state redu origin ss (f ++ (record p{eating = s ; next-code = C_pickup_rfork} ∷ [])) ps env envl exit -- 変更対象なので変更して奥に進む
-      ... | false = set-state redu origin ss (f ++ (record p{eating = s} ∷ [])) ps env envl exit -- 変更対象なので変更して奥に進む
-
+      ... | p ∷ ps with next-code p
+      set-state redu origin (true  ∷ ss) f b env envl exit | p ∷ ps | C_eating = set-state redu origin ss (f ++ (record p{next-code = C_putdown_lfork} ∷ [])) ps env envl exit -- 変更対象なので変更して奥に進む
+      set-state redu origin (false ∷ ss) f b env envl exit | p ∷ ps | C_eating = set-state redu origin ss (f ++ (p ∷ [])) ps env envl exit -- 変更対象なので変更して奥に進む
+      set-state redu origin (true  ∷ ss) f b env envl exit | p ∷ ps | C_thinking = set-state redu origin ss (f ++ (record p{next-code = C_pickup_rfork} ∷ [])) ps env envl exit -- 変更対象なので変更して奥に進む
+      set-state redu origin (false ∷ ss) f b env envl exit | p ∷ ps | C_thinking = set-state redu origin ss (f ++ (p ∷ [])) ps env envl exit -- 変更対象なので変更して奥に進む
+      set-state redu origin (s ∷ ss) f b env envl exit | p ∷ ps | _ = set-state redu origin state (f ++ (p ∷ [])) ps env envl exit -- 変更対象ではないので奥を対象にする
 
 
 test-search : List Env
@@ -145,33 +145,33 @@
 -- テーブルをたどるために若干loopが必要
 pickup-rfork-c : {n : Level} {t : Set n} → ℕ → Phi → Env → (Env → t) → t
 pickup-rfork-c ind p env exit = pickup-rfork-p ind [] (table env) p env exit where
-  pickup-rfork-p : {n : Level} {t : Set n} → ℕ → (f b : List Bool) → Phi → Env → (Env → t) → t
+  pickup-rfork-p : {n : Level} {t : Set n} → ℕ → (f b : List ℕ) → Phi → Env → (Env → t) → t
   pickup-rfork-p zero f [] p env exit = exit env
-  pickup-rfork-p zero f (true ∷ ts) p env exit = exit record env{ph = ((ph env) ++ (record p{right-hand = true ; next-code = C_pickup_lfork} ∷ [])); table = (f ++ (false ∷ ts))} -- 取得可能なので変更する envの後ろにappendする感じ
-  pickup-rfork-p zero f (false ∷ ts) p env exit = exit record env{ph = ((ph env) ++ p ∷ [])} -- 取得不可能なので変更せず終了する
+  pickup-rfork-p zero f (zero ∷ ts) p env exit = exit record env{ph = ((ph env) ++ (record p{right-hand = true ; next-code = C_pickup_lfork} ∷ [])); table = (f ++ ((pid p) ∷ ts))} -- 取得可能なので変更する envの後ろにappendする感じ
+  pickup-rfork-p zero f ((suc x) ∷ ts) p env exit = exit record env{ph = ((ph env) ++ p ∷ [])} -- 取得不可能なので変更せず終了する
   pickup-rfork-p (suc ind) f [] p env exit = exit env
   pickup-rfork-p (suc ind) f (x ∷ ts) p env exit = pickup-rfork-p ind (f ++ (x ∷ [])) ts p env exit
 
 pickup-lfork-c : {n : Level} {t : Set n} → ℕ → Phi → Env → (Env → t) → t
 pickup-lfork-c ind p env exit = pickup-lfork-p (suc ind) [] (table env) p env exit where
-  pickup-lfork-p : {n : Level} {t : Set n} → ℕ → (f b : List Bool) → Phi → Env → (Env → t) → t
+  pickup-lfork-p : {n : Level} {t : Set n} → ℕ → (f b : List ℕ) → Phi → Env → (Env → t) → t
   pickup-lfork-p zero f [] p env exit with table env
   ... | [] = exit env
-  ... | true ∷ ts = exit record env{ph = ((ph env) ++ (record p{left-hand = true ; next-code = C_eating} ∷ [])); table = (false ∷ ts)} -- 取得可能なので変更する envの後ろにappendする感じ
-  ... | false ∷ ts = exit record env{ph = ((ph env) ++ p ∷ [])} -- 取得不可能なので変更せず終了する
-  pickup-lfork-p zero f (true ∷ ts) p env exit = exit record env{ph = ((ph env) ++ (record p{left-hand = true ; next-code = C_eating} ∷ [])); table = (f ++ (false ∷ ts))} -- 取得可能なので変更する envの後ろにappendする感じ
-  pickup-lfork-p zero f (false ∷ ts) p env exit = exit record env{ph = ((ph env) ++ p ∷ [])} -- 取得不可能なので変更せず終了する
+  ... | 0 ∷ ts = exit record env{ph = ((ph env) ++ (record p{left-hand = true ; next-code = C_eating} ∷ [])); table = ((pid p) ∷ ts)} -- 取得可能なので変更する envの後ろにappendする感じ
+  ... | (suc x) ∷ ts = exit record env{ph = ((ph env) ++ p ∷ [])} -- 取得不可能なので変更せず終了する
+  pickup-lfork-p zero f (0 ∷ ts) p env exit = exit record env{ph = ((ph env) ++ (record p{left-hand = true ; next-code = C_eating} ∷ [])); table = (f ++ ((pid p) ∷ ts))} -- 取得可能なので変更する envの後ろにappendする感じ
+  pickup-lfork-p zero f ((suc x) ∷ ts) p env exit = exit record env{ph = ((ph env) ++ p ∷ [])} -- 取得不可能なので変更せず終了する
   pickup-lfork-p (suc ind) f [] p env exit = exit env
   pickup-lfork-p (suc ind) f (x ∷ ts) p env exit = pickup-lfork-p ind (f ++ (x ∷ [])) ts p env exit
 
 
 putdown-lfork-c : {n : Level} {t : Set n} → ℕ → Phi → Env → (Env → t) → t
 putdown-lfork-c ind p env exit = putdown-lfork-p (suc ind) [] (table env) p env exit where
-  putdown-lfork-p : {n : Level} {t : Set n} → ℕ → (f b : List Bool) → Phi → Env → (Env → t) → t
+  putdown-lfork-p : {n : Level} {t : Set n} → ℕ → (f b : List ℕ) → Phi → Env → (Env → t) → t
   putdown-lfork-p zero f [] p env exit with table env
   ... | [] = exit env
-  ... | x ∷ ts = exit record env{ph = ((ph env) ++ (record p{left-hand = false ; next-code = C_putdown_rfork} ∷ [])); table = (true ∷ ts)} -- 取得可能なので変更する envの後ろにappendする感じ
-  putdown-lfork-p zero f (x ∷ ts) p env exit = exit record env{ph = ((ph env) ++ (record p{left-hand = false ; next-code = C_putdown_rfork} ∷ [])); table = (f ++ (true ∷ ts))} -- 取得可能なので変更する envの後ろにappendする感じ
+  ... | x ∷ ts = exit record env{ph = ((ph env) ++ (record p{left-hand = false ; next-code = C_putdown_rfork} ∷ [])); table = (0 ∷ ts)} -- 取得可能なので変更する envの後ろにappendする感じ
+  putdown-lfork-p zero f (x ∷ ts) p env exit = exit record env{ph = ((ph env) ++ (record p{left-hand = false ; next-code = C_putdown_rfork} ∷ [])); table = (f ++ (0 ∷ ts))} -- 取得可能なので変更する envの後ろにappendする感じ
   putdown-lfork-p (suc ind) f [] p env exit = exit env
   putdown-lfork-p (suc ind) f (x ∷ ts) p env exit = putdown-lfork-p ind (f ++ (x ∷ [])) ts p env exit
 
@@ -179,14 +179,13 @@
 
 putdown-rfork-c : {n : Level} {t : Set n} → ℕ → Phi → Env → (Env → t) → t
 putdown-rfork-c ind p env exit = putdown-rfork-p ind [] (table env) p env exit where
-  putdown-rfork-p : {n : Level} {t : Set n} → ℕ → (f b : List Bool) → Phi → Env → (Env → t) → t
+  putdown-rfork-p : {n : Level} {t : Set n} → ℕ → (f b : List ℕ) → Phi → Env → (Env → t) → t
   putdown-rfork-p zero f [] p env exit = exit env
-  putdown-rfork-p zero f (x ∷ ts) p env exit = exit record env{ph = ((ph env) ++ (record p{right-hand = false ; next-code = C_thinking} ∷ [])); table = (f ++ (true ∷ ts))} -- 取得可能なので変更する envの後ろにappendする感じ
+  putdown-rfork-p zero f (x ∷ ts) p env exit = exit record env{ph = ((ph env) ++ (record p{right-hand = false ; next-code = C_thinking} ∷ [])); table = (f ++ (0 ∷ ts))} -- 取得可能なので変更する envの後ろにappendする感じ
   putdown-rfork-p (suc ind) f [] p env exit = exit env
   putdown-rfork-p (suc ind) f (x ∷ ts) p env exit = putdown-rfork-p ind (f ++ (x ∷ [])) ts p env exit
 
 
-
 thinking-c : {n : Level} {t : Set n} → ℕ → Phi → Env → (Env → t) → t
 thinking-c ind p env exit = exit record env{ph = ((ph env) ++ p ∷ [])} -- 取得不要なので変更せず終了する
 
@@ -200,14 +199,14 @@
 -- code_table-test C_set  = ?
 
 step-c : {n : Level} {t : Set n} → Env → (exit : Env → t) → t
-step-c env exit = step-p (len env) 0 record env{ph = []} (ph env) exit where
+step-c env exit = step-p (length (table env)) 0 record env{ph = []} (ph env) exit where
   step-p : {n : Level} {t : Set n} → (redu index : ℕ) → Env → (List Phi) → (exit : Env → t) → t
   step-p zero ind env pl exit = exit env
   step-p (suc redu) ind env [] exit = exit env
   step-p (suc redu) ind env (p ∷ ps) exit = code_table-test (next-code p) ind p env (λ e → step-p redu (suc ind) e ps exit )
 
 step-c-debug : {n : Level} {t : Set n} → Env → (exit : List Env → t) → t
-step-c-debug env exit = step-p (len env) 0 (record env{ph = [] } ∷ env ∷ []) (ph env) exit where
+step-c-debug env exit = step-p (length (table env)) 0 (record env{ph = [] } ∷ env ∷ []) (ph env) exit where
   step-p : {n : Level} {t : Set n} → (redu index : ℕ) → List Env → (List Phi) → (exit : List Env → t) → t
   step-p zero ind envl pl exit = exit envl
   step-p (suc redu) ind [] pl exit = exit []
@@ -221,48 +220,111 @@
   exec-n-p (suc n) [] exit = exit []
   exec-n-p (suc n) envl@(x ∷ es) exit = step-c x (λ e → exec-n-p n (e ∷ envl) exit)
 
-{-# TERMINATING #-}
-exec-brute-force : {n : Level} {t : Set n} → List Env → (exit : List (List Env) → t) → t
-exec-brute-force envl exit = exec-brute-force-p [] (envl ∷ []) exit where
-  exec-brute-force-p : {n : Level} {t : Set n} → (f b : List (List Env)) → (exit : List (List Env) → t) → t
-  exec-brute-force-p f [] exit = exit f
-  exec-brute-force-p f l@([] ∷ bs) exit = exit l
-  exec-brute-force-p f ((x ∷ b) ∷ bs) exit = step-c x (λ e → exec-brute-force-p (f ++(e ∷ x ∷ b) ∷ [])) bs exit
+init-brute-force : {n : Level} {t : Set n} → List Env → (exit : List (List Env) → t) → t
+init-brute-force envl exit = init-brute-force-p envl [] exit where
+  init-brute-force-p : {n : Level} {t : Set n} → List Env → List (List Env) → (exit : List (List Env) → t) → t
+  init-brute-force-p [] envll exit = exit envll
+  init-brute-force-p (x ∷ envl) envll exit = init-brute-force-p envl ((x ∷ [])  ∷ envll) exit
+
+search-brute-force-envll : {n : Level} {t : Set n} → List (List Env) → (exit : List (List Env) → t) → t
+search-brute-force-envll envll exit = search-brute-force-envll-p [] envll exit where
+  search-brute-force-envll-p : {n : Level} {t : Set n} → (f b : List (List Env)) → (exit : List (List Env) → t) → t
+  search-brute-force-envll-p f [] exit = exit f
+  search-brute-force-envll-p f ([] ∷ bs) exit = search-brute-force-envll-p f bs exit
+  search-brute-force-envll-p f (b@(x ∷ xs) ∷ bs) exit = brute-force-search x (λ e0 → make-brute-force-envl [] e0 b (λ e1 → search-brute-force-envll-p (f ++ e1) bs exit) ) where
+    make-brute-force-envl : {n : Level} {t : Set n} → List (List Env) → (state p_step : List Env) → (exit : List (List Env) → t) → t
+    make-brute-force-envl res [] xs exit = exit res
+    make-brute-force-envl res (x ∷ state) xs exit = make-brute-force-envl (res ++ (x ∷ xs) ∷ []) state xs exit
+
+step-brute-force : {n : Level} {t : Set n} → List (List Env) → (exit : List (List Env) → t) → t
+step-brute-force envll exit = step-brute-force-p [] envll exit where
+  step-brute-force-p : {n : Level} {t : Set n} → (f b : List (List Env)) → (exit : List (List Env) → t) → t
+  step-brute-force-p f [] exit = exit f
+  step-brute-force-p f ([] ∷ bs) exit = step-brute-force-p f bs exit
+  step-brute-force-p f ((x ∷ xs) ∷ bs) exit = step-c x (λ e0 → step-brute-force-p (f ++ ((e0 ∷ x ∷ xs) ∷ [])) bs exit)
+
+exec-brute-force : {n : Level} {t : Set n} → ℕ → List (List Env) → (exit : List (List Env) → t) → t
+exec-brute-force n envll exit = exec-brute-force-p n  envll exit where
+  exec-brute-force-p : {n : Level} {t : Set n} → ℕ → List (List Env) → (exit : List (List Env) → t) → t
+  exec-brute-force-p zero envll exit = exit envll
+  exec-brute-force-p (suc n) envll exit = search-brute-force-envll envll (λ e1 → step-brute-force e1 (λ e2 → exec-brute-force-p n e2 exit))
+
+model-check-deadlock : {n : Level} {t : Set n} → List (List Env) → (exit : List (List Env) → t) → t
+model-check-deadlock envll exit = test11 [] envll exit where
+  test11 : {n : Level} {t : Set n} → (f b : List (List Env)) → (exit : List (List Env) → t) → t
+  test11 f [] exit = exit f
+  test11 f ([] ∷ bs) exit = test11 f bs exit
+  test11 f (s@(x ∷ []) ∷ bs) exit = test11 (f ++ (s ∷ [])) bs exit
+  test11 f (s@(x ∷ x1 ∷ []) ∷ bs) exit = test11 (f ++ (s ∷ [])) bs exit
+  test11 f ((x ∷ x1 ∷ x2 ∷ xs) ∷ bs) exit = {!!}
 
 
-test-step-c : List (List Env)
+
+data _===_ {n} {A : Set n} :  List A -> List A -> Set n where
+          reflection  : {x : List A} -> x === x
+          reflection1  : {x : List A} ->  (x === x)
+
+testhoge : Code → Code → ℕ
+testhoge C_putdown_rfork C_putdown_rfork = {!!}
+testhoge C_putdown_lfork C_putdown_lfork = {!!}
+testhoge C_pickup_rfork C_pickup_rfork = {!!}
+testhoge C_pickup_lfork C_pickup_lfork = {!!}
+testhoge _ _ = {!!}
+
+
+test-step-c : (List Env)
 test-step-c = brute-force-search record {
-  table = true ∷ true ∷ true ∷ []
+  table = 0 ∷ 0 ∷ 0 ∷ []
   ; ph = record
            { pid = 1
-           ; eating = false
+           ; left-hand = false
+           ; right-hand = false
+           ; next-code = C_pickup_rfork
+           } ∷ record
+                 { pid = 2
+                 ; left-hand = false
+                 ; right-hand = false
+                 ; next-code = C_pickup_rfork
+           } ∷ record
+                 { pid = 3
+                 ; left-hand = false
+                 ; right-hand = false
+                 ; next-code = C_pickup_rfork
+                 }  ∷ []
+  } (λ e2 →  e2)
+
+test-step-c2 : List (List Env)
+test-step-c2 = init-brute-force (record {
+  table = 0 ∷ 0 ∷ 0 ∷ []
+  ; ph = record
+           { pid = 1
            ; left-hand = false
            ; right-hand = false
            ; next-code = C_thinking
            } ∷ record
                  { pid = 2
-                 ; eating = false
                  ; left-hand = false
                  ; right-hand = false
-                 ; next-code = C_thinking
+                 ; next-code = C_pickup_rfork
            } ∷ record
                  { pid = 3
-                 ; eating = true
                  ; left-hand = false
                  ; right-hand = false
                  ; next-code = C_pickup_rfork
                  }  ∷ []
-  ; len = 3
-  } (λ e0 → exec-brute-force e0 (λ e1 → e1))
+  } ∷ []) (λ e0 → exec-brute-force 2 e0 (λ e2 → e2))
+
+-- 以下メモ
 
-{-
-with table env
-... | [] = exit env
-... | true ∷ tl = exit record env{ph = record ph{right-hand = true}} --forkが存在しているのでOK
-... | false ∷ tl = exit env --forkが存在しないので待機
-pickup-rfork-c (suc ind) ph env exit = {!!}
--}
+-- eathingの状態はいらない Done
+-- tableはℕのList Done
+-- いきなりsearchしないで実行結果を持つ感じに
+-- stubを使うとCodeの引数がスマートになるのでやる
 
+-- 実行結果をListでもっているので、stepをじっこうしても変化がなかった場合をdeadlockとして検出したい
+-- 東恩納先輩とおなじように、waitに入れて評価する
+
+-- 余裕があったらassertにLTLの話をいれる
 
 -- loop execution
 
Binary file DPP/logic.agdai has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/DPP/sample.agda	Thu May 05 00:32:42 2022 +0900
@@ -0,0 +1,66 @@
+module sample where
+
+open import Level renaming (suc to Suc ; zero to Zero )
+open import Data.Nat hiding (compare)
+open import Data.Nat.Properties as NatProp -- <-cmp
+open import Relation.Binary
+open import Data.List
+open import Data.Bool
+
+record Env : Set (Suc Zero) where
+  field
+    c10 : ℕ
+    varn : ℕ
+    vari : ℕ
+open Env
+
+whileplus-c : {l : Level} {t : Set l} → Env → (next : Env → t) → (exit : Env → t) → t
+whileplus-c env next exit with vari env
+... | 0 = exit env
+... | suc s = next (record env{varn = suc (varn env) ; vari = s })
+
+
+init-env-c : {l : Level} {t : Set l} → ℕ → (next : Env → t) → t
+init-env-c x next = next record { c10 = x ; varn = 0 ; vari = x }
+
+loop : {l : Level} {t : Set l} → Env → (exit : Env → t) → t
+loop env exit = tmp (vari env) env exit where
+  tmp : {l : Level} {t : Set l} → (redice : ℕ) → Env → (exit : Env → t) → t
+  tmp zero env exit = exit env
+  tmp (suc key) env exit = whileplus-c env (λ e → tmp key e exit ) exit
+
+whileloop : Env
+whileloop = init-env-c 10 (λ e0 → loop e0 (λ e1 → e1) )
+
+-- Invariantみたいな
+checkloopinvariant : {l : Level} {t : Set l} → Env → (next : Env → t) → (exit : Env → Bool → t) → t
+checkloopinvariant env next exit with <-cmp (c10 env) (varn env)
+... | tri< a ¬b ¬c = next env
+... | tri≈ ¬a b ¬c = exit env false
+... | tri> ¬a ¬b c = exit env false
+
+--ModelCheckEnv
+record MCEnv : Set (Suc Zero) where
+  field
+    env : Env
+    inv : Bool
+open MCEnv
+
+make-modelcheckenv-c : {l : Level} {t : Set l} → Env → Bool → (exit : MCEnv → t) → t
+make-modelcheckenv-c env flag exit = exit record {env = env ; inv = flag}
+
+-- assertの仕様を満たしている場合 : 通常の実行に戻す
+-- 満たしていない場合 : MCEnvをoutputする
+-- 返す型を同じにするためにもMCENVを返すようにするべき説
+modelcheck : {l : Level} {t : Set l} → Env → (exit : Env → Bool → t) → t
+modelcheck env exit = tmp2  (vari env) env exit where
+  tmp2 : {l : Level} {t : Set l} → (redice : ℕ) → Env → (exit : Env → Bool → t) → t
+  tmp2 zero env exit = exit env true
+  tmp2 (suc key) env exit = whileplus-c env (λ e0 → checkloopinvariant e0 (λ e1 → tmp2 key e1 exit ) exit) (λ e0 → exit e0 true)
+
+loopmodelcheck : MCEnv
+loopmodelcheck = init-env-c 10 (λ e0 → modelcheck e0 (λ e1 f → make-modelcheckenv-c e1 f (λ e2 → e2) ))
+
+
+
+
Binary file DPP/sample.agdai has changed
--- a/Paper/escape_agda.rb	Sun May 01 15:17:52 2022 +0900
+++ b/Paper/escape_agda.rb	Thu May 05 00:32:42 2022 +0900
@@ -2,7 +2,7 @@
 # coding: utf-8
 
 Suffix     = '.agda.replaced'
-EscapeChar = '!'
+EscapeChar = '@'
 FileName   = ARGV.first
 
 ReplaceTable = {
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Paper/soto-sigos.aux	Thu May 05 00:32:42 2022 +0900
@@ -0,0 +1,70 @@
+\relax 
+\citation{kaito-lola}
+\newlabel{ipsj@firstpage}{{}{1}}
+\@writefile{toc}{\contentsline {section}{\numberline {1}\hskip 1zw{Gears Agda でのモデル検査}}{1}{}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {2}\hskip 1zw{Continuation based C}}{1}{}\protected@file@percent }
+\@writefile{lof}{\contentsline {figure}{\numberline {1}{\ignorespaces メタ計算を可視化した CodeGear と DataGear\relax }}{2}{}\protected@file@percent }
+\providecommand*\caption@xref[2]{\@setref\relax\@undefined{#1}}
+\newlabel{fig:meta-cgdg}{{1}{2}}
+\@writefile{toc}{\contentsline {section}{\numberline {3}\hskip 1zw{GearsAgda 形式で書く agda}}{2}{}\protected@file@percent }
+\newlabel{agda-dg}{{1}{2}}
+\@writefile{lol}{\contentsline {lstlisting}{\numberline {1}{\ignorespaces Agdaでの Data Gear の定義}}{2}{}\protected@file@percent }
+\newlabel{agda-cg}{{2}{2}}
+\@writefile{lol}{\contentsline {lstlisting}{\numberline {2}{\ignorespaces Agdaでの Code Gear の定義}}{2}{}\protected@file@percent }
+\newlabel{agda-not-cg}{{3}{2}}
+\@writefile{lol}{\contentsline {lstlisting}{\numberline {3}{\ignorespaces Agdaでの 停止性が示せない CodeGear の例}}{2}{}\protected@file@percent }
+\newlabel{agda-exec-cg}{{4}{2}}
+\@writefile{lol}{\contentsline {lstlisting}{\numberline {4}{\ignorespaces Agdaでの CodeGear の初期化}}{2}{}\protected@file@percent }
+\@writefile{toc}{\contentsline {subsection}{\numberline {3.1}{agda による Meta Gears}}{3}{}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {4}\hskip 1zw{モデル検査}}{3}{}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {5}\hskip 1zw{Dining Philosophers Problem}}{3}{}\protected@file@percent }
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.1}{Gears Agda によるDPPの実装}}{3}{}\protected@file@percent }
+\newlabel{agda-dpp-state}{{5}{3}}
+\@writefile{lol}{\contentsline {lstlisting}{\numberline {5}{\ignorespaces Gears Agdaでの DPP の 哲学者の状態}}{3}{}\protected@file@percent }
+\newlabel{agda-dpp-process}{{6}{3}}
+\@writefile{lol}{\contentsline {lstlisting}{\numberline {6}{\ignorespaces Gears Agdaでの DPP の プロセス}}{3}{}\protected@file@percent }
+\newlabel{agda-dpp-dg}{{7}{4}}
+\@writefile{lol}{\contentsline {lstlisting}{\numberline {7}{\ignorespaces Gears Agdaでの DPP の Data Gear}}{4}{}\protected@file@percent }
+\newlabel{agda-dpp-init}{{8}{4}}
+\@writefile{lol}{\contentsline {lstlisting}{\numberline {8}{\ignorespaces Gears Agdaでの DPP の Data Gear のinit}}{4}{}\protected@file@percent }
+\newlabel{agda-dpp-step}{{9}{4}}
+\@writefile{lol}{\contentsline {lstlisting}{\numberline {9}{\ignorespaces Gears Agdaでの DPP の step 実行}}{4}{}\protected@file@percent }
+\newlabel{agda-dpp-lfork}{{10}{4}}
+\@writefile{lol}{\contentsline {lstlisting}{\numberline {10}{\ignorespaces Gears Agdaでの DPP の 左のフォークを取るコード}}{4}{}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {6}\hskip 1zw{DPPのモデル検査}}{4}{}\protected@file@percent }
+\citation{*}
+\bibstyle{ipsjsort}
+\bibdata{reference}
+\bibcite{agda-wiki}{1}
+\bibcite{agda-alpa}{2}
+\bibcite{ats2}{3}
+\bibcite{cbc-gcc}{4}
+\bibcite{cbc-llvm}{5}
+\bibcite{coq}{6}
+\bibcite{agda-alpa-old}{7}
+\bibcite{agda2-hoare}{8}
+\bibcite{loop-proof}{9}
+\bibcite{rust}{10}
+\bibcite{coq-old}{11}
+\bibcite{agda-documentation}{12}
+\newlabel{agda-dpp-bruteforce}{{11}{5}}
+\@writefile{lol}{\contentsline {lstlisting}{\numberline {11}{\ignorespaces Gears Agdaでの DPP の 左のフォークを取るコード}}{5}{}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {7}\hskip 1zw{まとめと今後の課題}}{5}{}\protected@file@percent }
+\bibcite{cr-ryukyu}{13}
+\bibcite{10.1145/363235.363259}{14}
+\bibcite{kaito-lola}{15}
+\bibcite{Klein:2010:SFV:1743546.1743574}{16}
+\bibcite{moggi-monad}{17}
+\bibcite{Nelson:2017:HPV:3132747.3132748}{18}
+\bibcite{agda}{19}
+\bibcite{Stump:2016:VFP:2841316}{20}
+\bibcite{parusu-master}{21}
+\bibcite{ryokka-sigos}{22}
+\bibcite{mitsuki-master}{23}
+\bibcite{mitsuki-prosym}{24}
+\bibcite{atton-ipsj}{25}
+\bibcite{weko_82695_1}{26}
+\bibcite{utah-master}{27}
+\bibcite{atton-master}{28}
+\newlabel{ipsj@lastpage}{{}{6}}
+\gdef \@abspage@last{6}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Paper/soto-sigos.bbl	Thu May 05 00:32:42 2022 +0900
@@ -0,0 +1,132 @@
+\begin{thebibliography}{10}
+
+\bibitem{agda-wiki}
+: The Agda wiki, \url{http://wiki.portal.chalmers.se/agda/pmwiki.php}.
+\newblock Accessed: 2018/12/17(Mon).
+
+\bibitem{agda-alpa}
+: Agda1, \url{https://sourceforge.net/projects/agda/}.
+\newblock Accessed: 2020/2/9(Sun).
+
+\bibitem{ats2}
+: ATS-PL-SYS, \url{http://www.ats-lang.org/}.
+\newblock Accessed: 2020/2/9(Sun).
+
+\bibitem{cbc-gcc}
+: cbc-gcc - 並列信頼研 mercurial
+  repository,\url{http://www.cr.ie.u-ryukyu.ac.jp/hg/CbC/CbC_gcc/}.
+\newblock Accessed: 2020/2/9(Sun).
+
+\bibitem{cbc-llvm}
+: cbc-llvm - 並列信頼研 mercurial
+  repository,\url{http://www.cr.ie.u-ryukyu.ac.jp/hg/CbC/CbC_llvm/}.
+\newblock Accessed: 2020/2/9(Sun).
+
+\bibitem{coq}
+: Coq Source, \url{https://github.com/coq/coq}.
+\newblock Accessed: 2020/2/9(Sun).
+
+\bibitem{agda-alpa-old}
+: Example - Hoare Logic, \url{http://ocvs.cfv.jp/Agda/readmehoare.html}.
+\newblock Accessed: 2019/1/16(Wed).
+
+\bibitem{agda2-hoare}
+: Hoare Logic in Agda2, \url{https://github.com/IKEGAMIDaisuke/HoareLogic}.
+\newblock Accessed: 2020/2/9(Sun).
+
+\bibitem{loop-proof}
+: loopSemInduct - 並列信頼研 mercurial
+  repository,\url{http://www.cr.ie.u-ryukyu.ac.jp/hg/Members/ryokka/HoareLogic/file/tip/whileTestGears.agda}.
+\newblock Accessed: 2020/2/9(Sun).
+
+\bibitem{rust}
+: Rust programming language, \url{https://www.rust-lang.org/}.
+\newblock Accessed: 2020/2/9(Sun).
+
+\bibitem{coq-old}
+: Welcome! | The Coq Proof Assistant, \url{https://coq.inria.fr/}.
+\newblock Accessed: 2020/2/9(Sun).
+
+\bibitem{agda-documentation}
+: Welcome to Agda’s documentation! ― Agda latest
+  documentation,\url{http://agda.readthedocs.io/en/latest/}.
+\newblock Accessed: 2018/12/17(Mon).
+
+\bibitem{cr-ryukyu}
+: whileTestPrim.agda - 並列信頼研 mercurial
+  repository,\url{http://www.cr.ie.u-ryukyu.ac.jp/hg/Members/ryokka/HoareLogic/file/tip/whileTestPrim.agda}.
+\newblock Accessed: 2020/2/9(Sun).
+
+\bibitem{10.1145/363235.363259}
+Hoare, C. A.~R.: An Axiomatic Basis for Computer Programming, {\em Commun.
+  ACM},  Vol.~12, No.~10, p.\ 576^^e2^^80^^93580 (online),
+  \doi{10.1145/363235.363259} (1969).
+
+\bibitem{kaito-lola}
+Kaito, T. and Shinji, K.: Implementing Continuation based language in LLVM and
+  Clang, {\em LOLA 2015, Kyoto} (2015).
+
+\bibitem{Klein:2010:SFV:1743546.1743574}
+Klein, G., Andronick, J., Elphinstone, K., Heiser, G., Cock, D., Derrin, P.,
+  Elkaduwe, D., Engelhardt, K., Kolanski, R., Norrish, M., Sewell, T., Tuch, H.
+  and Winwood, S.: seL4: Formal Verification of an Operating-system Kernel,
+  {\em Commun. ACM},  Vol.~53, No.~6, pp.\ 107--115 (online),
+  \doi{10.1145/1743546.1743574} (2010).
+
+\bibitem{moggi-monad}
+Moggi, E.: Notions of Computation and Monads, {\em Inf. Comput.},  Vol.~93,
+  No.~1, pp.\ 55--92 (online), \doi{10.1016/0890-5401(91)90052-4} (1991).
+
+\bibitem{Nelson:2017:HPV:3132747.3132748}
+Nelson, L., Sigurbjarnarson, H., Zhang, K., Johnson, D., Bornholt, J., Torlak,
+  E. and Wang, X.: Hyperkernel: Push-Button Verification of an OS Kernel, {\em
+  Proceedings of the 26th Symposium on Operating Systems Principles}, SOSP '17,
+  New York, NY, USA, ACM, pp.\ 252--269 (online), \doi{10.1145/3132747.3132748}
+  (2017).
+
+\bibitem{agda}
+Norell, U.: Dependently Typed Programming in Agda, {\em Proceedings of the 4th
+  International Workshop on Types in Language Design and Implementation}, TLDI
+  '09, New York, NY, USA, ACM, pp.\ 1--2 (online),
+  \doi{10.1145/1481861.1481862} (2009).
+
+\bibitem{Stump:2016:VFP:2841316}
+Stump, A.: {\em Verified Functional Programming in Agda}, Association for
+  Computing Machinery and Morgan \&\#38; Claypool, New York, NY, USA (2016).
+
+\bibitem{parusu-master}
+伊波立樹\:Gears OS の並列処理,修士論文,琉球大学 大学院理工学研究科
+  情報工学専攻 (2018).
+
+\bibitem{ryokka-sigos}
+政尊外間,真治河野\:GearsOSのAgdaによる記述と検証,技術報告
+  5,琉球大学大学院理工学研究科情報工学専攻, 琉球大学工学部情報工学科 (2018).
+
+\bibitem{mitsuki-master}
+宮城光希\:継続を基本とした言語による OS のモジュール化,修士論文,琉球大学
+  大学院理工学研究科 情報工学専攻 (2019).
+
+\bibitem{mitsuki-prosym}
+宮城光希,河野真治\:Code Gear と Data Gear を持つ Gears OS
+  の設計,第59回プログラミング・シンポジウム予稿集,Vol.~2018, pp.\ 197--206
+  (2018).
+
+\bibitem{atton-ipsj}
+比嘉健太,河野真治\:Verification Method of Programs Using Continuation based
+  C, 情報処理学会論文誌プログラミング(PRO), Vol.~10, No.~2, pp.\ 5--5
+  (online), \urle{https://ci.nii.ac.jp/naid/170000148438/en/} (2017).
+
+\bibitem{weko_82695_1}
+信康大城,真治河野\:Continuation based C の GCC4.6
+  上の実装について,第53回プログラミング・シンポジウム予稿集,Vol.~2012, pp.\
+  69--78 (2012).
+
+\bibitem{utah-master}
+徳森海斗\:LLVM Clang 上の Continuation based C コンパイラ
+  の改良,修士論文,琉球大学 大学院理工学研究科 情報工学専攻 (2016).
+
+\bibitem{atton-master}
+比嘉健太\:メタ計算を用いた Continuation based C の検証手法,修士論文,琉球大学
+  大学院理工学研究科 情報工学専攻 (2017).
+
+\end{thebibliography}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Paper/soto-sigos.blg	Thu May 05 00:32:42 2022 +0900
@@ -0,0 +1,80 @@
+This is pBibTeX, Version 0.99d-j0.33 (utf8.euc) (TeX Live 2021/Arch Linux)
+Capacity: max_strings=200000, hash_size=200000, hash_prime=170003
+The top-level auxiliary file: soto-sigos.aux
+The style file: ipsjsort.bst
+Database file #1: reference.bib
+Warning--to sort, need author or key in agda-wiki
+Warning--to sort, need author or key in agda-documentation
+Warning--to sort, need author or key in agda-alpa-old
+Warning--to sort, need author or key in agda-alpa
+Warning--to sort, need author or key in agda2-hoare
+Warning--to sort, need author or key in coq-old
+Warning--to sort, need author or key in coq
+Warning--to sort, need author or key in ats2
+Warning--to sort, need author or key in rust
+Warning--to sort, need author or key in cr-ryukyu
+Warning--to sort, need author or key in cbc-llvm
+Warning--to sort, need author or key in cbc-gcc
+Warning--to sort, need author or key in loop-proof
+Warning--Missing required argument author in agda-wiki
+Warning--Missing required argument author in agda-alpa
+Warning--Missing required argument author in ats2
+Warning--Missing required argument author in cbc-gcc
+Warning--Missing required argument author in cbc-llvm
+Warning--Missing required argument author in coq
+Warning--Missing required argument author in agda-alpa-old
+Warning--Missing required argument author in agda2-hoare
+Warning--Missing required argument author in loop-proof
+Warning--Missing required argument author in rust
+Warning--Missing required argument author in coq-old
+Warning--Missing required argument author in agda-documentation
+Warning--Missing required argument author in cr-ryukyu
+Warning--there's no number and/or volumekaito-lola
+Warning--Missing required argument pages in kaito-lola
+Warning--there's a series but neither volume nor number in Nelson:2017:HPV:3132747.3132748
+Warning--there's a series but neither volume nor number in agda
+Warning--there's a volume but no series in mitsuki-prosym
+Warning--there's a volume but no series in weko_82695_1
+You've used 28 entries,
+            2669 wiz_defined-function locations,
+            754 strings with 8634 characters,
+and the built_in function-call counts, 8082 in all, are:
+= -- 713
+> -- 245
+< -- 8
++ -- 106
+- -- 76
+* -- 532
+:= -- 1096
+add.period$ -- 41
+call.type$ -- 28
+change.case$ -- 94
+chr.to.int$ -- 0
+cite$ -- 60
+duplicate$ -- 452
+empty$ -- 722
+format.name$ -- 102
+if$ -- 1867
+int.to.chr$ -- 0
+int.to.str$ -- 28
+missing$ -- 10
+newline$ -- 100
+num.names$ -- 30
+pop$ -- 209
+preamble$ -- 1
+purify$ -- 94
+quote$ -- 0
+skip$ -- 372
+stack$ -- 0
+substring$ -- 350
+swap$ -- 95
+text.length$ -- 20
+text.prefix$ -- 0
+top$ -- 0
+type$ -- 110
+warning$ -- 32
+while$ -- 51
+width$ -- 30
+write$ -- 239
+is.kanji.str$ -- 169
+(There were 32 warnings)
Binary file Paper/soto-sigos.dvi has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Paper/soto-sigos.fdb_latexmk	Thu May 05 00:32:42 2022 +0900
@@ -0,0 +1,151 @@
+# Fdb version 3
+["bibtex soto-sigos"] 1651673321 "soto-sigos.aux" "soto-sigos.bbl" "soto-sigos" 1651673322
+  "./ipsjsort.bst" 1541385384 25930 d27669b348c8e9a5c1cc93168b2b5e89 ""
+  "reference.bib" 1650721531 8174 141307c3535f6e6da421a5ffb91d3db0 ""
+  "soto-sigos.aux" 1651673322 4295 aab7a2e823658120e46d12dc2df2eb9c "latex"
+  (generated)
+  "soto-sigos.bbl"
+  "soto-sigos.blg"
+["dvipdf"] 1651673322 "soto-sigos.dvi" "soto-sigos.pdf" "soto-sigos" 1651673322
+  "soto-sigos.dvi" 1651673322 65688 e5ddc4db2906e7f1634a64560623fb9b "latex"
+  (generated)
+  "soto-sigos.pdf"
+["latex"] 1651673321 "/home/soto/lab/soto-sigos/Paper/soto-sigos.tex" "soto-sigos.dvi" "soto-sigos" 1651673322
+  "/home/soto/lab/soto-sigos/Paper/soto-sigos.tex" 1651673320 4629 dbd88eb23bf5ed403bba3199bc43593f ""
+  "/usr/share/texmf-dist/fonts/map/fontname/texfonts.map" 1647844622 3524 cb3e574dea2d1052e39280babc910dc8 ""
+  "/usr/share/texmf-dist/fonts/tfm/adobe/times/ptmr7t.tfm" 1647844622 2124 2601a75482e9426d33db523edf23570a ""
+  "/usr/share/texmf-dist/fonts/tfm/jknappen/ec/ecrm0700.tfm" 1647844622 3584 cf973739aac7ab6247f9150296af7954 ""
+  "/usr/share/texmf-dist/fonts/tfm/jknappen/ec/ecrm1000.tfm" 1647844622 3584 adb004a0c8e7c46ee66cad73671f37b4 ""
+  "/usr/share/texmf-dist/fonts/tfm/ptex-fonts/jis/jis.tfm" 1647806829 468 53f854284f6afa6c36aaa2d1090ecc12 ""
+  "/usr/share/texmf-dist/fonts/tfm/ptex-fonts/jis/jisg.tfm" 1647806829 468 53f854284f6afa6c36aaa2d1090ecc12 ""
+  "/usr/share/texmf-dist/fonts/tfm/ptex-fonts/standard/tgoth10.tfm" 1647806829 856 7404843a5f798859944d7973a47821d5 ""
+  "/usr/share/texmf-dist/fonts/tfm/ptex-fonts/standard/tmin10.tfm" 1647806829 856 39c171483fe1bb7d0e1368980c0c205b ""
+  "/usr/share/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam10.tfm" 1647844622 916 f87d7c45f9c908e672703b83b72241a3 ""
+  "/usr/share/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam5.tfm" 1647844622 924 9904cf1d39e9767e7a3622f2a125a565 ""
+  "/usr/share/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam6.tfm" 1647844622 928 82ddbc1635deeba2dad4013deb28915b ""
+  "/usr/share/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam7.tfm" 1647844622 928 2dc8d444221b7a635bb58038579b861a ""
+  "/usr/share/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam8.tfm" 1647844622 920 43b6c3dbe6ce9a6ef237ab65fac31225 ""
+  "/usr/share/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam9.tfm" 1647844622 920 24b00689bbe5ca48cd946c0feee14251 ""
+  "/usr/share/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm10.tfm" 1647844622 908 2921f8a10601f252058503cc6570e581 ""
+  "/usr/share/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm5.tfm" 1647844622 940 75ac932a52f80982a9f8ea75d03a34cf ""
+  "/usr/share/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm6.tfm" 1647844622 940 84ac9962423faf9e162199e835ac3649 ""
+  "/usr/share/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm7.tfm" 1647844622 940 228d6584342e91276bf566bcf9716b83 ""
+  "/usr/share/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm8.tfm" 1647844622 940 cf30a5193f9d559521b5f27a6fa8053c ""
+  "/usr/share/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm9.tfm" 1647844622 940 88c1e9aa837bf20a964aa7801d3f4279 ""
+  "/usr/share/texmf-dist/fonts/tfm/public/ascmac/ascgrp.tfm" 1647806829 448 9a1f3a95c3a7e2681aa6eefcf410b7ac ""
+  "/usr/share/texmf-dist/fonts/tfm/public/cm/cmr10.tfm" 1647844622 1296 45809c5a464d5f32c8f98ba97c1bb47f ""
+  "/usr/share/texmf-dist/fonts/tfm/public/cm/cmr8.tfm" 1647844622 1292 21c1c5bfeaebccffdb478fd231a0997d ""
+  "/usr/share/texmf-dist/fonts/tfm/public/japanese-otf/nmlgothr-h.tfm" 1647806829 504 e15e0ced49bc0fca57e32b1199da50ac ""
+  "/usr/share/texmf-dist/fonts/tfm/public/japanese-otf/nmlgothr-v.tfm" 1647806829 504 90cc0bfc6764b11e5837e72f13617993 ""
+  "/usr/share/texmf-dist/fonts/tfm/public/japanese-otf/nmlminb-h.tfm" 1647806829 504 e15e0ced49bc0fca57e32b1199da50ac ""
+  "/usr/share/texmf-dist/fonts/tfm/public/japanese-otf/nmlminb-v.tfm" 1647806829 504 90cc0bfc6764b11e5837e72f13617993 ""
+  "/usr/share/texmf-dist/fonts/tfm/public/japanese-otf/nmlminr-h.tfm" 1647806829 504 e15e0ced49bc0fca57e32b1199da50ac ""
+  "/usr/share/texmf-dist/fonts/tfm/public/japanese-otf/nmlminr-v.tfm" 1647806829 504 90cc0bfc6764b11e5837e72f13617993 ""
+  "/usr/share/texmf-dist/fonts/tfm/public/latex-fonts/lasy10.tfm" 1647844622 520 82a3d37183f34b6eb363a161dfc002c2 ""
+  "/usr/share/texmf-dist/fonts/tfm/public/latex-fonts/lasy5.tfm" 1647844622 520 d082ac03a1087bc1ec2a06e24a9f68c0 ""
+  "/usr/share/texmf-dist/fonts/tfm/public/latex-fonts/lasy6.tfm" 1647844622 520 4889cce2180234b97cad636b6039c722 ""
+  "/usr/share/texmf-dist/fonts/tfm/public/latex-fonts/lasy7.tfm" 1647844622 520 a74c6ed8cb48679fdc3ea874d9d34a7e ""
+  "/usr/share/texmf-dist/fonts/tfm/public/latex-fonts/lasy8.tfm" 1647844622 520 7bb3abb160b19e0ed6ac404bb59052b7 ""
+  "/usr/share/texmf-dist/fonts/tfm/public/latex-fonts/lasy9.tfm" 1647844622 520 1cc7cc05f4d7bae5c23bf7516f88fa52 ""
+  "/usr/share/texmf-dist/fonts/tfm/public/lm/ec-lmbx10.tfm" 1647844622 12076 b54175e02101bea1addf6b2d0197ed12 ""
+  "/usr/share/texmf-dist/fonts/tfm/public/lm/ec-lmbx12.tfm" 1647844622 12088 d750ac78274fa7c9f73ba09914c04f8a ""
+  "/usr/share/texmf-dist/fonts/tfm/public/lm/ec-lmbx9.tfm" 1647844622 12080 8da3d5e88196e4de175949ad7749b42f ""
+  "/usr/share/texmf-dist/fonts/tfm/public/lm/ec-lmr10.tfm" 1647844622 12056 7e13df7fe4cbce21b072ba7c4f4deb6e ""
+  "/usr/share/texmf-dist/fonts/tfm/public/lm/ec-lmr12.tfm" 1647844622 12092 7b1546e2d096cfd5dcbd4049b0b1ec2e ""
+  "/usr/share/texmf-dist/fonts/tfm/public/lm/ec-lmr17.tfm" 1647844622 12156 ca1ae6a3c8564e89597f1f993fba1608 ""
+  "/usr/share/texmf-dist/fonts/tfm/public/lm/ec-lmr6.tfm" 1647844622 12048 c1068d0f4772be9b0ec447692e1d6d82 ""
+  "/usr/share/texmf-dist/fonts/tfm/public/lm/ec-lmr7.tfm" 1647844622 12064 09aa3eeac96bf141d673bb1b0385ce55 ""
+  "/usr/share/texmf-dist/fonts/tfm/public/lm/ec-lmr8.tfm" 1647844622 12064 a35db870f0b76c338d749c56dc030ef5 ""
+  "/usr/share/texmf-dist/fonts/tfm/public/lm/ec-lmr9.tfm" 1647844622 12084 b7f5e4c003de6f57f07c7e9fee73a37c ""
+  "/usr/share/texmf-dist/fonts/tfm/public/lm/ec-lmri9.tfm" 1647844622 17148 ca1ae65757b004f470b8cd636199f6fc ""
+  "/usr/share/texmf-dist/fonts/tfm/public/lm/ec-lmtt10.tfm" 1647844622 1372 2ef2c2b492b3c4cd7879fe083abbb061 ""
+  "/usr/share/texmf-dist/fonts/tfm/public/lm/ec-lmtt8.tfm" 1647844622 1380 64228d979098ac090aa3f98d5aa8ad3e ""
+  "/usr/share/texmf-dist/fonts/tfm/public/lm/ec-lmtt9.tfm" 1647844622 1372 a2ff2d4391a2d6bba15b518acb79e80f ""
+  "/usr/share/texmf-dist/fonts/tfm/public/lm/lmex10.tfm" 1647844622 992 ce925c9346c7613270a79afbee98c070 ""
+  "/usr/share/texmf-dist/fonts/tfm/public/lm/lmmi10.tfm" 1647844622 1528 6d36b2385e0ca062a654de6ac59cb34f ""
+  "/usr/share/texmf-dist/fonts/tfm/public/lm/lmmi12.tfm" 1647844622 1524 753b192b18f2991794f9d41a8228510b ""
+  "/usr/share/texmf-dist/fonts/tfm/public/lm/lmmi5.tfm" 1647844622 1508 198f5b7b99b5769126de3a533f6fc334 ""
+  "/usr/share/texmf-dist/fonts/tfm/public/lm/lmmi6.tfm" 1647844622 1512 94a3fd88c6f27dbd9ecb46987e297a4e ""
+  "/usr/share/texmf-dist/fonts/tfm/public/lm/lmmi7.tfm" 1647844622 1528 d5b028dd23da623848ef0645c96a1ed7 ""
+  "/usr/share/texmf-dist/fonts/tfm/public/lm/lmmi8.tfm" 1647844622 1520 a3fe5596932db2db2cbda300920dd4e9 ""
+  "/usr/share/texmf-dist/fonts/tfm/public/lm/lmmi9.tfm" 1647844622 1524 cdf05765c2a8bdb569ea0aa208fb0947 ""
+  "/usr/share/texmf-dist/fonts/tfm/public/lm/lmsy10.tfm" 1647844622 1308 02cc510f9dd6012e5815d0c0ffbf6869 ""
+  "/usr/share/texmf-dist/fonts/tfm/public/lm/lmsy5.tfm" 1647844622 1296 54ed1a711e2303d5282575278e3620b0 ""
+  "/usr/share/texmf-dist/fonts/tfm/public/lm/lmsy6.tfm" 1647844622 1300 b0605d44c16c22d99dc001808e4f24ea ""
+  "/usr/share/texmf-dist/fonts/tfm/public/lm/lmsy7.tfm" 1647844622 1304 32f22a15acc296b2a4e15698403dcb88 ""
+  "/usr/share/texmf-dist/fonts/tfm/public/lm/lmsy8.tfm" 1647844622 1304 cdc9a17df9ef0d2dc320eff37bbab1c4 ""
+  "/usr/share/texmf-dist/fonts/tfm/public/lm/lmsy9.tfm" 1647844622 1300 ca37bc0213808d24f74bf4d32f81f80d ""
+  "/usr/share/texmf-dist/fonts/tfm/public/lm/rm-lmr10.tfm" 1647844622 11868 4f81e9b6033c032bdaf9884f4d7ef412 ""
+  "/usr/share/texmf-dist/fonts/tfm/public/lm/rm-lmr12.tfm" 1647844622 11888 6841b91e46b65cf41a49b160e6e74130 ""
+  "/usr/share/texmf-dist/fonts/tfm/public/lm/rm-lmr5.tfm" 1647844622 11804 aefb10c002e6492c25236524a447f969 ""
+  "/usr/share/texmf-dist/fonts/tfm/public/lm/rm-lmr6.tfm" 1647844622 11836 e3b6ce3e601aec94f64a536e7f4224d5 ""
+  "/usr/share/texmf-dist/fonts/tfm/public/lm/rm-lmr7.tfm" 1647844622 11852 5a9022f105fd1ee2797df861e79ae9a0 ""
+  "/usr/share/texmf-dist/fonts/tfm/public/lm/rm-lmr8.tfm" 1647844622 11864 309fd7f43e4a0ba39f6f7644d76e8edf ""
+  "/usr/share/texmf-dist/fonts/tfm/public/lm/rm-lmr9.tfm" 1647844622 11884 c93929a6974dce79eabb778f219d7e18 ""
+  "/usr/share/texmf-dist/fonts/tfm/public/txfonts/txsy.tfm" 1647844622 1268 1d124f224979493f8fd017a7597ea1cd ""
+  "/usr/share/texmf-dist/tex/latex/amsfonts/amsfonts.sty" 1647844622 5949 3f3fd50a8cc94c3d4cbf4fc66cd3df1c ""
+  "/usr/share/texmf-dist/tex/latex/amsfonts/amssymb.sty" 1647844622 13829 94730e64147574077f8ecfea9bb69af4 ""
+  "/usr/share/texmf-dist/tex/latex/amsmath/amsbsy.sty" 1647844622 2222 da905dc1db75412efd2d8f67739f0596 ""
+  "/usr/share/texmf-dist/tex/latex/amsmath/amsgen.sty" 1647844622 4173 bc0410bcccdff806d6132d3c1ef35481 ""
+  "/usr/share/texmf-dist/tex/latex/amsmath/amsmath.sty" 1647844622 87648 07fbb6e9169e00cb2a2f40b31b2dbf3c ""
+  "/usr/share/texmf-dist/tex/latex/amsmath/amsopn.sty" 1647844622 4128 8eea906621b6639f7ba476a472036bbe ""
+  "/usr/share/texmf-dist/tex/latex/amsmath/amstext.sty" 1647844622 2444 926f379cc60fcf0c6e3fee2223b4370d ""
+  "/usr/share/texmf-dist/tex/latex/ascmac/ascmac.sty" 1647806829 590 834565f4a016952bf667fd346b7aee71 ""
+  "/usr/share/texmf-dist/tex/latex/ascmac/tascmac.sty" 1647806829 11463 e16f2fec3bf4db0d4002a155e4cf4467 ""
+  "/usr/share/texmf-dist/tex/latex/base/fontenc.sty" 1647844622 4946 461cc78f6f26901410d9f1d725079cc6 ""
+  "/usr/share/texmf-dist/tex/latex/base/latexsym.sty" 1647844622 2853 064bc688b5f0914f6c46857908d3b04a ""
+  "/usr/share/texmf-dist/tex/latex/base/textcomp.sty" 1647844622 2894 55431114fc0e491ecee275edafd6c881 ""
+  "/usr/share/texmf-dist/tex/latex/caption/caption.sty" 1647844622 54291 b8e5c600d4aa37b48a740dd2a6c26163 ""
+  "/usr/share/texmf-dist/tex/latex/caption/caption3.sty" 1647844622 71241 d2cd3a1c5acef9cb31f945b93c0bb6e3 ""
+  "/usr/share/texmf-dist/tex/latex/cite/cite.sty" 1647844622 26218 19edeff8cdc2bcb704e8051dc55eb5a7 ""
+  "/usr/share/texmf-dist/tex/latex/float/float.sty" 1647844622 6749 16d2656a1984957e674b149555f1ea1d ""
+  "/usr/share/texmf-dist/tex/latex/graphics-cfg/color.cfg" 1647844622 1213 620bba36b25224fa9b7e1ccb4ecb76fd ""
+  "/usr/share/texmf-dist/tex/latex/graphics-cfg/graphics.cfg" 1647844622 1224 978390e9c2234eab29404bc21b268d1e ""
+  "/usr/share/texmf-dist/tex/latex/graphics-def/dvipdfmx.def" 1647844622 12854 d1d8e11aeb3b6a981367508e762ca48a ""
+  "/usr/share/texmf-dist/tex/latex/graphics-def/dvips.def" 1647844622 5895 4b59bd0c17e1116fd6b6e7c683dea655 ""
+  "/usr/share/texmf-dist/tex/latex/graphics/color.sty" 1647844622 7197 eb6c1ebf41667a05cb50c23c19d5e8bc ""
+  "/usr/share/texmf-dist/tex/latex/graphics/dvipsnam.def" 1647844622 4995 8040f614c8de8318a0b5b2dea8a3fcef ""
+  "/usr/share/texmf-dist/tex/latex/graphics/graphics.sty" 1647844622 18399 7e40f80366dffb22c0e7b70517db5cb4 ""
+  "/usr/share/texmf-dist/tex/latex/graphics/graphicx.sty" 1647844622 7996 a8fb260d598dcaf305a7ae7b9c3e3229 ""
+  "/usr/share/texmf-dist/tex/latex/graphics/keyval.sty" 1647844622 2671 4de6781a30211fe0ea4c672e4a2a8166 ""
+  "/usr/share/texmf-dist/tex/latex/graphics/trig.sty" 1647844622 4009 187ea2dc3194cd5a76cd99a8d7a6c4d0 ""
+  "/usr/share/texmf-dist/tex/latex/here/here.sty" 1647807325 439 d908692e0f19922874ccfe2bf35addc7 ""
+  "/usr/share/texmf-dist/tex/latex/l3backend/l3backend-dvips.def" 1647844622 35666 542d7d1651a3e3c984a42ed032a045c3 ""
+  "/usr/share/texmf-dist/tex/latex/listings/listings.cfg" 1647844622 1830 e31effa752c61538383451ae21332364 ""
+  "/usr/share/texmf-dist/tex/latex/listings/listings.sty" 1647844622 80964 64e57373f36316e4a09b517cbf1aba2e ""
+  "/usr/share/texmf-dist/tex/latex/listings/lstlang1.sty" 1647844622 204271 bae5b2d457283e99567249c1990510be ""
+  "/usr/share/texmf-dist/tex/latex/listings/lstmisc.sty" 1647844622 77022 ee25ce086f4a79d8cf73bac6f94c02a5 ""
+  "/usr/share/texmf-dist/tex/latex/lm/lmodern.sty" 1647844622 1608 b00724785a9e9c599e5181bb8729160b ""
+  "/usr/share/texmf-dist/tex/latex/lm/omllmm.fd" 1647844622 890 57f5adccd504fb5c98bdf99ed7e7f195 ""
+  "/usr/share/texmf-dist/tex/latex/lm/omslmsy.fd" 1647844622 807 3de192f3efa968913bd2f096a7b430d8 ""
+  "/usr/share/texmf-dist/tex/latex/lm/omxlmex.fd" 1647844622 568 a5494d810f2680caf10205cd1226c76c ""
+  "/usr/share/texmf-dist/tex/latex/lm/ot1lmr.fd" 1647844622 1882 28c08db1407ebff35a658fd141753d16 ""
+  "/usr/share/texmf-dist/tex/latex/lm/t1lmr.fd" 1647844622 1867 996fe743d88a01aca041ed22cc10e1bb ""
+  "/usr/share/texmf-dist/tex/latex/lm/t1lmtt.fd" 1647844622 2682 555da1faa2e266801e4b221d01a42cb5 ""
+  "/usr/share/texmf-dist/tex/latex/psnfss/ot1ptm.fd" 1647844622 961 15056f4a61917ceed3a44e4ac11fcc52 ""
+  "/usr/share/texmf-dist/tex/latex/txfonts/omstxsy.fd" 1647844622 329 6ac7e19535b9f1d64e4d8e3f77dc30a3 ""
+  "/usr/share/texmf-dist/tex/latex/url/url.sty" 1647844622 12796 8edb7d69a20b857904dd0ea757c14ec9 ""
+  "/usr/share/texmf-dist/tex/platex/japanese-otf/ajmacros.sty" 1647806829 31169 82da95c56dec9c45e5b9734751394461 ""
+  "/usr/share/texmf-dist/tex/platex/japanese-otf/mlcid.sty" 1647806829 1209 8abf44b4af3260bbf90285291bba45c8 ""
+  "/usr/share/texmf-dist/tex/platex/japanese-otf/mlutf.sty" 1647806829 5572 2718e332ffca67065c2d32dda76f558f ""
+  "/usr/share/texmf-dist/tex/platex/japanese-otf/otf.sty" 1647806829 23780 6dcbea98f42a2e1905e36acdd2df6006 ""
+  "/usr/share/texmf-dist/web2c/texmf.cnf" 1647844622 39911 2da6c67557ec033436fe5418a70a8a61 ""
+  "/var/lib/texmf/web2c/eptex/platex.fmt" 1650708372 2834363 869774857659f265ab483b1aeb8f0c7c ""
+  "fig/meta-cg-dg.pdf" 1650721531 14360 a49f27d9f258ff5d68c6c4e908f67476 ""
+  "fig/meta-cg-dg.xbb" 1650721531 212 38813b94d19b91938f022ae3152b7ed7 ""
+  "ipsj.cls" 1650809266 142123 ecf81ecc4679baed6ac44a1571336871 ""
+  "ipsjtech.sty" 1541385384 6572 e6269869e3c126f2d200f352d590509a ""
+  "soto-sigos.aux" 1651673322 4295 aab7a2e823658120e46d12dc2df2eb9c "latex"
+  "soto-sigos.bbl" 1651673321 5285 fc93245f635fcc8bdb721d450a7e0e37 "bibtex soto-sigos"
+  "soto-sigos.tex" 1651673320 4629 dbd88eb23bf5ed403bba3199bc43593f ""
+  "src/agda-dpp-impl.agda.replaced" 1651667549 2824 60454fbbf20d18849d1886385e94384b ""
+  "src/agda-dpp-modelcheck.agda.replaced" 1651672378 3179 60cc940175e150991d362fe173027e9b ""
+  "src/agda/cbc-agda.agda.replaced" 1651647471 1143 ab39102eb0f69d3b9f8e4e985a7c1e37 ""
+  "tex/cbc.tex" 1651644049 2219 f03feb68b5ce1a7b91d393a89cfeb34e ""
+  "tex/cbc_agda.tex" 1651652099 4661 0b5344e541f9fd9f293bced30f494ecd ""
+  "tex/dpp_impl.tex" 1651668498 6128 590795d2699a6da79652be11e27f0047 ""
+  "tex/intro.tex" 1651570383 3454 c2cd2b67fe52c3a93b6c540ef98ec175 ""
+  (generated)
+  "soto-sigos.aux"
+  "soto-sigos.dvi"
+  "soto-sigos.log"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Paper/soto-sigos.fls	Thu May 05 00:32:42 2022 +0900
@@ -0,0 +1,676 @@
+PWD /home/soto/lab/soto-sigos/Paper
+INPUT /usr/share/texmf-dist/web2c/texmf.cnf
+INPUT /usr/share/texmf-dist/web2c/texmf.cnf
+INPUT /var/lib/texmf/web2c/eptex/platex.fmt
+INPUT /home/soto/lab/soto-sigos/Paper/soto-sigos.tex
+OUTPUT soto-sigos.log
+INPUT ./ipsj.cls
+INPUT ./ipsj.cls
+INPUT ipsj.cls
+INPUT ./ipsj.cls
+INPUT ./ipsj.cls
+INPUT ./ipsj.cls
+INPUT ./ipsj.cls
+INPUT ./ipsj.cls
+INPUT ipsj.cls
+INPUT ./ipsj.cls
+INPUT ipsj.cls
+INPUT /usr/share/texmf-dist/tex/latex/graphics/color.sty
+INPUT /usr/share/texmf-dist/tex/latex/graphics/color.sty
+INPUT /usr/share/texmf-dist/tex/latex/graphics/color.sty
+INPUT /usr/share/texmf-dist/tex/latex/graphics/color.sty
+INPUT /usr/share/texmf-dist/tex/latex/graphics/color.sty
+INPUT /usr/share/texmf-dist/tex/latex/graphics/color.sty
+INPUT /usr/share/texmf-dist/tex/latex/graphics/color.sty
+INPUT /usr/share/texmf-dist/tex/latex/graphics/color.sty
+INPUT /usr/share/texmf-dist/tex/latex/graphics/color.sty
+INPUT /usr/share/texmf-dist/tex/latex/graphics/color.sty
+INPUT /usr/share/texmf-dist/tex/latex/graphics/color.sty
+INPUT /usr/share/texmf-dist/tex/latex/graphics-cfg/color.cfg
+INPUT /usr/share/texmf-dist/tex/latex/graphics-cfg/color.cfg
+INPUT /usr/share/texmf-dist/tex/latex/graphics-cfg/color.cfg
+INPUT /usr/share/texmf-dist/tex/latex/graphics-cfg/color.cfg
+INPUT /usr/share/texmf-dist/tex/latex/graphics-def/dvips.def
+INPUT /usr/share/texmf-dist/tex/latex/graphics-def/dvips.def
+INPUT /usr/share/texmf-dist/tex/latex/graphics-def/dvips.def
+INPUT /usr/share/texmf-dist/tex/latex/graphics-def/dvips.def
+INPUT /usr/share/texmf-dist/tex/latex/graphics/dvipsnam.def
+INPUT /usr/share/texmf-dist/tex/latex/graphics/dvipsnam.def
+INPUT /usr/share/texmf-dist/tex/latex/graphics/dvipsnam.def
+INPUT /usr/share/texmf-dist/tex/latex/graphics/dvipsnam.def
+INPUT /usr/share/texmf-dist/fonts/map/fontname/texfonts.map
+INPUT /usr/share/texmf-dist/fonts/tfm/ptex-fonts/standard/tmin10.tfm
+INPUT /usr/share/texmf-dist/fonts/tfm/ptex-fonts/jis/jis.tfm
+INPUT /usr/share/texmf-dist/fonts/tfm/public/cm/cmr10.tfm
+INPUT ./ipsjtech.sty
+INPUT ipsjtech.sty
+INPUT ./ipsjtech.sty
+INPUT ipsjtech.sty
+INPUT /usr/share/texmf-dist/tex/latex/base/fontenc.sty
+INPUT /usr/share/texmf-dist/tex/latex/base/fontenc.sty
+INPUT /usr/share/texmf-dist/tex/latex/base/fontenc.sty
+INPUT /usr/share/texmf-dist/tex/latex/base/fontenc.sty
+INPUT /usr/share/texmf-dist/tex/latex/base/fontenc.sty
+INPUT /usr/share/texmf-dist/tex/latex/base/fontenc.sty
+INPUT /usr/share/texmf-dist/tex/latex/base/fontenc.sty
+INPUT /usr/share/texmf-dist/tex/latex/base/fontenc.sty
+INPUT /usr/share/texmf-dist/tex/latex/base/fontenc.sty
+INPUT /usr/share/texmf-dist/tex/latex/base/fontenc.sty
+INPUT /usr/share/texmf-dist/tex/latex/base/fontenc.sty
+INPUT /usr/share/texmf-dist/fonts/tfm/jknappen/ec/ecrm1000.tfm
+INPUT /usr/share/texmf-dist/tex/latex/lm/lmodern.sty
+INPUT /usr/share/texmf-dist/tex/latex/lm/lmodern.sty
+INPUT /usr/share/texmf-dist/tex/latex/lm/lmodern.sty
+INPUT /usr/share/texmf-dist/tex/latex/lm/lmodern.sty
+INPUT /usr/share/texmf-dist/tex/latex/lm/lmodern.sty
+INPUT /usr/share/texmf-dist/tex/latex/lm/lmodern.sty
+INPUT /usr/share/texmf-dist/tex/latex/lm/lmodern.sty
+INPUT /usr/share/texmf-dist/tex/latex/lm/lmodern.sty
+INPUT /usr/share/texmf-dist/tex/latex/lm/lmodern.sty
+INPUT /usr/share/texmf-dist/tex/latex/lm/lmodern.sty
+INPUT /usr/share/texmf-dist/tex/latex/lm/lmodern.sty
+INPUT /usr/share/texmf-dist/tex/latex/base/textcomp.sty
+INPUT /usr/share/texmf-dist/tex/latex/base/textcomp.sty
+INPUT /usr/share/texmf-dist/tex/latex/base/textcomp.sty
+INPUT /usr/share/texmf-dist/tex/latex/base/textcomp.sty
+INPUT /usr/share/texmf-dist/tex/latex/base/textcomp.sty
+INPUT /usr/share/texmf-dist/tex/latex/base/textcomp.sty
+INPUT /usr/share/texmf-dist/tex/latex/base/textcomp.sty
+INPUT /usr/share/texmf-dist/tex/latex/base/textcomp.sty
+INPUT /usr/share/texmf-dist/tex/latex/base/textcomp.sty
+INPUT /usr/share/texmf-dist/tex/latex/base/textcomp.sty
+INPUT /usr/share/texmf-dist/tex/latex/base/textcomp.sty
+INPUT /usr/share/texmf-dist/tex/latex/base/latexsym.sty
+INPUT /usr/share/texmf-dist/tex/latex/base/latexsym.sty
+INPUT /usr/share/texmf-dist/tex/latex/base/latexsym.sty
+INPUT /usr/share/texmf-dist/tex/latex/base/latexsym.sty
+INPUT /usr/share/texmf-dist/tex/latex/base/latexsym.sty
+INPUT /usr/share/texmf-dist/tex/latex/base/latexsym.sty
+INPUT /usr/share/texmf-dist/tex/latex/base/latexsym.sty
+INPUT /usr/share/texmf-dist/tex/latex/base/latexsym.sty
+INPUT /usr/share/texmf-dist/tex/latex/base/latexsym.sty
+INPUT /usr/share/texmf-dist/tex/latex/base/latexsym.sty
+INPUT /usr/share/texmf-dist/tex/latex/base/latexsym.sty
+INPUT /usr/share/texmf-dist/tex/latex/listings/listings.sty
+INPUT /usr/share/texmf-dist/tex/latex/listings/listings.sty
+INPUT /usr/share/texmf-dist/tex/latex/listings/listings.sty
+INPUT /usr/share/texmf-dist/tex/latex/listings/listings.sty
+INPUT /usr/share/texmf-dist/tex/latex/listings/listings.sty
+INPUT /usr/share/texmf-dist/tex/latex/listings/listings.sty
+INPUT /usr/share/texmf-dist/tex/latex/listings/listings.sty
+INPUT /usr/share/texmf-dist/tex/latex/listings/listings.sty
+INPUT /usr/share/texmf-dist/tex/latex/listings/listings.sty
+INPUT /usr/share/texmf-dist/tex/latex/listings/listings.sty
+INPUT /usr/share/texmf-dist/tex/latex/listings/listings.sty
+INPUT /usr/share/texmf-dist/tex/latex/graphics/keyval.sty
+INPUT /usr/share/texmf-dist/tex/latex/graphics/keyval.sty
+INPUT /usr/share/texmf-dist/tex/latex/graphics/keyval.sty
+INPUT /usr/share/texmf-dist/tex/latex/graphics/keyval.sty
+INPUT /usr/share/texmf-dist/tex/latex/graphics/keyval.sty
+INPUT /usr/share/texmf-dist/tex/latex/graphics/keyval.sty
+INPUT /usr/share/texmf-dist/tex/latex/graphics/keyval.sty
+INPUT /usr/share/texmf-dist/tex/latex/graphics/keyval.sty
+INPUT /usr/share/texmf-dist/tex/latex/graphics/keyval.sty
+INPUT /usr/share/texmf-dist/tex/latex/graphics/keyval.sty
+INPUT /usr/share/texmf-dist/tex/latex/graphics/keyval.sty
+INPUT /usr/share/texmf-dist/tex/latex/listings/lstmisc.sty
+INPUT /usr/share/texmf-dist/tex/latex/listings/lstmisc.sty
+INPUT /usr/share/texmf-dist/tex/latex/listings/lstmisc.sty
+INPUT /usr/share/texmf-dist/tex/latex/listings/lstmisc.sty
+INPUT /usr/share/texmf-dist/tex/latex/listings/listings.cfg
+INPUT /usr/share/texmf-dist/tex/latex/listings/listings.cfg
+INPUT /usr/share/texmf-dist/tex/latex/listings/listings.cfg
+INPUT /usr/share/texmf-dist/tex/latex/listings/listings.cfg
+INPUT /usr/share/texmf-dist/tex/latex/graphics/graphicx.sty
+INPUT /usr/share/texmf-dist/tex/latex/graphics/graphicx.sty
+INPUT /usr/share/texmf-dist/tex/latex/graphics/graphicx.sty
+INPUT /usr/share/texmf-dist/tex/latex/graphics/graphicx.sty
+INPUT /usr/share/texmf-dist/tex/latex/graphics/graphicx.sty
+INPUT /usr/share/texmf-dist/tex/latex/graphics/graphicx.sty
+INPUT /usr/share/texmf-dist/tex/latex/graphics/graphicx.sty
+INPUT /usr/share/texmf-dist/tex/latex/graphics/graphicx.sty
+INPUT /usr/share/texmf-dist/tex/latex/graphics/graphicx.sty
+INPUT /usr/share/texmf-dist/tex/latex/graphics/graphicx.sty
+INPUT /usr/share/texmf-dist/tex/latex/graphics/graphicx.sty
+INPUT /usr/share/texmf-dist/tex/latex/graphics/graphics.sty
+INPUT /usr/share/texmf-dist/tex/latex/graphics/graphics.sty
+INPUT /usr/share/texmf-dist/tex/latex/graphics/keyval.sty
+INPUT /usr/share/texmf-dist/tex/latex/graphics/graphics.sty
+INPUT /usr/share/texmf-dist/tex/latex/graphics/graphics.sty
+INPUT /usr/share/texmf-dist/tex/latex/graphics/graphics.sty
+INPUT /usr/share/texmf-dist/tex/latex/graphics/graphics.sty
+INPUT /usr/share/texmf-dist/tex/latex/graphics/graphics.sty
+INPUT /usr/share/texmf-dist/tex/latex/graphics/graphics.sty
+INPUT /usr/share/texmf-dist/tex/latex/graphics/graphics.sty
+INPUT /usr/share/texmf-dist/tex/latex/graphics/graphics.sty
+INPUT /usr/share/texmf-dist/tex/latex/graphics/graphics.sty
+INPUT /usr/share/texmf-dist/tex/latex/graphics/graphics.sty
+INPUT /usr/share/texmf-dist/tex/latex/graphics/graphics.sty
+INPUT /usr/share/texmf-dist/tex/latex/graphics/trig.sty
+INPUT /usr/share/texmf-dist/tex/latex/graphics/trig.sty
+INPUT /usr/share/texmf-dist/tex/latex/graphics/trig.sty
+INPUT /usr/share/texmf-dist/tex/latex/graphics/trig.sty
+INPUT /usr/share/texmf-dist/tex/latex/graphics/trig.sty
+INPUT /usr/share/texmf-dist/tex/latex/graphics/trig.sty
+INPUT /usr/share/texmf-dist/tex/latex/graphics/trig.sty
+INPUT /usr/share/texmf-dist/tex/latex/graphics/trig.sty
+INPUT /usr/share/texmf-dist/tex/latex/graphics/trig.sty
+INPUT /usr/share/texmf-dist/tex/latex/graphics/trig.sty
+INPUT /usr/share/texmf-dist/tex/latex/graphics/trig.sty
+INPUT /usr/share/texmf-dist/tex/latex/graphics-cfg/graphics.cfg
+INPUT /usr/share/texmf-dist/tex/latex/graphics-cfg/graphics.cfg
+INPUT /usr/share/texmf-dist/tex/latex/graphics-cfg/graphics.cfg
+INPUT /usr/share/texmf-dist/tex/latex/graphics-cfg/graphics.cfg
+INPUT /usr/share/texmf-dist/tex/latex/graphics-def/dvipdfmx.def
+INPUT /usr/share/texmf-dist/tex/latex/graphics-def/dvipdfmx.def
+INPUT /usr/share/texmf-dist/tex/latex/graphics-def/dvipdfmx.def
+INPUT /usr/share/texmf-dist/tex/latex/graphics-def/dvipdfmx.def
+INPUT /usr/share/texmf-dist/tex/latex/graphics/graphicx.sty
+INPUT /usr/share/texmf-dist/tex/latex/lm/lmodern.sty
+INPUT /usr/share/texmf-dist/tex/latex/base/textcomp.sty
+INPUT /usr/share/texmf-dist/tex/latex/base/latexsym.sty
+INPUT /usr/share/texmf-dist/tex/latex/ascmac/ascmac.sty
+INPUT /usr/share/texmf-dist/tex/latex/ascmac/ascmac.sty
+INPUT /usr/share/texmf-dist/tex/latex/ascmac/ascmac.sty
+INPUT /usr/share/texmf-dist/tex/latex/ascmac/ascmac.sty
+INPUT /usr/share/texmf-dist/tex/latex/ascmac/ascmac.sty
+INPUT /usr/share/texmf-dist/tex/latex/ascmac/ascmac.sty
+INPUT /usr/share/texmf-dist/tex/latex/ascmac/ascmac.sty
+INPUT /usr/share/texmf-dist/tex/latex/ascmac/ascmac.sty
+INPUT /usr/share/texmf-dist/tex/latex/ascmac/ascmac.sty
+INPUT /usr/share/texmf-dist/tex/latex/ascmac/ascmac.sty
+INPUT /usr/share/texmf-dist/tex/latex/ascmac/ascmac.sty
+INPUT /usr/share/texmf-dist/tex/latex/ascmac/tascmac.sty
+INPUT /usr/share/texmf-dist/tex/latex/ascmac/tascmac.sty
+INPUT /usr/share/texmf-dist/tex/latex/ascmac/tascmac.sty
+INPUT /usr/share/texmf-dist/tex/latex/ascmac/tascmac.sty
+INPUT /usr/share/texmf-dist/tex/latex/ascmac/tascmac.sty
+INPUT /usr/share/texmf-dist/tex/latex/ascmac/tascmac.sty
+INPUT /usr/share/texmf-dist/tex/latex/ascmac/tascmac.sty
+INPUT /usr/share/texmf-dist/tex/latex/ascmac/tascmac.sty
+INPUT /usr/share/texmf-dist/tex/latex/ascmac/tascmac.sty
+INPUT /usr/share/texmf-dist/tex/latex/ascmac/tascmac.sty
+INPUT /usr/share/texmf-dist/tex/latex/ascmac/tascmac.sty
+INPUT /usr/share/texmf-dist/fonts/tfm/public/ascmac/ascgrp.tfm
+INPUT /usr/share/texmf-dist/tex/latex/amsmath/amsmath.sty
+INPUT /usr/share/texmf-dist/tex/latex/amsmath/amsmath.sty
+INPUT /usr/share/texmf-dist/tex/latex/amsmath/amsmath.sty
+INPUT /usr/share/texmf-dist/tex/latex/amsmath/amsmath.sty
+INPUT /usr/share/texmf-dist/tex/latex/amsmath/amsmath.sty
+INPUT /usr/share/texmf-dist/tex/latex/amsmath/amsmath.sty
+INPUT /usr/share/texmf-dist/tex/latex/amsmath/amsmath.sty
+INPUT /usr/share/texmf-dist/tex/latex/amsmath/amsmath.sty
+INPUT /usr/share/texmf-dist/tex/latex/amsmath/amsmath.sty
+INPUT /usr/share/texmf-dist/tex/latex/amsmath/amsmath.sty
+INPUT /usr/share/texmf-dist/tex/latex/amsmath/amsmath.sty
+INPUT /usr/share/texmf-dist/tex/latex/amsmath/amsopn.sty
+INPUT /usr/share/texmf-dist/tex/latex/amsmath/amsopn.sty
+INPUT /usr/share/texmf-dist/tex/latex/amsmath/amstext.sty
+INPUT /usr/share/texmf-dist/tex/latex/amsmath/amstext.sty
+INPUT /usr/share/texmf-dist/tex/latex/amsmath/amstext.sty
+INPUT /usr/share/texmf-dist/tex/latex/amsmath/amstext.sty
+INPUT /usr/share/texmf-dist/tex/latex/amsmath/amstext.sty
+INPUT /usr/share/texmf-dist/tex/latex/amsmath/amstext.sty
+INPUT /usr/share/texmf-dist/tex/latex/amsmath/amstext.sty
+INPUT /usr/share/texmf-dist/tex/latex/amsmath/amstext.sty
+INPUT /usr/share/texmf-dist/tex/latex/amsmath/amstext.sty
+INPUT /usr/share/texmf-dist/tex/latex/amsmath/amstext.sty
+INPUT /usr/share/texmf-dist/tex/latex/amsmath/amstext.sty
+INPUT /usr/share/texmf-dist/tex/latex/amsmath/amsgen.sty
+INPUT /usr/share/texmf-dist/tex/latex/amsmath/amsgen.sty
+INPUT /usr/share/texmf-dist/tex/latex/amsmath/amsgen.sty
+INPUT /usr/share/texmf-dist/tex/latex/amsmath/amsgen.sty
+INPUT /usr/share/texmf-dist/tex/latex/amsmath/amsgen.sty
+INPUT /usr/share/texmf-dist/tex/latex/amsmath/amsgen.sty
+INPUT /usr/share/texmf-dist/tex/latex/amsmath/amsgen.sty
+INPUT /usr/share/texmf-dist/tex/latex/amsmath/amsgen.sty
+INPUT /usr/share/texmf-dist/tex/latex/amsmath/amsgen.sty
+INPUT /usr/share/texmf-dist/tex/latex/amsmath/amsgen.sty
+INPUT /usr/share/texmf-dist/tex/latex/amsmath/amsgen.sty
+INPUT /usr/share/texmf-dist/tex/latex/amsmath/amsbsy.sty
+INPUT /usr/share/texmf-dist/tex/latex/amsmath/amsbsy.sty
+INPUT /usr/share/texmf-dist/tex/latex/amsmath/amsbsy.sty
+INPUT /usr/share/texmf-dist/tex/latex/amsmath/amsbsy.sty
+INPUT /usr/share/texmf-dist/tex/latex/amsmath/amsbsy.sty
+INPUT /usr/share/texmf-dist/tex/latex/amsmath/amsbsy.sty
+INPUT /usr/share/texmf-dist/tex/latex/amsmath/amsbsy.sty
+INPUT /usr/share/texmf-dist/tex/latex/amsmath/amsbsy.sty
+INPUT /usr/share/texmf-dist/tex/latex/amsmath/amsbsy.sty
+INPUT /usr/share/texmf-dist/tex/latex/amsmath/amsbsy.sty
+INPUT /usr/share/texmf-dist/tex/latex/amsmath/amsbsy.sty
+INPUT /usr/share/texmf-dist/tex/latex/amsmath/amsgen.sty
+INPUT /usr/share/texmf-dist/tex/latex/amsmath/amsopn.sty
+INPUT /usr/share/texmf-dist/tex/latex/amsmath/amsopn.sty
+INPUT /usr/share/texmf-dist/tex/latex/amsmath/amsopn.sty
+INPUT /usr/share/texmf-dist/tex/latex/amsmath/amsopn.sty
+INPUT /usr/share/texmf-dist/tex/latex/amsmath/amsopn.sty
+INPUT /usr/share/texmf-dist/tex/latex/amsmath/amsopn.sty
+INPUT /usr/share/texmf-dist/tex/latex/amsmath/amsopn.sty
+INPUT /usr/share/texmf-dist/tex/latex/amsmath/amsopn.sty
+INPUT /usr/share/texmf-dist/tex/latex/amsmath/amsopn.sty
+INPUT /usr/share/texmf-dist/tex/latex/amsmath/amsopn.sty
+INPUT /usr/share/texmf-dist/tex/latex/amsmath/amsopn.sty
+INPUT /usr/share/texmf-dist/tex/latex/amsmath/amsgen.sty
+INPUT /usr/share/texmf-dist/tex/latex/amsfonts/amssymb.sty
+INPUT /usr/share/texmf-dist/tex/latex/amsfonts/amssymb.sty
+INPUT /usr/share/texmf-dist/tex/latex/amsfonts/amssymb.sty
+INPUT /usr/share/texmf-dist/tex/latex/amsfonts/amssymb.sty
+INPUT /usr/share/texmf-dist/tex/latex/amsfonts/amssymb.sty
+INPUT /usr/share/texmf-dist/tex/latex/amsfonts/amssymb.sty
+INPUT /usr/share/texmf-dist/tex/latex/amsfonts/amssymb.sty
+INPUT /usr/share/texmf-dist/tex/latex/amsfonts/amssymb.sty
+INPUT /usr/share/texmf-dist/tex/latex/amsfonts/amssymb.sty
+INPUT /usr/share/texmf-dist/tex/latex/amsfonts/amssymb.sty
+INPUT /usr/share/texmf-dist/tex/latex/amsfonts/amssymb.sty
+INPUT /usr/share/texmf-dist/tex/latex/amsfonts/amsfonts.sty
+INPUT /usr/share/texmf-dist/tex/latex/amsfonts/amsfonts.sty
+INPUT /usr/share/texmf-dist/tex/latex/amsfonts/amsfonts.sty
+INPUT /usr/share/texmf-dist/tex/latex/amsfonts/amsfonts.sty
+INPUT /usr/share/texmf-dist/tex/latex/amsfonts/amsfonts.sty
+INPUT /usr/share/texmf-dist/tex/latex/amsfonts/amsfonts.sty
+INPUT /usr/share/texmf-dist/tex/latex/amsfonts/amsfonts.sty
+INPUT /usr/share/texmf-dist/tex/latex/amsfonts/amsfonts.sty
+INPUT /usr/share/texmf-dist/tex/latex/amsfonts/amsfonts.sty
+INPUT /usr/share/texmf-dist/tex/latex/amsfonts/amsfonts.sty
+INPUT /usr/share/texmf-dist/tex/latex/amsfonts/amsfonts.sty
+INPUT /usr/share/texmf-dist/tex/platex/japanese-otf/otf.sty
+INPUT /usr/share/texmf-dist/tex/platex/japanese-otf/otf.sty
+INPUT /usr/share/texmf-dist/tex/platex/japanese-otf/otf.sty
+INPUT /usr/share/texmf-dist/tex/platex/japanese-otf/otf.sty
+INPUT /usr/share/texmf-dist/tex/platex/japanese-otf/otf.sty
+INPUT /usr/share/texmf-dist/tex/platex/japanese-otf/otf.sty
+INPUT /usr/share/texmf-dist/tex/platex/japanese-otf/otf.sty
+INPUT /usr/share/texmf-dist/tex/platex/japanese-otf/otf.sty
+INPUT /usr/share/texmf-dist/tex/platex/japanese-otf/otf.sty
+INPUT /usr/share/texmf-dist/tex/platex/japanese-otf/otf.sty
+INPUT /usr/share/texmf-dist/tex/platex/japanese-otf/otf.sty
+INPUT /usr/share/texmf-dist/tex/latex/graphics/keyval.sty
+INPUT /usr/share/texmf-dist/tex/platex/japanese-otf/ajmacros.sty
+INPUT /usr/share/texmf-dist/tex/platex/japanese-otf/ajmacros.sty
+INPUT /usr/share/texmf-dist/tex/platex/japanese-otf/ajmacros.sty
+INPUT /usr/share/texmf-dist/tex/platex/japanese-otf/ajmacros.sty
+INPUT /usr/share/texmf-dist/tex/platex/japanese-otf/ajmacros.sty
+INPUT /usr/share/texmf-dist/tex/platex/japanese-otf/ajmacros.sty
+INPUT /usr/share/texmf-dist/tex/platex/japanese-otf/ajmacros.sty
+INPUT /usr/share/texmf-dist/tex/platex/japanese-otf/ajmacros.sty
+INPUT /usr/share/texmf-dist/tex/platex/japanese-otf/ajmacros.sty
+INPUT /usr/share/texmf-dist/tex/platex/japanese-otf/ajmacros.sty
+INPUT /usr/share/texmf-dist/tex/platex/japanese-otf/ajmacros.sty
+INPUT /usr/share/texmf-dist/tex/platex/japanese-otf/ajmacros.sty
+INPUT /usr/share/texmf-dist/tex/platex/japanese-otf/ajmacros.sty
+INPUT /usr/share/texmf-dist/tex/platex/japanese-otf/mlutf.sty
+INPUT /usr/share/texmf-dist/tex/platex/japanese-otf/mlutf.sty
+INPUT /usr/share/texmf-dist/tex/platex/japanese-otf/mlutf.sty
+INPUT /usr/share/texmf-dist/tex/platex/japanese-otf/mlutf.sty
+INPUT /usr/share/texmf-dist/tex/platex/japanese-otf/mlutf.sty
+INPUT /usr/share/texmf-dist/tex/platex/japanese-otf/mlutf.sty
+INPUT /usr/share/texmf-dist/tex/platex/japanese-otf/mlutf.sty
+INPUT /usr/share/texmf-dist/tex/platex/japanese-otf/mlutf.sty
+INPUT /usr/share/texmf-dist/tex/platex/japanese-otf/mlutf.sty
+INPUT /usr/share/texmf-dist/tex/platex/japanese-otf/mlutf.sty
+INPUT /usr/share/texmf-dist/tex/platex/japanese-otf/mlutf.sty
+INPUT /usr/share/texmf-dist/tex/platex/japanese-otf/mlcid.sty
+INPUT /usr/share/texmf-dist/tex/platex/japanese-otf/mlcid.sty
+INPUT /usr/share/texmf-dist/tex/platex/japanese-otf/mlcid.sty
+INPUT /usr/share/texmf-dist/tex/platex/japanese-otf/mlcid.sty
+INPUT /usr/share/texmf-dist/tex/platex/japanese-otf/mlcid.sty
+INPUT /usr/share/texmf-dist/tex/platex/japanese-otf/mlcid.sty
+INPUT /usr/share/texmf-dist/tex/platex/japanese-otf/mlcid.sty
+INPUT /usr/share/texmf-dist/tex/platex/japanese-otf/mlcid.sty
+INPUT /usr/share/texmf-dist/tex/platex/japanese-otf/mlcid.sty
+INPUT /usr/share/texmf-dist/tex/platex/japanese-otf/mlcid.sty
+INPUT /usr/share/texmf-dist/tex/platex/japanese-otf/mlcid.sty
+INPUT /usr/share/texmf-dist/tex/latex/url/url.sty
+INPUT /usr/share/texmf-dist/tex/latex/url/url.sty
+INPUT /usr/share/texmf-dist/tex/latex/url/url.sty
+INPUT /usr/share/texmf-dist/tex/latex/url/url.sty
+INPUT /usr/share/texmf-dist/tex/latex/url/url.sty
+INPUT /usr/share/texmf-dist/tex/latex/url/url.sty
+INPUT /usr/share/texmf-dist/tex/latex/url/url.sty
+INPUT /usr/share/texmf-dist/tex/latex/url/url.sty
+INPUT /usr/share/texmf-dist/tex/latex/url/url.sty
+INPUT /usr/share/texmf-dist/tex/latex/url/url.sty
+INPUT /usr/share/texmf-dist/tex/latex/url/url.sty
+INPUT /usr/share/texmf-dist/tex/latex/cite/cite.sty
+INPUT /usr/share/texmf-dist/tex/latex/cite/cite.sty
+INPUT /usr/share/texmf-dist/tex/latex/cite/cite.sty
+INPUT /usr/share/texmf-dist/tex/latex/cite/cite.sty
+INPUT /usr/share/texmf-dist/tex/latex/cite/cite.sty
+INPUT /usr/share/texmf-dist/tex/latex/cite/cite.sty
+INPUT /usr/share/texmf-dist/tex/latex/cite/cite.sty
+INPUT /usr/share/texmf-dist/tex/latex/cite/cite.sty
+INPUT /usr/share/texmf-dist/tex/latex/cite/cite.sty
+INPUT /usr/share/texmf-dist/tex/latex/cite/cite.sty
+INPUT /usr/share/texmf-dist/tex/latex/cite/cite.sty
+INPUT /usr/share/texmf-dist/tex/latex/here/here.sty
+INPUT /usr/share/texmf-dist/tex/latex/here/here.sty
+INPUT /usr/share/texmf-dist/tex/latex/here/here.sty
+INPUT /usr/share/texmf-dist/tex/latex/here/here.sty
+INPUT /usr/share/texmf-dist/tex/latex/here/here.sty
+INPUT /usr/share/texmf-dist/tex/latex/here/here.sty
+INPUT /usr/share/texmf-dist/tex/latex/here/here.sty
+INPUT /usr/share/texmf-dist/tex/latex/here/here.sty
+INPUT /usr/share/texmf-dist/tex/latex/here/here.sty
+INPUT /usr/share/texmf-dist/tex/latex/here/here.sty
+INPUT /usr/share/texmf-dist/tex/latex/here/here.sty
+INPUT /usr/share/texmf-dist/tex/latex/float/float.sty
+INPUT /usr/share/texmf-dist/tex/latex/float/float.sty
+INPUT /usr/share/texmf-dist/tex/latex/float/float.sty
+INPUT /usr/share/texmf-dist/tex/latex/float/float.sty
+INPUT /usr/share/texmf-dist/tex/latex/float/float.sty
+INPUT /usr/share/texmf-dist/tex/latex/float/float.sty
+INPUT /usr/share/texmf-dist/tex/latex/float/float.sty
+INPUT /usr/share/texmf-dist/tex/latex/float/float.sty
+INPUT /usr/share/texmf-dist/tex/latex/float/float.sty
+INPUT /usr/share/texmf-dist/tex/latex/float/float.sty
+INPUT /usr/share/texmf-dist/tex/latex/float/float.sty
+INPUT /usr/share/texmf-dist/tex/latex/listings/lstlang1.sty
+INPUT /usr/share/texmf-dist/tex/latex/listings/lstlang1.sty
+INPUT /usr/share/texmf-dist/tex/latex/listings/lstlang1.sty
+INPUT /usr/share/texmf-dist/tex/latex/listings/lstlang1.sty
+INPUT /usr/share/texmf-dist/tex/latex/listings/lstmisc.sty
+INPUT /usr/share/texmf-dist/tex/latex/listings/lstmisc.sty
+INPUT /usr/share/texmf-dist/tex/latex/listings/lstmisc.sty
+INPUT /usr/share/texmf-dist/tex/latex/listings/lstmisc.sty
+INPUT /usr/share/texmf-dist/tex/latex/caption/caption.sty
+INPUT /usr/share/texmf-dist/tex/latex/caption/caption.sty
+INPUT /usr/share/texmf-dist/tex/latex/caption/caption.sty
+INPUT /usr/share/texmf-dist/tex/latex/caption/caption.sty
+INPUT /usr/share/texmf-dist/tex/latex/caption/caption.sty
+INPUT /usr/share/texmf-dist/tex/latex/caption/caption.sty
+INPUT /usr/share/texmf-dist/tex/latex/caption/caption.sty
+INPUT /usr/share/texmf-dist/tex/latex/caption/caption.sty
+INPUT /usr/share/texmf-dist/tex/latex/caption/caption.sty
+INPUT /usr/share/texmf-dist/tex/latex/caption/caption.sty
+INPUT /usr/share/texmf-dist/tex/latex/caption/caption.sty
+INPUT /usr/share/texmf-dist/tex/latex/caption/caption3.sty
+INPUT /usr/share/texmf-dist/tex/latex/caption/caption3.sty
+INPUT /usr/share/texmf-dist/tex/latex/caption/caption3.sty
+INPUT /usr/share/texmf-dist/tex/latex/caption/caption3.sty
+INPUT /usr/share/texmf-dist/tex/latex/caption/caption3.sty
+INPUT /usr/share/texmf-dist/tex/latex/caption/caption3.sty
+INPUT /usr/share/texmf-dist/tex/latex/caption/caption3.sty
+INPUT /usr/share/texmf-dist/tex/latex/caption/caption3.sty
+INPUT /usr/share/texmf-dist/tex/latex/caption/caption3.sty
+INPUT /usr/share/texmf-dist/tex/latex/caption/caption3.sty
+INPUT /usr/share/texmf-dist/tex/latex/caption/caption3.sty
+INPUT /usr/share/texmf-dist/tex/latex/graphics/keyval.sty
+INPUT /usr/share/texmf-dist/fonts/tfm/public/japanese-otf/nmlminr-v.tfm
+INPUT /usr/share/texmf-dist/fonts/tfm/public/japanese-otf/nmlminr-h.tfm
+INPUT /usr/share/texmf-dist/tex/latex/lm/t1lmr.fd
+INPUT /usr/share/texmf-dist/tex/latex/lm/t1lmr.fd
+INPUT /usr/share/texmf-dist/tex/latex/lm/t1lmr.fd
+INPUT /usr/share/texmf-dist/tex/latex/lm/t1lmr.fd
+INPUT /usr/share/texmf-dist/fonts/tfm/public/lm/ec-lmr10.tfm
+INPUT /usr/share/texmf-dist/tex/latex/l3backend/l3backend-dvips.def
+INPUT /usr/share/texmf-dist/tex/latex/l3backend/l3backend-dvips.def
+INPUT /usr/share/texmf-dist/tex/latex/l3backend/l3backend-dvips.def
+INPUT /usr/share/texmf-dist/tex/latex/l3backend/l3backend-dvips.def
+INPUT /usr/share/texmf-dist/tex/latex/l3backend/l3backend-dvips.def
+INPUT /usr/share/texmf-dist/tex/latex/l3backend/l3backend-dvips.def
+INPUT /usr/share/texmf-dist/tex/latex/l3backend/l3backend-dvips.def
+INPUT /usr/share/texmf-dist/tex/latex/l3backend/l3backend-dvips.def
+INPUT /usr/share/texmf-dist/tex/latex/l3backend/l3backend-dvips.def
+INPUT /usr/share/texmf-dist/tex/latex/l3backend/l3backend-dvips.def
+INPUT /usr/share/texmf-dist/tex/latex/l3backend/l3backend-dvips.def
+INPUT ./soto-sigos.aux
+INPUT soto-sigos.aux
+INPUT soto-sigos.aux
+OUTPUT soto-sigos.aux
+INPUT /usr/share/texmf-dist/fonts/tfm/public/japanese-otf/nmlminr-v.tfm
+INPUT /usr/share/texmf-dist/fonts/tfm/public/japanese-otf/nmlminr-h.tfm
+INPUT /usr/share/texmf-dist/fonts/tfm/public/lm/ec-lmr9.tfm
+INPUT /usr/share/texmf-dist/fonts/tfm/public/japanese-otf/nmlminb-v.tfm
+INPUT /usr/share/texmf-dist/fonts/tfm/public/japanese-otf/nmlminb-h.tfm
+INPUT /usr/share/texmf-dist/fonts/tfm/public/lm/ec-lmbx9.tfm
+INPUT /usr/share/texmf-dist/fonts/tfm/ptex-fonts/standard/tgoth10.tfm
+INPUT /usr/share/texmf-dist/fonts/tfm/ptex-fonts/jis/jisg.tfm
+INPUT /usr/share/texmf-dist/fonts/tfm/public/lm/ec-lmr12.tfm
+INPUT /usr/share/texmf-dist/fonts/tfm/ptex-fonts/standard/tgoth10.tfm
+INPUT /usr/share/texmf-dist/fonts/tfm/ptex-fonts/jis/jisg.tfm
+INPUT /usr/share/texmf-dist/fonts/tfm/public/lm/ec-lmr17.tfm
+INPUT /usr/share/texmf-dist/fonts/tfm/public/lm/ec-lmbx12.tfm
+INPUT /usr/share/texmf-dist/tex/latex/lm/ot1lmr.fd
+INPUT /usr/share/texmf-dist/tex/latex/lm/ot1lmr.fd
+INPUT /usr/share/texmf-dist/tex/latex/lm/ot1lmr.fd
+INPUT /usr/share/texmf-dist/tex/latex/lm/ot1lmr.fd
+INPUT /usr/share/texmf-dist/fonts/tfm/public/lm/rm-lmr10.tfm
+INPUT /usr/share/texmf-dist/fonts/tfm/public/lm/rm-lmr7.tfm
+INPUT /usr/share/texmf-dist/fonts/tfm/public/lm/rm-lmr5.tfm
+INPUT /usr/share/texmf-dist/tex/latex/lm/omllmm.fd
+INPUT /usr/share/texmf-dist/tex/latex/lm/omllmm.fd
+INPUT /usr/share/texmf-dist/tex/latex/lm/omllmm.fd
+INPUT /usr/share/texmf-dist/tex/latex/lm/omllmm.fd
+INPUT /usr/share/texmf-dist/fonts/tfm/public/lm/lmmi10.tfm
+INPUT /usr/share/texmf-dist/fonts/tfm/public/lm/lmmi7.tfm
+INPUT /usr/share/texmf-dist/fonts/tfm/public/lm/lmmi5.tfm
+INPUT /usr/share/texmf-dist/tex/latex/lm/omslmsy.fd
+INPUT /usr/share/texmf-dist/tex/latex/lm/omslmsy.fd
+INPUT /usr/share/texmf-dist/tex/latex/lm/omslmsy.fd
+INPUT /usr/share/texmf-dist/tex/latex/lm/omslmsy.fd
+INPUT /usr/share/texmf-dist/fonts/tfm/public/lm/lmsy10.tfm
+INPUT /usr/share/texmf-dist/fonts/tfm/public/lm/lmsy7.tfm
+INPUT /usr/share/texmf-dist/fonts/tfm/public/lm/lmsy5.tfm
+INPUT /usr/share/texmf-dist/tex/latex/lm/omxlmex.fd
+INPUT /usr/share/texmf-dist/tex/latex/lm/omxlmex.fd
+INPUT /usr/share/texmf-dist/tex/latex/lm/omxlmex.fd
+INPUT /usr/share/texmf-dist/tex/latex/lm/omxlmex.fd
+INPUT /usr/share/texmf-dist/fonts/tfm/public/lm/lmex10.tfm
+INPUT /usr/share/texmf-dist/fonts/tfm/public/latex-fonts/lasy10.tfm
+INPUT /usr/share/texmf-dist/fonts/tfm/public/latex-fonts/lasy7.tfm
+INPUT /usr/share/texmf-dist/fonts/tfm/public/latex-fonts/lasy5.tfm
+INPUT /usr/share/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam10.tfm
+INPUT /usr/share/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam7.tfm
+INPUT /usr/share/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam5.tfm
+INPUT /usr/share/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm10.tfm
+INPUT /usr/share/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm7.tfm
+INPUT /usr/share/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm5.tfm
+INPUT /usr/share/texmf-dist/fonts/tfm/public/japanese-otf/nmlminr-h.tfm
+INPUT /usr/share/texmf-dist/fonts/tfm/public/japanese-otf/nmlminr-h.tfm
+INPUT /usr/share/texmf-dist/fonts/tfm/public/japanese-otf/nmlminr-v.tfm
+INPUT /usr/share/texmf-dist/fonts/tfm/public/japanese-otf/nmlminr-h.tfm
+INPUT /usr/share/texmf-dist/fonts/tfm/public/lm/ec-lmr12.tfm
+INPUT /usr/share/texmf-dist/fonts/tfm/public/lm/rm-lmr12.tfm
+INPUT /usr/share/texmf-dist/fonts/tfm/public/lm/rm-lmr8.tfm
+INPUT /usr/share/texmf-dist/fonts/tfm/public/lm/rm-lmr6.tfm
+INPUT /usr/share/texmf-dist/fonts/tfm/public/lm/lmmi12.tfm
+INPUT /usr/share/texmf-dist/fonts/tfm/public/lm/lmmi8.tfm
+INPUT /usr/share/texmf-dist/fonts/tfm/public/lm/lmmi6.tfm
+INPUT /usr/share/texmf-dist/fonts/tfm/public/lm/lmsy10.tfm
+INPUT /usr/share/texmf-dist/fonts/tfm/public/lm/lmsy8.tfm
+INPUT /usr/share/texmf-dist/fonts/tfm/public/lm/lmsy6.tfm
+INPUT /usr/share/texmf-dist/fonts/tfm/public/latex-fonts/lasy10.tfm
+INPUT /usr/share/texmf-dist/fonts/tfm/public/latex-fonts/lasy8.tfm
+INPUT /usr/share/texmf-dist/fonts/tfm/public/latex-fonts/lasy6.tfm
+INPUT /usr/share/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam10.tfm
+INPUT /usr/share/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam8.tfm
+INPUT /usr/share/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam6.tfm
+INPUT /usr/share/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm10.tfm
+INPUT /usr/share/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm8.tfm
+INPUT /usr/share/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm6.tfm
+INPUT /usr/share/texmf-dist/fonts/tfm/public/japanese-otf/nmlminr-h.tfm
+INPUT /usr/share/texmf-dist/fonts/tfm/public/japanese-otf/nmlminr-h.tfm
+INPUT /usr/share/texmf-dist/fonts/tfm/public/japanese-otf/nmlminr-v.tfm
+INPUT /usr/share/texmf-dist/fonts/tfm/public/lm/ec-lmr8.tfm
+INPUT /usr/share/texmf-dist/fonts/tfm/public/cm/cmr8.tfm
+INPUT /usr/share/texmf-dist/fonts/tfm/public/japanese-otf/nmlminr-v.tfm
+INPUT /usr/share/texmf-dist/fonts/tfm/public/japanese-otf/nmlminr-h.tfm
+INPUT /usr/share/texmf-dist/fonts/tfm/public/lm/ec-lmr7.tfm
+INPUT /usr/share/texmf-dist/fonts/tfm/public/japanese-otf/nmlminr-v.tfm
+INPUT /usr/share/texmf-dist/fonts/tfm/public/japanese-otf/nmlminr-h.tfm
+INPUT /usr/share/texmf-dist/fonts/tfm/public/lm/ec-lmr8.tfm
+INPUT /usr/share/texmf-dist/fonts/tfm/public/lm/rm-lmr8.tfm
+INPUT /usr/share/texmf-dist/fonts/tfm/public/lm/rm-lmr6.tfm
+INPUT /usr/share/texmf-dist/fonts/tfm/public/lm/rm-lmr5.tfm
+INPUT /usr/share/texmf-dist/fonts/tfm/public/lm/lmmi8.tfm
+INPUT /usr/share/texmf-dist/fonts/tfm/public/lm/lmmi6.tfm
+INPUT /usr/share/texmf-dist/fonts/tfm/public/lm/lmmi5.tfm
+INPUT /usr/share/texmf-dist/fonts/tfm/public/lm/lmsy8.tfm
+INPUT /usr/share/texmf-dist/fonts/tfm/public/lm/lmsy6.tfm
+INPUT /usr/share/texmf-dist/fonts/tfm/public/lm/lmsy5.tfm
+INPUT /usr/share/texmf-dist/fonts/tfm/public/latex-fonts/lasy8.tfm
+INPUT /usr/share/texmf-dist/fonts/tfm/public/latex-fonts/lasy6.tfm
+INPUT /usr/share/texmf-dist/fonts/tfm/public/latex-fonts/lasy5.tfm
+INPUT /usr/share/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam8.tfm
+INPUT /usr/share/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam6.tfm
+INPUT /usr/share/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam5.tfm
+INPUT /usr/share/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm8.tfm
+INPUT /usr/share/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm6.tfm
+INPUT /usr/share/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm5.tfm
+INPUT /usr/share/texmf-dist/fonts/tfm/public/japanese-otf/nmlminr-h.tfm
+INPUT /usr/share/texmf-dist/fonts/tfm/public/japanese-otf/nmlminr-h.tfm
+INPUT /usr/share/texmf-dist/fonts/tfm/public/japanese-otf/nmlminr-v.tfm
+INPUT /usr/share/texmf-dist/fonts/tfm/public/lm/ec-lmr6.tfm
+INPUT ./tex/intro.tex
+INPUT tex/intro.tex
+INPUT ./tex/intro.tex
+INPUT tex/intro.tex
+INPUT /usr/share/texmf-dist/fonts/tfm/public/japanese-otf/nmlminb-v.tfm
+INPUT /usr/share/texmf-dist/fonts/tfm/public/japanese-otf/nmlminb-h.tfm
+INPUT /usr/share/texmf-dist/fonts/tfm/public/lm/ec-lmbx12.tfm
+INPUT ./tex/cbc.tex
+INPUT tex/cbc.tex
+INPUT ./tex/cbc.tex
+INPUT tex/cbc.tex
+INPUT /usr/share/texmf-dist/fonts/tfm/public/japanese-otf/nmlminr-v.tfm
+INPUT /usr/share/texmf-dist/fonts/tfm/public/japanese-otf/nmlminr-h.tfm
+INPUT /usr/share/texmf-dist/fonts/tfm/public/lm/ec-lmr8.tfm
+INPUT /usr/share/texmf-dist/fonts/tfm/public/japanese-otf/nmlminr-v.tfm
+INPUT /usr/share/texmf-dist/fonts/tfm/public/japanese-otf/nmlminr-h.tfm
+INPUT /usr/share/texmf-dist/fonts/tfm/public/lm/ec-lmr7.tfm
+INPUT /usr/share/texmf-dist/tex/latex/txfonts/omstxsy.fd
+INPUT /usr/share/texmf-dist/tex/latex/txfonts/omstxsy.fd
+INPUT /usr/share/texmf-dist/tex/latex/txfonts/omstxsy.fd
+INPUT /usr/share/texmf-dist/tex/latex/txfonts/omstxsy.fd
+INPUT /usr/share/texmf-dist/tex/latex/txfonts/omstxsy.fd
+INPUT /usr/share/texmf-dist/tex/latex/txfonts/omstxsy.fd
+INPUT /usr/share/texmf-dist/fonts/tfm/public/txfonts/txsy.tfm
+INPUT /usr/share/texmf-dist/fonts/tfm/jknappen/ec/ecrm0700.tfm
+INPUT /usr/share/texmf-dist/tex/latex/psnfss/ot1ptm.fd
+INPUT /usr/share/texmf-dist/tex/latex/psnfss/ot1ptm.fd
+INPUT /usr/share/texmf-dist/tex/latex/psnfss/ot1ptm.fd
+INPUT /usr/share/texmf-dist/tex/latex/psnfss/ot1ptm.fd
+INPUT /usr/share/texmf-dist/fonts/tfm/adobe/times/ptmr7t.tfm
+INPUT /usr/share/texmf-dist/fonts/tfm/public/japanese-otf/nmlminr-v.tfm
+INPUT /usr/share/texmf-dist/fonts/tfm/public/japanese-otf/nmlminr-h.tfm
+INPUT /usr/share/texmf-dist/fonts/tfm/public/lm/ec-lmr9.tfm
+OUTPUT soto-sigos.dvi
+INPUT ./fig/meta-cg-dg.pdf
+INPUT ./fig/meta-cg-dg.pdf
+INPUT fig/meta-cg-dg.pdf
+INPUT fig/meta-cg-dg.xbb
+INPUT ./tex/cbc_agda.tex
+INPUT tex/cbc_agda.tex
+INPUT ./tex/cbc_agda.tex
+INPUT tex/cbc_agda.tex
+INPUT ./src/agda/cbc-agda.agda.replaced
+INPUT src/agda/cbc-agda.agda.replaced
+INPUT /usr/share/texmf-dist/tex/latex/lm/t1lmtt.fd
+INPUT /usr/share/texmf-dist/tex/latex/lm/t1lmtt.fd
+INPUT /usr/share/texmf-dist/tex/latex/lm/t1lmtt.fd
+INPUT /usr/share/texmf-dist/tex/latex/lm/t1lmtt.fd
+INPUT /usr/share/texmf-dist/fonts/tfm/public/lm/ec-lmtt10.tfm
+INPUT /usr/share/texmf-dist/fonts/tfm/public/lm/ec-lmtt8.tfm
+INPUT ./src/agda/cbc-agda.agda.replaced
+INPUT src/agda/cbc-agda.agda.replaced
+INPUT ./src/agda/cbc-agda.agda.replaced
+INPUT src/agda/cbc-agda.agda.replaced
+INPUT /usr/share/texmf-dist/fonts/tfm/public/lm/ec-lmtt9.tfm
+INPUT ./src/agda/cbc-agda.agda.replaced
+INPUT src/agda/cbc-agda.agda.replaced
+INPUT ./src/agda/cbc-agda.agda.replaced
+INPUT src/agda/cbc-agda.agda.replaced
+INPUT ./src/agda/cbc-agda.agda.replaced
+INPUT src/agda/cbc-agda.agda.replaced
+INPUT ./src/agda/cbc-agda.agda.replaced
+INPUT src/agda/cbc-agda.agda.replaced
+INPUT ./src/agda/cbc-agda.agda.replaced
+INPUT src/agda/cbc-agda.agda.replaced
+INPUT ./src/agda/cbc-agda.agda.replaced
+INPUT src/agda/cbc-agda.agda.replaced
+INPUT ./src/agda/cbc-agda.agda.replaced
+INPUT src/agda/cbc-agda.agda.replaced
+INPUT ./src/agda/cbc-agda.agda.replaced
+INPUT src/agda/cbc-agda.agda.replaced
+INPUT ./src/agda/cbc-agda.agda.replaced
+INPUT src/agda/cbc-agda.agda.replaced
+INPUT /usr/share/texmf-dist/fonts/tfm/public/japanese-otf/nmlminb-v.tfm
+INPUT /usr/share/texmf-dist/fonts/tfm/public/japanese-otf/nmlminb-h.tfm
+INPUT /usr/share/texmf-dist/fonts/tfm/public/lm/ec-lmbx10.tfm
+INPUT ./tex/dpp_impl.tex
+INPUT tex/dpp_impl.tex
+INPUT ./tex/dpp_impl.tex
+INPUT tex/dpp_impl.tex
+INPUT ./src/agda-dpp-impl.agda.replaced
+INPUT src/agda-dpp-impl.agda.replaced
+INPUT ./src/agda-dpp-impl.agda.replaced
+INPUT src/agda-dpp-impl.agda.replaced
+INPUT ./src/agda-dpp-impl.agda.replaced
+INPUT src/agda-dpp-impl.agda.replaced
+INPUT ./src/agda-dpp-impl.agda.replaced
+INPUT src/agda-dpp-impl.agda.replaced
+INPUT ./src/agda-dpp-impl.agda.replaced
+INPUT src/agda-dpp-impl.agda.replaced
+INPUT ./src/agda-dpp-impl.agda.replaced
+INPUT src/agda-dpp-impl.agda.replaced
+INPUT ./src/agda-dpp-impl.agda.replaced
+INPUT src/agda-dpp-impl.agda.replaced
+INPUT ./src/agda-dpp-impl.agda.replaced
+INPUT src/agda-dpp-impl.agda.replaced
+INPUT ./src/agda-dpp-impl.agda.replaced
+INPUT src/agda-dpp-impl.agda.replaced
+INPUT ./src/agda-dpp-impl.agda.replaced
+INPUT src/agda-dpp-impl.agda.replaced
+INPUT ./src/agda-dpp-impl.agda.replaced
+INPUT src/agda-dpp-impl.agda.replaced
+INPUT ./src/agda-dpp-impl.agda.replaced
+INPUT src/agda-dpp-impl.agda.replaced
+INPUT /usr/share/texmf-dist/fonts/tfm/public/lm/ec-lmtt8.tfm
+INPUT /usr/share/texmf-dist/fonts/tfm/public/japanese-otf/nmlminr-v.tfm
+INPUT /usr/share/texmf-dist/fonts/tfm/public/lm/ec-lmtt8.tfm
+INPUT ./src/agda-dpp-impl.agda.replaced
+INPUT src/agda-dpp-impl.agda.replaced
+INPUT ./src/agda-dpp-impl.agda.replaced
+INPUT src/agda-dpp-impl.agda.replaced
+INPUT ./src/agda-dpp-impl.agda.replaced
+INPUT src/agda-dpp-impl.agda.replaced
+INPUT ./src/agda-dpp-impl.agda.replaced
+INPUT src/agda-dpp-impl.agda.replaced
+INPUT ./src/agda-dpp-impl.agda.replaced
+INPUT src/agda-dpp-impl.agda.replaced
+INPUT ./src/agda-dpp-impl.agda.replaced
+INPUT src/agda-dpp-impl.agda.replaced
+INPUT ./src/agda-dpp-modelcheck.agda.replaced
+INPUT src/agda-dpp-modelcheck.agda.replaced
+INPUT ./src/agda-dpp-modelcheck.agda.replaced
+INPUT src/agda-dpp-modelcheck.agda.replaced
+INPUT ./src/agda-dpp-modelcheck.agda.replaced
+INPUT src/agda-dpp-modelcheck.agda.replaced
+INPUT ./soto-sigos.bbl
+INPUT soto-sigos.bbl
+INPUT ./soto-sigos.bbl
+INPUT soto-sigos.bbl
+INPUT /usr/share/texmf-dist/fonts/tfm/public/lm/rm-lmr9.tfm
+INPUT /usr/share/texmf-dist/fonts/tfm/public/lm/rm-lmr6.tfm
+INPUT /usr/share/texmf-dist/fonts/tfm/public/lm/rm-lmr5.tfm
+INPUT /usr/share/texmf-dist/fonts/tfm/public/lm/lmmi9.tfm
+INPUT /usr/share/texmf-dist/fonts/tfm/public/lm/lmmi6.tfm
+INPUT /usr/share/texmf-dist/fonts/tfm/public/lm/lmmi5.tfm
+INPUT /usr/share/texmf-dist/fonts/tfm/public/lm/lmsy9.tfm
+INPUT /usr/share/texmf-dist/fonts/tfm/public/lm/lmsy6.tfm
+INPUT /usr/share/texmf-dist/fonts/tfm/public/lm/lmsy5.tfm
+INPUT /usr/share/texmf-dist/fonts/tfm/public/latex-fonts/lasy9.tfm
+INPUT /usr/share/texmf-dist/fonts/tfm/public/latex-fonts/lasy6.tfm
+INPUT /usr/share/texmf-dist/fonts/tfm/public/latex-fonts/lasy5.tfm
+INPUT /usr/share/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam9.tfm
+INPUT /usr/share/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam6.tfm
+INPUT /usr/share/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam5.tfm
+INPUT /usr/share/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm9.tfm
+INPUT /usr/share/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm6.tfm
+INPUT /usr/share/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm5.tfm
+INPUT /usr/share/texmf-dist/fonts/tfm/public/japanese-otf/nmlminr-h.tfm
+INPUT /usr/share/texmf-dist/fonts/tfm/public/japanese-otf/nmlminr-h.tfm
+INPUT /usr/share/texmf-dist/fonts/tfm/public/japanese-otf/nmlgothr-v.tfm
+INPUT /usr/share/texmf-dist/fonts/tfm/public/japanese-otf/nmlgothr-h.tfm
+INPUT /usr/share/texmf-dist/fonts/tfm/public/lm/ec-lmri9.tfm
+INPUT soto-sigos.aux
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Paper/soto-sigos.log	Thu May 05 00:32:42 2022 +0900
@@ -0,0 +1,3607 @@
+This is e-pTeX, Version 3.141592653-p3.9.0-210218-2.6 (utf8.euc) (TeX Live 2021/Arch Linux) (preloaded format=platex 2022.4.23)  4 MAY 2022 23:08
+entering extended mode
+ restricted \write18 enabled.
+ file:line:error style messages enabled.
+ %&-line parsing enabled.
+**/home/soto/lab/soto-sigos/Paper/soto-sigos.tex
+(/home/soto/lab/soto-sigos/Paper/soto-sigos.tex
+pLaTeX2e <2021-11-15> (based on LaTeX2e <2021-11-15> patch level 1)
+L3 programming layer <2022-02-24> (./ipsj.cls
+Document Class: ipsj 2018/08/03 v4.0 IPSJ class
+(/usr/share/texmf-dist/tex/latex/graphics/color.sty
+Package: color 2021/12/07 v1.3c Standard LaTeX Color (DPC)
+ (/usr/share/texmf-dist/tex/latex/graphics-cfg/color.cfg
+File: color.cfg 2016/01/02 v1.6 sample color configuration
+)
+Package color Info: Driver file: dvips.def on input line 149.
+ (/usr/share/texmf-dist/tex/latex/graphics-def/dvips.def
+File: dvips.def 2017/06/20 v3.1d Graphics/color driver for dvips
+) (/usr/share/texmf-dist/tex/latex/graphics/dvipsnam.def
+File: dvipsnam.def 2016/06/17 v3.0m Driver-dependent file (DPC,SPQR)
+))
+\c@@paper=\count184
+
+\ProcessOptions ->\let \ds@ \@empty \edef \@curroptions {\@ptionlist {\@currname .\@currext }}\@ifstar \@xprocess@ptions \@process@ptions 
+
+\@ptionlist #1->\@ifundefined {opt@#1}\@empty {\csname opt@#1\endcsname }
+#1<-\@currname .\@currext 
+
+\@ifundefined #1->\ifcsname #1\endcsname \@ifundefin@d@i \else \@ifundefin@d@ii \fi {#1}
+#1<-opt@\@currname .\@currext 
+
+\@currname ->ipsj
+
+\@currext ->cls
+
+\@ifundefin@d@i #1\fi #2->\fi \expandafter \ifx \csname #2\endcsname \relax \@ifundefin@d@ii \fi \@secondoftwo 
+#1<-\else \@ifundefin@d@ii 
+#2<-opt@\@currname .\@currext 
+
+\@currname ->ipsj
+
+\@currext ->cls
+
+\@secondoftwo #1#2->#2
+#1<-\@empty 
+#2<-\csname opt@\@currname .\@currext \endcsname 
+
+\@currname ->ipsj
+
+\@currext ->cls
+
+\opt@ipsj.cls ->submit,techrep,noauthor
+
+\@ifstar #1->\@ifnextchar *{\@firstoftwo {#1}}
+#1<-\@xprocess@ptions 
+
+\@ifnextchar #1#2#3->\let \reserved@d =#1\def \reserved@a {#2}\def \reserved@b {#3}\futurelet \@let@token \@ifnch 
+#1<-*
+#2<-\@firstoftwo {\@xprocess@ptions }
+#3<-\@process@ptions 
+
+\@ifnch ->\ifx \@let@token \@sptoken \let \reserved@c \@xifnch \else \ifx \@let@token \reserved@d \let \reserved@c \reserved@a \else \let \reserved@c \reserved@b \fi \fi \reserved@c 
+
+\reserved@c ->\@process@ptions 
+
+\@process@ptions ->\@for \CurrentOption :=\@declaredoptions \do {\ifx \CurrentOption \@empty \else \@expandtwoargs \in@ {,\CurrentOption ,}{,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,}\ifin@ \@use@ption \expandafter \let \csname ds@\CurrentOption \endcsname \@empty \fi \fi }\@process@pti@ns 
+
+\@for #1:=#2\do #3->\expandafter \def \expandafter \@fortmp \expandafter {#2}\ifx \@fortmp \@empty \else \expandafter \@forloop #2,\@nil ,\@nil \@@ #1{#3}\fi 
+#1<-\CurrentOption 
+#2<-\@declaredoptions 
+#3<-\ifx \CurrentOption \@empty \else \@expandtwoargs \in@ {,\CurrentOption ,}{,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,}\ifin@ \@use@ption \expandafter \let \csname ds@\CurrentOption \endcsname \@empty \fi \fi 
+
+\@declaredoptions ->,Proof,LAYOUT,submit,DAM,english,technote,sigrecommended,invited,PRO,ACS,TOD,TOM,CDS,DC,DCON,CVA,TBIO,SLDM,JIP,Data,Survey,Research,Short,abstract,systems,services,devices,preface,draft,OT,techrep,noauthor,system,Express,Practice,Content,TCE,invitedshort,recommendedshort,recommendedresearch,recommendedpractice,recommendedcontent,recommendeddevices,preprint,a4paper,a5paper,b4paper,b5paper,a4j,a5j,b4j,b5j,a4p,a5p,b4p,b5p,10pt,11pt,12pt,landscape,mentuke,tate,oneside,twoside,onecolumn,twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final
+
+\@declaredoptions ->,Proof,LAYOUT,submit,DAM,english,technote,sigrecommended,invited,PRO,ACS,TOD,TOM,CDS,DC,DCON,CVA,TBIO,SLDM,JIP,Data,Survey,Research,Short,abstract,systems,services,devices,preface,draft,OT,techrep,noauthor,system,Express,Practice,Content,TCE,invitedshort,recommendedshort,recommendedresearch,recommendedpractice,recommendedcontent,recommendeddevices,preprint,a4paper,a5paper,b4paper,b5paper,a4j,a5j,b4j,b5j,a4p,a5p,b4p,b5p,10pt,11pt,12pt,landscape,mentuke,tate,oneside,twoside,onecolumn,twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final
+
+\@forloop #1,#2,#3\@@ #4#5->\def #4{#1}\ifx #4\@nnil \else #5\def #4{#2}\ifx #4\@nnil \else #5\@iforloop #3\@@ #4{#5}\fi \fi 
+#1<-
+#2<-Proof
+#3<-LAYOUT,submit,DAM,english,technote,sigrecommended,invited,PRO,ACS,TOD,TOM,CDS,DC,DCON,CVA,TBIO,SLDM,JIP,Data,Survey,Research,Short,abstract,systems,services,devices,preface,draft,OT,techrep,noauthor,system,Express,Practice,Content,TCE,invitedshort,recommendedshort,recommendedresearch,recommendedpractice,recommendedcontent,recommendeddevices,preprint,a4paper,a5paper,b4paper,b5paper,a4j,a5j,b4j,b5j,a4p,a5p,b4p,b5p,10pt,11pt,12pt,landscape,mentuke,tate,oneside,twoside,onecolumn,twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#4<-\CurrentOption 
+#5<-\ifx \CurrentOption \@empty \else \@expandtwoargs \in@ {,\CurrentOption ,}{,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,}\ifin@ \@use@ption \expandafter \let \csname ds@\CurrentOption \endcsname \@empty \fi \fi 
+
+\@expandtwoargs #1#2#3->\edef \reserved@a {\noexpand #1{#2}{#3}}\reserved@a 
+#1<-\in@ 
+#2<-,\CurrentOption ,
+#3<-,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,
+
+\CurrentOption ->Proof
+
+\@curroptions ->submit,techrep,noauthor
+
+\reserved@a ->\in@ {,Proof,}{,submit,techrep,noauthor,}
+
+\in@ #1#2->\begingroup \def \in@@ ##1#1{}\toks@ \expandafter {\in@@ #2{}{}#1}\edef \in@@ {\the \toks@ }\expandafter \endgroup \ifx \in@@ \@empty \in@false \else \in@true \fi 
+#1<-,Proof,
+#2<-,submit,techrep,noauthor,
+
+\in@@ #1,Proof,->
+#1<-,submit,techrep,noauthor,{}{}
+
+\in@false ->\let \ifin@ \iffalse 
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-LAYOUT
+#2<-submit,DAM,english,technote,sigrecommended,invited,PRO,ACS,TOD,TOM,CDS,DC,DCON,CVA,TBIO,SLDM,JIP,Data,Survey,Research,Short,abstract,systems,services,devices,preface,draft,OT,techrep,noauthor,system,Express,Practice,Content,TCE,invitedshort,recommendedshort,recommendedresearch,recommendedpractice,recommendedcontent,recommendeddevices,preprint,a4paper,a5paper,b4paper,b5paper,a4j,a5j,b4j,b5j,a4p,a5p,b4p,b5p,10pt,11pt,12pt,landscape,mentuke,tate,oneside,twoside,onecolumn,twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\ifx \CurrentOption \@empty \else \@expandtwoargs \in@ {,\CurrentOption ,}{,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,}\ifin@ \@use@ption \expandafter \let \csname ds@\CurrentOption \endcsname \@empty \fi \fi 
+
+\@expandtwoargs #1#2#3->\edef \reserved@a {\noexpand #1{#2}{#3}}\reserved@a 
+#1<-\in@ 
+#2<-,\CurrentOption ,
+#3<-,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,
+
+\CurrentOption ->LAYOUT
+
+\@curroptions ->submit,techrep,noauthor
+
+\reserved@a ->\in@ {,LAYOUT,}{,submit,techrep,noauthor,}
+
+\in@ #1#2->\begingroup \def \in@@ ##1#1{}\toks@ \expandafter {\in@@ #2{}{}#1}\edef \in@@ {\the \toks@ }\expandafter \endgroup \ifx \in@@ \@empty \in@false \else \in@true \fi 
+#1<-,LAYOUT,
+#2<-,submit,techrep,noauthor,
+
+\in@@ #1,LAYOUT,->
+#1<-,submit,techrep,noauthor,{}{}
+
+\in@false ->\let \ifin@ \iffalse 
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-submit
+#2<-DAM,english,technote,sigrecommended,invited,PRO,ACS,TOD,TOM,CDS,DC,DCON,CVA,TBIO,SLDM,JIP,Data,Survey,Research,Short,abstract,systems,services,devices,preface,draft,OT,techrep,noauthor,system,Express,Practice,Content,TCE,invitedshort,recommendedshort,recommendedresearch,recommendedpractice,recommendedcontent,recommendeddevices,preprint,a4paper,a5paper,b4paper,b5paper,a4j,a5j,b4j,b5j,a4p,a5p,b4p,b5p,10pt,11pt,12pt,landscape,mentuke,tate,oneside,twoside,onecolumn,twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\ifx \CurrentOption \@empty \else \@expandtwoargs \in@ {,\CurrentOption ,}{,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,}\ifin@ \@use@ption \expandafter \let \csname ds@\CurrentOption \endcsname \@empty \fi \fi 
+
+\@expandtwoargs #1#2#3->\edef \reserved@a {\noexpand #1{#2}{#3}}\reserved@a 
+#1<-\in@ 
+#2<-,\CurrentOption ,
+#3<-,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,
+
+\CurrentOption ->submit
+
+\@curroptions ->submit,techrep,noauthor
+
+\reserved@a ->\in@ {,submit,}{,submit,techrep,noauthor,}
+
+\in@ #1#2->\begingroup \def \in@@ ##1#1{}\toks@ \expandafter {\in@@ #2{}{}#1}\edef \in@@ {\the \toks@ }\expandafter \endgroup \ifx \in@@ \@empty \in@false \else \in@true \fi 
+#1<-,submit,
+#2<-,submit,techrep,noauthor,
+
+\in@@ #1,submit,->
+#1<-
+
+\in@true ->\let \ifin@ \iftrue 
+
+\@use@ption ->\@expandtwoargs \@removeelement {\expandafter \@remove@eq@value \CurrentOption =\@nil }\@unusedoptionlist \@unusedoptionlist \csname ds@\CurrentOption \endcsname 
+
+\@expandtwoargs #1#2#3->\edef \reserved@a {\noexpand #1{#2}{#3}}\reserved@a 
+#1<-\@removeelement 
+#2<-\expandafter \@remove@eq@value \CurrentOption =\@nil 
+#3<-\@unusedoptionlist 
+
+\CurrentOption ->submit
+
+\@remove@eq@value #1=#2\@nil ->#1
+#1<-submit
+#2<-
+
+\@unusedoptionlist ->
+
+\reserved@a ->\@removeelement {submit}{}
+
+\@removeelement #1#2#3->\def \reserved@a ##1,#1,##2\reserved@a {##1,##2\reserved@b }\def \reserved@b ##1,\reserved@b ##2\reserved@b {\ifx ,##1\@empty \else ##1\fi }\edef #3{\expandafter \reserved@b \reserved@a ,#2,\reserved@b ,#1,\reserved@a }
+#1<-submit
+#2<-
+#3<-\@unusedoptionlist 
+
+\reserved@a #1,submit,#2\reserved@a ->#1,#2\reserved@b 
+#1<-,,\reserved@b 
+#2<-
+
+\reserved@b #1,\reserved@b #2\reserved@b ->\ifx ,#1\@empty \else #1\fi 
+#1<-,
+#2<-,
+
+\@empty ->
+
+\CurrentOption ->submit
+
+\ds@submit ->\@submittrue 
+
+\@submittrue ->\let \if@submit \iftrue 
+
+\CurrentOption ->submit
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-DAM
+#2<-english,technote,sigrecommended,invited,PRO,ACS,TOD,TOM,CDS,DC,DCON,CVA,TBIO,SLDM,JIP,Data,Survey,Research,Short,abstract,systems,services,devices,preface,draft,OT,techrep,noauthor,system,Express,Practice,Content,TCE,invitedshort,recommendedshort,recommendedresearch,recommendedpractice,recommendedcontent,recommendeddevices,preprint,a4paper,a5paper,b4paper,b5paper,a4j,a5j,b4j,b5j,a4p,a5p,b4p,b5p,10pt,11pt,12pt,landscape,mentuke,tate,oneside,twoside,onecolumn,twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\ifx \CurrentOption \@empty \else \@expandtwoargs \in@ {,\CurrentOption ,}{,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,}\ifin@ \@use@ption \expandafter \let \csname ds@\CurrentOption \endcsname \@empty \fi \fi 
+
+\@expandtwoargs #1#2#3->\edef \reserved@a {\noexpand #1{#2}{#3}}\reserved@a 
+#1<-\in@ 
+#2<-,\CurrentOption ,
+#3<-,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,
+
+\CurrentOption ->DAM
+
+\@curroptions ->submit,techrep,noauthor
+
+\reserved@a ->\in@ {,DAM,}{,submit,techrep,noauthor,}
+
+\in@ #1#2->\begingroup \def \in@@ ##1#1{}\toks@ \expandafter {\in@@ #2{}{}#1}\edef \in@@ {\the \toks@ }\expandafter \endgroup \ifx \in@@ \@empty \in@false \else \in@true \fi 
+#1<-,DAM,
+#2<-,submit,techrep,noauthor,
+
+\in@@ #1,DAM,->
+#1<-,submit,techrep,noauthor,{}{}
+
+\in@false ->\let \ifin@ \iffalse 
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-english
+#2<-technote,sigrecommended,invited,PRO,ACS,TOD,TOM,CDS,DC,DCON,CVA,TBIO,SLDM,JIP,Data,Survey,Research,Short,abstract,systems,services,devices,preface,draft,OT,techrep,noauthor,system,Express,Practice,Content,TCE,invitedshort,recommendedshort,recommendedresearch,recommendedpractice,recommendedcontent,recommendeddevices,preprint,a4paper,a5paper,b4paper,b5paper,a4j,a5j,b4j,b5j,a4p,a5p,b4p,b5p,10pt,11pt,12pt,landscape,mentuke,tate,oneside,twoside,onecolumn,twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\ifx \CurrentOption \@empty \else \@expandtwoargs \in@ {,\CurrentOption ,}{,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,}\ifin@ \@use@ption \expandafter \let \csname ds@\CurrentOption \endcsname \@empty \fi \fi 
+
+\@expandtwoargs #1#2#3->\edef \reserved@a {\noexpand #1{#2}{#3}}\reserved@a 
+#1<-\in@ 
+#2<-,\CurrentOption ,
+#3<-,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,
+
+\CurrentOption ->english
+
+\@curroptions ->submit,techrep,noauthor
+
+\reserved@a ->\in@ {,english,}{,submit,techrep,noauthor,}
+
+\in@ #1#2->\begingroup \def \in@@ ##1#1{}\toks@ \expandafter {\in@@ #2{}{}#1}\edef \in@@ {\the \toks@ }\expandafter \endgroup \ifx \in@@ \@empty \in@false \else \in@true \fi 
+#1<-,english,
+#2<-,submit,techrep,noauthor,
+
+\in@@ #1,english,->
+#1<-,submit,techrep,noauthor,{}{}
+
+\in@false ->\let \ifin@ \iffalse 
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-technote
+#2<-sigrecommended,invited,PRO,ACS,TOD,TOM,CDS,DC,DCON,CVA,TBIO,SLDM,JIP,Data,Survey,Research,Short,abstract,systems,services,devices,preface,draft,OT,techrep,noauthor,system,Express,Practice,Content,TCE,invitedshort,recommendedshort,recommendedresearch,recommendedpractice,recommendedcontent,recommendeddevices,preprint,a4paper,a5paper,b4paper,b5paper,a4j,a5j,b4j,b5j,a4p,a5p,b4p,b5p,10pt,11pt,12pt,landscape,mentuke,tate,oneside,twoside,onecolumn,twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\ifx \CurrentOption \@empty \else \@expandtwoargs \in@ {,\CurrentOption ,}{,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,}\ifin@ \@use@ption \expandafter \let \csname ds@\CurrentOption \endcsname \@empty \fi \fi 
+
+\@expandtwoargs #1#2#3->\edef \reserved@a {\noexpand #1{#2}{#3}}\reserved@a 
+#1<-\in@ 
+#2<-,\CurrentOption ,
+#3<-,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,
+
+\CurrentOption ->technote
+
+\@curroptions ->submit,techrep,noauthor
+
+\reserved@a ->\in@ {,technote,}{,submit,techrep,noauthor,}
+
+\in@ #1#2->\begingroup \def \in@@ ##1#1{}\toks@ \expandafter {\in@@ #2{}{}#1}\edef \in@@ {\the \toks@ }\expandafter \endgroup \ifx \in@@ \@empty \in@false \else \in@true \fi 
+#1<-,technote,
+#2<-,submit,techrep,noauthor,
+
+\in@@ #1,technote,->
+#1<-,submit,techrep,noauthor,{}{}
+
+\in@false ->\let \ifin@ \iffalse 
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-sigrecommended
+#2<-invited,PRO,ACS,TOD,TOM,CDS,DC,DCON,CVA,TBIO,SLDM,JIP,Data,Survey,Research,Short,abstract,systems,services,devices,preface,draft,OT,techrep,noauthor,system,Express,Practice,Content,TCE,invitedshort,recommendedshort,recommendedresearch,recommendedpractice,recommendedcontent,recommendeddevices,preprint,a4paper,a5paper,b4paper,b5paper,a4j,a5j,b4j,b5j,a4p,a5p,b4p,b5p,10pt,11pt,12pt,landscape,mentuke,tate,oneside,twoside,onecolumn,twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\ifx \CurrentOption \@empty \else \@expandtwoargs \in@ {,\CurrentOption ,}{,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,}\ifin@ \@use@ption \expandafter \let \csname ds@\CurrentOption \endcsname \@empty \fi \fi 
+
+\@expandtwoargs #1#2#3->\edef \reserved@a {\noexpand #1{#2}{#3}}\reserved@a 
+#1<-\in@ 
+#2<-,\CurrentOption ,
+#3<-,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,
+
+\CurrentOption ->sigrecommended
+
+\@curroptions ->submit,techrep,noauthor
+
+\reserved@a ->\in@ {,sigrecommended,}{,submit,techrep,noauthor,}
+
+\in@ #1#2->\begingroup \def \in@@ ##1#1{}\toks@ \expandafter {\in@@ #2{}{}#1}\edef \in@@ {\the \toks@ }\expandafter \endgroup \ifx \in@@ \@empty \in@false \else \in@true \fi 
+#1<-,sigrecommended,
+#2<-,submit,techrep,noauthor,
+
+\in@@ #1,sigrecommended,->
+#1<-,submit,techrep,noauthor,{}{}
+
+\in@false ->\let \ifin@ \iffalse 
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-invited
+#2<-PRO,ACS,TOD,TOM,CDS,DC,DCON,CVA,TBIO,SLDM,JIP,Data,Survey,Research,Short,abstract,systems,services,devices,preface,draft,OT,techrep,noauthor,system,Express,Practice,Content,TCE,invitedshort,recommendedshort,recommendedresearch,recommendedpractice,recommendedcontent,recommendeddevices,preprint,a4paper,a5paper,b4paper,b5paper,a4j,a5j,b4j,b5j,a4p,a5p,b4p,b5p,10pt,11pt,12pt,landscape,mentuke,tate,oneside,twoside,onecolumn,twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\ifx \CurrentOption \@empty \else \@expandtwoargs \in@ {,\CurrentOption ,}{,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,}\ifin@ \@use@ption \expandafter \let \csname ds@\CurrentOption \endcsname \@empty \fi \fi 
+
+\@expandtwoargs #1#2#3->\edef \reserved@a {\noexpand #1{#2}{#3}}\reserved@a 
+#1<-\in@ 
+#2<-,\CurrentOption ,
+#3<-,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,
+
+\CurrentOption ->invited
+
+\@curroptions ->submit,techrep,noauthor
+
+\reserved@a ->\in@ {,invited,}{,submit,techrep,noauthor,}
+
+\in@ #1#2->\begingroup \def \in@@ ##1#1{}\toks@ \expandafter {\in@@ #2{}{}#1}\edef \in@@ {\the \toks@ }\expandafter \endgroup \ifx \in@@ \@empty \in@false \else \in@true \fi 
+#1<-,invited,
+#2<-,submit,techrep,noauthor,
+
+\in@@ #1,invited,->
+#1<-,submit,techrep,noauthor,{}{}
+
+\in@false ->\let \ifin@ \iffalse 
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-PRO
+#2<-ACS,TOD,TOM,CDS,DC,DCON,CVA,TBIO,SLDM,JIP,Data,Survey,Research,Short,abstract,systems,services,devices,preface,draft,OT,techrep,noauthor,system,Express,Practice,Content,TCE,invitedshort,recommendedshort,recommendedresearch,recommendedpractice,recommendedcontent,recommendeddevices,preprint,a4paper,a5paper,b4paper,b5paper,a4j,a5j,b4j,b5j,a4p,a5p,b4p,b5p,10pt,11pt,12pt,landscape,mentuke,tate,oneside,twoside,onecolumn,twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\ifx \CurrentOption \@empty \else \@expandtwoargs \in@ {,\CurrentOption ,}{,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,}\ifin@ \@use@ption \expandafter \let \csname ds@\CurrentOption \endcsname \@empty \fi \fi 
+
+\@expandtwoargs #1#2#3->\edef \reserved@a {\noexpand #1{#2}{#3}}\reserved@a 
+#1<-\in@ 
+#2<-,\CurrentOption ,
+#3<-,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,
+
+\CurrentOption ->PRO
+
+\@curroptions ->submit,techrep,noauthor
+
+\reserved@a ->\in@ {,PRO,}{,submit,techrep,noauthor,}
+
+\in@ #1#2->\begingroup \def \in@@ ##1#1{}\toks@ \expandafter {\in@@ #2{}{}#1}\edef \in@@ {\the \toks@ }\expandafter \endgroup \ifx \in@@ \@empty \in@false \else \in@true \fi 
+#1<-,PRO,
+#2<-,submit,techrep,noauthor,
+
+\in@@ #1,PRO,->
+#1<-,submit,techrep,noauthor,{}{}
+
+\in@false ->\let \ifin@ \iffalse 
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-ACS
+#2<-TOD,TOM,CDS,DC,DCON,CVA,TBIO,SLDM,JIP,Data,Survey,Research,Short,abstract,systems,services,devices,preface,draft,OT,techrep,noauthor,system,Express,Practice,Content,TCE,invitedshort,recommendedshort,recommendedresearch,recommendedpractice,recommendedcontent,recommendeddevices,preprint,a4paper,a5paper,b4paper,b5paper,a4j,a5j,b4j,b5j,a4p,a5p,b4p,b5p,10pt,11pt,12pt,landscape,mentuke,tate,oneside,twoside,onecolumn,twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\ifx \CurrentOption \@empty \else \@expandtwoargs \in@ {,\CurrentOption ,}{,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,}\ifin@ \@use@ption \expandafter \let \csname ds@\CurrentOption \endcsname \@empty \fi \fi 
+
+\@expandtwoargs #1#2#3->\edef \reserved@a {\noexpand #1{#2}{#3}}\reserved@a 
+#1<-\in@ 
+#2<-,\CurrentOption ,
+#3<-,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,
+
+\CurrentOption ->ACS
+
+\@curroptions ->submit,techrep,noauthor
+
+\reserved@a ->\in@ {,ACS,}{,submit,techrep,noauthor,}
+
+\in@ #1#2->\begingroup \def \in@@ ##1#1{}\toks@ \expandafter {\in@@ #2{}{}#1}\edef \in@@ {\the \toks@ }\expandafter \endgroup \ifx \in@@ \@empty \in@false \else \in@true \fi 
+#1<-,ACS,
+#2<-,submit,techrep,noauthor,
+
+\in@@ #1,ACS,->
+#1<-,submit,techrep,noauthor,{}{}
+
+\in@false ->\let \ifin@ \iffalse 
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-TOD
+#2<-TOM,CDS,DC,DCON,CVA,TBIO,SLDM,JIP,Data,Survey,Research,Short,abstract,systems,services,devices,preface,draft,OT,techrep,noauthor,system,Express,Practice,Content,TCE,invitedshort,recommendedshort,recommendedresearch,recommendedpractice,recommendedcontent,recommendeddevices,preprint,a4paper,a5paper,b4paper,b5paper,a4j,a5j,b4j,b5j,a4p,a5p,b4p,b5p,10pt,11pt,12pt,landscape,mentuke,tate,oneside,twoside,onecolumn,twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\ifx \CurrentOption \@empty \else \@expandtwoargs \in@ {,\CurrentOption ,}{,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,}\ifin@ \@use@ption \expandafter \let \csname ds@\CurrentOption \endcsname \@empty \fi \fi 
+
+\@expandtwoargs #1#2#3->\edef \reserved@a {\noexpand #1{#2}{#3}}\reserved@a 
+#1<-\in@ 
+#2<-,\CurrentOption ,
+#3<-,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,
+
+\CurrentOption ->TOD
+
+\@curroptions ->submit,techrep,noauthor
+
+\reserved@a ->\in@ {,TOD,}{,submit,techrep,noauthor,}
+
+\in@ #1#2->\begingroup \def \in@@ ##1#1{}\toks@ \expandafter {\in@@ #2{}{}#1}\edef \in@@ {\the \toks@ }\expandafter \endgroup \ifx \in@@ \@empty \in@false \else \in@true \fi 
+#1<-,TOD,
+#2<-,submit,techrep,noauthor,
+
+\in@@ #1,TOD,->
+#1<-,submit,techrep,noauthor,{}{}
+
+\in@false ->\let \ifin@ \iffalse 
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-TOM
+#2<-CDS,DC,DCON,CVA,TBIO,SLDM,JIP,Data,Survey,Research,Short,abstract,systems,services,devices,preface,draft,OT,techrep,noauthor,system,Express,Practice,Content,TCE,invitedshort,recommendedshort,recommendedresearch,recommendedpractice,recommendedcontent,recommendeddevices,preprint,a4paper,a5paper,b4paper,b5paper,a4j,a5j,b4j,b5j,a4p,a5p,b4p,b5p,10pt,11pt,12pt,landscape,mentuke,tate,oneside,twoside,onecolumn,twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\ifx \CurrentOption \@empty \else \@expandtwoargs \in@ {,\CurrentOption ,}{,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,}\ifin@ \@use@ption \expandafter \let \csname ds@\CurrentOption \endcsname \@empty \fi \fi 
+
+\@expandtwoargs #1#2#3->\edef \reserved@a {\noexpand #1{#2}{#3}}\reserved@a 
+#1<-\in@ 
+#2<-,\CurrentOption ,
+#3<-,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,
+
+\CurrentOption ->TOM
+
+\@curroptions ->submit,techrep,noauthor
+
+\reserved@a ->\in@ {,TOM,}{,submit,techrep,noauthor,}
+
+\in@ #1#2->\begingroup \def \in@@ ##1#1{}\toks@ \expandafter {\in@@ #2{}{}#1}\edef \in@@ {\the \toks@ }\expandafter \endgroup \ifx \in@@ \@empty \in@false \else \in@true \fi 
+#1<-,TOM,
+#2<-,submit,techrep,noauthor,
+
+\in@@ #1,TOM,->
+#1<-,submit,techrep,noauthor,{}{}
+
+\in@false ->\let \ifin@ \iffalse 
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-CDS
+#2<-DC,DCON,CVA,TBIO,SLDM,JIP,Data,Survey,Research,Short,abstract,systems,services,devices,preface,draft,OT,techrep,noauthor,system,Express,Practice,Content,TCE,invitedshort,recommendedshort,recommendedresearch,recommendedpractice,recommendedcontent,recommendeddevices,preprint,a4paper,a5paper,b4paper,b5paper,a4j,a5j,b4j,b5j,a4p,a5p,b4p,b5p,10pt,11pt,12pt,landscape,mentuke,tate,oneside,twoside,onecolumn,twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\ifx \CurrentOption \@empty \else \@expandtwoargs \in@ {,\CurrentOption ,}{,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,}\ifin@ \@use@ption \expandafter \let \csname ds@\CurrentOption \endcsname \@empty \fi \fi 
+
+\@expandtwoargs #1#2#3->\edef \reserved@a {\noexpand #1{#2}{#3}}\reserved@a 
+#1<-\in@ 
+#2<-,\CurrentOption ,
+#3<-,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,
+
+\CurrentOption ->CDS
+
+\@curroptions ->submit,techrep,noauthor
+
+\reserved@a ->\in@ {,CDS,}{,submit,techrep,noauthor,}
+
+\in@ #1#2->\begingroup \def \in@@ ##1#1{}\toks@ \expandafter {\in@@ #2{}{}#1}\edef \in@@ {\the \toks@ }\expandafter \endgroup \ifx \in@@ \@empty \in@false \else \in@true \fi 
+#1<-,CDS,
+#2<-,submit,techrep,noauthor,
+
+\in@@ #1,CDS,->
+#1<-,submit,techrep,noauthor,{}{}
+
+\in@false ->\let \ifin@ \iffalse 
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-DC
+#2<-DCON,CVA,TBIO,SLDM,JIP,Data,Survey,Research,Short,abstract,systems,services,devices,preface,draft,OT,techrep,noauthor,system,Express,Practice,Content,TCE,invitedshort,recommendedshort,recommendedresearch,recommendedpractice,recommendedcontent,recommendeddevices,preprint,a4paper,a5paper,b4paper,b5paper,a4j,a5j,b4j,b5j,a4p,a5p,b4p,b5p,10pt,11pt,12pt,landscape,mentuke,tate,oneside,twoside,onecolumn,twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\ifx \CurrentOption \@empty \else \@expandtwoargs \in@ {,\CurrentOption ,}{,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,}\ifin@ \@use@ption \expandafter \let \csname ds@\CurrentOption \endcsname \@empty \fi \fi 
+
+\@expandtwoargs #1#2#3->\edef \reserved@a {\noexpand #1{#2}{#3}}\reserved@a 
+#1<-\in@ 
+#2<-,\CurrentOption ,
+#3<-,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,
+
+\CurrentOption ->DC
+
+\@curroptions ->submit,techrep,noauthor
+
+\reserved@a ->\in@ {,DC,}{,submit,techrep,noauthor,}
+
+\in@ #1#2->\begingroup \def \in@@ ##1#1{}\toks@ \expandafter {\in@@ #2{}{}#1}\edef \in@@ {\the \toks@ }\expandafter \endgroup \ifx \in@@ \@empty \in@false \else \in@true \fi 
+#1<-,DC,
+#2<-,submit,techrep,noauthor,
+
+\in@@ #1,DC,->
+#1<-,submit,techrep,noauthor,{}{}
+
+\in@false ->\let \ifin@ \iffalse 
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-DCON
+#2<-CVA,TBIO,SLDM,JIP,Data,Survey,Research,Short,abstract,systems,services,devices,preface,draft,OT,techrep,noauthor,system,Express,Practice,Content,TCE,invitedshort,recommendedshort,recommendedresearch,recommendedpractice,recommendedcontent,recommendeddevices,preprint,a4paper,a5paper,b4paper,b5paper,a4j,a5j,b4j,b5j,a4p,a5p,b4p,b5p,10pt,11pt,12pt,landscape,mentuke,tate,oneside,twoside,onecolumn,twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\ifx \CurrentOption \@empty \else \@expandtwoargs \in@ {,\CurrentOption ,}{,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,}\ifin@ \@use@ption \expandafter \let \csname ds@\CurrentOption \endcsname \@empty \fi \fi 
+
+\@expandtwoargs #1#2#3->\edef \reserved@a {\noexpand #1{#2}{#3}}\reserved@a 
+#1<-\in@ 
+#2<-,\CurrentOption ,
+#3<-,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,
+
+\CurrentOption ->DCON
+
+\@curroptions ->submit,techrep,noauthor
+
+\reserved@a ->\in@ {,DCON,}{,submit,techrep,noauthor,}
+
+\in@ #1#2->\begingroup \def \in@@ ##1#1{}\toks@ \expandafter {\in@@ #2{}{}#1}\edef \in@@ {\the \toks@ }\expandafter \endgroup \ifx \in@@ \@empty \in@false \else \in@true \fi 
+#1<-,DCON,
+#2<-,submit,techrep,noauthor,
+
+\in@@ #1,DCON,->
+#1<-,submit,techrep,noauthor,{}{}
+
+\in@false ->\let \ifin@ \iffalse 
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-CVA
+#2<-TBIO,SLDM,JIP,Data,Survey,Research,Short,abstract,systems,services,devices,preface,draft,OT,techrep,noauthor,system,Express,Practice,Content,TCE,invitedshort,recommendedshort,recommendedresearch,recommendedpractice,recommendedcontent,recommendeddevices,preprint,a4paper,a5paper,b4paper,b5paper,a4j,a5j,b4j,b5j,a4p,a5p,b4p,b5p,10pt,11pt,12pt,landscape,mentuke,tate,oneside,twoside,onecolumn,twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\ifx \CurrentOption \@empty \else \@expandtwoargs \in@ {,\CurrentOption ,}{,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,}\ifin@ \@use@ption \expandafter \let \csname ds@\CurrentOption \endcsname \@empty \fi \fi 
+
+\@expandtwoargs #1#2#3->\edef \reserved@a {\noexpand #1{#2}{#3}}\reserved@a 
+#1<-\in@ 
+#2<-,\CurrentOption ,
+#3<-,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,
+
+\CurrentOption ->CVA
+
+\@curroptions ->submit,techrep,noauthor
+
+\reserved@a ->\in@ {,CVA,}{,submit,techrep,noauthor,}
+
+\in@ #1#2->\begingroup \def \in@@ ##1#1{}\toks@ \expandafter {\in@@ #2{}{}#1}\edef \in@@ {\the \toks@ }\expandafter \endgroup \ifx \in@@ \@empty \in@false \else \in@true \fi 
+#1<-,CVA,
+#2<-,submit,techrep,noauthor,
+
+\in@@ #1,CVA,->
+#1<-,submit,techrep,noauthor,{}{}
+
+\in@false ->\let \ifin@ \iffalse 
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-TBIO
+#2<-SLDM,JIP,Data,Survey,Research,Short,abstract,systems,services,devices,preface,draft,OT,techrep,noauthor,system,Express,Practice,Content,TCE,invitedshort,recommendedshort,recommendedresearch,recommendedpractice,recommendedcontent,recommendeddevices,preprint,a4paper,a5paper,b4paper,b5paper,a4j,a5j,b4j,b5j,a4p,a5p,b4p,b5p,10pt,11pt,12pt,landscape,mentuke,tate,oneside,twoside,onecolumn,twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\ifx \CurrentOption \@empty \else \@expandtwoargs \in@ {,\CurrentOption ,}{,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,}\ifin@ \@use@ption \expandafter \let \csname ds@\CurrentOption \endcsname \@empty \fi \fi 
+
+\@expandtwoargs #1#2#3->\edef \reserved@a {\noexpand #1{#2}{#3}}\reserved@a 
+#1<-\in@ 
+#2<-,\CurrentOption ,
+#3<-,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,
+
+\CurrentOption ->TBIO
+
+\@curroptions ->submit,techrep,noauthor
+
+\reserved@a ->\in@ {,TBIO,}{,submit,techrep,noauthor,}
+
+\in@ #1#2->\begingroup \def \in@@ ##1#1{}\toks@ \expandafter {\in@@ #2{}{}#1}\edef \in@@ {\the \toks@ }\expandafter \endgroup \ifx \in@@ \@empty \in@false \else \in@true \fi 
+#1<-,TBIO,
+#2<-,submit,techrep,noauthor,
+
+\in@@ #1,TBIO,->
+#1<-,submit,techrep,noauthor,{}{}
+
+\in@false ->\let \ifin@ \iffalse 
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-SLDM
+#2<-JIP,Data,Survey,Research,Short,abstract,systems,services,devices,preface,draft,OT,techrep,noauthor,system,Express,Practice,Content,TCE,invitedshort,recommendedshort,recommendedresearch,recommendedpractice,recommendedcontent,recommendeddevices,preprint,a4paper,a5paper,b4paper,b5paper,a4j,a5j,b4j,b5j,a4p,a5p,b4p,b5p,10pt,11pt,12pt,landscape,mentuke,tate,oneside,twoside,onecolumn,twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\ifx \CurrentOption \@empty \else \@expandtwoargs \in@ {,\CurrentOption ,}{,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,}\ifin@ \@use@ption \expandafter \let \csname ds@\CurrentOption \endcsname \@empty \fi \fi 
+
+\@expandtwoargs #1#2#3->\edef \reserved@a {\noexpand #1{#2}{#3}}\reserved@a 
+#1<-\in@ 
+#2<-,\CurrentOption ,
+#3<-,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,
+
+\CurrentOption ->SLDM
+
+\@curroptions ->submit,techrep,noauthor
+
+\reserved@a ->\in@ {,SLDM,}{,submit,techrep,noauthor,}
+
+\in@ #1#2->\begingroup \def \in@@ ##1#1{}\toks@ \expandafter {\in@@ #2{}{}#1}\edef \in@@ {\the \toks@ }\expandafter \endgroup \ifx \in@@ \@empty \in@false \else \in@true \fi 
+#1<-,SLDM,
+#2<-,submit,techrep,noauthor,
+
+\in@@ #1,SLDM,->
+#1<-,submit,techrep,noauthor,{}{}
+
+\in@false ->\let \ifin@ \iffalse 
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-JIP
+#2<-Data,Survey,Research,Short,abstract,systems,services,devices,preface,draft,OT,techrep,noauthor,system,Express,Practice,Content,TCE,invitedshort,recommendedshort,recommendedresearch,recommendedpractice,recommendedcontent,recommendeddevices,preprint,a4paper,a5paper,b4paper,b5paper,a4j,a5j,b4j,b5j,a4p,a5p,b4p,b5p,10pt,11pt,12pt,landscape,mentuke,tate,oneside,twoside,onecolumn,twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\ifx \CurrentOption \@empty \else \@expandtwoargs \in@ {,\CurrentOption ,}{,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,}\ifin@ \@use@ption \expandafter \let \csname ds@\CurrentOption \endcsname \@empty \fi \fi 
+
+\@expandtwoargs #1#2#3->\edef \reserved@a {\noexpand #1{#2}{#3}}\reserved@a 
+#1<-\in@ 
+#2<-,\CurrentOption ,
+#3<-,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,
+
+\CurrentOption ->JIP
+
+\@curroptions ->submit,techrep,noauthor
+
+\reserved@a ->\in@ {,JIP,}{,submit,techrep,noauthor,}
+
+\in@ #1#2->\begingroup \def \in@@ ##1#1{}\toks@ \expandafter {\in@@ #2{}{}#1}\edef \in@@ {\the \toks@ }\expandafter \endgroup \ifx \in@@ \@empty \in@false \else \in@true \fi 
+#1<-,JIP,
+#2<-,submit,techrep,noauthor,
+
+\in@@ #1,JIP,->
+#1<-,submit,techrep,noauthor,{}{}
+
+\in@false ->\let \ifin@ \iffalse 
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-Data
+#2<-Survey,Research,Short,abstract,systems,services,devices,preface,draft,OT,techrep,noauthor,system,Express,Practice,Content,TCE,invitedshort,recommendedshort,recommendedresearch,recommendedpractice,recommendedcontent,recommendeddevices,preprint,a4paper,a5paper,b4paper,b5paper,a4j,a5j,b4j,b5j,a4p,a5p,b4p,b5p,10pt,11pt,12pt,landscape,mentuke,tate,oneside,twoside,onecolumn,twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\ifx \CurrentOption \@empty \else \@expandtwoargs \in@ {,\CurrentOption ,}{,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,}\ifin@ \@use@ption \expandafter \let \csname ds@\CurrentOption \endcsname \@empty \fi \fi 
+
+\@expandtwoargs #1#2#3->\edef \reserved@a {\noexpand #1{#2}{#3}}\reserved@a 
+#1<-\in@ 
+#2<-,\CurrentOption ,
+#3<-,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,
+
+\CurrentOption ->Data
+
+\@curroptions ->submit,techrep,noauthor
+
+\reserved@a ->\in@ {,Data,}{,submit,techrep,noauthor,}
+
+\in@ #1#2->\begingroup \def \in@@ ##1#1{}\toks@ \expandafter {\in@@ #2{}{}#1}\edef \in@@ {\the \toks@ }\expandafter \endgroup \ifx \in@@ \@empty \in@false \else \in@true \fi 
+#1<-,Data,
+#2<-,submit,techrep,noauthor,
+
+\in@@ #1,Data,->
+#1<-,submit,techrep,noauthor,{}{}
+
+\in@false ->\let \ifin@ \iffalse 
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-Survey
+#2<-Research,Short,abstract,systems,services,devices,preface,draft,OT,techrep,noauthor,system,Express,Practice,Content,TCE,invitedshort,recommendedshort,recommendedresearch,recommendedpractice,recommendedcontent,recommendeddevices,preprint,a4paper,a5paper,b4paper,b5paper,a4j,a5j,b4j,b5j,a4p,a5p,b4p,b5p,10pt,11pt,12pt,landscape,mentuke,tate,oneside,twoside,onecolumn,twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\ifx \CurrentOption \@empty \else \@expandtwoargs \in@ {,\CurrentOption ,}{,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,}\ifin@ \@use@ption \expandafter \let \csname ds@\CurrentOption \endcsname \@empty \fi \fi 
+
+\@expandtwoargs #1#2#3->\edef \reserved@a {\noexpand #1{#2}{#3}}\reserved@a 
+#1<-\in@ 
+#2<-,\CurrentOption ,
+#3<-,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,
+
+\CurrentOption ->Survey
+
+\@curroptions ->submit,techrep,noauthor
+
+\reserved@a ->\in@ {,Survey,}{,submit,techrep,noauthor,}
+
+\in@ #1#2->\begingroup \def \in@@ ##1#1{}\toks@ \expandafter {\in@@ #2{}{}#1}\edef \in@@ {\the \toks@ }\expandafter \endgroup \ifx \in@@ \@empty \in@false \else \in@true \fi 
+#1<-,Survey,
+#2<-,submit,techrep,noauthor,
+
+\in@@ #1,Survey,->
+#1<-,submit,techrep,noauthor,{}{}
+
+\in@false ->\let \ifin@ \iffalse 
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-Research
+#2<-Short,abstract,systems,services,devices,preface,draft,OT,techrep,noauthor,system,Express,Practice,Content,TCE,invitedshort,recommendedshort,recommendedresearch,recommendedpractice,recommendedcontent,recommendeddevices,preprint,a4paper,a5paper,b4paper,b5paper,a4j,a5j,b4j,b5j,a4p,a5p,b4p,b5p,10pt,11pt,12pt,landscape,mentuke,tate,oneside,twoside,onecolumn,twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\ifx \CurrentOption \@empty \else \@expandtwoargs \in@ {,\CurrentOption ,}{,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,}\ifin@ \@use@ption \expandafter \let \csname ds@\CurrentOption \endcsname \@empty \fi \fi 
+
+\@expandtwoargs #1#2#3->\edef \reserved@a {\noexpand #1{#2}{#3}}\reserved@a 
+#1<-\in@ 
+#2<-,\CurrentOption ,
+#3<-,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,
+
+\CurrentOption ->Research
+
+\@curroptions ->submit,techrep,noauthor
+
+\reserved@a ->\in@ {,Research,}{,submit,techrep,noauthor,}
+
+\in@ #1#2->\begingroup \def \in@@ ##1#1{}\toks@ \expandafter {\in@@ #2{}{}#1}\edef \in@@ {\the \toks@ }\expandafter \endgroup \ifx \in@@ \@empty \in@false \else \in@true \fi 
+#1<-,Research,
+#2<-,submit,techrep,noauthor,
+
+\in@@ #1,Research,->
+#1<-,submit,techrep,noauthor,{}{}
+
+\in@false ->\let \ifin@ \iffalse 
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-Short
+#2<-abstract,systems,services,devices,preface,draft,OT,techrep,noauthor,system,Express,Practice,Content,TCE,invitedshort,recommendedshort,recommendedresearch,recommendedpractice,recommendedcontent,recommendeddevices,preprint,a4paper,a5paper,b4paper,b5paper,a4j,a5j,b4j,b5j,a4p,a5p,b4p,b5p,10pt,11pt,12pt,landscape,mentuke,tate,oneside,twoside,onecolumn,twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\ifx \CurrentOption \@empty \else \@expandtwoargs \in@ {,\CurrentOption ,}{,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,}\ifin@ \@use@ption \expandafter \let \csname ds@\CurrentOption \endcsname \@empty \fi \fi 
+
+\@expandtwoargs #1#2#3->\edef \reserved@a {\noexpand #1{#2}{#3}}\reserved@a 
+#1<-\in@ 
+#2<-,\CurrentOption ,
+#3<-,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,
+
+\CurrentOption ->Short
+
+\@curroptions ->submit,techrep,noauthor
+
+\reserved@a ->\in@ {,Short,}{,submit,techrep,noauthor,}
+
+\in@ #1#2->\begingroup \def \in@@ ##1#1{}\toks@ \expandafter {\in@@ #2{}{}#1}\edef \in@@ {\the \toks@ }\expandafter \endgroup \ifx \in@@ \@empty \in@false \else \in@true \fi 
+#1<-,Short,
+#2<-,submit,techrep,noauthor,
+
+\in@@ #1,Short,->
+#1<-,submit,techrep,noauthor,{}{}
+
+\in@false ->\let \ifin@ \iffalse 
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-abstract
+#2<-systems,services,devices,preface,draft,OT,techrep,noauthor,system,Express,Practice,Content,TCE,invitedshort,recommendedshort,recommendedresearch,recommendedpractice,recommendedcontent,recommendeddevices,preprint,a4paper,a5paper,b4paper,b5paper,a4j,a5j,b4j,b5j,a4p,a5p,b4p,b5p,10pt,11pt,12pt,landscape,mentuke,tate,oneside,twoside,onecolumn,twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\ifx \CurrentOption \@empty \else \@expandtwoargs \in@ {,\CurrentOption ,}{,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,}\ifin@ \@use@ption \expandafter \let \csname ds@\CurrentOption \endcsname \@empty \fi \fi 
+
+\@expandtwoargs #1#2#3->\edef \reserved@a {\noexpand #1{#2}{#3}}\reserved@a 
+#1<-\in@ 
+#2<-,\CurrentOption ,
+#3<-,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,
+
+\CurrentOption ->abstract
+
+\@curroptions ->submit,techrep,noauthor
+
+\reserved@a ->\in@ {,abstract,}{,submit,techrep,noauthor,}
+
+\in@ #1#2->\begingroup \def \in@@ ##1#1{}\toks@ \expandafter {\in@@ #2{}{}#1}\edef \in@@ {\the \toks@ }\expandafter \endgroup \ifx \in@@ \@empty \in@false \else \in@true \fi 
+#1<-,abstract,
+#2<-,submit,techrep,noauthor,
+
+\in@@ #1,abstract,->
+#1<-,submit,techrep,noauthor,{}{}
+
+\in@false ->\let \ifin@ \iffalse 
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-systems
+#2<-services,devices,preface,draft,OT,techrep,noauthor,system,Express,Practice,Content,TCE,invitedshort,recommendedshort,recommendedresearch,recommendedpractice,recommendedcontent,recommendeddevices,preprint,a4paper,a5paper,b4paper,b5paper,a4j,a5j,b4j,b5j,a4p,a5p,b4p,b5p,10pt,11pt,12pt,landscape,mentuke,tate,oneside,twoside,onecolumn,twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\ifx \CurrentOption \@empty \else \@expandtwoargs \in@ {,\CurrentOption ,}{,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,}\ifin@ \@use@ption \expandafter \let \csname ds@\CurrentOption \endcsname \@empty \fi \fi 
+
+\@expandtwoargs #1#2#3->\edef \reserved@a {\noexpand #1{#2}{#3}}\reserved@a 
+#1<-\in@ 
+#2<-,\CurrentOption ,
+#3<-,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,
+
+\CurrentOption ->systems
+
+\@curroptions ->submit,techrep,noauthor
+
+\reserved@a ->\in@ {,systems,}{,submit,techrep,noauthor,}
+
+\in@ #1#2->\begingroup \def \in@@ ##1#1{}\toks@ \expandafter {\in@@ #2{}{}#1}\edef \in@@ {\the \toks@ }\expandafter \endgroup \ifx \in@@ \@empty \in@false \else \in@true \fi 
+#1<-,systems,
+#2<-,submit,techrep,noauthor,
+
+\in@@ #1,systems,->
+#1<-,submit,techrep,noauthor,{}{}
+
+\in@false ->\let \ifin@ \iffalse 
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-services
+#2<-devices,preface,draft,OT,techrep,noauthor,system,Express,Practice,Content,TCE,invitedshort,recommendedshort,recommendedresearch,recommendedpractice,recommendedcontent,recommendeddevices,preprint,a4paper,a5paper,b4paper,b5paper,a4j,a5j,b4j,b5j,a4p,a5p,b4p,b5p,10pt,11pt,12pt,landscape,mentuke,tate,oneside,twoside,onecolumn,twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\ifx \CurrentOption \@empty \else \@expandtwoargs \in@ {,\CurrentOption ,}{,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,}\ifin@ \@use@ption \expandafter \let \csname ds@\CurrentOption \endcsname \@empty \fi \fi 
+
+\@expandtwoargs #1#2#3->\edef \reserved@a {\noexpand #1{#2}{#3}}\reserved@a 
+#1<-\in@ 
+#2<-,\CurrentOption ,
+#3<-,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,
+
+\CurrentOption ->services
+
+\@curroptions ->submit,techrep,noauthor
+
+\reserved@a ->\in@ {,services,}{,submit,techrep,noauthor,}
+
+\in@ #1#2->\begingroup \def \in@@ ##1#1{}\toks@ \expandafter {\in@@ #2{}{}#1}\edef \in@@ {\the \toks@ }\expandafter \endgroup \ifx \in@@ \@empty \in@false \else \in@true \fi 
+#1<-,services,
+#2<-,submit,techrep,noauthor,
+
+\in@@ #1,services,->
+#1<-,submit,techrep,noauthor,{}{}
+
+\in@false ->\let \ifin@ \iffalse 
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-devices
+#2<-preface,draft,OT,techrep,noauthor,system,Express,Practice,Content,TCE,invitedshort,recommendedshort,recommendedresearch,recommendedpractice,recommendedcontent,recommendeddevices,preprint,a4paper,a5paper,b4paper,b5paper,a4j,a5j,b4j,b5j,a4p,a5p,b4p,b5p,10pt,11pt,12pt,landscape,mentuke,tate,oneside,twoside,onecolumn,twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\ifx \CurrentOption \@empty \else \@expandtwoargs \in@ {,\CurrentOption ,}{,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,}\ifin@ \@use@ption \expandafter \let \csname ds@\CurrentOption \endcsname \@empty \fi \fi 
+
+\@expandtwoargs #1#2#3->\edef \reserved@a {\noexpand #1{#2}{#3}}\reserved@a 
+#1<-\in@ 
+#2<-,\CurrentOption ,
+#3<-,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,
+
+\CurrentOption ->devices
+
+\@curroptions ->submit,techrep,noauthor
+
+\reserved@a ->\in@ {,devices,}{,submit,techrep,noauthor,}
+
+\in@ #1#2->\begingroup \def \in@@ ##1#1{}\toks@ \expandafter {\in@@ #2{}{}#1}\edef \in@@ {\the \toks@ }\expandafter \endgroup \ifx \in@@ \@empty \in@false \else \in@true \fi 
+#1<-,devices,
+#2<-,submit,techrep,noauthor,
+
+\in@@ #1,devices,->
+#1<-,submit,techrep,noauthor,{}{}
+
+\in@false ->\let \ifin@ \iffalse 
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-preface
+#2<-draft,OT,techrep,noauthor,system,Express,Practice,Content,TCE,invitedshort,recommendedshort,recommendedresearch,recommendedpractice,recommendedcontent,recommendeddevices,preprint,a4paper,a5paper,b4paper,b5paper,a4j,a5j,b4j,b5j,a4p,a5p,b4p,b5p,10pt,11pt,12pt,landscape,mentuke,tate,oneside,twoside,onecolumn,twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\ifx \CurrentOption \@empty \else \@expandtwoargs \in@ {,\CurrentOption ,}{,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,}\ifin@ \@use@ption \expandafter \let \csname ds@\CurrentOption \endcsname \@empty \fi \fi 
+
+\@expandtwoargs #1#2#3->\edef \reserved@a {\noexpand #1{#2}{#3}}\reserved@a 
+#1<-\in@ 
+#2<-,\CurrentOption ,
+#3<-,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,
+
+\CurrentOption ->preface
+
+\@curroptions ->submit,techrep,noauthor
+
+\reserved@a ->\in@ {,preface,}{,submit,techrep,noauthor,}
+
+\in@ #1#2->\begingroup \def \in@@ ##1#1{}\toks@ \expandafter {\in@@ #2{}{}#1}\edef \in@@ {\the \toks@ }\expandafter \endgroup \ifx \in@@ \@empty \in@false \else \in@true \fi 
+#1<-,preface,
+#2<-,submit,techrep,noauthor,
+
+\in@@ #1,preface,->
+#1<-,submit,techrep,noauthor,{}{}
+
+\in@false ->\let \ifin@ \iffalse 
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-draft
+#2<-OT,techrep,noauthor,system,Express,Practice,Content,TCE,invitedshort,recommendedshort,recommendedresearch,recommendedpractice,recommendedcontent,recommendeddevices,preprint,a4paper,a5paper,b4paper,b5paper,a4j,a5j,b4j,b5j,a4p,a5p,b4p,b5p,10pt,11pt,12pt,landscape,mentuke,tate,oneside,twoside,onecolumn,twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\ifx \CurrentOption \@empty \else \@expandtwoargs \in@ {,\CurrentOption ,}{,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,}\ifin@ \@use@ption \expandafter \let \csname ds@\CurrentOption \endcsname \@empty \fi \fi 
+
+\@expandtwoargs #1#2#3->\edef \reserved@a {\noexpand #1{#2}{#3}}\reserved@a 
+#1<-\in@ 
+#2<-,\CurrentOption ,
+#3<-,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,
+
+\CurrentOption ->draft
+
+\@curroptions ->submit,techrep,noauthor
+
+\reserved@a ->\in@ {,draft,}{,submit,techrep,noauthor,}
+
+\in@ #1#2->\begingroup \def \in@@ ##1#1{}\toks@ \expandafter {\in@@ #2{}{}#1}\edef \in@@ {\the \toks@ }\expandafter \endgroup \ifx \in@@ \@empty \in@false \else \in@true \fi 
+#1<-,draft,
+#2<-,submit,techrep,noauthor,
+
+\in@@ #1,draft,->
+#1<-,submit,techrep,noauthor,{}{}
+
+\in@false ->\let \ifin@ \iffalse 
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-OT
+#2<-techrep,noauthor,system,Express,Practice,Content,TCE,invitedshort,recommendedshort,recommendedresearch,recommendedpractice,recommendedcontent,recommendeddevices,preprint,a4paper,a5paper,b4paper,b5paper,a4j,a5j,b4j,b5j,a4p,a5p,b4p,b5p,10pt,11pt,12pt,landscape,mentuke,tate,oneside,twoside,onecolumn,twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\ifx \CurrentOption \@empty \else \@expandtwoargs \in@ {,\CurrentOption ,}{,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,}\ifin@ \@use@ption \expandafter \let \csname ds@\CurrentOption \endcsname \@empty \fi \fi 
+
+\@expandtwoargs #1#2#3->\edef \reserved@a {\noexpand #1{#2}{#3}}\reserved@a 
+#1<-\in@ 
+#2<-,\CurrentOption ,
+#3<-,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,
+
+\CurrentOption ->OT
+
+\@curroptions ->submit,techrep,noauthor
+
+\reserved@a ->\in@ {,OT,}{,submit,techrep,noauthor,}
+
+\in@ #1#2->\begingroup \def \in@@ ##1#1{}\toks@ \expandafter {\in@@ #2{}{}#1}\edef \in@@ {\the \toks@ }\expandafter \endgroup \ifx \in@@ \@empty \in@false \else \in@true \fi 
+#1<-,OT,
+#2<-,submit,techrep,noauthor,
+
+\in@@ #1,OT,->
+#1<-,submit,techrep,noauthor,{}{}
+
+\in@false ->\let \ifin@ \iffalse 
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-techrep
+#2<-noauthor,system,Express,Practice,Content,TCE,invitedshort,recommendedshort,recommendedresearch,recommendedpractice,recommendedcontent,recommendeddevices,preprint,a4paper,a5paper,b4paper,b5paper,a4j,a5j,b4j,b5j,a4p,a5p,b4p,b5p,10pt,11pt,12pt,landscape,mentuke,tate,oneside,twoside,onecolumn,twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\ifx \CurrentOption \@empty \else \@expandtwoargs \in@ {,\CurrentOption ,}{,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,}\ifin@ \@use@ption \expandafter \let \csname ds@\CurrentOption \endcsname \@empty \fi \fi 
+
+\@expandtwoargs #1#2#3->\edef \reserved@a {\noexpand #1{#2}{#3}}\reserved@a 
+#1<-\in@ 
+#2<-,\CurrentOption ,
+#3<-,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,
+
+\CurrentOption ->techrep
+
+\@curroptions ->submit,techrep,noauthor
+
+\reserved@a ->\in@ {,techrep,}{,submit,techrep,noauthor,}
+
+\in@ #1#2->\begingroup \def \in@@ ##1#1{}\toks@ \expandafter {\in@@ #2{}{}#1}\edef \in@@ {\the \toks@ }\expandafter \endgroup \ifx \in@@ \@empty \in@false \else \in@true \fi 
+#1<-,techrep,
+#2<-,submit,techrep,noauthor,
+
+\in@@ #1,techrep,->
+#1<-,submit
+
+\in@true ->\let \ifin@ \iftrue 
+
+\@use@ption ->\@expandtwoargs \@removeelement {\expandafter \@remove@eq@value \CurrentOption =\@nil }\@unusedoptionlist \@unusedoptionlist \csname ds@\CurrentOption \endcsname 
+
+\@expandtwoargs #1#2#3->\edef \reserved@a {\noexpand #1{#2}{#3}}\reserved@a 
+#1<-\@removeelement 
+#2<-\expandafter \@remove@eq@value \CurrentOption =\@nil 
+#3<-\@unusedoptionlist 
+
+\CurrentOption ->techrep
+
+\@remove@eq@value #1=#2\@nil ->#1
+#1<-techrep
+#2<-
+
+\@unusedoptionlist ->
+
+\reserved@a ->\@removeelement {techrep}{}
+
+\@removeelement #1#2#3->\def \reserved@a ##1,#1,##2\reserved@a {##1,##2\reserved@b }\def \reserved@b ##1,\reserved@b ##2\reserved@b {\ifx ,##1\@empty \else ##1\fi }\edef #3{\expandafter \reserved@b \reserved@a ,#2,\reserved@b ,#1,\reserved@a }
+#1<-techrep
+#2<-
+#3<-\@unusedoptionlist 
+
+\reserved@a #1,techrep,#2\reserved@a ->#1,#2\reserved@b 
+#1<-,,\reserved@b 
+#2<-
+
+\reserved@b #1,\reserved@b #2\reserved@b ->\ifx ,#1\@empty \else #1\fi 
+#1<-,
+#2<-,
+
+\@empty ->
+
+\CurrentOption ->techrep
+
+\ds@techrep ->\DS@techreptrue 
+
+\DS@techreptrue ->\let \ifDS@techrep \iftrue 
+
+\CurrentOption ->techrep
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-noauthor
+#2<-system,Express,Practice,Content,TCE,invitedshort,recommendedshort,recommendedresearch,recommendedpractice,recommendedcontent,recommendeddevices,preprint,a4paper,a5paper,b4paper,b5paper,a4j,a5j,b4j,b5j,a4p,a5p,b4p,b5p,10pt,11pt,12pt,landscape,mentuke,tate,oneside,twoside,onecolumn,twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\ifx \CurrentOption \@empty \else \@expandtwoargs \in@ {,\CurrentOption ,}{,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,}\ifin@ \@use@ption \expandafter \let \csname ds@\CurrentOption \endcsname \@empty \fi \fi 
+
+\@expandtwoargs #1#2#3->\edef \reserved@a {\noexpand #1{#2}{#3}}\reserved@a 
+#1<-\in@ 
+#2<-,\CurrentOption ,
+#3<-,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,
+
+\CurrentOption ->noauthor
+
+\@curroptions ->submit,techrep,noauthor
+
+\reserved@a ->\in@ {,noauthor,}{,submit,techrep,noauthor,}
+
+\in@ #1#2->\begingroup \def \in@@ ##1#1{}\toks@ \expandafter {\in@@ #2{}{}#1}\edef \in@@ {\the \toks@ }\expandafter \endgroup \ifx \in@@ \@empty \in@false \else \in@true \fi 
+#1<-,noauthor,
+#2<-,submit,techrep,noauthor,
+
+\in@@ #1,noauthor,->
+#1<-,submit,techrep
+
+\in@true ->\let \ifin@ \iftrue 
+
+\@use@ption ->\@expandtwoargs \@removeelement {\expandafter \@remove@eq@value \CurrentOption =\@nil }\@unusedoptionlist \@unusedoptionlist \csname ds@\CurrentOption \endcsname 
+
+\@expandtwoargs #1#2#3->\edef \reserved@a {\noexpand #1{#2}{#3}}\reserved@a 
+#1<-\@removeelement 
+#2<-\expandafter \@remove@eq@value \CurrentOption =\@nil 
+#3<-\@unusedoptionlist 
+
+\CurrentOption ->noauthor
+
+\@remove@eq@value #1=#2\@nil ->#1
+#1<-noauthor
+#2<-
+
+\@unusedoptionlist ->
+
+\reserved@a ->\@removeelement {noauthor}{}
+
+\@removeelement #1#2#3->\def \reserved@a ##1,#1,##2\reserved@a {##1,##2\reserved@b }\def \reserved@b ##1,\reserved@b ##2\reserved@b {\ifx ,##1\@empty \else ##1\fi }\edef #3{\expandafter \reserved@b \reserved@a ,#2,\reserved@b ,#1,\reserved@a }
+#1<-noauthor
+#2<-
+#3<-\@unusedoptionlist 
+
+\reserved@a #1,noauthor,#2\reserved@a ->#1,#2\reserved@b 
+#1<-,,\reserved@b 
+#2<-
+
+\reserved@b #1,\reserved@b #2\reserved@b ->\ifx ,#1\@empty \else #1\fi 
+#1<-,
+#2<-,
+
+\@empty ->
+
+\CurrentOption ->noauthor
+
+\ds@noauthor ->\DS@noauthortrue 
+
+\DS@noauthortrue ->\let \ifDS@noauthor \iftrue 
+
+\CurrentOption ->noauthor
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-system
+#2<-Express,Practice,Content,TCE,invitedshort,recommendedshort,recommendedresearch,recommendedpractice,recommendedcontent,recommendeddevices,preprint,a4paper,a5paper,b4paper,b5paper,a4j,a5j,b4j,b5j,a4p,a5p,b4p,b5p,10pt,11pt,12pt,landscape,mentuke,tate,oneside,twoside,onecolumn,twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\ifx \CurrentOption \@empty \else \@expandtwoargs \in@ {,\CurrentOption ,}{,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,}\ifin@ \@use@ption \expandafter \let \csname ds@\CurrentOption \endcsname \@empty \fi \fi 
+
+\@expandtwoargs #1#2#3->\edef \reserved@a {\noexpand #1{#2}{#3}}\reserved@a 
+#1<-\in@ 
+#2<-,\CurrentOption ,
+#3<-,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,
+
+\CurrentOption ->system
+
+\@curroptions ->submit,techrep,noauthor
+
+\reserved@a ->\in@ {,system,}{,submit,techrep,noauthor,}
+
+\in@ #1#2->\begingroup \def \in@@ ##1#1{}\toks@ \expandafter {\in@@ #2{}{}#1}\edef \in@@ {\the \toks@ }\expandafter \endgroup \ifx \in@@ \@empty \in@false \else \in@true \fi 
+#1<-,system,
+#2<-,submit,techrep,noauthor,
+
+\in@@ #1,system,->
+#1<-,submit,techrep,noauthor,{}{}
+
+\in@false ->\let \ifin@ \iffalse 
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-Express
+#2<-Practice,Content,TCE,invitedshort,recommendedshort,recommendedresearch,recommendedpractice,recommendedcontent,recommendeddevices,preprint,a4paper,a5paper,b4paper,b5paper,a4j,a5j,b4j,b5j,a4p,a5p,b4p,b5p,10pt,11pt,12pt,landscape,mentuke,tate,oneside,twoside,onecolumn,twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\ifx \CurrentOption \@empty \else \@expandtwoargs \in@ {,\CurrentOption ,}{,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,}\ifin@ \@use@ption \expandafter \let \csname ds@\CurrentOption \endcsname \@empty \fi \fi 
+
+\@expandtwoargs #1#2#3->\edef \reserved@a {\noexpand #1{#2}{#3}}\reserved@a 
+#1<-\in@ 
+#2<-,\CurrentOption ,
+#3<-,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,
+
+\CurrentOption ->Express
+
+\@curroptions ->submit,techrep,noauthor
+
+\reserved@a ->\in@ {,Express,}{,submit,techrep,noauthor,}
+
+\in@ #1#2->\begingroup \def \in@@ ##1#1{}\toks@ \expandafter {\in@@ #2{}{}#1}\edef \in@@ {\the \toks@ }\expandafter \endgroup \ifx \in@@ \@empty \in@false \else \in@true \fi 
+#1<-,Express,
+#2<-,submit,techrep,noauthor,
+
+\in@@ #1,Express,->
+#1<-,submit,techrep,noauthor,{}{}
+
+\in@false ->\let \ifin@ \iffalse 
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-Practice
+#2<-Content,TCE,invitedshort,recommendedshort,recommendedresearch,recommendedpractice,recommendedcontent,recommendeddevices,preprint,a4paper,a5paper,b4paper,b5paper,a4j,a5j,b4j,b5j,a4p,a5p,b4p,b5p,10pt,11pt,12pt,landscape,mentuke,tate,oneside,twoside,onecolumn,twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\ifx \CurrentOption \@empty \else \@expandtwoargs \in@ {,\CurrentOption ,}{,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,}\ifin@ \@use@ption \expandafter \let \csname ds@\CurrentOption \endcsname \@empty \fi \fi 
+
+\@expandtwoargs #1#2#3->\edef \reserved@a {\noexpand #1{#2}{#3}}\reserved@a 
+#1<-\in@ 
+#2<-,\CurrentOption ,
+#3<-,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,
+
+\CurrentOption ->Practice
+
+\@curroptions ->submit,techrep,noauthor
+
+\reserved@a ->\in@ {,Practice,}{,submit,techrep,noauthor,}
+
+\in@ #1#2->\begingroup \def \in@@ ##1#1{}\toks@ \expandafter {\in@@ #2{}{}#1}\edef \in@@ {\the \toks@ }\expandafter \endgroup \ifx \in@@ \@empty \in@false \else \in@true \fi 
+#1<-,Practice,
+#2<-,submit,techrep,noauthor,
+
+\in@@ #1,Practice,->
+#1<-,submit,techrep,noauthor,{}{}
+
+\in@false ->\let \ifin@ \iffalse 
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-Content
+#2<-TCE,invitedshort,recommendedshort,recommendedresearch,recommendedpractice,recommendedcontent,recommendeddevices,preprint,a4paper,a5paper,b4paper,b5paper,a4j,a5j,b4j,b5j,a4p,a5p,b4p,b5p,10pt,11pt,12pt,landscape,mentuke,tate,oneside,twoside,onecolumn,twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\ifx \CurrentOption \@empty \else \@expandtwoargs \in@ {,\CurrentOption ,}{,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,}\ifin@ \@use@ption \expandafter \let \csname ds@\CurrentOption \endcsname \@empty \fi \fi 
+
+\@expandtwoargs #1#2#3->\edef \reserved@a {\noexpand #1{#2}{#3}}\reserved@a 
+#1<-\in@ 
+#2<-,\CurrentOption ,
+#3<-,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,
+
+\CurrentOption ->Content
+
+\@curroptions ->submit,techrep,noauthor
+
+\reserved@a ->\in@ {,Content,}{,submit,techrep,noauthor,}
+
+\in@ #1#2->\begingroup \def \in@@ ##1#1{}\toks@ \expandafter {\in@@ #2{}{}#1}\edef \in@@ {\the \toks@ }\expandafter \endgroup \ifx \in@@ \@empty \in@false \else \in@true \fi 
+#1<-,Content,
+#2<-,submit,techrep,noauthor,
+
+\in@@ #1,Content,->
+#1<-,submit,techrep,noauthor,{}{}
+
+\in@false ->\let \ifin@ \iffalse 
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-TCE
+#2<-invitedshort,recommendedshort,recommendedresearch,recommendedpractice,recommendedcontent,recommendeddevices,preprint,a4paper,a5paper,b4paper,b5paper,a4j,a5j,b4j,b5j,a4p,a5p,b4p,b5p,10pt,11pt,12pt,landscape,mentuke,tate,oneside,twoside,onecolumn,twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\ifx \CurrentOption \@empty \else \@expandtwoargs \in@ {,\CurrentOption ,}{,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,}\ifin@ \@use@ption \expandafter \let \csname ds@\CurrentOption \endcsname \@empty \fi \fi 
+
+\@expandtwoargs #1#2#3->\edef \reserved@a {\noexpand #1{#2}{#3}}\reserved@a 
+#1<-\in@ 
+#2<-,\CurrentOption ,
+#3<-,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,
+
+\CurrentOption ->TCE
+
+\@curroptions ->submit,techrep,noauthor
+
+\reserved@a ->\in@ {,TCE,}{,submit,techrep,noauthor,}
+
+\in@ #1#2->\begingroup \def \in@@ ##1#1{}\toks@ \expandafter {\in@@ #2{}{}#1}\edef \in@@ {\the \toks@ }\expandafter \endgroup \ifx \in@@ \@empty \in@false \else \in@true \fi 
+#1<-,TCE,
+#2<-,submit,techrep,noauthor,
+
+\in@@ #1,TCE,->
+#1<-,submit,techrep,noauthor,{}{}
+
+\in@false ->\let \ifin@ \iffalse 
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-invitedshort
+#2<-recommendedshort,recommendedresearch,recommendedpractice,recommendedcontent,recommendeddevices,preprint,a4paper,a5paper,b4paper,b5paper,a4j,a5j,b4j,b5j,a4p,a5p,b4p,b5p,10pt,11pt,12pt,landscape,mentuke,tate,oneside,twoside,onecolumn,twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\ifx \CurrentOption \@empty \else \@expandtwoargs \in@ {,\CurrentOption ,}{,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,}\ifin@ \@use@ption \expandafter \let \csname ds@\CurrentOption \endcsname \@empty \fi \fi 
+
+\@expandtwoargs #1#2#3->\edef \reserved@a {\noexpand #1{#2}{#3}}\reserved@a 
+#1<-\in@ 
+#2<-,\CurrentOption ,
+#3<-,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,
+
+\CurrentOption ->invitedshort
+
+\@curroptions ->submit,techrep,noauthor
+
+\reserved@a ->\in@ {,invitedshort,}{,submit,techrep,noauthor,}
+
+\in@ #1#2->\begingroup \def \in@@ ##1#1{}\toks@ \expandafter {\in@@ #2{}{}#1}\edef \in@@ {\the \toks@ }\expandafter \endgroup \ifx \in@@ \@empty \in@false \else \in@true \fi 
+#1<-,invitedshort,
+#2<-,submit,techrep,noauthor,
+
+\in@@ #1,invitedshort,->
+#1<-,submit,techrep,noauthor,{}{}
+
+\in@false ->\let \ifin@ \iffalse 
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-recommendedshort
+#2<-recommendedresearch,recommendedpractice,recommendedcontent,recommendeddevices,preprint,a4paper,a5paper,b4paper,b5paper,a4j,a5j,b4j,b5j,a4p,a5p,b4p,b5p,10pt,11pt,12pt,landscape,mentuke,tate,oneside,twoside,onecolumn,twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\ifx \CurrentOption \@empty \else \@expandtwoargs \in@ {,\CurrentOption ,}{,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,}\ifin@ \@use@ption \expandafter \let \csname ds@\CurrentOption \endcsname \@empty \fi \fi 
+
+\@expandtwoargs #1#2#3->\edef \reserved@a {\noexpand #1{#2}{#3}}\reserved@a 
+#1<-\in@ 
+#2<-,\CurrentOption ,
+#3<-,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,
+
+\CurrentOption ->recommendedshort
+
+\@curroptions ->submit,techrep,noauthor
+
+\reserved@a ->\in@ {,recommendedshort,}{,submit,techrep,noauthor,}
+
+\in@ #1#2->\begingroup \def \in@@ ##1#1{}\toks@ \expandafter {\in@@ #2{}{}#1}\edef \in@@ {\the \toks@ }\expandafter \endgroup \ifx \in@@ \@empty \in@false \else \in@true \fi 
+#1<-,recommendedshort,
+#2<-,submit,techrep,noauthor,
+
+\in@@ #1,recommendedshort,->
+#1<-,submit,techrep,noauthor,{}{}
+
+\in@false ->\let \ifin@ \iffalse 
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-recommendedresearch
+#2<-recommendedpractice,recommendedcontent,recommendeddevices,preprint,a4paper,a5paper,b4paper,b5paper,a4j,a5j,b4j,b5j,a4p,a5p,b4p,b5p,10pt,11pt,12pt,landscape,mentuke,tate,oneside,twoside,onecolumn,twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\ifx \CurrentOption \@empty \else \@expandtwoargs \in@ {,\CurrentOption ,}{,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,}\ifin@ \@use@ption \expandafter \let \csname ds@\CurrentOption \endcsname \@empty \fi \fi 
+
+\@expandtwoargs #1#2#3->\edef \reserved@a {\noexpand #1{#2}{#3}}\reserved@a 
+#1<-\in@ 
+#2<-,\CurrentOption ,
+#3<-,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,
+
+\CurrentOption ->recommendedresearch
+
+\@curroptions ->submit,techrep,noauthor
+
+\reserved@a ->\in@ {,recommendedresearch,}{,submit,techrep,noauthor,}
+
+\in@ #1#2->\begingroup \def \in@@ ##1#1{}\toks@ \expandafter {\in@@ #2{}{}#1}\edef \in@@ {\the \toks@ }\expandafter \endgroup \ifx \in@@ \@empty \in@false \else \in@true \fi 
+#1<-,recommendedresearch,
+#2<-,submit,techrep,noauthor,
+
+\in@@ #1,recommendedresearch,->
+#1<-,submit,techrep,noauthor,{}{}
+
+\in@false ->\let \ifin@ \iffalse 
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-recommendedpractice
+#2<-recommendedcontent,recommendeddevices,preprint,a4paper,a5paper,b4paper,b5paper,a4j,a5j,b4j,b5j,a4p,a5p,b4p,b5p,10pt,11pt,12pt,landscape,mentuke,tate,oneside,twoside,onecolumn,twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\ifx \CurrentOption \@empty \else \@expandtwoargs \in@ {,\CurrentOption ,}{,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,}\ifin@ \@use@ption \expandafter \let \csname ds@\CurrentOption \endcsname \@empty \fi \fi 
+
+\@expandtwoargs #1#2#3->\edef \reserved@a {\noexpand #1{#2}{#3}}\reserved@a 
+#1<-\in@ 
+#2<-,\CurrentOption ,
+#3<-,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,
+
+\CurrentOption ->recommendedpractice
+
+\@curroptions ->submit,techrep,noauthor
+
+\reserved@a ->\in@ {,recommendedpractice,}{,submit,techrep,noauthor,}
+
+\in@ #1#2->\begingroup \def \in@@ ##1#1{}\toks@ \expandafter {\in@@ #2{}{}#1}\edef \in@@ {\the \toks@ }\expandafter \endgroup \ifx \in@@ \@empty \in@false \else \in@true \fi 
+#1<-,recommendedpractice,
+#2<-,submit,techrep,noauthor,
+
+\in@@ #1,recommendedpractice,->
+#1<-,submit,techrep,noauthor,{}{}
+
+\in@false ->\let \ifin@ \iffalse 
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-recommendedcontent
+#2<-recommendeddevices,preprint,a4paper,a5paper,b4paper,b5paper,a4j,a5j,b4j,b5j,a4p,a5p,b4p,b5p,10pt,11pt,12pt,landscape,mentuke,tate,oneside,twoside,onecolumn,twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\ifx \CurrentOption \@empty \else \@expandtwoargs \in@ {,\CurrentOption ,}{,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,}\ifin@ \@use@ption \expandafter \let \csname ds@\CurrentOption \endcsname \@empty \fi \fi 
+
+\@expandtwoargs #1#2#3->\edef \reserved@a {\noexpand #1{#2}{#3}}\reserved@a 
+#1<-\in@ 
+#2<-,\CurrentOption ,
+#3<-,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,
+
+\CurrentOption ->recommendedcontent
+
+\@curroptions ->submit,techrep,noauthor
+
+\reserved@a ->\in@ {,recommendedcontent,}{,submit,techrep,noauthor,}
+
+\in@ #1#2->\begingroup \def \in@@ ##1#1{}\toks@ \expandafter {\in@@ #2{}{}#1}\edef \in@@ {\the \toks@ }\expandafter \endgroup \ifx \in@@ \@empty \in@false \else \in@true \fi 
+#1<-,recommendedcontent,
+#2<-,submit,techrep,noauthor,
+
+\in@@ #1,recommendedcontent,->
+#1<-,submit,techrep,noauthor,{}{}
+
+\in@false ->\let \ifin@ \iffalse 
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-recommendeddevices
+#2<-preprint,a4paper,a5paper,b4paper,b5paper,a4j,a5j,b4j,b5j,a4p,a5p,b4p,b5p,10pt,11pt,12pt,landscape,mentuke,tate,oneside,twoside,onecolumn,twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\ifx \CurrentOption \@empty \else \@expandtwoargs \in@ {,\CurrentOption ,}{,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,}\ifin@ \@use@ption \expandafter \let \csname ds@\CurrentOption \endcsname \@empty \fi \fi 
+
+\@expandtwoargs #1#2#3->\edef \reserved@a {\noexpand #1{#2}{#3}}\reserved@a 
+#1<-\in@ 
+#2<-,\CurrentOption ,
+#3<-,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,
+
+\CurrentOption ->recommendeddevices
+
+\@curroptions ->submit,techrep,noauthor
+
+\reserved@a ->\in@ {,recommendeddevices,}{,submit,techrep,noauthor,}
+
+\in@ #1#2->\begingroup \def \in@@ ##1#1{}\toks@ \expandafter {\in@@ #2{}{}#1}\edef \in@@ {\the \toks@ }\expandafter \endgroup \ifx \in@@ \@empty \in@false \else \in@true \fi 
+#1<-,recommendeddevices,
+#2<-,submit,techrep,noauthor,
+
+\in@@ #1,recommendeddevices,->
+#1<-,submit,techrep,noauthor,{}{}
+
+\in@false ->\let \ifin@ \iffalse 
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-preprint
+#2<-a4paper,a5paper,b4paper,b5paper,a4j,a5j,b4j,b5j,a4p,a5p,b4p,b5p,10pt,11pt,12pt,landscape,mentuke,tate,oneside,twoside,onecolumn,twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\ifx \CurrentOption \@empty \else \@expandtwoargs \in@ {,\CurrentOption ,}{,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,}\ifin@ \@use@ption \expandafter \let \csname ds@\CurrentOption \endcsname \@empty \fi \fi 
+
+\@expandtwoargs #1#2#3->\edef \reserved@a {\noexpand #1{#2}{#3}}\reserved@a 
+#1<-\in@ 
+#2<-,\CurrentOption ,
+#3<-,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,
+
+\CurrentOption ->preprint
+
+\@curroptions ->submit,techrep,noauthor
+
+\reserved@a ->\in@ {,preprint,}{,submit,techrep,noauthor,}
+
+\in@ #1#2->\begingroup \def \in@@ ##1#1{}\toks@ \expandafter {\in@@ #2{}{}#1}\edef \in@@ {\the \toks@ }\expandafter \endgroup \ifx \in@@ \@empty \in@false \else \in@true \fi 
+#1<-,preprint,
+#2<-,submit,techrep,noauthor,
+
+\in@@ #1,preprint,->
+#1<-,submit,techrep,noauthor,{}{}
+
+\in@false ->\let \ifin@ \iffalse 
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-a4paper
+#2<-a5paper,b4paper,b5paper,a4j,a5j,b4j,b5j,a4p,a5p,b4p,b5p,10pt,11pt,12pt,landscape,mentuke,tate,oneside,twoside,onecolumn,twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\ifx \CurrentOption \@empty \else \@expandtwoargs \in@ {,\CurrentOption ,}{,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,}\ifin@ \@use@ption \expandafter \let \csname ds@\CurrentOption \endcsname \@empty \fi \fi 
+
+\@expandtwoargs #1#2#3->\edef \reserved@a {\noexpand #1{#2}{#3}}\reserved@a 
+#1<-\in@ 
+#2<-,\CurrentOption ,
+#3<-,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,
+
+\CurrentOption ->a4paper
+
+\@curroptions ->submit,techrep,noauthor
+
+\reserved@a ->\in@ {,a4paper,}{,submit,techrep,noauthor,}
+
+\in@ #1#2->\begingroup \def \in@@ ##1#1{}\toks@ \expandafter {\in@@ #2{}{}#1}\edef \in@@ {\the \toks@ }\expandafter \endgroup \ifx \in@@ \@empty \in@false \else \in@true \fi 
+#1<-,a4paper,
+#2<-,submit,techrep,noauthor,
+
+\in@@ #1,a4paper,->
+#1<-,submit,techrep,noauthor,{}{}
+
+\in@false ->\let \ifin@ \iffalse 
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-a5paper
+#2<-b4paper,b5paper,a4j,a5j,b4j,b5j,a4p,a5p,b4p,b5p,10pt,11pt,12pt,landscape,mentuke,tate,oneside,twoside,onecolumn,twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\ifx \CurrentOption \@empty \else \@expandtwoargs \in@ {,\CurrentOption ,}{,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,}\ifin@ \@use@ption \expandafter \let \csname ds@\CurrentOption \endcsname \@empty \fi \fi 
+
+\@expandtwoargs #1#2#3->\edef \reserved@a {\noexpand #1{#2}{#3}}\reserved@a 
+#1<-\in@ 
+#2<-,\CurrentOption ,
+#3<-,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,
+
+\CurrentOption ->a5paper
+
+\@curroptions ->submit,techrep,noauthor
+
+\reserved@a ->\in@ {,a5paper,}{,submit,techrep,noauthor,}
+
+\in@ #1#2->\begingroup \def \in@@ ##1#1{}\toks@ \expandafter {\in@@ #2{}{}#1}\edef \in@@ {\the \toks@ }\expandafter \endgroup \ifx \in@@ \@empty \in@false \else \in@true \fi 
+#1<-,a5paper,
+#2<-,submit,techrep,noauthor,
+
+\in@@ #1,a5paper,->
+#1<-,submit,techrep,noauthor,{}{}
+
+\in@false ->\let \ifin@ \iffalse 
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-b4paper
+#2<-b5paper,a4j,a5j,b4j,b5j,a4p,a5p,b4p,b5p,10pt,11pt,12pt,landscape,mentuke,tate,oneside,twoside,onecolumn,twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\ifx \CurrentOption \@empty \else \@expandtwoargs \in@ {,\CurrentOption ,}{,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,}\ifin@ \@use@ption \expandafter \let \csname ds@\CurrentOption \endcsname \@empty \fi \fi 
+
+\@expandtwoargs #1#2#3->\edef \reserved@a {\noexpand #1{#2}{#3}}\reserved@a 
+#1<-\in@ 
+#2<-,\CurrentOption ,
+#3<-,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,
+
+\CurrentOption ->b4paper
+
+\@curroptions ->submit,techrep,noauthor
+
+\reserved@a ->\in@ {,b4paper,}{,submit,techrep,noauthor,}
+
+\in@ #1#2->\begingroup \def \in@@ ##1#1{}\toks@ \expandafter {\in@@ #2{}{}#1}\edef \in@@ {\the \toks@ }\expandafter \endgroup \ifx \in@@ \@empty \in@false \else \in@true \fi 
+#1<-,b4paper,
+#2<-,submit,techrep,noauthor,
+
+\in@@ #1,b4paper,->
+#1<-,submit,techrep,noauthor,{}{}
+
+\in@false ->\let \ifin@ \iffalse 
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-b5paper
+#2<-a4j,a5j,b4j,b5j,a4p,a5p,b4p,b5p,10pt,11pt,12pt,landscape,mentuke,tate,oneside,twoside,onecolumn,twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\ifx \CurrentOption \@empty \else \@expandtwoargs \in@ {,\CurrentOption ,}{,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,}\ifin@ \@use@ption \expandafter \let \csname ds@\CurrentOption \endcsname \@empty \fi \fi 
+
+\@expandtwoargs #1#2#3->\edef \reserved@a {\noexpand #1{#2}{#3}}\reserved@a 
+#1<-\in@ 
+#2<-,\CurrentOption ,
+#3<-,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,
+
+\CurrentOption ->b5paper
+
+\@curroptions ->submit,techrep,noauthor
+
+\reserved@a ->\in@ {,b5paper,}{,submit,techrep,noauthor,}
+
+\in@ #1#2->\begingroup \def \in@@ ##1#1{}\toks@ \expandafter {\in@@ #2{}{}#1}\edef \in@@ {\the \toks@ }\expandafter \endgroup \ifx \in@@ \@empty \in@false \else \in@true \fi 
+#1<-,b5paper,
+#2<-,submit,techrep,noauthor,
+
+\in@@ #1,b5paper,->
+#1<-,submit,techrep,noauthor,{}{}
+
+\in@false ->\let \ifin@ \iffalse 
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-a4j
+#2<-a5j,b4j,b5j,a4p,a5p,b4p,b5p,10pt,11pt,12pt,landscape,mentuke,tate,oneside,twoside,onecolumn,twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\ifx \CurrentOption \@empty \else \@expandtwoargs \in@ {,\CurrentOption ,}{,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,}\ifin@ \@use@ption \expandafter \let \csname ds@\CurrentOption \endcsname \@empty \fi \fi 
+
+\@expandtwoargs #1#2#3->\edef \reserved@a {\noexpand #1{#2}{#3}}\reserved@a 
+#1<-\in@ 
+#2<-,\CurrentOption ,
+#3<-,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,
+
+\CurrentOption ->a4j
+
+\@curroptions ->submit,techrep,noauthor
+
+\reserved@a ->\in@ {,a4j,}{,submit,techrep,noauthor,}
+
+\in@ #1#2->\begingroup \def \in@@ ##1#1{}\toks@ \expandafter {\in@@ #2{}{}#1}\edef \in@@ {\the \toks@ }\expandafter \endgroup \ifx \in@@ \@empty \in@false \else \in@true \fi 
+#1<-,a4j,
+#2<-,submit,techrep,noauthor,
+
+\in@@ #1,a4j,->
+#1<-,submit,techrep,noauthor,{}{}
+
+\in@false ->\let \ifin@ \iffalse 
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-a5j
+#2<-b4j,b5j,a4p,a5p,b4p,b5p,10pt,11pt,12pt,landscape,mentuke,tate,oneside,twoside,onecolumn,twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\ifx \CurrentOption \@empty \else \@expandtwoargs \in@ {,\CurrentOption ,}{,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,}\ifin@ \@use@ption \expandafter \let \csname ds@\CurrentOption \endcsname \@empty \fi \fi 
+
+\@expandtwoargs #1#2#3->\edef \reserved@a {\noexpand #1{#2}{#3}}\reserved@a 
+#1<-\in@ 
+#2<-,\CurrentOption ,
+#3<-,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,
+
+\CurrentOption ->a5j
+
+\@curroptions ->submit,techrep,noauthor
+
+\reserved@a ->\in@ {,a5j,}{,submit,techrep,noauthor,}
+
+\in@ #1#2->\begingroup \def \in@@ ##1#1{}\toks@ \expandafter {\in@@ #2{}{}#1}\edef \in@@ {\the \toks@ }\expandafter \endgroup \ifx \in@@ \@empty \in@false \else \in@true \fi 
+#1<-,a5j,
+#2<-,submit,techrep,noauthor,
+
+\in@@ #1,a5j,->
+#1<-,submit,techrep,noauthor,{}{}
+
+\in@false ->\let \ifin@ \iffalse 
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-b4j
+#2<-b5j,a4p,a5p,b4p,b5p,10pt,11pt,12pt,landscape,mentuke,tate,oneside,twoside,onecolumn,twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\ifx \CurrentOption \@empty \else \@expandtwoargs \in@ {,\CurrentOption ,}{,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,}\ifin@ \@use@ption \expandafter \let \csname ds@\CurrentOption \endcsname \@empty \fi \fi 
+
+\@expandtwoargs #1#2#3->\edef \reserved@a {\noexpand #1{#2}{#3}}\reserved@a 
+#1<-\in@ 
+#2<-,\CurrentOption ,
+#3<-,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,
+
+\CurrentOption ->b4j
+
+\@curroptions ->submit,techrep,noauthor
+
+\reserved@a ->\in@ {,b4j,}{,submit,techrep,noauthor,}
+
+\in@ #1#2->\begingroup \def \in@@ ##1#1{}\toks@ \expandafter {\in@@ #2{}{}#1}\edef \in@@ {\the \toks@ }\expandafter \endgroup \ifx \in@@ \@empty \in@false \else \in@true \fi 
+#1<-,b4j,
+#2<-,submit,techrep,noauthor,
+
+\in@@ #1,b4j,->
+#1<-,submit,techrep,noauthor,{}{}
+
+\in@false ->\let \ifin@ \iffalse 
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-b5j
+#2<-a4p,a5p,b4p,b5p,10pt,11pt,12pt,landscape,mentuke,tate,oneside,twoside,onecolumn,twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\ifx \CurrentOption \@empty \else \@expandtwoargs \in@ {,\CurrentOption ,}{,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,}\ifin@ \@use@ption \expandafter \let \csname ds@\CurrentOption \endcsname \@empty \fi \fi 
+
+\@expandtwoargs #1#2#3->\edef \reserved@a {\noexpand #1{#2}{#3}}\reserved@a 
+#1<-\in@ 
+#2<-,\CurrentOption ,
+#3<-,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,
+
+\CurrentOption ->b5j
+
+\@curroptions ->submit,techrep,noauthor
+
+\reserved@a ->\in@ {,b5j,}{,submit,techrep,noauthor,}
+
+\in@ #1#2->\begingroup \def \in@@ ##1#1{}\toks@ \expandafter {\in@@ #2{}{}#1}\edef \in@@ {\the \toks@ }\expandafter \endgroup \ifx \in@@ \@empty \in@false \else \in@true \fi 
+#1<-,b5j,
+#2<-,submit,techrep,noauthor,
+
+\in@@ #1,b5j,->
+#1<-,submit,techrep,noauthor,{}{}
+
+\in@false ->\let \ifin@ \iffalse 
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-a4p
+#2<-a5p,b4p,b5p,10pt,11pt,12pt,landscape,mentuke,tate,oneside,twoside,onecolumn,twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\ifx \CurrentOption \@empty \else \@expandtwoargs \in@ {,\CurrentOption ,}{,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,}\ifin@ \@use@ption \expandafter \let \csname ds@\CurrentOption \endcsname \@empty \fi \fi 
+
+\@expandtwoargs #1#2#3->\edef \reserved@a {\noexpand #1{#2}{#3}}\reserved@a 
+#1<-\in@ 
+#2<-,\CurrentOption ,
+#3<-,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,
+
+\CurrentOption ->a4p
+
+\@curroptions ->submit,techrep,noauthor
+
+\reserved@a ->\in@ {,a4p,}{,submit,techrep,noauthor,}
+
+\in@ #1#2->\begingroup \def \in@@ ##1#1{}\toks@ \expandafter {\in@@ #2{}{}#1}\edef \in@@ {\the \toks@ }\expandafter \endgroup \ifx \in@@ \@empty \in@false \else \in@true \fi 
+#1<-,a4p,
+#2<-,submit,techrep,noauthor,
+
+\in@@ #1,a4p,->
+#1<-,submit,techrep,noauthor,{}{}
+
+\in@false ->\let \ifin@ \iffalse 
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-a5p
+#2<-b4p,b5p,10pt,11pt,12pt,landscape,mentuke,tate,oneside,twoside,onecolumn,twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\ifx \CurrentOption \@empty \else \@expandtwoargs \in@ {,\CurrentOption ,}{,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,}\ifin@ \@use@ption \expandafter \let \csname ds@\CurrentOption \endcsname \@empty \fi \fi 
+
+\@expandtwoargs #1#2#3->\edef \reserved@a {\noexpand #1{#2}{#3}}\reserved@a 
+#1<-\in@ 
+#2<-,\CurrentOption ,
+#3<-,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,
+
+\CurrentOption ->a5p
+
+\@curroptions ->submit,techrep,noauthor
+
+\reserved@a ->\in@ {,a5p,}{,submit,techrep,noauthor,}
+
+\in@ #1#2->\begingroup \def \in@@ ##1#1{}\toks@ \expandafter {\in@@ #2{}{}#1}\edef \in@@ {\the \toks@ }\expandafter \endgroup \ifx \in@@ \@empty \in@false \else \in@true \fi 
+#1<-,a5p,
+#2<-,submit,techrep,noauthor,
+
+\in@@ #1,a5p,->
+#1<-,submit,techrep,noauthor,{}{}
+
+\in@false ->\let \ifin@ \iffalse 
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-b4p
+#2<-b5p,10pt,11pt,12pt,landscape,mentuke,tate,oneside,twoside,onecolumn,twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\ifx \CurrentOption \@empty \else \@expandtwoargs \in@ {,\CurrentOption ,}{,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,}\ifin@ \@use@ption \expandafter \let \csname ds@\CurrentOption \endcsname \@empty \fi \fi 
+
+\@expandtwoargs #1#2#3->\edef \reserved@a {\noexpand #1{#2}{#3}}\reserved@a 
+#1<-\in@ 
+#2<-,\CurrentOption ,
+#3<-,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,
+
+\CurrentOption ->b4p
+
+\@curroptions ->submit,techrep,noauthor
+
+\reserved@a ->\in@ {,b4p,}{,submit,techrep,noauthor,}
+
+\in@ #1#2->\begingroup \def \in@@ ##1#1{}\toks@ \expandafter {\in@@ #2{}{}#1}\edef \in@@ {\the \toks@ }\expandafter \endgroup \ifx \in@@ \@empty \in@false \else \in@true \fi 
+#1<-,b4p,
+#2<-,submit,techrep,noauthor,
+
+\in@@ #1,b4p,->
+#1<-,submit,techrep,noauthor,{}{}
+
+\in@false ->\let \ifin@ \iffalse 
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-b5p
+#2<-10pt,11pt,12pt,landscape,mentuke,tate,oneside,twoside,onecolumn,twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\ifx \CurrentOption \@empty \else \@expandtwoargs \in@ {,\CurrentOption ,}{,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,}\ifin@ \@use@ption \expandafter \let \csname ds@\CurrentOption \endcsname \@empty \fi \fi 
+
+\@expandtwoargs #1#2#3->\edef \reserved@a {\noexpand #1{#2}{#3}}\reserved@a 
+#1<-\in@ 
+#2<-,\CurrentOption ,
+#3<-,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,
+
+\CurrentOption ->b5p
+
+\@curroptions ->submit,techrep,noauthor
+
+\reserved@a ->\in@ {,b5p,}{,submit,techrep,noauthor,}
+
+\in@ #1#2->\begingroup \def \in@@ ##1#1{}\toks@ \expandafter {\in@@ #2{}{}#1}\edef \in@@ {\the \toks@ }\expandafter \endgroup \ifx \in@@ \@empty \in@false \else \in@true \fi 
+#1<-,b5p,
+#2<-,submit,techrep,noauthor,
+
+\in@@ #1,b5p,->
+#1<-,submit,techrep,noauthor,{}{}
+
+\in@false ->\let \ifin@ \iffalse 
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-10pt
+#2<-11pt,12pt,landscape,mentuke,tate,oneside,twoside,onecolumn,twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\ifx \CurrentOption \@empty \else \@expandtwoargs \in@ {,\CurrentOption ,}{,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,}\ifin@ \@use@ption \expandafter \let \csname ds@\CurrentOption \endcsname \@empty \fi \fi 
+
+\@expandtwoargs #1#2#3->\edef \reserved@a {\noexpand #1{#2}{#3}}\reserved@a 
+#1<-\in@ 
+#2<-,\CurrentOption ,
+#3<-,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,
+
+\CurrentOption ->10pt
+
+\@curroptions ->submit,techrep,noauthor
+
+\reserved@a ->\in@ {,10pt,}{,submit,techrep,noauthor,}
+
+\in@ #1#2->\begingroup \def \in@@ ##1#1{}\toks@ \expandafter {\in@@ #2{}{}#1}\edef \in@@ {\the \toks@ }\expandafter \endgroup \ifx \in@@ \@empty \in@false \else \in@true \fi 
+#1<-,10pt,
+#2<-,submit,techrep,noauthor,
+
+\in@@ #1,10pt,->
+#1<-,submit,techrep,noauthor,{}{}
+
+\in@false ->\let \ifin@ \iffalse 
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-11pt
+#2<-12pt,landscape,mentuke,tate,oneside,twoside,onecolumn,twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\ifx \CurrentOption \@empty \else \@expandtwoargs \in@ {,\CurrentOption ,}{,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,}\ifin@ \@use@ption \expandafter \let \csname ds@\CurrentOption \endcsname \@empty \fi \fi 
+
+\@expandtwoargs #1#2#3->\edef \reserved@a {\noexpand #1{#2}{#3}}\reserved@a 
+#1<-\in@ 
+#2<-,\CurrentOption ,
+#3<-,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,
+
+\CurrentOption ->11pt
+
+\@curroptions ->submit,techrep,noauthor
+
+\reserved@a ->\in@ {,11pt,}{,submit,techrep,noauthor,}
+
+\in@ #1#2->\begingroup \def \in@@ ##1#1{}\toks@ \expandafter {\in@@ #2{}{}#1}\edef \in@@ {\the \toks@ }\expandafter \endgroup \ifx \in@@ \@empty \in@false \else \in@true \fi 
+#1<-,11pt,
+#2<-,submit,techrep,noauthor,
+
+\in@@ #1,11pt,->
+#1<-,submit,techrep,noauthor,{}{}
+
+\in@false ->\let \ifin@ \iffalse 
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-12pt
+#2<-landscape,mentuke,tate,oneside,twoside,onecolumn,twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\ifx \CurrentOption \@empty \else \@expandtwoargs \in@ {,\CurrentOption ,}{,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,}\ifin@ \@use@ption \expandafter \let \csname ds@\CurrentOption \endcsname \@empty \fi \fi 
+
+\@expandtwoargs #1#2#3->\edef \reserved@a {\noexpand #1{#2}{#3}}\reserved@a 
+#1<-\in@ 
+#2<-,\CurrentOption ,
+#3<-,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,
+
+\CurrentOption ->12pt
+
+\@curroptions ->submit,techrep,noauthor
+
+\reserved@a ->\in@ {,12pt,}{,submit,techrep,noauthor,}
+
+\in@ #1#2->\begingroup \def \in@@ ##1#1{}\toks@ \expandafter {\in@@ #2{}{}#1}\edef \in@@ {\the \toks@ }\expandafter \endgroup \ifx \in@@ \@empty \in@false \else \in@true \fi 
+#1<-,12pt,
+#2<-,submit,techrep,noauthor,
+
+\in@@ #1,12pt,->
+#1<-,submit,techrep,noauthor,{}{}
+
+\in@false ->\let \ifin@ \iffalse 
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-landscape
+#2<-mentuke,tate,oneside,twoside,onecolumn,twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\ifx \CurrentOption \@empty \else \@expandtwoargs \in@ {,\CurrentOption ,}{,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,}\ifin@ \@use@ption \expandafter \let \csname ds@\CurrentOption \endcsname \@empty \fi \fi 
+
+\@expandtwoargs #1#2#3->\edef \reserved@a {\noexpand #1{#2}{#3}}\reserved@a 
+#1<-\in@ 
+#2<-,\CurrentOption ,
+#3<-,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,
+
+\CurrentOption ->landscape
+
+\@curroptions ->submit,techrep,noauthor
+
+\reserved@a ->\in@ {,landscape,}{,submit,techrep,noauthor,}
+
+\in@ #1#2->\begingroup \def \in@@ ##1#1{}\toks@ \expandafter {\in@@ #2{}{}#1}\edef \in@@ {\the \toks@ }\expandafter \endgroup \ifx \in@@ \@empty \in@false \else \in@true \fi 
+#1<-,landscape,
+#2<-,submit,techrep,noauthor,
+
+\in@@ #1,landscape,->
+#1<-,submit,techrep,noauthor,{}{}
+
+\in@false ->\let \ifin@ \iffalse 
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-mentuke
+#2<-tate,oneside,twoside,onecolumn,twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\ifx \CurrentOption \@empty \else \@expandtwoargs \in@ {,\CurrentOption ,}{,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,}\ifin@ \@use@ption \expandafter \let \csname ds@\CurrentOption \endcsname \@empty \fi \fi 
+
+\@expandtwoargs #1#2#3->\edef \reserved@a {\noexpand #1{#2}{#3}}\reserved@a 
+#1<-\in@ 
+#2<-,\CurrentOption ,
+#3<-,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,
+
+\CurrentOption ->mentuke
+
+\@curroptions ->submit,techrep,noauthor
+
+\reserved@a ->\in@ {,mentuke,}{,submit,techrep,noauthor,}
+
+\in@ #1#2->\begingroup \def \in@@ ##1#1{}\toks@ \expandafter {\in@@ #2{}{}#1}\edef \in@@ {\the \toks@ }\expandafter \endgroup \ifx \in@@ \@empty \in@false \else \in@true \fi 
+#1<-,mentuke,
+#2<-,submit,techrep,noauthor,
+
+\in@@ #1,mentuke,->
+#1<-,submit,techrep,noauthor,{}{}
+
+\in@false ->\let \ifin@ \iffalse 
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-tate
+#2<-oneside,twoside,onecolumn,twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\ifx \CurrentOption \@empty \else \@expandtwoargs \in@ {,\CurrentOption ,}{,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,}\ifin@ \@use@ption \expandafter \let \csname ds@\CurrentOption \endcsname \@empty \fi \fi 
+
+\@expandtwoargs #1#2#3->\edef \reserved@a {\noexpand #1{#2}{#3}}\reserved@a 
+#1<-\in@ 
+#2<-,\CurrentOption ,
+#3<-,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,
+
+\CurrentOption ->tate
+
+\@curroptions ->submit,techrep,noauthor
+
+\reserved@a ->\in@ {,tate,}{,submit,techrep,noauthor,}
+
+\in@ #1#2->\begingroup \def \in@@ ##1#1{}\toks@ \expandafter {\in@@ #2{}{}#1}\edef \in@@ {\the \toks@ }\expandafter \endgroup \ifx \in@@ \@empty \in@false \else \in@true \fi 
+#1<-,tate,
+#2<-,submit,techrep,noauthor,
+
+\in@@ #1,tate,->
+#1<-,submit,techrep,noauthor,{}{}
+
+\in@false ->\let \ifin@ \iffalse 
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-oneside
+#2<-twoside,onecolumn,twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\ifx \CurrentOption \@empty \else \@expandtwoargs \in@ {,\CurrentOption ,}{,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,}\ifin@ \@use@ption \expandafter \let \csname ds@\CurrentOption \endcsname \@empty \fi \fi 
+
+\@expandtwoargs #1#2#3->\edef \reserved@a {\noexpand #1{#2}{#3}}\reserved@a 
+#1<-\in@ 
+#2<-,\CurrentOption ,
+#3<-,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,
+
+\CurrentOption ->oneside
+
+\@curroptions ->submit,techrep,noauthor
+
+\reserved@a ->\in@ {,oneside,}{,submit,techrep,noauthor,}
+
+\in@ #1#2->\begingroup \def \in@@ ##1#1{}\toks@ \expandafter {\in@@ #2{}{}#1}\edef \in@@ {\the \toks@ }\expandafter \endgroup \ifx \in@@ \@empty \in@false \else \in@true \fi 
+#1<-,oneside,
+#2<-,submit,techrep,noauthor,
+
+\in@@ #1,oneside,->
+#1<-,submit,techrep,noauthor,{}{}
+
+\in@false ->\let \ifin@ \iffalse 
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-twoside
+#2<-onecolumn,twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\ifx \CurrentOption \@empty \else \@expandtwoargs \in@ {,\CurrentOption ,}{,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,}\ifin@ \@use@ption \expandafter \let \csname ds@\CurrentOption \endcsname \@empty \fi \fi 
+
+\@expandtwoargs #1#2#3->\edef \reserved@a {\noexpand #1{#2}{#3}}\reserved@a 
+#1<-\in@ 
+#2<-,\CurrentOption ,
+#3<-,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,
+
+\CurrentOption ->twoside
+
+\@curroptions ->submit,techrep,noauthor
+
+\reserved@a ->\in@ {,twoside,}{,submit,techrep,noauthor,}
+
+\in@ #1#2->\begingroup \def \in@@ ##1#1{}\toks@ \expandafter {\in@@ #2{}{}#1}\edef \in@@ {\the \toks@ }\expandafter \endgroup \ifx \in@@ \@empty \in@false \else \in@true \fi 
+#1<-,twoside,
+#2<-,submit,techrep,noauthor,
+
+\in@@ #1,twoside,->
+#1<-,submit,techrep,noauthor,{}{}
+
+\in@false ->\let \ifin@ \iffalse 
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-onecolumn
+#2<-twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\ifx \CurrentOption \@empty \else \@expandtwoargs \in@ {,\CurrentOption ,}{,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,}\ifin@ \@use@ption \expandafter \let \csname ds@\CurrentOption \endcsname \@empty \fi \fi 
+
+\@expandtwoargs #1#2#3->\edef \reserved@a {\noexpand #1{#2}{#3}}\reserved@a 
+#1<-\in@ 
+#2<-,\CurrentOption ,
+#3<-,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,
+
+\CurrentOption ->onecolumn
+
+\@curroptions ->submit,techrep,noauthor
+
+\reserved@a ->\in@ {,onecolumn,}{,submit,techrep,noauthor,}
+
+\in@ #1#2->\begingroup \def \in@@ ##1#1{}\toks@ \expandafter {\in@@ #2{}{}#1}\edef \in@@ {\the \toks@ }\expandafter \endgroup \ifx \in@@ \@empty \in@false \else \in@true \fi 
+#1<-,onecolumn,
+#2<-,submit,techrep,noauthor,
+
+\in@@ #1,onecolumn,->
+#1<-,submit,techrep,noauthor,{}{}
+
+\in@false ->\let \ifin@ \iffalse 
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-twocolumn
+#2<-titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\ifx \CurrentOption \@empty \else \@expandtwoargs \in@ {,\CurrentOption ,}{,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,}\ifin@ \@use@ption \expandafter \let \csname ds@\CurrentOption \endcsname \@empty \fi \fi 
+
+\@expandtwoargs #1#2#3->\edef \reserved@a {\noexpand #1{#2}{#3}}\reserved@a 
+#1<-\in@ 
+#2<-,\CurrentOption ,
+#3<-,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,
+
+\CurrentOption ->twocolumn
+
+\@curroptions ->submit,techrep,noauthor
+
+\reserved@a ->\in@ {,twocolumn,}{,submit,techrep,noauthor,}
+
+\in@ #1#2->\begingroup \def \in@@ ##1#1{}\toks@ \expandafter {\in@@ #2{}{}#1}\edef \in@@ {\the \toks@ }\expandafter \endgroup \ifx \in@@ \@empty \in@false \else \in@true \fi 
+#1<-,twocolumn,
+#2<-,submit,techrep,noauthor,
+
+\in@@ #1,twocolumn,->
+#1<-,submit,techrep,noauthor,{}{}
+
+\in@false ->\let \ifin@ \iffalse 
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-titlepage
+#2<-notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\ifx \CurrentOption \@empty \else \@expandtwoargs \in@ {,\CurrentOption ,}{,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,}\ifin@ \@use@ption \expandafter \let \csname ds@\CurrentOption \endcsname \@empty \fi \fi 
+
+\@expandtwoargs #1#2#3->\edef \reserved@a {\noexpand #1{#2}{#3}}\reserved@a 
+#1<-\in@ 
+#2<-,\CurrentOption ,
+#3<-,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,
+
+\CurrentOption ->titlepage
+
+\@curroptions ->submit,techrep,noauthor
+
+\reserved@a ->\in@ {,titlepage,}{,submit,techrep,noauthor,}
+
+\in@ #1#2->\begingroup \def \in@@ ##1#1{}\toks@ \expandafter {\in@@ #2{}{}#1}\edef \in@@ {\the \toks@ }\expandafter \endgroup \ifx \in@@ \@empty \in@false \else \in@true \fi 
+#1<-,titlepage,
+#2<-,submit,techrep,noauthor,
+
+\in@@ #1,titlepage,->
+#1<-,submit,techrep,noauthor,{}{}
+
+\in@false ->\let \ifin@ \iffalse 
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-notitlepage
+#2<-openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\ifx \CurrentOption \@empty \else \@expandtwoargs \in@ {,\CurrentOption ,}{,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,}\ifin@ \@use@ption \expandafter \let \csname ds@\CurrentOption \endcsname \@empty \fi \fi 
+
+\@expandtwoargs #1#2#3->\edef \reserved@a {\noexpand #1{#2}{#3}}\reserved@a 
+#1<-\in@ 
+#2<-,\CurrentOption ,
+#3<-,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,
+
+\CurrentOption ->notitlepage
+
+\@curroptions ->submit,techrep,noauthor
+
+\reserved@a ->\in@ {,notitlepage,}{,submit,techrep,noauthor,}
+
+\in@ #1#2->\begingroup \def \in@@ ##1#1{}\toks@ \expandafter {\in@@ #2{}{}#1}\edef \in@@ {\the \toks@ }\expandafter \endgroup \ifx \in@@ \@empty \in@false \else \in@true \fi 
+#1<-,notitlepage,
+#2<-,submit,techrep,noauthor,
+
+\in@@ #1,notitlepage,->
+#1<-,submit,techrep,noauthor,{}{}
+
+\in@false ->\let \ifin@ \iffalse 
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-openright
+#2<-openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\ifx \CurrentOption \@empty \else \@expandtwoargs \in@ {,\CurrentOption ,}{,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,}\ifin@ \@use@ption \expandafter \let \csname ds@\CurrentOption \endcsname \@empty \fi \fi 
+
+\@expandtwoargs #1#2#3->\edef \reserved@a {\noexpand #1{#2}{#3}}\reserved@a 
+#1<-\in@ 
+#2<-,\CurrentOption ,
+#3<-,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,
+
+\CurrentOption ->openright
+
+\@curroptions ->submit,techrep,noauthor
+
+\reserved@a ->\in@ {,openright,}{,submit,techrep,noauthor,}
+
+\in@ #1#2->\begingroup \def \in@@ ##1#1{}\toks@ \expandafter {\in@@ #2{}{}#1}\edef \in@@ {\the \toks@ }\expandafter \endgroup \ifx \in@@ \@empty \in@false \else \in@true \fi 
+#1<-,openright,
+#2<-,submit,techrep,noauthor,
+
+\in@@ #1,openright,->
+#1<-,submit,techrep,noauthor,{}{}
+
+\in@false ->\let \ifin@ \iffalse 
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-openany
+#2<-leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\ifx \CurrentOption \@empty \else \@expandtwoargs \in@ {,\CurrentOption ,}{,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,}\ifin@ \@use@ption \expandafter \let \csname ds@\CurrentOption \endcsname \@empty \fi \fi 
+
+\@expandtwoargs #1#2#3->\edef \reserved@a {\noexpand #1{#2}{#3}}\reserved@a 
+#1<-\in@ 
+#2<-,\CurrentOption ,
+#3<-,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,
+
+\CurrentOption ->openany
+
+\@curroptions ->submit,techrep,noauthor
+
+\reserved@a ->\in@ {,openany,}{,submit,techrep,noauthor,}
+
+\in@ #1#2->\begingroup \def \in@@ ##1#1{}\toks@ \expandafter {\in@@ #2{}{}#1}\edef \in@@ {\the \toks@ }\expandafter \endgroup \ifx \in@@ \@empty \in@false \else \in@true \fi 
+#1<-,openany,
+#2<-,submit,techrep,noauthor,
+
+\in@@ #1,openany,->
+#1<-,submit,techrep,noauthor,{}{}
+
+\in@false ->\let \ifin@ \iffalse 
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-leqno
+#2<-fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\ifx \CurrentOption \@empty \else \@expandtwoargs \in@ {,\CurrentOption ,}{,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,}\ifin@ \@use@ption \expandafter \let \csname ds@\CurrentOption \endcsname \@empty \fi \fi 
+
+\@expandtwoargs #1#2#3->\edef \reserved@a {\noexpand #1{#2}{#3}}\reserved@a 
+#1<-\in@ 
+#2<-,\CurrentOption ,
+#3<-,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,
+
+\CurrentOption ->leqno
+
+\@curroptions ->submit,techrep,noauthor
+
+\reserved@a ->\in@ {,leqno,}{,submit,techrep,noauthor,}
+
+\in@ #1#2->\begingroup \def \in@@ ##1#1{}\toks@ \expandafter {\in@@ #2{}{}#1}\edef \in@@ {\the \toks@ }\expandafter \endgroup \ifx \in@@ \@empty \in@false \else \in@true \fi 
+#1<-,leqno,
+#2<-,submit,techrep,noauthor,
+
+\in@@ #1,leqno,->
+#1<-,submit,techrep,noauthor,{}{}
+
+\in@false ->\let \ifin@ \iffalse 
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-fleqn
+#2<-openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\ifx \CurrentOption \@empty \else \@expandtwoargs \in@ {,\CurrentOption ,}{,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,}\ifin@ \@use@ption \expandafter \let \csname ds@\CurrentOption \endcsname \@empty \fi \fi 
+
+\@expandtwoargs #1#2#3->\edef \reserved@a {\noexpand #1{#2}{#3}}\reserved@a 
+#1<-\in@ 
+#2<-,\CurrentOption ,
+#3<-,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,
+
+\CurrentOption ->fleqn
+
+\@curroptions ->submit,techrep,noauthor
+
+\reserved@a ->\in@ {,fleqn,}{,submit,techrep,noauthor,}
+
+\in@ #1#2->\begingroup \def \in@@ ##1#1{}\toks@ \expandafter {\in@@ #2{}{}#1}\edef \in@@ {\the \toks@ }\expandafter \endgroup \ifx \in@@ \@empty \in@false \else \in@true \fi 
+#1<-,fleqn,
+#2<-,submit,techrep,noauthor,
+
+\in@@ #1,fleqn,->
+#1<-,submit,techrep,noauthor,{}{}
+
+\in@false ->\let \ifin@ \iffalse 
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-openbib
+#2<-disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\ifx \CurrentOption \@empty \else \@expandtwoargs \in@ {,\CurrentOption ,}{,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,}\ifin@ \@use@ption \expandafter \let \csname ds@\CurrentOption \endcsname \@empty \fi \fi 
+
+\@expandtwoargs #1#2#3->\edef \reserved@a {\noexpand #1{#2}{#3}}\reserved@a 
+#1<-\in@ 
+#2<-,\CurrentOption ,
+#3<-,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,
+
+\CurrentOption ->openbib
+
+\@curroptions ->submit,techrep,noauthor
+
+\reserved@a ->\in@ {,openbib,}{,submit,techrep,noauthor,}
+
+\in@ #1#2->\begingroup \def \in@@ ##1#1{}\toks@ \expandafter {\in@@ #2{}{}#1}\edef \in@@ {\the \toks@ }\expandafter \endgroup \ifx \in@@ \@empty \in@false \else \in@true \fi 
+#1<-,openbib,
+#2<-,submit,techrep,noauthor,
+
+\in@@ #1,openbib,->
+#1<-,submit,techrep,noauthor,{}{}
+
+\in@false ->\let \ifin@ \iffalse 
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-disablejfam
+#2<-final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\ifx \CurrentOption \@empty \else \@expandtwoargs \in@ {,\CurrentOption ,}{,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,}\ifin@ \@use@ption \expandafter \let \csname ds@\CurrentOption \endcsname \@empty \fi \fi 
+
+\@expandtwoargs #1#2#3->\edef \reserved@a {\noexpand #1{#2}{#3}}\reserved@a 
+#1<-\in@ 
+#2<-,\CurrentOption ,
+#3<-,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,
+
+\CurrentOption ->disablejfam
+
+\@curroptions ->submit,techrep,noauthor
+
+\reserved@a ->\in@ {,disablejfam,}{,submit,techrep,noauthor,}
+
+\in@ #1#2->\begingroup \def \in@@ ##1#1{}\toks@ \expandafter {\in@@ #2{}{}#1}\edef \in@@ {\the \toks@ }\expandafter \endgroup \ifx \in@@ \@empty \in@false \else \in@true \fi 
+#1<-,disablejfam,
+#2<-,submit,techrep,noauthor,
+
+\in@@ #1,disablejfam,->
+#1<-,submit,techrep,noauthor,{}{}
+
+\in@false ->\let \ifin@ \iffalse 
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-final
+#2<-\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\ifx \CurrentOption \@empty \else \@expandtwoargs \in@ {,\CurrentOption ,}{,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,}\ifin@ \@use@ption \expandafter \let \csname ds@\CurrentOption \endcsname \@empty \fi \fi 
+
+\@expandtwoargs #1#2#3->\edef \reserved@a {\noexpand #1{#2}{#3}}\reserved@a 
+#1<-\in@ 
+#2<-,\CurrentOption ,
+#3<-,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,
+
+\CurrentOption ->final
+
+\@curroptions ->submit,techrep,noauthor
+
+\reserved@a ->\in@ {,final,}{,submit,techrep,noauthor,}
+
+\in@ #1#2->\begingroup \def \in@@ ##1#1{}\toks@ \expandafter {\in@@ #2{}{}#1}\edef \in@@ {\the \toks@ }\expandafter \endgroup \ifx \in@@ \@empty \in@false \else \in@true \fi 
+#1<-,final,
+#2<-,submit,techrep,noauthor,
+
+\in@@ #1,final,->
+#1<-,submit,techrep,noauthor,{}{}
+
+\in@false ->\let \ifin@ \iffalse 
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-\@nil 
+#2<-\@nil 
+#3<-\CurrentOption 
+#4<-\ifx \CurrentOption \@empty \else \@expandtwoargs \in@ {,\CurrentOption ,}{,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,}\ifin@ \@use@ption \expandafter \let \csname ds@\CurrentOption \endcsname \@empty \fi \fi 
+
+\@fornoop #1\@@ #2#3->
+#1<-\@nil 
+#2<-\CurrentOption 
+#3<-\ifx \CurrentOption \@empty \else \@expandtwoargs \in@ {,\CurrentOption ,}{,\ifx \@currext \@clsextension \else \@classoptionslist ,\fi \@curroptions ,}\ifin@ \@use@ption \expandafter \let \csname ds@\CurrentOption \endcsname \@empty \fi \fi 
+
+\@process@pti@ns ->\@for \CurrentOption :=\@curroptions \do {\@ifundefined {ds@\CurrentOption }{\@use@ption \default@ds }\@use@ption }\@for \CurrentOption :=\@declaredoptions \do {\expandafter \let \csname ds@\CurrentOption \endcsname \relax }\let \CurrentOption \@empty \let \@fileswith@pti@ns \@@fileswith@pti@ns \AtEndOfPackage {\expandafter \let \csname unprocessedoptions-\@currname .\@currext \endcsname \relax }
+
+\@for #1:=#2\do #3->\expandafter \def \expandafter \@fortmp \expandafter {#2}\ifx \@fortmp \@empty \else \expandafter \@forloop #2,\@nil ,\@nil \@@ #1{#3}\fi 
+#1<-\CurrentOption 
+#2<-\@curroptions 
+#3<-\@ifundefined {ds@\CurrentOption }{\@use@ption \default@ds }\@use@ption 
+
+\@curroptions ->submit,techrep,noauthor
+
+\@curroptions ->submit,techrep,noauthor
+
+\@forloop #1,#2,#3\@@ #4#5->\def #4{#1}\ifx #4\@nnil \else #5\def #4{#2}\ifx #4\@nnil \else #5\@iforloop #3\@@ #4{#5}\fi \fi 
+#1<-submit
+#2<-techrep
+#3<-noauthor,\@nil ,\@nil 
+#4<-\CurrentOption 
+#5<-\@ifundefined {ds@\CurrentOption }{\@use@ption \default@ds }\@use@ption 
+
+\@ifundefined #1->\ifcsname #1\endcsname \@ifundefin@d@i \else \@ifundefin@d@ii \fi {#1}
+#1<-ds@\CurrentOption 
+
+\CurrentOption ->submit
+
+\@ifundefin@d@i #1\fi #2->\fi \expandafter \ifx \csname #2\endcsname \relax \@ifundefin@d@ii \fi \@secondoftwo 
+#1<-\else \@ifundefin@d@ii 
+#2<-ds@\CurrentOption 
+
+\CurrentOption ->submit
+
+\@secondoftwo #1#2->#2
+#1<-\@use@ption \default@ds 
+#2<-\@use@ption 
+
+\@use@ption ->\@expandtwoargs \@removeelement {\expandafter \@remove@eq@value \CurrentOption =\@nil }\@unusedoptionlist \@unusedoptionlist \csname ds@\CurrentOption \endcsname 
+
+\@expandtwoargs #1#2#3->\edef \reserved@a {\noexpand #1{#2}{#3}}\reserved@a 
+#1<-\@removeelement 
+#2<-\expandafter \@remove@eq@value \CurrentOption =\@nil 
+#3<-\@unusedoptionlist 
+
+\CurrentOption ->submit
+
+\@remove@eq@value #1=#2\@nil ->#1
+#1<-submit
+#2<-
+
+\@unusedoptionlist ->
+
+\reserved@a ->\@removeelement {submit}{}
+
+\@removeelement #1#2#3->\def \reserved@a ##1,#1,##2\reserved@a {##1,##2\reserved@b }\def \reserved@b ##1,\reserved@b ##2\reserved@b {\ifx ,##1\@empty \else ##1\fi }\edef #3{\expandafter \reserved@b \reserved@a ,#2,\reserved@b ,#1,\reserved@a }
+#1<-submit
+#2<-
+#3<-\@unusedoptionlist 
+
+\reserved@a #1,submit,#2\reserved@a ->#1,#2\reserved@b 
+#1<-,,\reserved@b 
+#2<-
+
+\reserved@b #1,\reserved@b #2\reserved@b ->\ifx ,#1\@empty \else #1\fi 
+#1<-,
+#2<-,
+
+\@empty ->
+
+\CurrentOption ->submit
+
+\ds@submit ->
+
+\@ifundefined #1->\ifcsname #1\endcsname \@ifundefin@d@i \else \@ifundefin@d@ii \fi {#1}
+#1<-ds@\CurrentOption 
+
+\CurrentOption ->techrep
+
+\@ifundefin@d@i #1\fi #2->\fi \expandafter \ifx \csname #2\endcsname \relax \@ifundefin@d@ii \fi \@secondoftwo 
+#1<-\else \@ifundefin@d@ii 
+#2<-ds@\CurrentOption 
+
+\CurrentOption ->techrep
+
+\@secondoftwo #1#2->#2
+#1<-\@use@ption \default@ds 
+#2<-\@use@ption 
+
+\@use@ption ->\@expandtwoargs \@removeelement {\expandafter \@remove@eq@value \CurrentOption =\@nil }\@unusedoptionlist \@unusedoptionlist \csname ds@\CurrentOption \endcsname 
+
+\@expandtwoargs #1#2#3->\edef \reserved@a {\noexpand #1{#2}{#3}}\reserved@a 
+#1<-\@removeelement 
+#2<-\expandafter \@remove@eq@value \CurrentOption =\@nil 
+#3<-\@unusedoptionlist 
+
+\CurrentOption ->techrep
+
+\@remove@eq@value #1=#2\@nil ->#1
+#1<-techrep
+#2<-
+
+\@unusedoptionlist ->
+
+\reserved@a ->\@removeelement {techrep}{}
+
+\@removeelement #1#2#3->\def \reserved@a ##1,#1,##2\reserved@a {##1,##2\reserved@b }\def \reserved@b ##1,\reserved@b ##2\reserved@b {\ifx ,##1\@empty \else ##1\fi }\edef #3{\expandafter \reserved@b \reserved@a ,#2,\reserved@b ,#1,\reserved@a }
+#1<-techrep
+#2<-
+#3<-\@unusedoptionlist 
+
+\reserved@a #1,techrep,#2\reserved@a ->#1,#2\reserved@b 
+#1<-,,\reserved@b 
+#2<-
+
+\reserved@b #1,\reserved@b #2\reserved@b ->\ifx ,#1\@empty \else #1\fi 
+#1<-,
+#2<-,
+
+\@empty ->
+
+\CurrentOption ->techrep
+
+\ds@techrep ->
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-noauthor
+#2<-\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\@ifundefined {ds@\CurrentOption }{\@use@ption \default@ds }\@use@ption 
+
+\@ifundefined #1->\ifcsname #1\endcsname \@ifundefin@d@i \else \@ifundefin@d@ii \fi {#1}
+#1<-ds@\CurrentOption 
+
+\CurrentOption ->noauthor
+
+\@ifundefin@d@i #1\fi #2->\fi \expandafter \ifx \csname #2\endcsname \relax \@ifundefin@d@ii \fi \@secondoftwo 
+#1<-\else \@ifundefin@d@ii 
+#2<-ds@\CurrentOption 
+
+\CurrentOption ->noauthor
+
+\@secondoftwo #1#2->#2
+#1<-\@use@ption \default@ds 
+#2<-\@use@ption 
+
+\@use@ption ->\@expandtwoargs \@removeelement {\expandafter \@remove@eq@value \CurrentOption =\@nil }\@unusedoptionlist \@unusedoptionlist \csname ds@\CurrentOption \endcsname 
+
+\@expandtwoargs #1#2#3->\edef \reserved@a {\noexpand #1{#2}{#3}}\reserved@a 
+#1<-\@removeelement 
+#2<-\expandafter \@remove@eq@value \CurrentOption =\@nil 
+#3<-\@unusedoptionlist 
+
+\CurrentOption ->noauthor
+
+\@remove@eq@value #1=#2\@nil ->#1
+#1<-noauthor
+#2<-
+
+\@unusedoptionlist ->
+
+\reserved@a ->\@removeelement {noauthor}{}
+
+\@removeelement #1#2#3->\def \reserved@a ##1,#1,##2\reserved@a {##1,##2\reserved@b }\def \reserved@b ##1,\reserved@b ##2\reserved@b {\ifx ,##1\@empty \else ##1\fi }\edef #3{\expandafter \reserved@b \reserved@a ,#2,\reserved@b ,#1,\reserved@a }
+#1<-noauthor
+#2<-
+#3<-\@unusedoptionlist 
+
+\reserved@a #1,noauthor,#2\reserved@a ->#1,#2\reserved@b 
+#1<-,,\reserved@b 
+#2<-
+
+\reserved@b #1,\reserved@b #2\reserved@b ->\ifx ,#1\@empty \else #1\fi 
+#1<-,
+#2<-,
+
+\@empty ->
+
+\CurrentOption ->noauthor
+
+\ds@noauthor ->
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-\@nil 
+#2<-\@nil 
+#3<-\CurrentOption 
+#4<-\@ifundefined {ds@\CurrentOption }{\@use@ption \default@ds }\@use@ption 
+
+\@fornoop #1\@@ #2#3->
+#1<-\@nil 
+#2<-\CurrentOption 
+#3<-\@ifundefined {ds@\CurrentOption }{\@use@ption \default@ds }\@use@ption 
+
+\@for #1:=#2\do #3->\expandafter \def \expandafter \@fortmp \expandafter {#2}\ifx \@fortmp \@empty \else \expandafter \@forloop #2,\@nil ,\@nil \@@ #1{#3}\fi 
+#1<-\CurrentOption 
+#2<-\@declaredoptions 
+#3<-\expandafter \let \csname ds@\CurrentOption \endcsname \relax 
+
+\@declaredoptions ->,Proof,LAYOUT,submit,DAM,english,technote,sigrecommended,invited,PRO,ACS,TOD,TOM,CDS,DC,DCON,CVA,TBIO,SLDM,JIP,Data,Survey,Research,Short,abstract,systems,services,devices,preface,draft,OT,techrep,noauthor,system,Express,Practice,Content,TCE,invitedshort,recommendedshort,recommendedresearch,recommendedpractice,recommendedcontent,recommendeddevices,preprint,a4paper,a5paper,b4paper,b5paper,a4j,a5j,b4j,b5j,a4p,a5p,b4p,b5p,10pt,11pt,12pt,landscape,mentuke,tate,oneside,twoside,onecolumn,twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final
+
+\@declaredoptions ->,Proof,LAYOUT,submit,DAM,english,technote,sigrecommended,invited,PRO,ACS,TOD,TOM,CDS,DC,DCON,CVA,TBIO,SLDM,JIP,Data,Survey,Research,Short,abstract,systems,services,devices,preface,draft,OT,techrep,noauthor,system,Express,Practice,Content,TCE,invitedshort,recommendedshort,recommendedresearch,recommendedpractice,recommendedcontent,recommendeddevices,preprint,a4paper,a5paper,b4paper,b5paper,a4j,a5j,b4j,b5j,a4p,a5p,b4p,b5p,10pt,11pt,12pt,landscape,mentuke,tate,oneside,twoside,onecolumn,twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final
+
+\@forloop #1,#2,#3\@@ #4#5->\def #4{#1}\ifx #4\@nnil \else #5\def #4{#2}\ifx #4\@nnil \else #5\@iforloop #3\@@ #4{#5}\fi \fi 
+#1<-
+#2<-Proof
+#3<-LAYOUT,submit,DAM,english,technote,sigrecommended,invited,PRO,ACS,TOD,TOM,CDS,DC,DCON,CVA,TBIO,SLDM,JIP,Data,Survey,Research,Short,abstract,systems,services,devices,preface,draft,OT,techrep,noauthor,system,Express,Practice,Content,TCE,invitedshort,recommendedshort,recommendedresearch,recommendedpractice,recommendedcontent,recommendeddevices,preprint,a4paper,a5paper,b4paper,b5paper,a4j,a5j,b4j,b5j,a4p,a5p,b4p,b5p,10pt,11pt,12pt,landscape,mentuke,tate,oneside,twoside,onecolumn,twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#4<-\CurrentOption 
+#5<-\expandafter \let \csname ds@\CurrentOption \endcsname \relax 
+
+\CurrentOption ->
+
+\CurrentOption ->Proof
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-LAYOUT
+#2<-submit,DAM,english,technote,sigrecommended,invited,PRO,ACS,TOD,TOM,CDS,DC,DCON,CVA,TBIO,SLDM,JIP,Data,Survey,Research,Short,abstract,systems,services,devices,preface,draft,OT,techrep,noauthor,system,Express,Practice,Content,TCE,invitedshort,recommendedshort,recommendedresearch,recommendedpractice,recommendedcontent,recommendeddevices,preprint,a4paper,a5paper,b4paper,b5paper,a4j,a5j,b4j,b5j,a4p,a5p,b4p,b5p,10pt,11pt,12pt,landscape,mentuke,tate,oneside,twoside,onecolumn,twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\expandafter \let \csname ds@\CurrentOption \endcsname \relax 
+
+\CurrentOption ->LAYOUT
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-submit
+#2<-DAM,english,technote,sigrecommended,invited,PRO,ACS,TOD,TOM,CDS,DC,DCON,CVA,TBIO,SLDM,JIP,Data,Survey,Research,Short,abstract,systems,services,devices,preface,draft,OT,techrep,noauthor,system,Express,Practice,Content,TCE,invitedshort,recommendedshort,recommendedresearch,recommendedpractice,recommendedcontent,recommendeddevices,preprint,a4paper,a5paper,b4paper,b5paper,a4j,a5j,b4j,b5j,a4p,a5p,b4p,b5p,10pt,11pt,12pt,landscape,mentuke,tate,oneside,twoside,onecolumn,twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\expandafter \let \csname ds@\CurrentOption \endcsname \relax 
+
+\CurrentOption ->submit
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-DAM
+#2<-english,technote,sigrecommended,invited,PRO,ACS,TOD,TOM,CDS,DC,DCON,CVA,TBIO,SLDM,JIP,Data,Survey,Research,Short,abstract,systems,services,devices,preface,draft,OT,techrep,noauthor,system,Express,Practice,Content,TCE,invitedshort,recommendedshort,recommendedresearch,recommendedpractice,recommendedcontent,recommendeddevices,preprint,a4paper,a5paper,b4paper,b5paper,a4j,a5j,b4j,b5j,a4p,a5p,b4p,b5p,10pt,11pt,12pt,landscape,mentuke,tate,oneside,twoside,onecolumn,twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\expandafter \let \csname ds@\CurrentOption \endcsname \relax 
+
+\CurrentOption ->DAM
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-english
+#2<-technote,sigrecommended,invited,PRO,ACS,TOD,TOM,CDS,DC,DCON,CVA,TBIO,SLDM,JIP,Data,Survey,Research,Short,abstract,systems,services,devices,preface,draft,OT,techrep,noauthor,system,Express,Practice,Content,TCE,invitedshort,recommendedshort,recommendedresearch,recommendedpractice,recommendedcontent,recommendeddevices,preprint,a4paper,a5paper,b4paper,b5paper,a4j,a5j,b4j,b5j,a4p,a5p,b4p,b5p,10pt,11pt,12pt,landscape,mentuke,tate,oneside,twoside,onecolumn,twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\expandafter \let \csname ds@\CurrentOption \endcsname \relax 
+
+\CurrentOption ->english
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-technote
+#2<-sigrecommended,invited,PRO,ACS,TOD,TOM,CDS,DC,DCON,CVA,TBIO,SLDM,JIP,Data,Survey,Research,Short,abstract,systems,services,devices,preface,draft,OT,techrep,noauthor,system,Express,Practice,Content,TCE,invitedshort,recommendedshort,recommendedresearch,recommendedpractice,recommendedcontent,recommendeddevices,preprint,a4paper,a5paper,b4paper,b5paper,a4j,a5j,b4j,b5j,a4p,a5p,b4p,b5p,10pt,11pt,12pt,landscape,mentuke,tate,oneside,twoside,onecolumn,twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\expandafter \let \csname ds@\CurrentOption \endcsname \relax 
+
+\CurrentOption ->technote
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-sigrecommended
+#2<-invited,PRO,ACS,TOD,TOM,CDS,DC,DCON,CVA,TBIO,SLDM,JIP,Data,Survey,Research,Short,abstract,systems,services,devices,preface,draft,OT,techrep,noauthor,system,Express,Practice,Content,TCE,invitedshort,recommendedshort,recommendedresearch,recommendedpractice,recommendedcontent,recommendeddevices,preprint,a4paper,a5paper,b4paper,b5paper,a4j,a5j,b4j,b5j,a4p,a5p,b4p,b5p,10pt,11pt,12pt,landscape,mentuke,tate,oneside,twoside,onecolumn,twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\expandafter \let \csname ds@\CurrentOption \endcsname \relax 
+
+\CurrentOption ->sigrecommended
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-invited
+#2<-PRO,ACS,TOD,TOM,CDS,DC,DCON,CVA,TBIO,SLDM,JIP,Data,Survey,Research,Short,abstract,systems,services,devices,preface,draft,OT,techrep,noauthor,system,Express,Practice,Content,TCE,invitedshort,recommendedshort,recommendedresearch,recommendedpractice,recommendedcontent,recommendeddevices,preprint,a4paper,a5paper,b4paper,b5paper,a4j,a5j,b4j,b5j,a4p,a5p,b4p,b5p,10pt,11pt,12pt,landscape,mentuke,tate,oneside,twoside,onecolumn,twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\expandafter \let \csname ds@\CurrentOption \endcsname \relax 
+
+\CurrentOption ->invited
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-PRO
+#2<-ACS,TOD,TOM,CDS,DC,DCON,CVA,TBIO,SLDM,JIP,Data,Survey,Research,Short,abstract,systems,services,devices,preface,draft,OT,techrep,noauthor,system,Express,Practice,Content,TCE,invitedshort,recommendedshort,recommendedresearch,recommendedpractice,recommendedcontent,recommendeddevices,preprint,a4paper,a5paper,b4paper,b5paper,a4j,a5j,b4j,b5j,a4p,a5p,b4p,b5p,10pt,11pt,12pt,landscape,mentuke,tate,oneside,twoside,onecolumn,twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\expandafter \let \csname ds@\CurrentOption \endcsname \relax 
+
+\CurrentOption ->PRO
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-ACS
+#2<-TOD,TOM,CDS,DC,DCON,CVA,TBIO,SLDM,JIP,Data,Survey,Research,Short,abstract,systems,services,devices,preface,draft,OT,techrep,noauthor,system,Express,Practice,Content,TCE,invitedshort,recommendedshort,recommendedresearch,recommendedpractice,recommendedcontent,recommendeddevices,preprint,a4paper,a5paper,b4paper,b5paper,a4j,a5j,b4j,b5j,a4p,a5p,b4p,b5p,10pt,11pt,12pt,landscape,mentuke,tate,oneside,twoside,onecolumn,twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\expandafter \let \csname ds@\CurrentOption \endcsname \relax 
+
+\CurrentOption ->ACS
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-TOD
+#2<-TOM,CDS,DC,DCON,CVA,TBIO,SLDM,JIP,Data,Survey,Research,Short,abstract,systems,services,devices,preface,draft,OT,techrep,noauthor,system,Express,Practice,Content,TCE,invitedshort,recommendedshort,recommendedresearch,recommendedpractice,recommendedcontent,recommendeddevices,preprint,a4paper,a5paper,b4paper,b5paper,a4j,a5j,b4j,b5j,a4p,a5p,b4p,b5p,10pt,11pt,12pt,landscape,mentuke,tate,oneside,twoside,onecolumn,twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\expandafter \let \csname ds@\CurrentOption \endcsname \relax 
+
+\CurrentOption ->TOD
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-TOM
+#2<-CDS,DC,DCON,CVA,TBIO,SLDM,JIP,Data,Survey,Research,Short,abstract,systems,services,devices,preface,draft,OT,techrep,noauthor,system,Express,Practice,Content,TCE,invitedshort,recommendedshort,recommendedresearch,recommendedpractice,recommendedcontent,recommendeddevices,preprint,a4paper,a5paper,b4paper,b5paper,a4j,a5j,b4j,b5j,a4p,a5p,b4p,b5p,10pt,11pt,12pt,landscape,mentuke,tate,oneside,twoside,onecolumn,twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\expandafter \let \csname ds@\CurrentOption \endcsname \relax 
+
+\CurrentOption ->TOM
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-CDS
+#2<-DC,DCON,CVA,TBIO,SLDM,JIP,Data,Survey,Research,Short,abstract,systems,services,devices,preface,draft,OT,techrep,noauthor,system,Express,Practice,Content,TCE,invitedshort,recommendedshort,recommendedresearch,recommendedpractice,recommendedcontent,recommendeddevices,preprint,a4paper,a5paper,b4paper,b5paper,a4j,a5j,b4j,b5j,a4p,a5p,b4p,b5p,10pt,11pt,12pt,landscape,mentuke,tate,oneside,twoside,onecolumn,twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\expandafter \let \csname ds@\CurrentOption \endcsname \relax 
+
+\CurrentOption ->CDS
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-DC
+#2<-DCON,CVA,TBIO,SLDM,JIP,Data,Survey,Research,Short,abstract,systems,services,devices,preface,draft,OT,techrep,noauthor,system,Express,Practice,Content,TCE,invitedshort,recommendedshort,recommendedresearch,recommendedpractice,recommendedcontent,recommendeddevices,preprint,a4paper,a5paper,b4paper,b5paper,a4j,a5j,b4j,b5j,a4p,a5p,b4p,b5p,10pt,11pt,12pt,landscape,mentuke,tate,oneside,twoside,onecolumn,twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\expandafter \let \csname ds@\CurrentOption \endcsname \relax 
+
+\CurrentOption ->DC
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-DCON
+#2<-CVA,TBIO,SLDM,JIP,Data,Survey,Research,Short,abstract,systems,services,devices,preface,draft,OT,techrep,noauthor,system,Express,Practice,Content,TCE,invitedshort,recommendedshort,recommendedresearch,recommendedpractice,recommendedcontent,recommendeddevices,preprint,a4paper,a5paper,b4paper,b5paper,a4j,a5j,b4j,b5j,a4p,a5p,b4p,b5p,10pt,11pt,12pt,landscape,mentuke,tate,oneside,twoside,onecolumn,twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\expandafter \let \csname ds@\CurrentOption \endcsname \relax 
+
+\CurrentOption ->DCON
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-CVA
+#2<-TBIO,SLDM,JIP,Data,Survey,Research,Short,abstract,systems,services,devices,preface,draft,OT,techrep,noauthor,system,Express,Practice,Content,TCE,invitedshort,recommendedshort,recommendedresearch,recommendedpractice,recommendedcontent,recommendeddevices,preprint,a4paper,a5paper,b4paper,b5paper,a4j,a5j,b4j,b5j,a4p,a5p,b4p,b5p,10pt,11pt,12pt,landscape,mentuke,tate,oneside,twoside,onecolumn,twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\expandafter \let \csname ds@\CurrentOption \endcsname \relax 
+
+\CurrentOption ->CVA
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-TBIO
+#2<-SLDM,JIP,Data,Survey,Research,Short,abstract,systems,services,devices,preface,draft,OT,techrep,noauthor,system,Express,Practice,Content,TCE,invitedshort,recommendedshort,recommendedresearch,recommendedpractice,recommendedcontent,recommendeddevices,preprint,a4paper,a5paper,b4paper,b5paper,a4j,a5j,b4j,b5j,a4p,a5p,b4p,b5p,10pt,11pt,12pt,landscape,mentuke,tate,oneside,twoside,onecolumn,twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\expandafter \let \csname ds@\CurrentOption \endcsname \relax 
+
+\CurrentOption ->TBIO
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-SLDM
+#2<-JIP,Data,Survey,Research,Short,abstract,systems,services,devices,preface,draft,OT,techrep,noauthor,system,Express,Practice,Content,TCE,invitedshort,recommendedshort,recommendedresearch,recommendedpractice,recommendedcontent,recommendeddevices,preprint,a4paper,a5paper,b4paper,b5paper,a4j,a5j,b4j,b5j,a4p,a5p,b4p,b5p,10pt,11pt,12pt,landscape,mentuke,tate,oneside,twoside,onecolumn,twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\expandafter \let \csname ds@\CurrentOption \endcsname \relax 
+
+\CurrentOption ->SLDM
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-JIP
+#2<-Data,Survey,Research,Short,abstract,systems,services,devices,preface,draft,OT,techrep,noauthor,system,Express,Practice,Content,TCE,invitedshort,recommendedshort,recommendedresearch,recommendedpractice,recommendedcontent,recommendeddevices,preprint,a4paper,a5paper,b4paper,b5paper,a4j,a5j,b4j,b5j,a4p,a5p,b4p,b5p,10pt,11pt,12pt,landscape,mentuke,tate,oneside,twoside,onecolumn,twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\expandafter \let \csname ds@\CurrentOption \endcsname \relax 
+
+\CurrentOption ->JIP
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-Data
+#2<-Survey,Research,Short,abstract,systems,services,devices,preface,draft,OT,techrep,noauthor,system,Express,Practice,Content,TCE,invitedshort,recommendedshort,recommendedresearch,recommendedpractice,recommendedcontent,recommendeddevices,preprint,a4paper,a5paper,b4paper,b5paper,a4j,a5j,b4j,b5j,a4p,a5p,b4p,b5p,10pt,11pt,12pt,landscape,mentuke,tate,oneside,twoside,onecolumn,twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\expandafter \let \csname ds@\CurrentOption \endcsname \relax 
+
+\CurrentOption ->Data
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-Survey
+#2<-Research,Short,abstract,systems,services,devices,preface,draft,OT,techrep,noauthor,system,Express,Practice,Content,TCE,invitedshort,recommendedshort,recommendedresearch,recommendedpractice,recommendedcontent,recommendeddevices,preprint,a4paper,a5paper,b4paper,b5paper,a4j,a5j,b4j,b5j,a4p,a5p,b4p,b5p,10pt,11pt,12pt,landscape,mentuke,tate,oneside,twoside,onecolumn,twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\expandafter \let \csname ds@\CurrentOption \endcsname \relax 
+
+\CurrentOption ->Survey
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-Research
+#2<-Short,abstract,systems,services,devices,preface,draft,OT,techrep,noauthor,system,Express,Practice,Content,TCE,invitedshort,recommendedshort,recommendedresearch,recommendedpractice,recommendedcontent,recommendeddevices,preprint,a4paper,a5paper,b4paper,b5paper,a4j,a5j,b4j,b5j,a4p,a5p,b4p,b5p,10pt,11pt,12pt,landscape,mentuke,tate,oneside,twoside,onecolumn,twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\expandafter \let \csname ds@\CurrentOption \endcsname \relax 
+
+\CurrentOption ->Research
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-Short
+#2<-abstract,systems,services,devices,preface,draft,OT,techrep,noauthor,system,Express,Practice,Content,TCE,invitedshort,recommendedshort,recommendedresearch,recommendedpractice,recommendedcontent,recommendeddevices,preprint,a4paper,a5paper,b4paper,b5paper,a4j,a5j,b4j,b5j,a4p,a5p,b4p,b5p,10pt,11pt,12pt,landscape,mentuke,tate,oneside,twoside,onecolumn,twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\expandafter \let \csname ds@\CurrentOption \endcsname \relax 
+
+\CurrentOption ->Short
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-abstract
+#2<-systems,services,devices,preface,draft,OT,techrep,noauthor,system,Express,Practice,Content,TCE,invitedshort,recommendedshort,recommendedresearch,recommendedpractice,recommendedcontent,recommendeddevices,preprint,a4paper,a5paper,b4paper,b5paper,a4j,a5j,b4j,b5j,a4p,a5p,b4p,b5p,10pt,11pt,12pt,landscape,mentuke,tate,oneside,twoside,onecolumn,twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\expandafter \let \csname ds@\CurrentOption \endcsname \relax 
+
+\CurrentOption ->abstract
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-systems
+#2<-services,devices,preface,draft,OT,techrep,noauthor,system,Express,Practice,Content,TCE,invitedshort,recommendedshort,recommendedresearch,recommendedpractice,recommendedcontent,recommendeddevices,preprint,a4paper,a5paper,b4paper,b5paper,a4j,a5j,b4j,b5j,a4p,a5p,b4p,b5p,10pt,11pt,12pt,landscape,mentuke,tate,oneside,twoside,onecolumn,twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\expandafter \let \csname ds@\CurrentOption \endcsname \relax 
+
+\CurrentOption ->systems
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-services
+#2<-devices,preface,draft,OT,techrep,noauthor,system,Express,Practice,Content,TCE,invitedshort,recommendedshort,recommendedresearch,recommendedpractice,recommendedcontent,recommendeddevices,preprint,a4paper,a5paper,b4paper,b5paper,a4j,a5j,b4j,b5j,a4p,a5p,b4p,b5p,10pt,11pt,12pt,landscape,mentuke,tate,oneside,twoside,onecolumn,twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\expandafter \let \csname ds@\CurrentOption \endcsname \relax 
+
+\CurrentOption ->services
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-devices
+#2<-preface,draft,OT,techrep,noauthor,system,Express,Practice,Content,TCE,invitedshort,recommendedshort,recommendedresearch,recommendedpractice,recommendedcontent,recommendeddevices,preprint,a4paper,a5paper,b4paper,b5paper,a4j,a5j,b4j,b5j,a4p,a5p,b4p,b5p,10pt,11pt,12pt,landscape,mentuke,tate,oneside,twoside,onecolumn,twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\expandafter \let \csname ds@\CurrentOption \endcsname \relax 
+
+\CurrentOption ->devices
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-preface
+#2<-draft,OT,techrep,noauthor,system,Express,Practice,Content,TCE,invitedshort,recommendedshort,recommendedresearch,recommendedpractice,recommendedcontent,recommendeddevices,preprint,a4paper,a5paper,b4paper,b5paper,a4j,a5j,b4j,b5j,a4p,a5p,b4p,b5p,10pt,11pt,12pt,landscape,mentuke,tate,oneside,twoside,onecolumn,twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\expandafter \let \csname ds@\CurrentOption \endcsname \relax 
+
+\CurrentOption ->preface
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-draft
+#2<-OT,techrep,noauthor,system,Express,Practice,Content,TCE,invitedshort,recommendedshort,recommendedresearch,recommendedpractice,recommendedcontent,recommendeddevices,preprint,a4paper,a5paper,b4paper,b5paper,a4j,a5j,b4j,b5j,a4p,a5p,b4p,b5p,10pt,11pt,12pt,landscape,mentuke,tate,oneside,twoside,onecolumn,twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\expandafter \let \csname ds@\CurrentOption \endcsname \relax 
+
+\CurrentOption ->draft
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-OT
+#2<-techrep,noauthor,system,Express,Practice,Content,TCE,invitedshort,recommendedshort,recommendedresearch,recommendedpractice,recommendedcontent,recommendeddevices,preprint,a4paper,a5paper,b4paper,b5paper,a4j,a5j,b4j,b5j,a4p,a5p,b4p,b5p,10pt,11pt,12pt,landscape,mentuke,tate,oneside,twoside,onecolumn,twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\expandafter \let \csname ds@\CurrentOption \endcsname \relax 
+
+\CurrentOption ->OT
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-techrep
+#2<-noauthor,system,Express,Practice,Content,TCE,invitedshort,recommendedshort,recommendedresearch,recommendedpractice,recommendedcontent,recommendeddevices,preprint,a4paper,a5paper,b4paper,b5paper,a4j,a5j,b4j,b5j,a4p,a5p,b4p,b5p,10pt,11pt,12pt,landscape,mentuke,tate,oneside,twoside,onecolumn,twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\expandafter \let \csname ds@\CurrentOption \endcsname \relax 
+
+\CurrentOption ->techrep
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-noauthor
+#2<-system,Express,Practice,Content,TCE,invitedshort,recommendedshort,recommendedresearch,recommendedpractice,recommendedcontent,recommendeddevices,preprint,a4paper,a5paper,b4paper,b5paper,a4j,a5j,b4j,b5j,a4p,a5p,b4p,b5p,10pt,11pt,12pt,landscape,mentuke,tate,oneside,twoside,onecolumn,twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\expandafter \let \csname ds@\CurrentOption \endcsname \relax 
+
+\CurrentOption ->noauthor
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-system
+#2<-Express,Practice,Content,TCE,invitedshort,recommendedshort,recommendedresearch,recommendedpractice,recommendedcontent,recommendeddevices,preprint,a4paper,a5paper,b4paper,b5paper,a4j,a5j,b4j,b5j,a4p,a5p,b4p,b5p,10pt,11pt,12pt,landscape,mentuke,tate,oneside,twoside,onecolumn,twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\expandafter \let \csname ds@\CurrentOption \endcsname \relax 
+
+\CurrentOption ->system
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-Express
+#2<-Practice,Content,TCE,invitedshort,recommendedshort,recommendedresearch,recommendedpractice,recommendedcontent,recommendeddevices,preprint,a4paper,a5paper,b4paper,b5paper,a4j,a5j,b4j,b5j,a4p,a5p,b4p,b5p,10pt,11pt,12pt,landscape,mentuke,tate,oneside,twoside,onecolumn,twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\expandafter \let \csname ds@\CurrentOption \endcsname \relax 
+
+\CurrentOption ->Express
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-Practice
+#2<-Content,TCE,invitedshort,recommendedshort,recommendedresearch,recommendedpractice,recommendedcontent,recommendeddevices,preprint,a4paper,a5paper,b4paper,b5paper,a4j,a5j,b4j,b5j,a4p,a5p,b4p,b5p,10pt,11pt,12pt,landscape,mentuke,tate,oneside,twoside,onecolumn,twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\expandafter \let \csname ds@\CurrentOption \endcsname \relax 
+
+\CurrentOption ->Practice
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-Content
+#2<-TCE,invitedshort,recommendedshort,recommendedresearch,recommendedpractice,recommendedcontent,recommendeddevices,preprint,a4paper,a5paper,b4paper,b5paper,a4j,a5j,b4j,b5j,a4p,a5p,b4p,b5p,10pt,11pt,12pt,landscape,mentuke,tate,oneside,twoside,onecolumn,twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\expandafter \let \csname ds@\CurrentOption \endcsname \relax 
+
+\CurrentOption ->Content
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-TCE
+#2<-invitedshort,recommendedshort,recommendedresearch,recommendedpractice,recommendedcontent,recommendeddevices,preprint,a4paper,a5paper,b4paper,b5paper,a4j,a5j,b4j,b5j,a4p,a5p,b4p,b5p,10pt,11pt,12pt,landscape,mentuke,tate,oneside,twoside,onecolumn,twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\expandafter \let \csname ds@\CurrentOption \endcsname \relax 
+
+\CurrentOption ->TCE
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-invitedshort
+#2<-recommendedshort,recommendedresearch,recommendedpractice,recommendedcontent,recommendeddevices,preprint,a4paper,a5paper,b4paper,b5paper,a4j,a5j,b4j,b5j,a4p,a5p,b4p,b5p,10pt,11pt,12pt,landscape,mentuke,tate,oneside,twoside,onecolumn,twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\expandafter \let \csname ds@\CurrentOption \endcsname \relax 
+
+\CurrentOption ->invitedshort
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-recommendedshort
+#2<-recommendedresearch,recommendedpractice,recommendedcontent,recommendeddevices,preprint,a4paper,a5paper,b4paper,b5paper,a4j,a5j,b4j,b5j,a4p,a5p,b4p,b5p,10pt,11pt,12pt,landscape,mentuke,tate,oneside,twoside,onecolumn,twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\expandafter \let \csname ds@\CurrentOption \endcsname \relax 
+
+\CurrentOption ->recommendedshort
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-recommendedresearch
+#2<-recommendedpractice,recommendedcontent,recommendeddevices,preprint,a4paper,a5paper,b4paper,b5paper,a4j,a5j,b4j,b5j,a4p,a5p,b4p,b5p,10pt,11pt,12pt,landscape,mentuke,tate,oneside,twoside,onecolumn,twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\expandafter \let \csname ds@\CurrentOption \endcsname \relax 
+
+\CurrentOption ->recommendedresearch
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-recommendedpractice
+#2<-recommendedcontent,recommendeddevices,preprint,a4paper,a5paper,b4paper,b5paper,a4j,a5j,b4j,b5j,a4p,a5p,b4p,b5p,10pt,11pt,12pt,landscape,mentuke,tate,oneside,twoside,onecolumn,twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\expandafter \let \csname ds@\CurrentOption \endcsname \relax 
+
+\CurrentOption ->recommendedpractice
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-recommendedcontent
+#2<-recommendeddevices,preprint,a4paper,a5paper,b4paper,b5paper,a4j,a5j,b4j,b5j,a4p,a5p,b4p,b5p,10pt,11pt,12pt,landscape,mentuke,tate,oneside,twoside,onecolumn,twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\expandafter \let \csname ds@\CurrentOption \endcsname \relax 
+
+\CurrentOption ->recommendedcontent
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-recommendeddevices
+#2<-preprint,a4paper,a5paper,b4paper,b5paper,a4j,a5j,b4j,b5j,a4p,a5p,b4p,b5p,10pt,11pt,12pt,landscape,mentuke,tate,oneside,twoside,onecolumn,twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\expandafter \let \csname ds@\CurrentOption \endcsname \relax 
+
+\CurrentOption ->recommendeddevices
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-preprint
+#2<-a4paper,a5paper,b4paper,b5paper,a4j,a5j,b4j,b5j,a4p,a5p,b4p,b5p,10pt,11pt,12pt,landscape,mentuke,tate,oneside,twoside,onecolumn,twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\expandafter \let \csname ds@\CurrentOption \endcsname \relax 
+
+\CurrentOption ->preprint
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-a4paper
+#2<-a5paper,b4paper,b5paper,a4j,a5j,b4j,b5j,a4p,a5p,b4p,b5p,10pt,11pt,12pt,landscape,mentuke,tate,oneside,twoside,onecolumn,twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\expandafter \let \csname ds@\CurrentOption \endcsname \relax 
+
+\CurrentOption ->a4paper
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-a5paper
+#2<-b4paper,b5paper,a4j,a5j,b4j,b5j,a4p,a5p,b4p,b5p,10pt,11pt,12pt,landscape,mentuke,tate,oneside,twoside,onecolumn,twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\expandafter \let \csname ds@\CurrentOption \endcsname \relax 
+
+\CurrentOption ->a5paper
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-b4paper
+#2<-b5paper,a4j,a5j,b4j,b5j,a4p,a5p,b4p,b5p,10pt,11pt,12pt,landscape,mentuke,tate,oneside,twoside,onecolumn,twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\expandafter \let \csname ds@\CurrentOption \endcsname \relax 
+
+\CurrentOption ->b4paper
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-b5paper
+#2<-a4j,a5j,b4j,b5j,a4p,a5p,b4p,b5p,10pt,11pt,12pt,landscape,mentuke,tate,oneside,twoside,onecolumn,twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\expandafter \let \csname ds@\CurrentOption \endcsname \relax 
+
+\CurrentOption ->b5paper
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-a4j
+#2<-a5j,b4j,b5j,a4p,a5p,b4p,b5p,10pt,11pt,12pt,landscape,mentuke,tate,oneside,twoside,onecolumn,twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\expandafter \let \csname ds@\CurrentOption \endcsname \relax 
+
+\CurrentOption ->a4j
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-a5j
+#2<-b4j,b5j,a4p,a5p,b4p,b5p,10pt,11pt,12pt,landscape,mentuke,tate,oneside,twoside,onecolumn,twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\expandafter \let \csname ds@\CurrentOption \endcsname \relax 
+
+\CurrentOption ->a5j
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-b4j
+#2<-b5j,a4p,a5p,b4p,b5p,10pt,11pt,12pt,landscape,mentuke,tate,oneside,twoside,onecolumn,twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\expandafter \let \csname ds@\CurrentOption \endcsname \relax 
+
+\CurrentOption ->b4j
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-b5j
+#2<-a4p,a5p,b4p,b5p,10pt,11pt,12pt,landscape,mentuke,tate,oneside,twoside,onecolumn,twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\expandafter \let \csname ds@\CurrentOption \endcsname \relax 
+
+\CurrentOption ->b5j
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-a4p
+#2<-a5p,b4p,b5p,10pt,11pt,12pt,landscape,mentuke,tate,oneside,twoside,onecolumn,twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\expandafter \let \csname ds@\CurrentOption \endcsname \relax 
+
+\CurrentOption ->a4p
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-a5p
+#2<-b4p,b5p,10pt,11pt,12pt,landscape,mentuke,tate,oneside,twoside,onecolumn,twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\expandafter \let \csname ds@\CurrentOption \endcsname \relax 
+
+\CurrentOption ->a5p
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-b4p
+#2<-b5p,10pt,11pt,12pt,landscape,mentuke,tate,oneside,twoside,onecolumn,twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\expandafter \let \csname ds@\CurrentOption \endcsname \relax 
+
+\CurrentOption ->b4p
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-b5p
+#2<-10pt,11pt,12pt,landscape,mentuke,tate,oneside,twoside,onecolumn,twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\expandafter \let \csname ds@\CurrentOption \endcsname \relax 
+
+\CurrentOption ->b5p
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-10pt
+#2<-11pt,12pt,landscape,mentuke,tate,oneside,twoside,onecolumn,twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\expandafter \let \csname ds@\CurrentOption \endcsname \relax 
+
+\CurrentOption ->10pt
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-11pt
+#2<-12pt,landscape,mentuke,tate,oneside,twoside,onecolumn,twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\expandafter \let \csname ds@\CurrentOption \endcsname \relax 
+
+\CurrentOption ->11pt
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-12pt
+#2<-landscape,mentuke,tate,oneside,twoside,onecolumn,twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\expandafter \let \csname ds@\CurrentOption \endcsname \relax 
+
+\CurrentOption ->12pt
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-landscape
+#2<-mentuke,tate,oneside,twoside,onecolumn,twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\expandafter \let \csname ds@\CurrentOption \endcsname \relax 
+
+\CurrentOption ->landscape
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-mentuke
+#2<-tate,oneside,twoside,onecolumn,twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\expandafter \let \csname ds@\CurrentOption \endcsname \relax 
+
+\CurrentOption ->mentuke
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-tate
+#2<-oneside,twoside,onecolumn,twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\expandafter \let \csname ds@\CurrentOption \endcsname \relax 
+
+\CurrentOption ->tate
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-oneside
+#2<-twoside,onecolumn,twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\expandafter \let \csname ds@\CurrentOption \endcsname \relax 
+
+\CurrentOption ->oneside
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-twoside
+#2<-onecolumn,twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\expandafter \let \csname ds@\CurrentOption \endcsname \relax 
+
+\CurrentOption ->twoside
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-onecolumn
+#2<-twocolumn,titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\expandafter \let \csname ds@\CurrentOption \endcsname \relax 
+
+\CurrentOption ->onecolumn
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-twocolumn
+#2<-titlepage,notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\expandafter \let \csname ds@\CurrentOption \endcsname \relax 
+
+\CurrentOption ->twocolumn
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-titlepage
+#2<-notitlepage,openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\expandafter \let \csname ds@\CurrentOption \endcsname \relax 
+
+\CurrentOption ->titlepage
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-notitlepage
+#2<-openright,openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\expandafter \let \csname ds@\CurrentOption \endcsname \relax 
+
+\CurrentOption ->notitlepage
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-openright
+#2<-openany,leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\expandafter \let \csname ds@\CurrentOption \endcsname \relax 
+
+\CurrentOption ->openright
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-openany
+#2<-leqno,fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\expandafter \let \csname ds@\CurrentOption \endcsname \relax 
+
+\CurrentOption ->openany
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-leqno
+#2<-fleqn,openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\expandafter \let \csname ds@\CurrentOption \endcsname \relax 
+
+\CurrentOption ->leqno
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-fleqn
+#2<-openbib,disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\expandafter \let \csname ds@\CurrentOption \endcsname \relax 
+
+\CurrentOption ->fleqn
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-openbib
+#2<-disablejfam,final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\expandafter \let \csname ds@\CurrentOption \endcsname \relax 
+
+\CurrentOption ->openbib
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-disablejfam
+#2<-final,\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\expandafter \let \csname ds@\CurrentOption \endcsname \relax 
+
+\CurrentOption ->disablejfam
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-final
+#2<-\@nil ,\@nil 
+#3<-\CurrentOption 
+#4<-\expandafter \let \csname ds@\CurrentOption \endcsname \relax 
+
+\CurrentOption ->final
+
+\@iforloop #1,#2\@@ #3#4->\def #3{#1}\ifx #3\@nnil \expandafter \@fornoop \else #4\relax \expandafter \@iforloop \fi #2\@@ #3{#4}
+#1<-\@nil 
+#2<-\@nil 
+#3<-\CurrentOption 
+#4<-\expandafter \let \csname ds@\CurrentOption \endcsname \relax 
+
+\@fornoop #1\@@ #2#3->
+#1<-\@nil 
+#2<-\CurrentOption 
+#3<-\expandafter \let \csname ds@\CurrentOption \endcsname \relax 
+
+\AtEndOfPackage ->\expandafter \g@addto@macro \csname \@currname .\@currext -h@@k\endcsname 
+
+\@currname ->ipsj
+
+\@currext ->cls
+
+\g@addto@macro #1#2->\begingroup \toks@ \expandafter {#1#2}\xdef #1{\the \toks@ }\endgroup 
+#1<-\ipsj.cls-h@@k 
+#2<-\expandafter \let \csname unprocessedoptions-\@currname .\@currext \endcsname \relax 
+
+\ipsj.cls-h@@k ->
+\h=\dimen154
+\JQ=\dimen155
+\Q=\dimen156
+\@Q=\dimen157
+\ChtE=\skip47
+\CdpE=\skip48
+\CwdE=\skip49
+\CvsE=\skip50
+\normalbaselineskip=\skip51
+\c@volume=\count185
+\c@number=\count186
+\c@month=\count187
+\c@year=\count188
+\author@count=\count189
+\label@count=\count190
+\email@count=\count191
+\affiliate@count=\count192
+\offsetemail=\count193
+\paffiliate@count=\count194
+\shubetutitlesep=\skip52
+\JEhonbunsep=\skip53
+\Etitleauthorsep=\skip54
+\Eauthorreceivesep=\skip55
+\Ereceiveabstsep=\skip56
+\Eabstkeywordsep=\skip57
+\Jtitlejauthorsep=\skip58
+\Jauthorjreceivesep=\skip59
+\Jreceivejabstsep=\skip60
+\Jabstsepjkeyword=\skip61
+\Jkeywordetitle=\skip62
+\Jetitleeauthor=\skip63
+\Jeauthorereceivesep=\skip64
+\Jereceiveeabstsep=\skip65
+\Jeabstekeywordsep=\skip66
+\@abstractbox=\box67
+\@eabstractbox=\box68
+\@jkeywordbox=\box69
+\@ekeywordbox=\box70
+\@keywordbox=\box71
+\c@part=\count195
+\c@section=\count196
+\c@subsection=\count197
+\c@subsubsection=\count198
+\c@paragraph=\count199
+\c@subparagraph=\count266
+\@tempboxb=\box72
+\SECTwd=\box73
+\section@height=\skip67
+\@abovecapskip=\dimen158
+\@belowcapskip=\dimen159
+\c@figure=\count267
+\c@table=\count268
+\abovecaptionskip=\skip68
+\belowcaptionskip=\skip69
+\@tempboxb=\box74
+\capwidth=\dimen160
+\ecapwidth=\dimen161
+\bibindent=\dimen162
+\c@profile=\count269
+\mathindent=\dimen163
+\@dummyfigbox=\box75
+\twocolcapwidth=\dimen164
+\twocolecapwidth=\dimen165
+\@compare@result=\count270
+ (./ipsjtech.sty
+Document Class: ipsj 2012/06/01 v3.00 IPSJTECH.STY
+)) (/usr/share/texmf-dist/tex/latex/base/fontenc.sty
+Package: fontenc 2021/04/29 v2.0v Standard LaTeX package
+) (/usr/share/texmf-dist/tex/latex/lm/lmodern.sty
+Package: lmodern 2015/05/01 v1.6.1 Latin Modern Fonts
+LaTeX Font Info:    Overwriting symbol font `operators' in version `normal'
+(Font)                  OT1/cmr/m/n --> OT1/lmr/m/n on input line 22.
+LaTeX Font Info:    Overwriting symbol font `letters' in version `normal'
+(Font)                  OML/cmm/m/it --> OML/lmm/m/it on input line 23.
+LaTeX Font Info:    Overwriting symbol font `symbols' in version `normal'
+(Font)                  OMS/cmsy/m/n --> OMS/lmsy/m/n on input line 24.
+LaTeX Font Info:    Overwriting symbol font `largesymbols' in version `normal'
+(Font)                  OMX/cmex/m/n --> OMX/lmex/m/n on input line 25.
+LaTeX Font Info:    Overwriting symbol font `operators' in version `bold'
+(Font)                  OT1/cmr/bx/n --> OT1/lmr/bx/n on input line 26.
+LaTeX Font Info:    Overwriting symbol font `letters' in version `bold'
+(Font)                  OML/cmm/b/it --> OML/lmm/b/it on input line 27.
+LaTeX Font Info:    Overwriting symbol font `symbols' in version `bold'
+(Font)                  OMS/cmsy/b/n --> OMS/lmsy/b/n on input line 28.
+LaTeX Font Info:    Overwriting symbol font `largesymbols' in version `bold'
+(Font)                  OMX/cmex/m/n --> OMX/lmex/m/n on input line 29.
+LaTeX Font Info:    Overwriting math alphabet `\mathbf' in version `normal'
+(Font)                  OT1/cmr/bx/n --> OT1/lmr/bx/n on input line 31.
+LaTeX Font Info:    Overwriting math alphabet `\mathsf' in version `normal'
+(Font)                  OT1/cmss/m/n --> OT1/lmss/m/n on input line 32.
+LaTeX Font Info:    Overwriting math alphabet `\mathit' in version `normal'
+(Font)                  OT1/cmr/m/it --> OT1/lmr/m/it on input line 33.
+LaTeX Font Info:    Overwriting math alphabet `\mathtt' in version `normal'
+(Font)                  OT1/cmtt/m/n --> OT1/lmtt/m/n on input line 34.
+LaTeX Font Info:    Overwriting math alphabet `\mathbf' in version `bold'
+(Font)                  OT1/cmr/bx/n --> OT1/lmr/bx/n on input line 35.
+LaTeX Font Info:    Overwriting math alphabet `\mathsf' in version `bold'
+(Font)                  OT1/cmss/bx/n --> OT1/lmss/bx/n on input line 36.
+LaTeX Font Info:    Overwriting math alphabet `\mathit' in version `bold'
+(Font)                  OT1/cmr/bx/it --> OT1/lmr/bx/it on input line 37.
+LaTeX Font Info:    Overwriting math alphabet `\mathtt' in version `bold'
+(Font)                  OT1/cmtt/m/n --> OT1/lmtt/m/n on input line 38.
+) (/usr/share/texmf-dist/tex/latex/base/textcomp.sty
+Package: textcomp 2020/02/02 v2.0n Standard LaTeX package
+) (/usr/share/texmf-dist/tex/latex/base/latexsym.sty
+Package: latexsym 1998/08/17 v2.2e Standard LaTeX package (lasy symbols)
+\symlasy=\mathgroup4
+LaTeX Font Info:    Overwriting symbol font `lasy' in version `bold'
+(Font)                  U/lasy/m/n --> U/lasy/b/n on input line 52.
+) (/usr/share/texmf-dist/tex/latex/listings/listings.sty (/usr/share/texmf-dist/tex/latex/graphics/keyval.sty
+Package: keyval 2014/10/28 v1.15 key=value parser (DPC)
+\KV@toks@=\toks17
+)
+\lst@mode=\count271
+\lst@gtempboxa=\box76
+\lst@token=\toks18
+\lst@length=\count272
+\lst@currlwidth=\dimen166
+\lst@column=\count273
+\lst@pos=\count274
+\lst@lostspace=\dimen167
+\lst@width=\dimen168
+\lst@newlines=\count275
+\lst@lineno=\count276
+\lst@maxwidth=\dimen169
+ (/usr/share/texmf-dist/tex/latex/listings/lstmisc.sty
+File: lstmisc.sty 2020/03/24 1.8d (Carsten Heinz)
+\c@lstnumber=\count277
+\lst@skipnumbers=\count278
+\lst@framebox=\box77
+) (/usr/share/texmf-dist/tex/latex/listings/listings.cfg
+File: listings.cfg 2020/03/24 1.8d listings configuration
+))
+Package: listings 2020/03/24 1.8d (Carsten Heinz)
+ (/usr/share/texmf-dist/tex/latex/graphics/graphicx.sty
+Package: graphicx 2021/09/16 v1.2d Enhanced LaTeX Graphics (DPC,SPQR)
+ (/usr/share/texmf-dist/tex/latex/graphics/graphics.sty
+Package: graphics 2021/03/04 v1.4d Standard LaTeX Graphics (DPC,SPQR)
+ (/usr/share/texmf-dist/tex/latex/graphics/trig.sty
+Package: trig 2021/08/11 v1.11 sin cos tan (DPC)
+) (/usr/share/texmf-dist/tex/latex/graphics-cfg/graphics.cfg
+File: graphics.cfg 2016/06/04 v1.11 sample graphics configuration
+)
+Package graphics Info: Driver file: dvipdfmx.def on input line 107.
+ (/usr/share/texmf-dist/tex/latex/graphics-def/dvipdfmx.def
+File: dvipdfmx.def 2021/03/18 v5.0j Graphics/color driver for dvipdfmx
+))
+\Gin@req@height=\dimen170
+\Gin@req@width=\dimen171
+) (/usr/share/texmf-dist/tex/latex/ascmac/ascmac.sty
+Package: ascmac 2020/01/15 v2.1 ascmac wrapper (community edition) 
+ (/usr/share/texmf-dist/tex/latex/ascmac/tascmac.sty
+Package: tascmac 2020/01/15 v2.1 ascmac package (community edition) 
+\@savetbaselineshift=\dimen172
+\@saveybaselineshift=\dimen173
+\scb@x=\box78
+\scscb@x=\box79
+\@bw=\dimen174
+\@nbox=\box80
+\@nbody=\box81
+\@scw=\dimen175
+\ascmac@hoboxa=\box82
+\ascmac@hoboxb=\box83
+\@itemh=\dimen176
+\@iboxpos=\toks19
+\@iboxstr=\box84
+\@bwsp=\box85
+\@@bwsp=\box86
+\@bcal=\count279
+\shaderule=\dimen177
+)) (/usr/share/texmf-dist/tex/latex/amsmath/amsmath.sty
+Package: amsmath 2021/10/15 v2.17l AMS math features
+\@mathmargin=\skip70
+
+For additional information on amsmath, use the `?' option.
+(/usr/share/texmf-dist/tex/latex/amsmath/amstext.sty
+Package: amstext 2021/08/26 v2.01 AMS text
+ (/usr/share/texmf-dist/tex/latex/amsmath/amsgen.sty
+File: amsgen.sty 1999/11/30 v2.0 generic functions
+\@emptytoks=\toks20
+\ex@=\dimen178
+)) (/usr/share/texmf-dist/tex/latex/amsmath/amsbsy.sty
+Package: amsbsy 1999/11/29 v1.2d Bold Symbols
+\pmbraise@=\dimen179
+) (/usr/share/texmf-dist/tex/latex/amsmath/amsopn.sty
+Package: amsopn 2021/08/26 v2.02 operator names
+)
+\inf@bad=\count280
+LaTeX Info: Redefining \frac on input line 234.
+\uproot@=\count281
+\leftroot@=\count282
+LaTeX Info: Redefining \overline on input line 399.
+\classnum@=\count283
+\DOTSCASE@=\count284
+LaTeX Info: Redefining \ldots on input line 496.
+LaTeX Info: Redefining \dots on input line 499.
+LaTeX Info: Redefining \cdots on input line 620.
+\Mathstrutbox@=\box87
+\strutbox@=\box88
+\big@size=\dimen180
+LaTeX Font Info:    Redeclaring font encoding OML on input line 743.
+LaTeX Font Info:    Redeclaring font encoding OMS on input line 744.
+\macc@depth=\count285
+\c@MaxMatrixCols=\count286
+\dotsspace@=\muskip16
+\c@parentequation=\count287
+\dspbrk@lvl=\count288
+\tag@help=\toks21
+\row@=\count289
+\column@=\count290
+\maxfields@=\count291
+\andhelp@=\toks22
+\eqnshift@=\dimen181
+\alignsep@=\dimen182
+\tagshift@=\dimen183
+\tagwidth@=\dimen184
+\totwidth@=\dimen185
+\lineht@=\dimen186
+\@envbody=\toks23
+\multlinegap=\skip71
+\multlinetaggap=\skip72
+\mathdisplay@stack=\toks24
+LaTeX Info: Redefining \[ on input line 2938.
+LaTeX Info: Redefining \] on input line 2939.
+) (/usr/share/texmf-dist/tex/latex/amsfonts/amssymb.sty
+Package: amssymb 2013/01/14 v3.01 AMS font symbols
+ (/usr/share/texmf-dist/tex/latex/amsfonts/amsfonts.sty
+Package: amsfonts 2013/01/14 v3.01 Basic AMSFonts support
+\symAMSa=\mathgroup5
+\symAMSb=\mathgroup6
+LaTeX Font Info:    Redeclaring math symbol \hbar on input line 98.
+LaTeX Font Info:    Overwriting math alphabet `\mathfrak' in version `bold'
+(Font)                  U/euf/m/n --> U/euf/b/n on input line 106.
+)) (/usr/share/texmf-dist/tex/platex/japanese-otf/otf.sty
+Package: otf 2022/03/05 TeX JP org, v1.7b8 psitau, u0.27 ttk
+\symmincho=\mathgroup7
+LaTeX Font Info:    Overwriting symbol font `mincho' in version `bold'
+(Font)                  JY1/hmc/m/n --> JY1/hmc/bx/n on input line 324.
+LaTeX Font Info:    Overwriting math alphabet `\mathgt' in version `bold'
+(Font)                  JY1/hgt/m/n --> JY1/hgt/bx/n on input line 326.
+ (/usr/share/texmf-dist/tex/platex/japanese-otf/ajmacros.sty
+Package: ajmacros 2019/04/01 21:00 iNOUE Koich! <inoue@ma.ns.musashi-tech.ac.jp>
+\@tempcntc=\count292
+\@tempcntd=\count293
+\@tempcnte=\count294
+\@tempcntf=\count295
+)) (/usr/share/texmf-dist/tex/platex/japanese-otf/mlutf.sty
+Package: mlutf 2004/04/17 v1.1.2 psitau, u0.27 ttk
+) (/usr/share/texmf-dist/tex/platex/japanese-otf/mlcid.sty
+Package: mlcid 2004/04/17 v1.0.2 psitau
+) (/usr/share/texmf-dist/tex/latex/url/url.sty
+\Urlmuskip=\muskip17
+Package: url 2013/09/16  ver 3.4  Verb mode for urls, etc.
+) (/usr/share/texmf-dist/tex/latex/cite/cite.sty
+LaTeX Info: Redefining \cite on input line 302.
+LaTeX Info: Redefining \nocite on input line 332.
+Package: cite 2015/02/27  v 5.5
+) (/usr/share/texmf-dist/tex/latex/here/here.sty) (/usr/share/texmf-dist/tex/latex/float/float.sty
+Package: float 2001/11/08 v1.3d Float enhancements (AL)
+\c@float@type=\count296
+\float@exts=\toks25
+\float@box=\box89
+\@float@everytoks=\toks26
+\@floatcapt=\box90
+) (/usr/share/texmf-dist/tex/latex/listings/lstlang1.sty
+File: lstlang1.sty 2020/03/24 1.8d listings language file
+) (/usr/share/texmf-dist/tex/latex/listings/lstmisc.sty
+File: lstmisc.sty 2020/03/24 1.8d (Carsten Heinz)
+) (/usr/share/texmf-dist/tex/latex/caption/caption.sty
+Package: caption 2022/03/01 v3.6b Customizing captions (AR)
+ (/usr/share/texmf-dist/tex/latex/caption/caption3.sty
+Package: caption3 2022/03/17 v2.3b caption3 kernel (AR)
+\caption@tempdima=\dimen187
+\captionmargin=\dimen188
+\caption@leftmargin=\dimen189
+\caption@rightmargin=\dimen190
+\caption@width=\dimen191
+\caption@indent=\dimen192
+\caption@parindent=\dimen193
+\caption@hangindent=\dimen194
+Package caption Info: Unknown document class (or package),
+(caption)             standard defaults will be used.
+Package caption Info: \@makecaption = \long macro:#1#2->\footnotesize \vskip \abovecaptionskip \setbox \@tempboxa \hbox {\footnotesize {\bfseries #1}\hskip 1\zw \shortstack [l]{#2}}\@tempdima \ht \@tempboxa \advance \@tempdima \dp \@tempboxa \setbox \@tempboxb \hbox {\footnotesize {\bfseries #1}\hskip 1\zw }\ifdim \@tempdima > \baselineskip \ifdim \wd \@tempboxa > \capwidth \hfil \parbox [t]{\capwidth }{\hangindent \wd \@tempboxb {\bfseries #1}\hskip 1\zw #2}\vskip 4\@Q \else \hfil \parbox [t]{\wd \@tempboxa }{\hangindent \wd \@tempboxb {\bfseries #1}\hskip 1\zw #2}\par \prevdepth =0pt\vskip -1.5\h \fi \else \ifdim \wd \@tempboxa > \capwidth \hfil \parbox [t]{\capwidth }{\hangindent \wd \@tempboxb {\bfseries #1}\hskip 1\zw #2}\ifx \@captype \TABLE \ifDS@english \par \vskip .25mm\else \par \prevdepth =0pt\vskip -1.5mm\fi \else \par \prevdepth =0pt\vskip -1.5\h \fi \else \setbox \@tempboxb \hbox {#2}\hbox to\hsize {\hfil \box \@tempboxa \hfil }\ifDS@english \relax \else \vspace {-\belowcaptionskip }\fi \fi \fi \vspace {\belowcaptionskip }\par  on input line 1176.
+)
+
+Package caption Warning: Unknown document class (or package),
+(caption)                standard defaults will be used.
+See the caption package documentation for explanation.
+
+\c@caption@flags=\count297
+\c@continuedfloat=\count298
+Package caption Info: float package is loaded.
+Package caption Info: listings package is loaded.
+)
+LaTeX Font Info:    Font shape `JT1/hmc/m/n' will be
+(Font)              scaled to size 9.24725pt on input line 51.
+LaTeX Font Info:    Font shape `JY1/hmc/m/n' will be
+(Font)              scaled to size 9.24725pt on input line 51.
+LaTeX Font Info:    Trying to load font information for T1+lmr on input line 51.
+ (/usr/share/texmf-dist/tex/latex/lm/t1lmr.fd
+File: t1lmr.fd 2015/05/01 v1.6.1 Font defs for Latin Modern
+) (/usr/share/texmf-dist/tex/latex/l3backend/l3backend-dvips.def
+File: l3backend-dvips.def 2022-02-07 L3 backend support: dvips
+\l__pdf_internal_box=\box91
+\g__pdf_backend_object_int=\count299
+\l__pdf_backend_content_box=\box92
+\l__pdf_backend_model_box=\box93
+\g__pdf_backend_annotation_int=\count300
+\g__pdf_backend_link_int=\count301
+\g__pdf_backend_link_sf_int=\count302
+) (./soto-sigos.aux)
+\openout1 = `soto-sigos.aux'.
+
+LaTeX Font Info:    Checking defaults for OML/cmm/m/it on input line 51.
+LaTeX Font Info:    ... okay on input line 51.
+LaTeX Font Info:    Checking defaults for OMS/cmsy/m/n on input line 51.
+LaTeX Font Info:    ... okay on input line 51.
+LaTeX Font Info:    Checking defaults for OT1/cmr/m/n on input line 51.
+LaTeX Font Info:    ... okay on input line 51.
+LaTeX Font Info:    Checking defaults for T1/cmr/m/n on input line 51.
+LaTeX Font Info:    ... okay on input line 51.
+LaTeX Font Info:    Checking defaults for TS1/cmr/m/n on input line 51.
+LaTeX Font Info:    ... okay on input line 51.
+LaTeX Font Info:    Checking defaults for OMX/cmex/m/n on input line 51.
+LaTeX Font Info:    ... okay on input line 51.
+LaTeX Font Info:    Checking defaults for U/cmr/m/n on input line 51.
+LaTeX Font Info:    ... okay on input line 51.
+LaTeX Font Info:    Checking defaults for JY1/mc/m/n on input line 51.
+LaTeX Font Info:    ... okay on input line 51.
+LaTeX Font Info:    Checking defaults for JT1/mc/m/n on input line 51.
+LaTeX Font Info:    ... okay on input line 51.
+\c@lstlisting=\count303
+Package caption Info: Begin \AtBeginDocument code.
+Package caption Info: End \AtBeginDocument code.
+LaTeX Font Info:    Font shape `JT1/hmc/m/n' will be
+(Font)              scaled to size 8.53593pt on input line 64.
+LaTeX Font Info:    Font shape `JY1/hmc/m/n' will be
+(Font)              scaled to size 8.53593pt on input line 64.
+LaTeX Font Info:    Font shape `JT1/hmc/bx/n' will be
+(Font)              scaled to size 8.53593pt on input line 64.
+LaTeX Font Info:    Font shape `JY1/hmc/bx/n' will be
+(Font)              scaled to size 8.53593pt on input line 64.
+LaTeX Font Info:    Font shape `JT1/gt/bx/n' in size <19.2207> not available
+(Font)              Font shape `JT1/gt/m/n' tried instead on input line 72.
+LaTeX Font Info:    Font shape `JY1/gt/bx/n' in size <19.2207> not available
+(Font)              Font shape `JY1/gt/m/n' tried instead on input line 72.
+LaTeX Font Info:    Calculating math sizes for size <9.61035> on input line 72.
+LaTeX Font Info:    Trying to load font information for OT1+lmr on input line 72.
+ (/usr/share/texmf-dist/tex/latex/lm/ot1lmr.fd
+File: ot1lmr.fd 2015/05/01 v1.6.1 Font defs for Latin Modern
+)
+LaTeX Font Info:    Trying to load font information for OML+lmm on input line 72.
+ (/usr/share/texmf-dist/tex/latex/lm/omllmm.fd
+File: omllmm.fd 2015/05/01 v1.6.1 Font defs for Latin Modern
+)
+LaTeX Font Info:    Trying to load font information for OMS+lmsy on input line 72.
+ (/usr/share/texmf-dist/tex/latex/lm/omslmsy.fd
+File: omslmsy.fd 2015/05/01 v1.6.1 Font defs for Latin Modern
+)
+LaTeX Font Info:    Trying to load font information for OMX+lmex on input line 72.
+ (/usr/share/texmf-dist/tex/latex/lm/omxlmex.fd
+File: omxlmex.fd 2015/05/01 v1.6.1 Font defs for Latin Modern
+)
+LaTeX Font Info:    External font `lmex10' loaded for size
+(Font)              <9.61035> on input line 72.
+LaTeX Font Info:    External font `lmex10' loaded for size
+(Font)              <6.7272> on input line 72.
+LaTeX Font Info:    External font `lmex10' loaded for size
+(Font)              <4.80518> on input line 72.
+LaTeX Font Info:    Font shape `JY1/hmc/m/n' will be
+(Font)              scaled to size 6.47304pt on input line 72.
+LaTeX Font Info:    Font shape `JY1/hmc/m/n' will be
+(Font)              scaled to size 4.62363pt on input line 72.
+LaTeX Font Info:    Font shape `JT1/hmc/m/n' will be
+(Font)              scaled to size 11.38124pt on input line 72.
+LaTeX Font Info:    Font shape `JY1/hmc/m/n' will be
+(Font)              scaled to size 11.38124pt on input line 72.
+LaTeX Font Info:    Calculating math sizes for size <11.82813> on input line 72.
+LaTeX Font Info:    External font `lmex10' loaded for size
+(Font)              <11.82813> on input line 72.
+LaTeX Font Info:    External font `lmex10' loaded for size
+(Font)              <8.27965> on input line 72.
+LaTeX Font Info:    External font `lmex10' loaded for size
+(Font)              <5.91406> on input line 72.
+LaTeX Font Info:    Font shape `JY1/hmc/m/n' will be
+(Font)              scaled to size 7.96683pt on input line 72.
+LaTeX Font Info:    Font shape `JY1/hmc/m/n' will be
+(Font)              scaled to size 5.69061pt on input line 72.
+LaTeX Font Info:    Font shape `JT1/hmc/m/n' will be
+(Font)              scaled to size 7.96683pt on input line 72.
+LaTeX Font Info:    Font shape `JT1/hmc/m/n' will be
+(Font)              scaled to size 7.11327pt on input line 72.
+LaTeX Font Info:    Font shape `JY1/hmc/m/n' will be
+(Font)              scaled to size 7.11327pt on input line 72.
+LaTeX Font Info:    Font shape `JT1/hmc/m/n' will be
+(Font)              scaled to size 7.8246pt on input line 72.
+LaTeX Font Info:    Font shape `JY1/hmc/m/n' will be
+(Font)              scaled to size 7.8246pt on input line 72.
+LaTeX Font Info:    Calculating math sizes for size <8.13184> on input line 72.
+LaTeX Font Info:    External font `lmex10' loaded for size
+(Font)              <8.13184> on input line 72.
+LaTeX Font Info:    External font `lmex10' loaded for size
+(Font)              <5.69225> on input line 72.
+LaTeX Font Info:    External font `lmex10' loaded for size
+(Font)              <4.06592> on input line 72.
+LaTeX Font Info:    Font shape `JY1/hmc/m/n' will be
+(Font)              scaled to size 5.47719pt on input line 72.
+LaTeX Font Info:    Font shape `JY1/hmc/m/n' will be
+(Font)              scaled to size 3.9123pt on input line 72.
+LaTeX Font Info:    Font shape `JT1/hmc/m/n' will be
+(Font)              scaled to size 5.47719pt on input line 72.
+ (./tex/intro.tex
+LaTeX Font Info:    Font shape `JT1/hmc/bx/n' will be
+(Font)              scaled to size 11.38124pt on input line 1.
+LaTeX Font Info:    Font shape `JY1/hmc/bx/n' will be
+(Font)              scaled to size 11.38124pt on input line 1.
+) (./tex/cbc.tex
+LaTeX Font Info:    Font shape `JT1/hmc/m/n' will be
+(Font)              scaled to size 7.53018pt on input line 11.
+LaTeX Font Info:    Font shape `JY1/hmc/m/n' will be
+(Font)              scaled to size 7.53018pt on input line 11.
+LaTeX Font Info:    Font shape `JT1/hmc/m/n' will be
+(Font)              scaled to size 6.84561pt on input line 11.
+LaTeX Font Info:    Font shape `JY1/hmc/m/n' will be
+(Font)              scaled to size 6.84561pt on input line 11.
+ (I search kanjifont definition file: . . ) (I search font definition file: . . . . . . . )
+LaTeX Font Info:    Trying to load font information for OMS+txsy on input line 11.
+ (/usr/share/texmf-dist/tex/latex/txfonts/omstxsy.fd
+File: omstxsy.fd 2000/12/15 v3.1
+)
+LaTeX Font Info:    Trying to load font information for T1+txsy on input line 11.
+LaTeX Font Info:    No file T1txsy.fd. on input line 11.
+
+
+LaTeX Font Warning: Font shape `T1/txsy/m/n' undefined
+(Font)              using `T1/cmr/m/n' instead on input line 11.
+
+LaTeX Font Info:    Trying to load font information for OT1+ptm on input line 11.
+(/usr/share/texmf-dist/tex/latex/psnfss/ot1ptm.fd
+File: ot1ptm.fd 2001/06/04 font definitions for OT1/ptm.
+)
+LaTeX Font Info:    Font shape `JT1/hmc/m/n' will be
+(Font)              scaled to size 8.8993pt on input line 11.
+LaTeX Font Info:    Font shape `JY1/hmc/m/n' will be
+(Font)              scaled to size 8.8993pt on input line 11.
+ [1
+
+
+]
+File: fig/meta-cg-dg.pdf Graphic file (type pdf)
+<fig/meta-cg-dg.pdf>
+) (./tex/cbc_agda.tex
+LaTeX Font Info:    Trying to load font information for T1+lmtt on input line 9.
+ (/usr/share/texmf-dist/tex/latex/lm/t1lmtt.fd
+File: t1lmtt.fd 2015/05/01 v1.6.1 Font defs for Latin Modern
+) (./src/agda/cbc-agda.agda.replaced
+consecutive:
+) (./src/agda/cbc-agda.agda.replaced
+consecutive:
+) (./src/agda/cbc-agda.agda.replaced
+consecutive:
+) (./src/agda/cbc-agda.agda.replaced
+consecutive:
+) [2]
+LaTeX Font Info:    Font shape `JT1/hmc/bx/n' will be
+(Font)              scaled to size 9.24725pt on input line 62.
+LaTeX Font Info:    Font shape `JY1/hmc/bx/n' will be
+(Font)              scaled to size 9.24725pt on input line 62.
+) (./tex/dpp_impl.tex (./src/agda-dpp-impl.agda.replaced) (./src/agda-dpp-impl.agda.replaced
+consecutive:
+[3]) (./src/agda-dpp-impl.agda.replaced
+consecutive:
+) (./src/agda-dpp-impl.agda.replaced
+consecutive:
+LaTeX Font Info:    Font shape `JT1/hmc/m/n' will be
+(Font)              scaled to size 3.9123pt on input line 28.
+) (./src/agda-dpp-impl.agda.replaced
+consecutive:
+) (./src/agda-dpp-impl.agda.replaced
+consecutive:
+)) [4] (./src/agda-dpp-modelcheck.agda.replaced) (./soto-sigos.bbl
+LaTeX Font Info:    Calculating math sizes for size <8.8711> on input line 1.
+LaTeX Font Info:    External font `lmex10' loaded for size
+(Font)              <8.8711> on input line 1.
+LaTeX Font Info:    External font `lmex10' loaded for size
+(Font)              <6.20973> on input line 1.
+LaTeX Font Info:    External font `lmex10' loaded for size
+(Font)              <4.43555> on input line 1.
+LaTeX Font Info:    Font shape `JY1/hmc/m/n' will be
+(Font)              scaled to size 5.97511pt on input line 1.
+LaTeX Font Info:    Font shape `JY1/hmc/m/n' will be
+(Font)              scaled to size 4.26796pt on input line 1.
+
+Underfull \hbox (badness 10000) in paragraph at lines 12--14
+[]\T1/lmr/m/n/8.8711 : ATS-PL-SYS, $\T1/lmtt/m/n/8.8711 http : / / www . ats-[]lang . org/$\T1/lmr/m/n/8.8711 .
+ []
+
+
+Underfull \hbox (badness 10000) in paragraph at lines 16--19
+\T1/lmtt/m/n/8.8711 / / www . cr . ie . u-[]ryukyu . ac . jp / hg / CbC / CbC _ gcc/$\T1/lmr/m/n/8.8711 .
+ []
+
+
+Underfull \hbox (badness 10000) in paragraph at lines 21--24
+\T1/lmtt/m/n/8.8711 / / www . cr . ie . u-[]ryukyu . ac . jp / hg / CbC / CbC _ llvm/$\T1/lmr/m/n/8.8711 .
+ []
+
+
+Underfull \hbox (badness 10000) in paragraph at lines 26--28
+[]\T1/lmr/m/n/8.8711 : Coq Source, $\T1/lmtt/m/n/8.8711 https : / / github . com / coq / coq$\T1/lmr/m/n/8.8711 .
+ []
+
+
+Underfull \hbox (badness 10000) in paragraph at lines 30--32
+\T1/lmtt/m/n/8.8711 readmehoare . html$\T1/lmr/m/n/8.8711 .  plus.33emminus.07emAccessed:
+ []
+
+
+Underfull \hbox (badness 10000) in paragraph at lines 34--36
+[]\T1/lmr/m/n/8.8711 : Hoare Logic in Agda2, $\T1/lmtt/m/n/8.8711 https : / /
+ []
+
+
+Underfull \hbox (badness 10000) in paragraph at lines 34--36
+\T1/lmtt/m/n/8.8711 github . com / IKEGAMIDaisuke / HoareLogic$\T1/lmr/m/n/8.8711 .
+ []
+
+
+Underfull \hbox (badness 10000) in paragraph at lines 38--41
+\T1/lmtt/m/n/8.8711 http : / / www . cr . ie . u-[]ryukyu . ac . jp / hg / Members /
+ []
+
+
+Underfull \hbox (badness 10000) in paragraph at lines 38--41
+\T1/lmtt/m/n/8.8711 ryokka / HoareLogic / file / tip / whileTestGears .
+ []
+
+
+Underfull \hbox (badness 10000) in paragraph at lines 43--45
+[]\T1/lmr/m/n/8.8711 : Rust pro-gram-ming lan-guage, $\T1/lmtt/m/n/8.8711 https : / / www .
+ []
+
+
+Underfull \hbox (badness 10000) in paragraph at lines 43--45
+\T1/lmtt/m/n/8.8711 rust-[]lang . org/$\T1/lmr/m/n/8.8711 .  plus.33emminus.07emAccessed:
+ []
+
+
+Underfull \hbox (badness 10000) in paragraph at lines 47--49
+\T1/lmtt/m/n/8.8711 / / coq . inria . fr/$\T1/lmr/m/n/8.8711 .  plus.33emminus.07emAccessed:
+ []
+
+
+Underfull \hbox (badness 10000) in paragraph at lines 51--54
+\T1/lmr/m/n/8.8711 lat-est doc-u-men-ta-tion\JY1/hmc/m/n/8.8711 , $\T1/lmtt/m/n/8.8711 http : / / agda . readthedocs .
+ []
+
+
+Underfull \hbox (badness 10000) in paragraph at lines 51--54
+\T1/lmtt/m/n/8.8711 io / en / latest/$\T1/lmr/m/n/8.8711 .  plus.33emminus.07emAccessed:
+ []
+
+[5]
+Underfull \hbox (badness 4353) in paragraph at lines 56--59
+[]\T1/lmr/m/n/8.8711 : whileTest-Prim.agda - \JY1/hmc/m/n/8.8711 並列信頼研 \T1/lmr/m/n/8.8711 mer-cu-rial
+ []
+
+
+Underfull \hbox (badness 10000) in paragraph at lines 56--59
+\T1/lmr/m/n/8.8711 repos-i-tory\JY1/hmc/m/n/8.8711 , $\T1/lmtt/m/n/8.8711 http : / / www . cr . ie . u-[]ryukyu . ac .
+ []
+
+
+Underfull \hbox (badness 10000) in paragraph at lines 56--59
+\T1/lmtt/m/n/8.8711 jp / hg / Members / ryokka / HoareLogic / file / tip /
+ []
+
+LaTeX Font Info:    Font shape `JT1/hgt/m/n' will be
+(Font)              scaled to size 8.53593pt on input line 61.
+LaTeX Font Info:    Font shape `JY1/hgt/m/n' will be
+(Font)              scaled to size 8.53593pt on input line 61.
+LaTeX Font Info:    Kanji font shape `JY1/hgt/m/it' undefined
+(Font)              No change on input line 61.
+LaTeX Font Info:    Kanji font shape `JY1/hgt/m/it' undefined
+(Font)              No change on input line 67.
+LaTeX Font Info:    Kanji font shape `JY1/hgt/m/it' undefined
+(Font)              No change on input line 73.
+LaTeX Font Info:    Kanji font shape `JY1/hgt/m/it' undefined
+(Font)              No change on input line 77.
+LaTeX Font Info:    Kanji font shape `JY1/hgt/m/it' undefined
+(Font)              No change on input line 82.
+LaTeX Font Info:    Kanji font shape `JY1/hgt/m/it' undefined
+(Font)              No change on input line 88.
+LaTeX Font Info:    Kanji font shape `JY1/hgt/m/it' undefined
+(Font)              No change on input line 94.
+
+Underfull \hbox (badness 7362) in paragraph at lines 115--118
+[]\JY1/hmc/m/n/8.8711 比嘉健太 , 河野真治 []\T1/lmr/m/n/8.8711 Verification Method of
+ []
+
+
+Underfull \hbox (badness 10000) in paragraph at lines 115--118
+\T1/lmr/m/n/8.8711 Pro-grams Us-ing Con-tin-u-a-tion based C, \JY1/hmc/m/n/8.8711 情
+ []
+
+
+Underfull \hbox (badness 6625) in paragraph at lines 115--118
+\JY1/hmc/m/n/8.8711 報処理学会論文誌プログラミング (\T1/lmr/m/n/8.8711 PRO\JY1/hmc/m/n/8.8711 ) ,
+ []
+
+) [6
+
+] (./soto-sigos.aux)
+
+LaTeX Font Warning: Some font shapes were not available, defaults substituted.
+
+ ) 
+Here is how much of TeX's memory you used:
+ 10939 strings out of 478739
+ 166639 string characters out of 5863952
+ 1333538 words of memory out of 5000000
+ 29179 multiletter control sequences out of 15000+600000
+ 583961 words of font info for 188 fonts, out of 8000000 for 9000
+ 929 hyphenation exceptions out of 8191
+ 55i,11n,63p,487b,1974s stack positions out of 5000i,500n,10000p,200000b,80000s
+
+Output written on soto-sigos.dvi (6 pages, 65688 bytes).
Binary file Paper/soto-sigos.pdf has changed
Binary file Paper/soto-sigos.synctex.gz has changed
--- a/Paper/soto-sigos.tex	Sun May 01 15:17:52 2022 +0900
+++ b/Paper/soto-sigos.tex	Thu May 05 00:32:42 2022 +0900
@@ -1,4 +1,3 @@
-% english: 英語原稿用フォーマット
 \AtBeginDvi{\special{pdf:mapfile ptex-ipa.map}}
 \documentclass[submit,techrep,noauthor]{ipsj}
 %\usepackage{graphicx}
@@ -73,13 +72,42 @@
 \maketitle
 
 % Body %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\input{tex/intro.tex} % はじめに
-\input{tex/cbc.tex} % cbc の説明
-\input{tex/agda.tex} % agda の説明
-\input{tex/cbc_agda.tex}% cbc と agda(gearsagda)
+\input{tex/intro.tex} % はじめに 
+\input{tex/cbc.tex} % cbc の説明 軽く
+% \input{tex/agda.tex} % agda の説明 もしかしたらいるかも
+\input{tex/cbc_agda.tex}% Gears Agda の記法 loopのやつやる
+
+\section{モデル検査}
+モデル検査の説明をする。
+
+\input{tex/dpp_impl.tex}% Gears Agda の記法 loopのやつやる
+
+\section{DPPのモデル検査}
+モデル検査の機能として、入力の網羅が挙げられる。
+今回のDPPの入力の網羅として、哲学者が思考をつづけるのか、食事をはじめようとするのかと
+食事中に食事をそのままつづけるのか、思考をするために食事を止めようとするのかが分岐する。
+
+そのため、next-codeがthinkingかeatingであるものに対して分岐を網羅する Code \ref{agda-dpp-bruteforce}
+を定義した。
+
+
+\lstinputlisting[caption= Gears Agdaでの DPP の 左のフォークを取るコード, label=agda-dpp-bruteforce]{src/agda-dpp-modelcheck.agda.replaced}
+
+内部で行っていることとして、その Code Gear 内に存在している next-code が thinking もしくは eatingである場合に
+そのプロセスのnext-codeをそのままにするか、それぞれ pickup-rfork か putdown-lfork にする。
+そのため、その部分に対してbit全探索を行い、場合の網羅を行っている。
 
 % まとめ
 
+\section{まとめと今後の課題}
+今回は Agda に CbC の継続の概念を追加した Gears Agda にて
+DPPのモデル検査を行おうとした。
+結果として、DPPの実装と入力の網羅までできた。
+
+これからプロセスがすべてほかのプロセスの終了待ちになった場合に
+dead lock 状態になっていることを検知できるようにしたい。
+加えて、assertの機能をつけて仕様から外れたことをしていないことを示したい。
+
 \nocite{*}
 \bibliographystyle{ipsjsort}
 \bibliography{reference}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Paper/src/ModelChecking.agda	Thu May 05 00:32:42 2022 +0900
@@ -0,0 +1,342 @@
+module ModelChecking where
+
+open import Level renaming (zero to Z ; suc to succ)
+
+open import Data.Nat hiding (compare)
+open import Data.Nat.Properties as NatProp
+open import Data.Maybe
+-- open import Data.Maybe.Properties
+open import Data.Empty
+open import Data.List
+open import Data.Product
+open import Function as F hiding (const)
+open import Relation.Binary
+open import Relation.Binary.PropositionalEquality
+open import Relation.Nullary
+open import logic
+open import Data.Unit hiding (_≟_ ; _≤?_ ; _≤_)
+open import Relation.Binary.Definitions
+
+
+
+record AtomicNat : Set where
+   field
+      value : ℕ
+
+set : {n : Level } {t : Set n} → AtomicNat → (value : ℕ) → ( AtomicNat → t ) → t
+set a v next = next record { value = v }
+
+record Phils  : Set  where
+   field
+      pid : ℕ
+      left right : AtomicNat
+
+putdown_rfork : {n : Level} {t : Set n} → Phils → ( Phils → t ) → t
+putdown_rfork p next = set (Phils.right p) 0 ( λ f → next record p { right = f } )
+
+putdown_lfork : {n : Level} {t : Set n} → Phils → ( Phils → t ) → t
+putdown_lfork p next = set (Phils.left p) 0 ( λ f → next record p { left = f } )
+
+thinking : {n : Level} {t : Set n} → Phils → ( Phils → t ) → t
+thinking p next = next p
+
+pickup_rfork : {n : Level} {t : Set n} → Phils → ( Phils → t ) → t
+pickup_rfork p next = set (Phils.right p) (Phils.pid p) ( λ f → next record p { right = f } )
+
+pickup_lfork : {n : Level} {t : Set n} → Phils → ( Phils → t ) → t
+pickup_lfork p next = set (Phils.left p) (Phils.pid p) ( λ f → next record p { left = f } )
+
+--eating : {n : Level} {t : Set n} → Phils → ( Phils → t ) → t
+--eating p next = next  p
+
+data Code : Set  where
+   C_putdown_rfork : Code
+   C_putdown_lfork : Code
+   C_thinking : Code
+   C_pickup_rfork : Code
+   C_pickup_lfork : Code
+   C_eating : Code
+
+record Process : Set  where
+   field
+      phil : Phils
+      next_code : Code
+
+putdown_rfork_stub : {n : Level} {t : Set n} → Process → ( Process → t) → t
+putdown_rfork_stub p next = putdown_rfork ( Process.phil p ) ( λ ph → next record p { phil = ph ; next_code = C_putdown_lfork } )
+
+putdown_lfork_stub : {n : Level} {t : Set n} → Process → ( Process → t) → t
+putdown_lfork_stub p next = putdown_lfork ( Process.phil p ) ( λ ph → next record p { phil = ph ; next_code = C_putdown_lfork } )
+
+code_table :  {n : Level} {t : Set n} → Code → Process → ( Process → t) → t
+-- code_table C_set  = {!!}
+code_table C_putdown_rfork = putdown_rfork_stub
+code_table C_putdown_lfork = putdown_lfork_stub
+code_table C_thinking = {!!}
+code_table C_pickup_rfork = {!!}
+code_table C_pickup_lfork = {!!}
+code_table C_eating = {!!}
+
+open Process
+
+step : {n : Level} {t : Set n} → List Process → (List Process → t) → t
+step {n} {t} [] next0 = next0 []
+step {n} {t} (p ∷ ps) next0 = code_table (next_code p) p ( λ np → next0 (ps ++ ( np ∷ [] ) ))
+
+test : List Process
+test = step ( record { phil = record { pid = 1 ; left = record { value = 1 }  ; right = record { value = 1 }  } ; next_code = C_putdown_rfork } ∷ [] ) ( λ ps → ps )
+
+test1 : List Process
+test1 = step ( record { phil = record { pid = 1 ; left = record { value = 1 }  ; right = record { value = 1 }  } ; next_code = C_putdown_rfork } ∷ [] )
+  $ λ ps → step ps $ λ ps → ps
+
+record Phi : Set where
+  field
+    pid : ℕ
+    right-hand : Bool
+    left-hand : Bool
+    next-code : Code
+open Phi
+
+record Env : Set where
+  field
+    table : List ℕ
+    ph : List Phi
+open Env
+
+init-table : {n : Level} {t : Set n} → ℕ → (exit : Env → t) → t
+init-table n exit = init-table-loop n 0 (record {table = [] ; ph = []}) exit where
+  init-table-loop : {n : Level} {t : Set n} → (redu inc : ℕ) → Env → (exit : Env → t) → t
+  init-table-loop zero ind env exit = exit env
+  init-table-loop (suc redu) ind env exit = init-table-loop redu (suc ind) record env{
+    table = 0 ∷ (table env)
+    ; ph = record {pid = redu ; left-hand = false ; right-hand = false ; next-code = C_thinking } ∷ (ph env) } exit
+
+-- eatingも探索範囲に含める
+brute-force-search : {n : Level} {t : Set n} → Env → (exit : List Env → t) → t
+brute-force-search env exit = make-state-list 1 [] (ph env) env (env ∷ []) exit where
+  make-state-list : {n : Level} {t : Set n} → ℕ → List Bool → List Phi → Env → (List Env) → (exit : List Env → t) → t
+  make-state-list redu state (x ∷ pl) env envl exit with next-code x
+  ... | C_thinking = make-state-list (redu + redu) (state ++ (false ∷ [])) pl env envl exit
+  ... | C_eating = make-state-list (redu + redu) (state ++ (false ∷ [])) pl env envl exit
+  ... | _ = make-state-list redu state pl env envl exit
+  make-state-list redu state [] env envl exit = bit-force-search redu [] state env envl exit where
+    bit-force-search : {n : Level} {t : Set n} → ℕ → (f b : List Bool )→ Env → (List Env) → (exit : List Env → t) → t
+    bit-force-search zero f l env envl exit = exit envl
+    bit-force-search (suc redu) f [] env envl exit = exit envl
+    bit-force-search (suc redu) f (true ∷ bs) env envl exit = bit-force-search (suc redu) (f ++ (false ∷ [])) bs env envl exit -- 今回の対象をfalseにしてfに追加,bを次の対象にする
+    bit-force-search (suc redu) f (false ∷ bs) env envl exit = set-state redu (f ++ (true ∷ bs)) (f ++ (true ∷ bs)) [] (ph env) env envl exit where -- 今回の対象をtrueにし、fとbを結合してそのListを代入する。かつそれをbに入れfをinitしてloopさせる
+      set-state : {n : Level} {t : Set n} → ℕ → (origin state : List Bool ) → (f b : List Phi) → Env → (List Env) → (exit : List Env → t) → t -- 入れ替える必要のあるやつはphaseがThinkingのやつのみ
+      set-state redu origin [] f b env envl exit = bit-force-search redu [] origin env (record env{ph = (f ++ b)} ∷ envl) exit -- Stateが先に尽きる
+      set-state redu origin state@(s ∷ ss) f b env envl exit with b
+      ... | [] = bit-force-search redu [] origin env (record env{ph = f} ∷ envl) exit
+      ... | p ∷ ps with next-code p
+      ... | C_putdown_rfork = set-state redu origin state (f ++ (p ∷ [])) ps env envl exit -- 変更対象ではないので奥を対象にする
+      ... | C_putdown_lfork = set-state redu origin state (f ++ (p ∷ [])) ps env envl exit -- 変更対象ではないので奥を対象にする
+      ... | C_pickup_rfork = set-state redu origin state (f ++ (p ∷ [])) ps env envl exit -- 変更対象ではないので奥を対象にする
+      ... | C_pickup_lfork = set-state redu origin state (f ++ (p ∷ [])) ps env envl exit -- 変更対象ではないので奥を対象にする
+      set-state redu origin (true  ∷ ss) f b env envl exit | p ∷ ps | C_eating = set-state redu origin ss (f ++ (record p{next-code = C_putdown_lfork} ∷ [])) ps env envl exit -- 変更対象なので変更して奥に進む
+      set-state redu origin (false ∷ ss) f b env envl exit | p ∷ ps | C_eating = set-state redu origin ss (f ++ (p ∷ [])) ps env envl exit -- 変更対象なので変更して奥に進む
+      set-state redu origin (true  ∷ ss) f b env envl exit | p ∷ ps | C_thinking = set-state redu origin ss (f ++ (record p{next-code = C_pickup_rfork} ∷ [])) ps env envl exit -- 変更対象なので変更して奥に進む
+      set-state redu origin (false ∷ ss) f b env envl exit | p ∷ ps | C_thinking = set-state redu origin ss (f ++ (p ∷ [])) ps env envl exit -- 変更対象なので変更して奥に進む
+
+
+
+test-search : List Env
+test-search = init-table 3 (λ e0 → brute-force-search e0 (λ e1 → e1))
+
+-- テーブルをたどるために若干loopが必要
+pickup-rfork-c : {n : Level} {t : Set n} → ℕ → Phi → Env → (Env → t) → t
+pickup-rfork-c ind p env exit = pickup-rfork-p ind [] (table env) p env exit where
+  pickup-rfork-p : {n : Level} {t : Set n} → ℕ → (f b : List ℕ) → Phi → Env → (Env → t) → t
+  pickup-rfork-p zero f [] p env exit = exit env
+  pickup-rfork-p zero f (zero ∷ ts) p env exit = exit record env{ph = ((ph env) ++ (record p{right-hand = true ; next-code = C_pickup_lfork} ∷ [])); table = (f ++ ((pid p) ∷ ts))} -- 取得可能なので変更する envの後ろにappendする感じ
+  pickup-rfork-p zero f ((suc x) ∷ ts) p env exit = exit record env{ph = ((ph env) ++ p ∷ [])} -- 取得不可能なので変更せず終了する
+  pickup-rfork-p (suc ind) f [] p env exit = exit env
+  pickup-rfork-p (suc ind) f (x ∷ ts) p env exit = pickup-rfork-p ind (f ++ (x ∷ [])) ts p env exit
+
+pickup-lfork-c : {n : Level} {t : Set n} → ℕ → Phi → Env → (Env → t) → t
+pickup-lfork-c ind p env exit = pickup-lfork-p (suc ind) [] (table env) p env exit where
+  pickup-lfork-p : {n : Level} {t : Set n} → ℕ → (f b : List ℕ) → Phi → Env → (Env → t) → t
+  pickup-lfork-p zero f [] p env exit with table env
+  ... | [] = exit env
+  ... | 0 ∷ ts = exit record env{ph = ((ph env) ++ (record p{left-hand = true ; next-code = C_eating} ∷ [])); table = ((pid p) ∷ ts)} -- 取得可能なので変更する envの後ろにappendする感じ
+  ... | (suc x) ∷ ts = exit record env{ph = ((ph env) ++ p ∷ [])} -- 取得不可能なので変更せず終了する
+  pickup-lfork-p zero f (0 ∷ ts) p env exit = exit record env{ph = ((ph env) ++ (record p{left-hand = true ; next-code = C_eating} ∷ [])); table = (f ++ ((pid p) ∷ ts))} -- 取得可能なので変更する envの後ろにappendする感じ
+  pickup-lfork-p zero f ((suc x) ∷ ts) p env exit = exit record env{ph = ((ph env) ++ p ∷ [])} -- 取得不可能なので変更せず終了する
+  pickup-lfork-p (suc ind) f [] p env exit = exit env
+  pickup-lfork-p (suc ind) f (x ∷ ts) p env exit = pickup-lfork-p ind (f ++ (x ∷ [])) ts p env exit
+
+
+putdown-lfork-c : {n : Level} {t : Set n} → ℕ → Phi → Env → (Env → t) → t
+putdown-lfork-c ind p env exit = putdown-lfork-p (suc ind) [] (table env) p env exit where
+  putdown-lfork-p : {n : Level} {t : Set n} → ℕ → (f b : List ℕ) → Phi → Env → (Env → t) → t
+  putdown-lfork-p zero f [] p env exit with table env
+  ... | [] = exit env
+  ... | x ∷ ts = exit record env{ph = ((ph env) ++ (record p{left-hand = false ; next-code = C_putdown_rfork} ∷ [])); table = (0 ∷ ts)} -- 取得可能なので変更する envの後ろにappendする感じ
+  putdown-lfork-p zero f (x ∷ ts) p env exit = exit record env{ph = ((ph env) ++ (record p{left-hand = false ; next-code = C_putdown_rfork} ∷ [])); table = (f ++ (0 ∷ ts))} -- 取得可能なので変更する envの後ろにappendする感じ
+  putdown-lfork-p (suc ind) f [] p env exit = exit env
+  putdown-lfork-p (suc ind) f (x ∷ ts) p env exit = putdown-lfork-p ind (f ++ (x ∷ [])) ts p env exit
+
+
+
+putdown-rfork-c : {n : Level} {t : Set n} → ℕ → Phi → Env → (Env → t) → t
+putdown-rfork-c ind p env exit = putdown-rfork-p ind [] (table env) p env exit where
+  putdown-rfork-p : {n : Level} {t : Set n} → ℕ → (f b : List ℕ) → Phi → Env → (Env → t) → t
+  putdown-rfork-p zero f [] p env exit = exit env
+  putdown-rfork-p zero f (x ∷ ts) p env exit = exit record env{ph = ((ph env) ++ (record p{right-hand = false ; next-code = C_thinking} ∷ [])); table = (f ++ (0 ∷ ts))} -- 取得可能なので変更する envの後ろにappendする感じ
+  putdown-rfork-p (suc ind) f [] p env exit = exit env
+  putdown-rfork-p (suc ind) f (x ∷ ts) p env exit = putdown-rfork-p ind (f ++ (x ∷ [])) ts p env exit
+
+
+thinking-c : {n : Level} {t : Set n} → ℕ → Phi → Env → (Env → t) → t
+thinking-c ind p env exit = exit record env{ph = ((ph env) ++ p ∷ [])} -- 取得不要なので変更せず終了する
+
+code_table-test : {n : Level} {t : Set n} → Code → ℕ → Phi → Env → (Env → t) → t
+code_table-test C_putdown_rfork = putdown-rfork-c
+code_table-test C_putdown_lfork = putdown-lfork-c
+code_table-test C_thinking = thinking-c
+code_table-test C_pickup_rfork = pickup-rfork-c
+code_table-test C_pickup_lfork = pickup-lfork-c
+code_table-test C_eating = thinking-c
+
+step-c : {n : Level} {t : Set n} → Env → (exit : Env → t) → t
+step-c env exit = step-p (length (table env)) 0 record env{ph = []} (ph env) exit where
+  step-p : {n : Level} {t : Set n} → (redu index : ℕ) → Env → (List Phi) → (exit : Env → t) → t
+  step-p zero ind env pl exit = exit env
+  step-p (suc redu) ind env [] exit = exit env
+  step-p (suc redu) ind env (p ∷ ps) exit = code_table-test (next-code p) ind p env (λ e → step-p redu (suc ind) e ps exit )
+
+step-c-debug : {n : Level} {t : Set n} → Env → (exit : List Env → t) → t
+step-c-debug env exit = step-p (length (table env)) 0 (record env{ph = [] } ∷ env ∷ []) (ph env) exit where
+  step-p : {n : Level} {t : Set n} → (redu index : ℕ) → List Env → (List Phi) → (exit : List Env → t) → t
+  step-p zero ind envl pl exit = exit envl
+  step-p (suc redu) ind [] pl exit = exit []
+  step-p (suc redu) ind (e ∷ envl) [] exit = exit []
+  step-p (suc redu) ind (e ∷ envl) (p ∷ ps) exit = code_table-test (next-code p) ind p e (λ e0 → step-p redu (suc ind) (e0 ∷ envl) ps exit )
+
+exec-n : {n : Level} {t : Set n} → ℕ → Env → (exit : List Env → t) → t
+exec-n n env exit = exec-n-p n (env ∷ []) exit where
+  exec-n-p : {n : Level} {t : Set n} → ℕ → List Env → (exit : List Env → t) → t
+  exec-n-p zero envl exit = exit envl
+  exec-n-p (suc n) [] exit = exit []
+  exec-n-p (suc n) envl@(x ∷ es) exit = step-c x (λ e → exec-n-p n (e ∷ envl) exit)
+
+init-brute-force : {n : Level} {t : Set n} → List Env → (exit : List (List Env) → t) → t
+init-brute-force envl exit = init-brute-force-p envl [] exit where
+  init-brute-force-p : {n : Level} {t : Set n} → List Env → List (List Env) → (exit : List (List Env) → t) → t
+  init-brute-force-p [] envll exit = exit envll
+  init-brute-force-p (x ∷ envl) envll exit = init-brute-force-p envl ((x ∷ [])  ∷ envll) exit
+
+search-brute-force-envll : {n : Level} {t : Set n} → List (List Env) → (exit : List (List Env) → t) → t
+search-brute-force-envll envll exit = search-brute-force-envll-p [] envll exit where
+  search-brute-force-envll-p : {n : Level} {t : Set n} → (f b : List (List Env)) → (exit : List (List Env) → t) → t
+  search-brute-force-envll-p f [] exit = exit f
+  search-brute-force-envll-p f ([] ∷ bs) exit = search-brute-force-envll-p f bs exit
+  search-brute-force-envll-p f (b@(x ∷ xs) ∷ bs) exit = brute-force-search x (λ e0 → make-brute-force-envl [] e0 b (λ e1 → search-brute-force-envll-p (f ++ e1) bs exit) ) where
+    make-brute-force-envl : {n : Level} {t : Set n} → List (List Env) → (state p_step : List Env) → (exit : List (List Env) → t) → t
+    make-brute-force-envl res [] xs exit = exit res
+    make-brute-force-envl res (x ∷ state) xs exit = make-brute-force-envl (res ++ (x ∷ xs) ∷ []) state xs exit
+
+step-brute-force : {n : Level} {t : Set n} → List (List Env) → (exit : List (List Env) → t) → t
+step-brute-force envll exit = step-brute-force-p [] envll exit where
+  step-brute-force-p : {n : Level} {t : Set n} → (f b : List (List Env)) → (exit : List (List Env) → t) → t
+  step-brute-force-p f [] exit = exit f
+  step-brute-force-p f ([] ∷ bs) exit = step-brute-force-p f bs exit
+  step-brute-force-p f ((x ∷ xs) ∷ bs) exit = step-c x (λ e0 → step-brute-force-p (f ++ ((e0 ∷ x ∷ xs) ∷ [])) bs exit)
+
+exec-brute-force : {n : Level} {t : Set n} → ℕ → List (List Env) → (exit : List (List Env) → t) → t
+exec-brute-force n envll exit = exec-brute-force-p n  envll exit where
+  exec-brute-force-p : {n : Level} {t : Set n} → ℕ → List (List Env) → (exit : List (List Env) → t) → t
+  exec-brute-force-p zero envll exit = exit envll
+  exec-brute-force-p (suc n) envll exit = search-brute-force-envll envll (λ e1 → step-brute-force e1 (λ e2 → exec-brute-force-p n e2 exit))
+
+model-check-deadlock : {n : Level} {t : Set n} → List (List Env) → (exit : List (List Env) → t) → t
+model-check-deadlock envll exit = test11 [] envll exit where
+  test11 : {n : Level} {t : Set n} → (f b : List (List Env)) → (exit : List (List Env) → t) → t
+  test11 f [] exit = exit f
+  test11 f ([] ∷ bs) exit = test11 f bs exit
+  test11 f (s@(x ∷ []) ∷ bs) exit = test11 (f ++ (s ∷ [])) bs exit
+  test11 f (s@(x ∷ x1 ∷ []) ∷ bs) exit = test11 (f ++ (s ∷ [])) bs exit
+  test11 f ((x ∷ x1 ∷ x2 ∷ xs) ∷ bs) exit = {!!}
+
+
+
+data _===_ {n} {A : Set n} :  List A -> List A -> Set n where
+          reflection  : {x : List A} -> x === x
+          reflection1  : {x : List A} ->  (x === x)
+
+testhoge : Code → Code → ℕ
+testhoge C_putdown_rfork C_putdown_rfork = {!!}
+testhoge C_putdown_lfork C_putdown_lfork = {!!}
+testhoge C_pickup_rfork C_pickup_rfork = {!!}
+testhoge C_pickup_lfork C_pickup_lfork = {!!}
+testhoge _ _ = {!!}
+
+
+test-step-c : (List Env)
+test-step-c = brute-force-search record {
+  table = 0 ∷ 0 ∷ 0 ∷ []
+  ; ph = record
+           { pid = 1
+           ; left-hand = false
+           ; right-hand = false
+           ; next-code = C_pickup_rfork
+           } ∷ record
+                 { pid = 2
+                 ; left-hand = false
+                 ; right-hand = false
+                 ; next-code = C_pickup_rfork
+           } ∷ record
+                 { pid = 3
+                 ; left-hand = false
+                 ; right-hand = false
+                 ; next-code = C_pickup_rfork
+                 }  ∷ []
+  } (λ e2 →  e2)
+
+test-step-c2 : List (List Env)
+test-step-c2 = init-brute-force (record {
+  table = 0 ∷ 0 ∷ 0 ∷ []
+  ; ph = record
+           { pid = 1
+           ; left-hand = false
+           ; right-hand = false
+           ; next-code = C_thinking
+           } ∷ record
+                 { pid = 2
+                 ; left-hand = false
+                 ; right-hand = false
+                 ; next-code = C_pickup_rfork
+           } ∷ record
+                 { pid = 3
+                 ; left-hand = false
+                 ; right-hand = false
+                 ; next-code = C_pickup_rfork
+                 }  ∷ []
+  } ∷ []) (λ e0 → exec-brute-force 2 e0 (λ e2 → e2))
+
+-- 以下メモ
+
+-- eathingの状態はいらない Done
+-- tableはℕのList Done
+-- いきなりsearchしないで実行結果を持つ感じに
+-- stubを使うとCodeの引数がスマートになるのでやる
+
+-- 実行結果をListでもっているので、stepをじっこうしても変化がなかった場合をdeadlockとして検出したい
+-- 東恩納先輩とおなじように、waitに入れて評価する
+
+-- 余裕があったらassertにLTLの話をいれる
+
+-- loop execution
+
+-- concurrnt execution
+
+-- state db ( binary tree of processes )
+
+-- depth first ececution
+
+-- verify temporal logic poroerries
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Paper/src/agda-dpp-impl.agda	Thu May 05 00:32:42 2022 +0900
@@ -0,0 +1,49 @@
+data Code : Set  where
+   C_putdown_rfork : Code
+   C_putdown_lfork : Code
+   C_thinking : Code
+   C_pickup_rfork : Code
+   C_pickup_lfork : Code
+   C_eating : Code
+
+record Phi : Set where
+  field
+    pid : ℕ
+    right-hand : Bool
+    left-hand : Bool
+    next-code : Code
+open Phi
+
+record Env : Set where
+  field
+    table : List ℕ
+    ph : List Phi
+open Env
+
+init-table : {n : Level} {t : Set n} → ℕ → (exit : Env → t) → t
+init-table n exit = init-table-loop n 0 (record {table = [] ; ph = []}) exit where
+  init-table-loop : {n : Level} {t : Set n} → (redu inc : ℕ) → Env → (exit : Env → t) → t
+  init-table-loop zero ind env exit = exit env
+  init-table-loop (suc redu) ind env exit = init-table-loop redu (suc ind) record env{
+    table = 0 ∷ (table env)
+    ; ph = record {pid = redu ; left-hand = false ; right-hand = false ; next-code = C_thinking } ∷ (ph env) } exit
+
+code_table : {n : Level} {t : Set n} → Code → ℕ → Phi → Env → (Env → t) → t
+code_table C_putdown_rfork = putdown-rfork-c
+code_table C_putdown_lfork = putdown-lfork-c
+code_table C_thinking = thinking-c
+code_table C_pickup_rfork = pickup-rfork-c
+code_table C_pickup_lfork = pickup-lfork-c
+code_table C_eating = thinking-c
+
+pickup-lfork-c : {n : Level} {t : Set n} → ℕ → Phi → Env → (Env → t) → t
+pickup-lfork-c ind p env exit = pickup-lfork-p (suc ind) [] (table env) p env exit where
+  pickup-lfork-p : {n : Level} {t : Set n} → ℕ → (f b : List ℕ) → Phi → Env → (Env → t) → t
+  pickup-lfork-p zero f [] p env exit with table env
+  ... | [] = exit env
+  ... | 0 ∷ ts = exit record env{ph = ((ph env) ++ (record p{left-hand = true ; next-code = C_eating} ∷ [])); table = ((pid p) ∷ ts)}
+  ... | (suc x) ∷ ts = exit record env{ph = ((ph env) ++ p ∷ [])}
+  pickup-lfork-p zero f (0 ∷ ts) p env exit = exit record env{ph = ((ph env) ++ (record p{left-hand = true ; next-code = C_eating} ∷ [])); table = (f ++ ((pid p) ∷ ts))}
+  pickup-lfork-p zero f ((suc x) ∷ ts) p env exit = exit record env{ph = ((ph env) ++ p ∷ [])}
+  pickup-lfork-p (suc ind) f [] p env exit = exit env
+  pickup-lfork-p (suc ind) f (x ∷ ts) p env exit = pickup-lfork-p ind (f ++ (x ∷ [])) ts p env exit
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Paper/src/agda-dpp-impl.agda.replaced	Thu May 05 00:32:42 2022 +0900
@@ -0,0 +1,49 @@
+data Code : Set  where
+   C_putdown_rfork : Code
+   C_putdown_lfork : Code
+   C_thinking : Code
+   C_pickup_rfork : Code
+   C_pickup_lfork : Code
+   C_eating : Code
+
+record Phi : Set where
+  field
+    pid : !$\mathbb{N}$!
+    right-hand : Bool
+    left-hand : Bool
+    next-code : Code
+open Phi
+
+record Env : Set where
+  field
+    table : List !$\mathbb{N}$!
+    ph : List Phi
+open Env
+
+init-table : {n : Level} {t : Set n} !$\rightarrow$! !$\mathbb{N}$! !$\rightarrow$! (exit : Env !$\rightarrow$! t) !$\rightarrow$! t
+init-table n exit = init-table-loop n 0 (record {table = [] ; ph = []}) exit where
+  init-table-loop : {n : Level} {t : Set n} !$\rightarrow$! (redu inc : !$\mathbb{N}$!) !$\rightarrow$! Env !$\rightarrow$! (exit : Env !$\rightarrow$! t) !$\rightarrow$! t
+  init-table-loop zero ind env exit = exit env
+  init-table-loop (suc redu) ind env exit = init-table-loop redu (suc ind) record env{
+    table = 0 !$\text{::}$! (table env)
+    ; ph = record {pid = redu ; left-hand = false ; right-hand = false ; next-code = C_thinking } !$\text{::}$! (ph env) } exit
+
+code_table : {n : Level} {t : Set n} !$\rightarrow$! Code !$\rightarrow$! !$\mathbb{N}$! !$\rightarrow$! Phi !$\rightarrow$! Env !$\rightarrow$! (Env !$\rightarrow$! t) !$\rightarrow$! t
+code_table C_putdown_rfork = putdown-rfork-c
+code_table C_putdown_lfork = putdown-lfork-c
+code_table C_thinking = thinking-c
+code_table C_pickup_rfork = pickup-rfork-c
+code_table C_pickup_lfork = pickup-lfork-c
+code_table C_eating = thinking-c
+
+pickup-lfork-c : {n : Level} {t : Set n} !$\rightarrow$! !$\mathbb{N}$! !$\rightarrow$! Phi !$\rightarrow$! Env !$\rightarrow$! (Env !$\rightarrow$! t) !$\rightarrow$! t
+pickup-lfork-c ind p env exit = pickup-lfork-p (suc ind) [] (table env) p env exit where
+  pickup-lfork-p : {n : Level} {t : Set n} !$\rightarrow$! !$\mathbb{N}$! !$\rightarrow$! (f b : List !$\mathbb{N}$!) !$\rightarrow$! Phi !$\rightarrow$! Env !$\rightarrow$! (Env !$\rightarrow$! t) !$\rightarrow$! t
+  pickup-lfork-p zero f [] p env exit with table env
+  ... | [] = exit env
+  ... | 0 !$\text{::}$! ts = exit record env{ph = ((ph env) ++ (record p{left-hand = true ; next-code = C_eating} !$\text{::}$! [])); table = ((pid p) !$\text{::}$! ts)}
+  ... | (suc x) !$\text{::}$! ts = exit record env{ph = ((ph env) ++ p !$\text{::}$! [])}
+  pickup-lfork-p zero f (0 !$\text{::}$! ts) p env exit = exit record env{ph = ((ph env) ++ (record p{left-hand = true ; next-code = C_eating} !$\text{::}$! [])); table = (f ++ ((pid p) !$\text{::}$! ts))}
+  pickup-lfork-p zero f ((suc x) !$\text{::}$! ts) p env exit = exit record env{ph = ((ph env) ++ p !$\text{::}$! [])}
+  pickup-lfork-p (suc ind) f [] p env exit = exit env
+  pickup-lfork-p (suc ind) f (x !$\text{::}$! ts) p env exit = pickup-lfork-p ind (f ++ (x !$\text{::}$! [])) ts p env exit
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Paper/src/agda-dpp-modelcheck.agda	Thu May 05 00:32:42 2022 +0900
@@ -0,0 +1,23 @@
+brute-force-search : {n : Level} {t : Set n} → Env → (exit : List Env → t) → t
+brute-force-search env exit = make-state-list 1 [] (ph env) env (env ∷ []) exit where
+  make-state-list : {n : Level} {t : Set n} → ℕ → List Bool → List Phi → Env → (List Env) → (exit : List Env → t) → t
+  make-state-list redu state (x ∷ pl) env envl exit with next-code x
+  ... | C_thinking = make-state-list (redu + redu) (state ++ (false ∷ [])) pl env envl exit
+  ... | C_eating = make-state-list (redu + redu) (state ++ (false ∷ [])) pl env envl exit
+  ... | _ = make-state-list redu state pl env envl exit
+  make-state-list redu state [] env envl exit = bit-force-search redu [] state env envl exit where
+    bit-force-search : {n : Level} {t : Set n} → ℕ → (f b : List Bool )→ Env → (List Env) → (exit : List Env → t) → t
+    bit-force-search zero f l env envl exit = exit envl
+    bit-force-search (suc redu) f [] env envl exit = exit envl
+    bit-force-search (suc redu) f (true ∷ bs) env envl exit = bit-force-search (suc redu) (f ++ (false ∷ [])) bs env envl exit
+    bit-force-search (suc redu) f (false ∷ bs) env envl exit = set-state redu (f ++ (true ∷ bs)) (f ++ (true ∷ bs)) [] (ph env) env envl exit where
+      set-state : {n : Level} {t : Set n} → ℕ → (origin state : List Bool ) → (f b : List Phi) → Env → (List Env) → (exit : List Env → t) → t
+      set-state redu origin [] f b env envl exit = bit-force-search redu [] origin env (record env{ph = (f ++ b)} ∷ envl) exit
+      set-state redu origin state@(s ∷ ss) f b env envl exit with b
+      ... | [] = bit-force-search redu [] origin env (record env{ph = f} ∷ envl) exit
+      ... | p ∷ ps with next-code p
+      set-state redu origin (true  ∷ ss) f b env envl exit | p ∷ ps | C_eating = set-state redu origin ss (f ++ (record p{next-code = C_putdown_lfork} ∷ [])) ps env envl exit
+      set-state redu origin (false ∷ ss) f b env envl exit | p ∷ ps | C_eating = set-state redu origin ss (f ++ (p ∷ [])) ps env envl exit
+      set-state redu origin (true  ∷ ss) f b env envl exit | p ∷ ps | C_thinking = set-state redu origin ss (f ++ (record p{next-code = C_pickup_rfork} ∷ [])) ps env envl exit
+      set-state redu origin (false ∷ ss) f b env envl exit | p ∷ ps | C_thinking = set-state redu origin ss (f ++ (p ∷ [])) ps env envl exit
+      set-state redu origin (s ∷ ss)     f b env envl exit | p ∷ ps | _ = set-state redu origin state (f ++ (p ∷ [])) ps env envl exit
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Paper/src/agda-dpp-modelcheck.agda.replaced	Thu May 05 00:32:42 2022 +0900
@@ -0,0 +1,23 @@
+brute-force-search : {n : Level} {t : Set n} !$\rightarrow$! Env !$\rightarrow$! (exit : List Env !$\rightarrow$! t) !$\rightarrow$! t
+brute-force-search env exit = make-state-list 1 [] (ph env) env (env !$\text{::}$! []) exit where
+  make-state-list : {n : Level} {t : Set n} !$\rightarrow$! !$\mathbb{N}$! !$\rightarrow$! List Bool !$\rightarrow$! List Phi !$\rightarrow$! Env !$\rightarrow$! (List Env) !$\rightarrow$! (exit : List Env !$\rightarrow$! t) !$\rightarrow$! t
+  make-state-list redu state (x !$\text{::}$! pl) env envl exit with next-code x
+  ... | C_thinking = make-state-list (redu + redu) (state ++ (false !$\text{::}$! [])) pl env envl exit
+  ... | C_eating = make-state-list (redu + redu) (state ++ (false !$\text{::}$! [])) pl env envl exit
+  ... | _ = make-state-list redu state pl env envl exit
+  make-state-list redu state [] env envl exit = bit-force-search redu [] state env envl exit where
+    bit-force-search : {n : Level} {t : Set n} !$\rightarrow$! !$\mathbb{N}$! !$\rightarrow$! (f b : List Bool )!$\rightarrow$! Env !$\rightarrow$! (List Env) !$\rightarrow$! (exit : List Env !$\rightarrow$! t) !$\rightarrow$! t
+    bit-force-search zero f l env envl exit = exit envl
+    bit-force-search (suc redu) f [] env envl exit = exit envl
+    bit-force-search (suc redu) f (true !$\text{::}$! bs) env envl exit = bit-force-search (suc redu) (f ++ (false !$\text{::}$! [])) bs env envl exit
+    bit-force-search (suc redu) f (false !$\text{::}$! bs) env envl exit = set-state redu (f ++ (true !$\text{::}$! bs)) (f ++ (true !$\text{::}$! bs)) [] (ph env) env envl exit where
+      set-state : {n : Level} {t : Set n} !$\rightarrow$! !$\mathbb{N}$! !$\rightarrow$! (origin state : List Bool ) !$\rightarrow$! (f b : List Phi) !$\rightarrow$! Env !$\rightarrow$! (List Env) !$\rightarrow$! (exit : List Env !$\rightarrow$! t) !$\rightarrow$! t
+      set-state redu origin [] f b env envl exit = bit-force-search redu [] origin env (record env{ph = (f ++ b)} !$\text{::}$! envl) exit
+      set-state redu origin state@(s !$\text{::}$! ss) f b env envl exit with b
+      ... | [] = bit-force-search redu [] origin env (record env{ph = f} !$\text{::}$! envl) exit
+      ... | p !$\text{::}$! ps with next-code p
+      set-state redu origin (true  !$\text{::}$! ss) f b env envl exit | p !$\text{::}$! ps | C_eating = set-state redu origin ss (f ++ (record p{next-code = C_putdown_lfork} !$\text{::}$! [])) ps env envl exit
+      set-state redu origin (false !$\text{::}$! ss) f b env envl exit | p !$\text{::}$! ps | C_eating = set-state redu origin ss (f ++ (p !$\text{::}$! [])) ps env envl exit
+      set-state redu origin (true  !$\text{::}$! ss) f b env envl exit | p !$\text{::}$! ps | C_thinking = set-state redu origin ss (f ++ (record p{next-code = C_pickup_rfork} !$\text{::}$! [])) ps env envl exit
+      set-state redu origin (false !$\text{::}$! ss) f b env envl exit | p !$\text{::}$! ps | C_thinking = set-state redu origin ss (f ++ (p !$\text{::}$! [])) ps env envl exit
+      set-state redu origin (s !$\text{::}$! ss)     f b env envl exit | p !$\text{::}$! ps | _ = set-state redu origin state (f ++ (p !$\text{::}$! [])) ps env envl exit
--- a/Paper/src/agda/cbc-agda.agda	Sun May 01 15:17:52 2022 +0900
+++ b/Paper/src/agda/cbc-agda.agda	Thu May 05 00:32:42 2022 +0900
@@ -9,14 +9,17 @@
     vary : ℕ
 open Env
 
-plus-com : {l : Level} {t : Set l} → Env → (next : Env → t) → (exit : Env → t) → t
-plus-com env next exit with vary env
-... | zero  = exit (record { varx = varx env ; vary = vary env })
-... | suc y = next (record { varx = suc (varx env) ; vary = y })
+plus-c : {l : Level} {t : Set l} → Env → (exit : Env → t) → t
+plus-c env exit = plus-p (vary env) env exit where
+  plus-p : {l : Level} {t : Set l} → ℕ →  Env → (exit : Env → t) → t
+  plus-p zero env exit = exit env
+  plus-p (suc reducer) env exit = plus-p reducer record env{varx = (suc (varx env)) ; vary = reducer} exit
 
 {-# TERMINATING #-}
-plus-p : {l : Level} {t : Set l} → (env : Env) → (exit : Env → t) → t
-plus-p env exit = plus-com env ( λ env → plus-p env exit ) exit
+plus-c-term : {l : Level} {t : Set l} → Env → (exit : Env → t) → t
+plus-c-term env exit with vary env
+... | zero  = exit (record { varx = varx env ; vary = vary env })
+... | suc y = plus-c-term (record { varx = suc (varx env) ; vary = y }) exit
 
 plus : ℕ → ℕ → Env
-plus x y = plus-p (record { varx = x ; vary = y }) (λ env → env)
+plus x y = plus-c (record { varx = x ; vary = y }) (λ env → env)
--- a/Paper/src/agda/cbc-agda.agda.replaced	Sun May 01 15:17:52 2022 +0900
+++ b/Paper/src/agda/cbc-agda.agda.replaced	Thu May 05 00:32:42 2022 +0900
@@ -9,14 +9,17 @@
     vary : !$\mathbb{N}$!
 open Env
 
-plus-com : {l : Level} {t : Set l} !$\rightarrow$! Env !$\rightarrow$! (next : Env !$\rightarrow$! t) !$\rightarrow$! (exit : Env !$\rightarrow$! t) !$\rightarrow$! t
-plus-com env next exit with vary env
+plus-c : {l : Level} {t : Set l} !$\rightarrow$! Env !$\rightarrow$! (exit : Env !$\rightarrow$! t) !$\rightarrow$! t
+plus-c env exit = plus-p (vary env) env exit where
+  plus-p : {l : Level} {t : Set l} !$\rightarrow$! !$\mathbb{N}$! !$\rightarrow$!  Env !$\rightarrow$! (exit : Env !$\rightarrow$! t) !$\rightarrow$! t
+  plus-p zero env exit = exit env
+  plus-p (suc reducer) env exit = plus-p reducer record env{varx = (suc (varx env)) ; vary = reducer} exit
+
+{-# TERMINATING #-}
+plus-c-term : {l : Level} {t : Set l} !$\rightarrow$! Env !$\rightarrow$! (exit : Env !$\rightarrow$! t) !$\rightarrow$! t
+plus-c-term env exit with vary env
 ... | zero  = exit (record { varx = varx env ; vary = vary env })
-... | suc y = next (record { varx = suc (varx env) ; vary = y })
-
-{-!$\#$! TERMINATING !$\#$!-}
-plus-p : {l : Level} {t : Set l} !$\rightarrow$! (env : Env) !$\rightarrow$! (exit : Env !$\rightarrow$! t) !$\rightarrow$! t
-plus-p env exit = plus-com env ( !$\lambda$! env !$\rightarrow$! plus-p env exit ) exit
+... | suc y = plus-c-term (record { varx = suc (varx env) ; vary = y }) exit
 
 plus : !$\mathbb{N}$! !$\rightarrow$! !$\mathbb{N}$! !$\rightarrow$! Env
-plus x y = plus-p (record { varx = x ; vary = y }) (!$\lambda$! env !$\rightarrow$! env)
+plus x y = plus-c (record { varx = x ; vary = y }) (!$\lambda$! env !$\rightarrow$! env)
Binary file Paper/src/agda/cbc-agda.agdai has changed
--- a/Paper/src/escape_agda.rb	Sun May 01 15:17:52 2022 +0900
+++ b/Paper/src/escape_agda.rb	Thu May 05 00:32:42 2022 +0900
@@ -1,11 +1,11 @@
 #!/usr/bin/env ruby
 
 Suffix     = '.agda.replaced'
-EscapeChar = '@'
+EscapeChar = '!'
 FileName   = ARGV.first
 
 ReplaceTable = {
-  '->' => 'rightarrow',
+  '→' => 'rightarrow',
   '⊔'  => 'sqcup',
   '∷' => 'text{::}',
   '∙'  => 'circ',
--- a/Paper/tex/cbc.tex	Sun May 01 15:17:52 2022 +0900
+++ b/Paper/tex/cbc.tex	Thu May 05 00:32:42 2022 +0900
@@ -1,23 +1,30 @@
 \section{Continuation based C}
-Continuation based C\cite{kaito-lola} (以下 CbC) は CodeGear を処理の単位、
-DataGear をデータの単位として記述するプログラミング言語である。
-CbC は C 言語とほぼ同じ構文を持つが、よりアセンブラに近い記述になる。
+Continuation based C\cite{kaito-lola} (以下 CbC) は 
+関数呼び出しの際にjmp命令で遷移をし、環境を持たずに遷移する
+ことができるC言語である、
+つまりC言語の下位言語にあたり、よりアセンブラに近い記述を行う
 
-CbC では検証しやすいプログラムの単位として DataGear と CodeGear という
-単位を用いるプログラミングスタイルを提案している。
+jmp命令であるため関数遷移をし、実行が終了しても
+もとの関数に戻ることはない。
+そのため次に遷移する Code Gear を指定する。
+これは、関数型プログラミングでの末尾関数呼び出しに相当する。
 
-DataGear は CodeGear で扱うデータの単位であり、処理に必要なデータである。
-CodeGear の入力となる DataGear を Input DataGear と呼び、
-出力は Output DataGear と呼ぶ。
+Code Gear に Deta Gear を与え、それをもとに処理を行い、
+出力として Data Gear を返し、また次の Code Gearに遷移
+していく流れとなる。
+
+CbC では CodeGear を処理の単位、
+DataGear をデータの単位として記述するプログラミング言語である。
 
-CodeGear はプログラムの処理そのもので、図 で示しているように任意の数の
-Input DataGear を参照し、処理が完了すると任意の数の Output DataGear に書き込む。
+他のプログラミング言語とは違い、
+Code Gear が 暗黙の環境を持たず、受け取った Data Gear のみを
+もとに処理をすること、
+さらに Code Gear 単位で処理が完結していることから、
+検証に適したプログラミング言語であると言える。
 
-CodeGear 間の移動は継続を用いて行われる。継続は関数呼び出しとは異なり、呼び出し
-た後に元のコードに戻らず、次の CodeGear へ継続を行う。
-これは、関数型プログラミングでは末尾関数呼び出しを行うことに相当する。
+---
 
-また、プログラムの記述する際は、ノーマルレベルの計算の他に、メモリ管理、スレッド管理、資源管理等を記述しなければならない処理が存在する。
+また、プログラムを記述する際は、ノーマルレベルの計算の他に、メモリ管理、スレッド管理、資源管理等を記述しなければならない処理が存在する。
 これらの計算はノーマルレベルの計算と区別してメタ計算と呼ぶ。
 
 メタ計算は OS の機能を通して処理することが多く、信頼性の高い記述が求められる。
@@ -28,7 +35,7 @@
 
 \begin{figure}[htpb]
  \begin{center}
-  \scalebox{0.3}{\includegraphics{fig/meta-cg-dg.pdf}}
+  \scalebox{0.35}{\includegraphics{fig/meta-cg-dg.pdf}}
  \end{center}
  \caption{メタ計算を可視化した CodeGear と DataGear}
  \label{fig:meta-cgdg}
--- a/Paper/tex/cbc_agda.tex	Sun May 01 15:17:52 2022 +0900
+++ b/Paper/tex/cbc_agda.tex	Thu May 05 00:32:42 2022 +0900
@@ -1,51 +1,76 @@
-\section{Continuation based C と Agda}
-本章では CbC に対応した Agda を記述する際の手法を説明する。
-
-\subsection{GearsAgda 形式で書く agda}
+\section{GearsAgda 形式で書く agda}
+CbC の継続の概念を取り入れた Agda の記法を説明する。
 Agdaでは関数の再帰呼び出しが可能であるが、CbCでは値が 帰って来ない。そのためAgda
 で実装を行う際には再帰呼び出しを行わないようにする。
-code \ref{agda-cg}が例となるコードである。
+code \ref{agda-dg}が例となるコードである。
+
+以下が Gears Agda の記述方法を足し算を行うプログラムを用いて説明する。
 
-\lstinputlisting[caption= Agdaでの CodeGear の例, label=agda-cg, firstline=6]{src/agda/cbc-agda.agda.replaced}
+\lstinputlisting[caption= Agdaでの Data Gear の定義, label=agda-dg, firstline=6, lastline=11]{src/agda/cbc-agda.agda.replaced}
+
+\lstinputlisting[caption= Agdaでの Code Gear の定義, label=agda-cg, firstline=12, lastline=16]{src/agda/cbc-agda.agda.replaced}
+
+\lstinputlisting[caption= Agdaでの 停止性が示せない CodeGear の例, label=agda-not-cg, firstline=18, lastline=22]{src/agda/cbc-agda.agda.replaced}
 
-1行目で Data Gear の定義を行っている。
-今回は 2つの数値の足し算を行うコードを実装するため、
-varx と vary の二つの自然数を持つ。
+\lstinputlisting[caption= Agdaでの CodeGear の初期化, label=agda-exec-cg, firstline=24]{src/agda/cbc-agda.agda.replaced}
+
+Code \ref{agda-dg}が Data Gear の定義をしている。
+今回は足し算を実装するので、varx に vary を足すことを考える。
+そのためそれらが2つの自然数を持つようにしている。
 
-7行目の plus-com が受け取っている値を定義している。
-Env と next と exit を受け取っている。
+Code \ref{agda-cg}では Code Gear の定義になる。
+最初に Data Gear となる env を受け取ったあと、そのまま次の関数に遷移させている。
 
-next と next は Env → t となっているが、
-これは Env を受け取って不定の型 (t) を返すという意味である。
-これで 次の関数遷移先を取れるようにしている。
+Agda の記述は curry-Howard 対応になっていて、
+最初に関数名のあとに:(コロン)の後ろに命題を記述し、
+そのあとに関数名のあとに引数を書き、=(イコール)の後ろに定義を記述しています。
 
+Gears Agda での Code Gear の命題は必ず (Env $\rightarrow$ t) $\rightarrow$ t で
+終了するようになっている。この (Env $\rightarrow$ t) は引数で受け取る型で Env を
+受け取ってtを返すという意味になる。これが Code Gear を実行したあとの末尾関数呼び出しを
+行う次の Code Gear となる。 最後にtを返すとなっているのは、これ自体が Code Gear であることを
+示している。
 
-9行目から10行目では入ってきた varx で場合分けを行っており、varx が zero ならそのまま vary を返し、次の遷移先へ、
-varx が zero 以外なら varx から1を引いて、vary に 1 を足して遷移する。
+受け取ったあとに別の関数に再度渡している。
+これは後述するが、Agdaの繰り返し処理を行う際に停止性を
+見失うために減少列を引数に取っている。
+
+内部の処理はreducerを減らしながらvarxを増やすことで
+varyの値をvarxに与えていくことで足し算を定義している。
+
+基本的に繰り返し実行するコードを実装する場合には
+実行時に減少し、その関数がいずれ停止することを示す
+reducerを含めるようにしている。
 
-13行目でxがzero以外の値であった場合の遷移先を指定している。
-ここでは自身である plus-p をループするように指定した。
-CbCでは再起処理を実装することはできないが、自己呼び出しを行うことはできるので、
-それに合ったようにAgdaでも実装を行なう。
+reducerを含めなかった際の Code Gear を Code \ref{agda-not-cg}に示す。
+agdaではパターンマッチを行うことで場合分けを考えることができるが、
+受け取った Code Gear であるenvを with を使用してパターンマッチを試みている。
+パターンマッチ自体は可能だが、この方法だとAgdaが関数が停止することを認識できない。
+そのため、\{-$\#$ TERMINATING $\#$-\} を関数定義の前にアノテーションし
+この関数が停止することを記述してコンパイルが通るようにしている。
 
-17行目が実際に値を入れる部分で、
-Exitが実行の終了になるようにしている。
+Code \ref{agda-exec-cg} は受け取った引数で Data Gear を初期化して
+それを Code Gear に与えることで実行を行っている。
 
-前述した加算を行うコードと比較すると、不定の型 (t) により継続を行なっている部分が見える。
-これがAgdaで表現された CodeGear となり、本論では Gears Agda と呼ぶ
+今回の例では 引数から Data Gear を作成するのは
+複雑ではないため、一度で Data Gear を作成してそれを Code Gear に渡している
+引数から Data Gear を作成するのが複雑な場合は一度 入力から
+Data Gear を作成する Code Gear を用いる。
+
+加えて、実行なので命題の部分の最後が Env になっている。
 
 \subsection{agda による Meta Gears}
 通常の Meta Gears はノーマルレベルの CodeGear、 DataGear では扱えないメタレベルの計算を扱う単位である。
-今回はその Meta Gears をAgdaによる検証の為に用いる。
+今回はモデル検査を行う際に使用する
 
 \begin{itemize}
 \item Meta DataGear \mbox{}\\
   Agda 上で Meta DataGear を持つことでデータ構造自体が関係を持つデータを作ることができる。
-  これを用いることで、仕様となる制約条件を記述することができる。
+  通常の Data Gear を wraping している。今回はこれを用いることで、モデル検査の状態を保存する
 
 \item Meta CodeGear\mbox{}\\
   Meta CodeGear は 通常の CodeGear では扱えないメタレベルの計算を扱う CodeGear
   である。Agda での Meta CodeGear は Meta DataGear を引数に取りそれらの関係を返
-  す CodeGear である。故に、Meta CodeGear は Agda で記述した CodeGear の検証そのものである
+  す CodeGear である。今回はここでモデル検査を行う。
 \end{itemize}
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Paper/tex/dpp_impl.tex	Thu May 05 00:32:42 2022 +0900
@@ -0,0 +1,99 @@
+\section{Dining Philosophers Problem}
+今回はモデル検査を行う対象として Dining Philosophers Problem
+を用いることとした。
+DPPとは資源共有問題であり、モデル検査をする際に挙げられる代表的な問題
+である。
+
+画像を貼る
+
+問題のストーリーをまとめると以下のようになる。
+
+\begin{itemize}
+    \item 哲学者がN人円卓についている
+    \item 哲学者の目の前には食べ物が用意されている
+    \item 哲学者の人数と同じだけのフォークがそれぞれ哲学者の間に置かれている
+    \item 哲学者はしばらく思考したのち、しばらく食事する動作を繰り返しおこなう
+    \item 思考から食事をする際には右のフォークを取ったのちに左のフォークを取ることで食事を始める
+    \item 食事するためには2本のフォークを取る必要があり、これを同時に取ることはできない
+    \item しばらくの食事から思考に戻る際には両手に持ったフォークをテーブルに置く
+    \item 最後に取ったフォークから先に置くため、左のフォークから置き、右のフォークを置く
+    \item 哲学者はこの食事と思考を繰り返し行う。哲学者同士が会話することはない
+\end{itemize}
+    
+つまり、以下のようなフローを独立して並列に実行することとなる
+
+\begin{enumerate}
+    \item しばらくの間思考を行う
+    \item 食事をするために右のフォークを取る
+    \item 右のフォークを取ったら、次は左のフォークを取る
+    \item 両方のフォークを取ったら、しばらく食事をする
+    \item 思考に戻るために左手に持っているフォークをテーブルに置く
+    \item 左手のフォークを置いたあとは右のフォークをテーブルに置く
+    \item しばらくの間思考する。つまり最初に戻る
+\end{enumerate}
+
+この際、すべての哲学者が同時に右のフォークを取った場合のことを考える。
+すべての哲学者はフォークを持っている。次に哲学者は左のフォークを取ろうと
+する。しかしフォークは哲学者の人数と同じ数だけ存在しているため、
+テーブルの上にフォークはすでにひとつも存在しない。
+すべての哲学者は左のフォークを取ろうとするが
+誰も右のフォークを置くことがないため、すべての哲学者の動作がこの状態で止まる。(dead lock)
+
+これが起こることを Gears Agda で検出したい。
+
+\subsection{Gears Agda によるDPPの実装}
+\lstinputlisting[caption= Gears Agdaでの DPP の 哲学者の状態 , label=agda-dpp-state, lastline=7]{src/agda-dpp-impl.agda.replaced}
+
+\lstinputlisting[caption= Gears Agdaでの DPP の プロセス , label=agda-dpp-process, firstline=9, lastline=16]{src/agda-dpp-impl.agda.replaced}
+
+\lstinputlisting[caption= Gears Agdaでの DPP の Data Gear , label=agda-dpp-dg, firstline=17, lastline=21]{src/agda-dpp-impl.agda.replaced}
+
+Code \ref{agda-dpp-state}は
+前述した哲学者の状態を書き記して、哲学者が今行おうとしている動作を網羅している。
+
+Code \ref{agda-dpp-process}は
+哲学者一人ずつの環境を持っている。
+pidはその哲学者がどこに座っているかの識別子で、
+right / left hand はフォークを手に持っているかを格納している。
+next-codeは次に行う動作を格納している。
+
+Code \ref{agda-dpp-dg} が Data Gear になる。
+
+phは前もって定義した一人の哲学者のプロセスの List になる。
+List になっている理由は、哲学者が複数人いるためである。
+
+そのため実行時にListから一人ずつ取り出して実行をしていく。
+
+tableはテーブルに置いてあるフォークの状態のことで、
+pidが1の人の右側にあるフォークが List の最初にあり、
+pidが1の人の左側にあるフォーク、つまりpidが2の人の右側にあるフォークが
+その次のListに格納されていくようになっている。
+また、自然数の List になっているが、
+その場所のフォークがテーブルの上にある場合は自然数の0が、
+誰かが所持している場合はその人のpidが格納されるようになっている。
+
+\lstinputlisting[caption= Gears Agdaでの DPP の Data Gear のinit, label=agda-dpp-init, firstline=23, lastline=30]{src/agda-dpp-impl.agda.replaced}
+
+Code \ref{agda-dpp-init}が入力から Data Gear を作成する Code Gear になる。
+ここでは哲学者の人数を自然数で受け取り、人数分の List Phi と table を一つづつ作成し env を作成している。
+また、最初の哲学者の状態は思考することであるため、next-code には C\_thinking を格納している。
+
+\lstinputlisting[caption= Gears Agdaでの DPP の step 実行, label=agda-dpp-step, firstline=31, lastline=37]{src/agda-dpp-impl.agda.replaced}
+
+Agda では並列実行を行うことができない。そのためstep単位の実行を一つづつ行うことで
+並列実行をしていることとする。
+
+この際に Env にある List Phi の中身を展開しながら一つづつ行動を処理していく。
+
+\lstinputlisting[caption= Gears Agdaでの DPP の 左のフォークを取るコード, label=agda-dpp-lfork, firstline=39]{src/agda-dpp-impl.agda.replaced}
+
+Code \ref{agda-dpp-lfork}がstep実行をした際に哲学者が左側のフォークを取る記述になる。
+
+右側のフォークを取る場合は引数の部分を1足さずにそのまま受け取る。
+比較するべきtableのListと哲学者のListは一致しているため、put\_lforkのように最後の哲学者が
+最初のフォークを参照することもない。
+
+似たような形で哲学者がフォークを置く putdown-l/rfork を実装した。
+
+思考と食事の実装に関してはそのまま状態を変更することなく進むようにしている。
+
--- a/Paper/tex/intro.tex	Sun May 01 15:17:52 2022 +0900
+++ b/Paper/tex/intro.tex	Thu May 05 00:32:42 2022 +0900
@@ -1,34 +1,46 @@
-\section{プログラミング言語の検証}
+\section{Gears Agda でのモデル検査}
 \pagenumbering{arabic}
 
-OSやアプリケーションの信頼性を高めることは重要な課題である。
-信頼性を高める為にはプログラムが仕様を満たした実装を検証する必要がある。
-具体的には「モデル検査」や「定理証明」などが検証手法としてあげられる。
+思い思いにプログラムを書くと、冗長なコードができてしまい、
+実行時間も遅い場合がある。
+
+この場合にコードに対してアルゴリズムを適応すると実行が最適化され
+実行時間が減り、かつ第三者がコードを読んだ際にロジックが統一されているため理解が容易くなる。
+つまり、一般的に良いコードが作成できる。
 
-当研究室では Continuation based C (CbC) という言語を開発している。
-CbC とは、C言語からループ制御構造とサブルーチンコールを取り除き、
-継続を導入した C言語の下位言語である。
-その為、それを実装した際のプログラムが正確に動作するのか検証を行いたい。
+しかし、世の中にはすでに大量のアルゴリズムが存在するため、
+これを一人のプログラマーが全て覚え、適応できる場面を思いつくというのは不可能に近い。
+その道に詳しい人が複数人いる場面というのも稀だと考えられる。
+
+そのため、人が書いたコードに対してアルゴリズムを使用するコードに変換できるようにしたい。
 
-%\section{研究目的}
-仕様に合った実装を実施していることの検証手法として Hoare Logic が知られている。
-Hoare Logic は事前条件が成り立っているときにある計算(以下コマンド)を実行した後に、
-事後条件が成り立つことでコマンドの検証を行う。
-この定義が CbC の実行を継続するという性質と相性が良い。
+この際、アルゴリズム適応前後で処理が変わっていないか検証するのは普通のプログラミング言語では難しい。
+一般的なプログラミング言語では、関数の遷移が自由であることから、関数遷移などで発生した
+暗黙の環境が存在するためである。
+
+この問題を解決するため、Gears Agda を用いる。
 
-CbCでは実行を継続するため、ある関数の実行結果は事後条件になるが、
-その実行結果が遷移する次の関数の事前条件になる。
-それを繋げていくため、個々の関数の
-正当性を証明することと接続の健全性について証明するだけでプログラム全体の検証を行うことができる。
+Gears Agda とは当研究室で開発している Continuation based C (CbC) の概念を取り入れた記法で書かれた Agda のこと
+通常のプログラミング言語では関数を実行する際にはメインルーチンからサブルーチンに遷移する。
+この際メインルーチンで使用していた変数などの環境はスタックされ、サブルーチンが終了した際にメインルーチンに戻り、
+スタックしていた変数をもとに戻す流れとなる。
+CbCの場合はサブルーチンコールの際にアセンブラで言うjmpで関数遷移を行うことができ、スタックを持たず環境を保持しない。
+更に遷移後にメインルーチンに戻ることもない。
+つまり関数の実行では暗黙な環境が存在せず、関数が受け取った引数のみを使用する。
+これにより限定的な実行条件を作成でき、検証がしやすくなる。
+
+現在、アルゴリズムの適応可否は以下の方法を考えている。
 
-CbCではループ制御構造を取り除いているため、
-CbCにてループが含まれるプログラムを作成した際の検証を行う必要がある。
-先行研究ではCbCにおけるWhileLoopの検証を行なっている。
+あらかじめ、アルゴリズムの実装と検証をおこなったアルゴリズムSetsを用意しておく
+
+書いたコードが事前に定義していたアルゴリズムの仕様を満たしているかを検証していき、
+満たしているコードがあった場合にそのコードを事前に定義してあるアルゴリズムに入れ替える方針を考えている。
+
+この際、実装が仕様を満たしているか検証する手法には、定理証明やモデル検査などが挙げられる。
 
-Agdaが変数への再代入を許していない為、
-ループが存在し、かつ再代入がプログラムに含まれる RedBlackTree の検証を行いたい。
+アルゴリズムの入れ替え可否判定には Gears Agda でモデル検査を行い、アルゴリズムの仕様がコードに適応できるか検証するのが
+妥当だと考えている
+思い思いに書いたコードに対して定理証明を行うのはコストが高く、適応するものの内部動作が一致しない場合定理証明を行っても使えないためである。
 
-% これらのことから、本稿では Hoare Logic を用いて CbC を検証することを目指す。
-これらのことから、CbC に対応するように Agda で RedBlackTree を記述し、
-Hoare Logic により検証を行うことを目指す。
+本論文では Gears Agda でのモデル検査の先駆けとして Dining philosophers problem (DPP) のモデル検査を行う。