annotate problems @ 22:29cf617f49db default tip

newer CVS version
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Fri, 22 Apr 2016 16:47:13 +0900
parents e1d3145cff7a
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1 Sat Jan 12 21:45:34 JST 2008
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
2
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
3 なんか、share は間違っているっぽいけど。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
4
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
5 Sat Dec 1 11:08:27 JST 2007
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
6
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
7 finite interval だけど...
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
8 infinite =def (true & false )
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
9
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
10 finite をatomとして導入する。で、modelにfinite/infinite を入れる。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
11 finite |- finite
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
12 finite |- ~infinite
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
13 infinite |- ~finite
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
14 |-/- infinite/\finite
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
15 |- infinite\/finite
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
16 finite \/ infinite |- p
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
17 finite /\ infinite |-\- p
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
18
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
19 finite |- @finite
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
20 finite |-/- @infinite
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
21 model のfinite/infiniteは、排他。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
23 infinite がpositive occurence に一つあれば、式全体はinfinite。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
24 finite がpositive occurence のみにあれば、式全体はinfinite。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
25 正確ではないが、そんな感じ。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
26
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
27 finite |-/- true & false
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
28 infinite |- true & false
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
29
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
30 である必要がある。(ふーん)
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
31 infinite |-/- finite & false
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
32 infinite |- infinite & false
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
33 finite |- finite & false
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
34 finite |-/- infinite & false
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
35
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
36 でも、これだと、[]<>(p) みたいなのは?
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
37
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
38 うーん、finite/infinite ではなくて、compact/open 見たいな感じだな。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
39 まぁ、実際、そうだしね。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
40 infinite |- fin(false)
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
41 だし。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
42 infinite |- fin(p)から infinite |- []<>(p)
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
43
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
44 <finite>p = finite & p (on any finite, infinite)
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
45 [finite]p = ~(~finite & ~p)
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
46 []<finite>p = [](finite & p) = ~(true & ~(finite &p))
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
47
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
48 <infinite>p = infinite & p = true (on infintie)
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
49 [infinite]p = ~(~infinite & ~p)
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
50
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
51 <finite>p が、LTTLの<>pに相当するはず。いや、infinite /\ <finite>p
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
52 かな。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
53
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
54 infinite |- [](finite & p)
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
55
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
56 自体が「pが無限回起きる」ってことを意味しているのでいいのかな。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
57
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
58 これで出来るのかな? なんか、pathlogic な感じだが、こういう構文的な
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
59 もので finite/inifinite を区別できるものなの?
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
60
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
61
19
e1d3145cff7a *** empty log message ***
kono
parents: 16
diff changeset
62 Sun Feb 10 21:30:04 JST 2002
e1d3145cff7a *** empty log message ***
kono
parents: 16
diff changeset
63
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
64 あ、そうだよ。empty は、どうすんだ? kiss の時は、無視したんだが...
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
65
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
66 そもそも、2nd order を入れたおかげで、複雑になりすぎ。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
67
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
68 もう一度 simple なversion を作るべきだよね。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
69
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
70 状態生成を再利用できる形で。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
71
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
72 対称性 general abstraction
19
e1d3145cff7a *** empty log message ***
kono
parents: 16
diff changeset
73
e1d3145cff7a *** empty log message ***
kono
parents: 16
diff changeset
74 Thu Feb 7 12:12:21 JST 2002
e1d3145cff7a *** empty log message ***
kono
parents: 16
diff changeset
75
e1d3145cff7a *** empty log message ***
kono
parents: 16
diff changeset
76 Verlog output for Prof. Fujita
e1d3145cff7a *** empty log message ***
kono
parents: 16
diff changeset
77
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
78 switch でもいいんだけど、ちょっと巨大にならない?
19
e1d3145cff7a *** empty log message ***
kono
parents: 16
diff changeset
79
e1d3145cff7a *** empty log message ***
kono
parents: 16
diff changeset
80 module check001(clk,inputs..,outputs...)
e1d3145cff7a *** empty log message ***
kono
parents: 16
diff changeset
81 input clk;
e1d3145cff7a *** empty log message ***
kono
parents: 16
diff changeset
82 input inputs;
e1d3145cff7a *** empty log message ***
kono
parents: 16
diff changeset
83 output outputs;
e1d3145cff7a *** empty log message ***
kono
parents: 16
diff changeset
84 reg state;
e1d3145cff7a *** empty log message ***
kono
parents: 16
diff changeset
85 initial state = 0;
e1d3145cff7a *** empty log message ***
kono
parents: 16
diff changeset
86 always @(posedge clk) begin
e1d3145cff7a *** empty log message ***
kono
parents: 16
diff changeset
87 case (state)
e1d3145cff7a *** empty log message ***
kono
parents: 16
diff changeset
88 0: if (inputs condtion) begin
e1d3145cff7a *** empty log message ***
kono
parents: 16
diff changeset
89 outputs set
e1d3145cff7a *** empty log message ***
kono
parents: 16
diff changeset
90 end else if (inputs condtion) begin
e1d3145cff7a *** empty log message ***
kono
parents: 16
diff changeset
91 outputs set
e1d3145cff7a *** empty log message ***
kono
parents: 16
diff changeset
92 ...
e1d3145cff7a *** empty log message ***
kono
parents: 16
diff changeset
93 end
e1d3145cff7a *** empty log message ***
kono
parents: 16
diff changeset
94 endcase
e1d3145cff7a *** empty log message ***
kono
parents: 16
diff changeset
95 end
e1d3145cff7a *** empty log message ***
kono
parents: 16
diff changeset
96 endmodule
e1d3145cff7a *** empty log message ***
kono
parents: 16
diff changeset
97
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
98 ってな感じ?
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
99
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
100 やっぱり、状態をcubeのような形で生成するのは、良くないよね。
19
e1d3145cff7a *** empty log message ***
kono
parents: 16
diff changeset
101 ?(a,@a,@b)
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
102 みたいな形で、生成した方が扱いやすい。ま、それは、Java Version
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
103 で。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
104
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
105 特性方程式を生成する方が良い? BDD の末端が各状態にいくようにする。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
106 それは、あんまり良くないか...
19
e1d3145cff7a *** empty log message ***
kono
parents: 16
diff changeset
107
16
4360c2030303 strange...
kono
parents: 15
diff changeset
108 Sun Jan 21 00:42:39 JST 2001
4360c2030303 strange...
kono
parents: 15
diff changeset
109
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
110 あれ? やっぱり、なんか変だな。
16
4360c2030303 strange...
kono
parents: 15
diff changeset
111 | ?- ex(finite & empty).
4360c2030303 strange...
kono
parents: 15
diff changeset
112
4360c2030303 strange...
kono
parents: 15
diff changeset
113 state(1 , not(true&false)&empty)
4360c2030303 strange...
kono
parents: 15
diff changeset
114 [][empty]->empty
4360c2030303 strange...
kono
parents: 15
diff changeset
115 [][more]->1
4360c2030303 strange...
kono
parents: 15
diff changeset
116
4360c2030303 strange...
kono
parents: 15
diff changeset
117 0.019000000000005457 sec.
4360c2030303 strange...
kono
parents: 15
diff changeset
118 1 states
4360c2030303 strange...
kono
parents: 15
diff changeset
119 2 subterms
4360c2030303 strange...
kono
parents: 15
diff changeset
120 2 state transions
4360c2030303 strange...
kono
parents: 15
diff changeset
121 verbose,renaming,singleton,length limit 5
4360c2030303 strange...
kono
parents: 15
diff changeset
122 valid
4360c2030303 strange...
kono
parents: 15
diff changeset
123
4360c2030303 strange...
kono
parents: 15
diff changeset
124 yes
4360c2030303 strange...
kono
parents: 15
diff changeset
125 | ?- infinite.
4360c2030303 strange...
kono
parents: 15
diff changeset
126 satisfiable in infinite interval:
4360c2030303 strange...
kono
parents: 15
diff changeset
127 *
4360c2030303 strange...
kono
parents: 15
diff changeset
128 0: 1
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
129 では、困ります。それに、
16
4360c2030303 strange...
kono
parents: 15
diff changeset
130 <>(p) = finite & p
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
131 に書き換えないといけないみたいね。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
132
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
133 ってことは、やはり、
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
134 その状態から、唯一、more にだけ抜ける状態
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
135 なのかな。
16
4360c2030303 strange...
kono
parents: 15
diff changeset
136
15
816425e04ea7 fix true - omega interval satisfiability
kono
parents: 14
diff changeset
137 Sat Jan 20 20:50:17 JST 2001
816425e04ea7 fix true - omega interval satisfiability
kono
parents: 14
diff changeset
138
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
139 true をloopとみなしてないので、ex(true) で、infinite
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
140 が satisfiable にならない。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
141
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
142 infinite で、loop を * で明示するようにした。
16
4360c2030303 strange...
kono
parents: 15
diff changeset
143
14
0d896bcc1061 *** empty log message ***
kono
parents: 12
diff changeset
144 Sat Jan 20 18:16:33 JST 2001
0d896bcc1061 *** empty log message ***
kono
parents: 12
diff changeset
145
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
146 とりあえず、more_only は、more にいくものが何かあれば許すと言うことに
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
147 しました。
14
0d896bcc1061 *** empty log message ***
kono
parents: 12
diff changeset
148
12
66d0522d46e8 *** empty log message ***
kono
parents: 10
diff changeset
149 Sat Jan 20 03:38:14 JST 2001
66d0522d46e8 *** empty log message ***
kono
parents: 10
diff changeset
150
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
151 demo(15) の infinite が止まらない。loop detection の計算量が
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
152 多すぎるようですね。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
153
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
154 失敗したのを覚えておいてということだと、repeat fail loop
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
155 で回すわけにはいきませんね。
12
66d0522d46e8 *** empty log message ***
kono
parents: 10
diff changeset
156
66d0522d46e8 *** empty log message ***
kono
parents: 10
diff changeset
157 Sat Jan 20 02:33:17 JST 2001
66d0522d46e8 *** empty log message ***
kono
parents: 10
diff changeset
158
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
159 本当に、more_only(S) で判断してしまって良いのか?
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
160
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
161 inifinite-> の問題もあるし...
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
162
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
163 ある特定のinifinite state sequence で、ITL式が satisfiy される
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
164 ことを ω-interval satisfiability って言うんじゃないの?
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
165
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
166 だとすると、
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
167 その状態から、唯一、more にだけ抜ける状態
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
168 であれば良いのか? でも、more/empty でいきなり分類してしまっているので、
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
169 それは、それほど簡単に判断できないかな。ITL式はあるんだから、
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
170 more を付け加えて展開すれば良いのだけど...
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
171
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
172 non-determistic に empty に落ちる物は、~(<>empty) になり得ないので
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
173 まずい。
12
66d0522d46e8 *** empty log message ***
kono
parents: 10
diff changeset
174
66d0522d46e8 *** empty log message ***
kono
parents: 10
diff changeset
175 13:+ac-bc-cc-dc 183
66d0522d46e8 *** empty log message ***
kono
parents: 10
diff changeset
176 14:-ac-bc-cc+dc 185
66d0522d46e8 *** empty log message ***
kono
parents: 10
diff changeset
177 15:-ac-bc-cc+dc 186 <----
66d0522d46e8 *** empty log message ***
kono
parents: 10
diff changeset
178 16:+ac-bc-cc-dc 187
66d0522d46e8 *** empty log message ***
kono
parents: 10
diff changeset
179 17:+ac-bc-cc-dc 191
66d0522d46e8 *** empty log message ***
kono
parents: 10
diff changeset
180 18:+ac-bc-cc-dc 194
66d0522d46e8 *** empty log message ***
kono
parents: 10
diff changeset
181 19:-ac+bc-cc-dc 198
66d0522d46e8 *** empty log message ***
kono
parents: 10
diff changeset
182 20:-ac-bc+cc-dc 201
66d0522d46e8 *** empty log message ***
kono
parents: 10
diff changeset
183 21:+ac-bc-cc-dc 202
66d0522d46e8 *** empty log message ***
kono
parents: 10
diff changeset
184 22:+ac-bc-cc-dc 203
66d0522d46e8 *** empty log message ***
kono
parents: 10
diff changeset
185 23:+ac-bc-cc-dc 207
66d0522d46e8 *** empty log message ***
kono
parents: 10
diff changeset
186 24:-ac+bc-cc-dc 211
66d0522d46e8 *** empty log message ***
kono
parents: 10
diff changeset
187 25:-ac-bc+cc-dc 213
66d0522d46e8 *** empty log message ***
kono
parents: 10
diff changeset
188 26:+ac-bc-cc-dc 214
66d0522d46e8 *** empty log message ***
kono
parents: 10
diff changeset
189 27:+ac-bc-cc-dc 218
66d0522d46e8 *** empty log message ***
kono
parents: 10
diff changeset
190 28:+ac-bc-cc-dc 221
66d0522d46e8 *** empty log message ***
kono
parents: 10
diff changeset
191 29:-ac+bc-cc-dc 226
66d0522d46e8 *** empty log message ***
kono
parents: 10
diff changeset
192 30:-ac-bc+cc-dc 186
66d0522d46e8 *** empty log message ***
kono
parents: 10
diff changeset
193
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
194 おぉ!
12
66d0522d46e8 *** empty log message ***
kono
parents: 10
diff changeset
195
10
f2aa38ce0787 add state display.
kono
parents: 6
diff changeset
196 Fri Jan 19 20:59:46 JST 2001
f2aa38ce0787 add state display.
kono
parents: 6
diff changeset
197
f2aa38ce0787 add state display.
kono
parents: 6
diff changeset
198 | ?- ex((infinite -> @infinite)).
f2aa38ce0787 add state display.
kono
parents: 6
diff changeset
199
f2aa38ce0787 add state display.
kono
parents: 6
diff changeset
200 state(1 , not(true&false),@ (true&false))
f2aa38ce0787 add state display.
kono
parents: 6
diff changeset
201 [][empty]->empty
f2aa38ce0787 add state display.
kono
parents: 6
diff changeset
202 [][more]->true
f2aa38ce0787 add state display.
kono
parents: 6
diff changeset
203
f2aa38ce0787 add state display.
kono
parents: 6
diff changeset
204 0.021000000000000796 sec.
f2aa38ce0787 add state display.
kono
parents: 6
diff changeset
205 1 states
f2aa38ce0787 add state display.
kono
parents: 6
diff changeset
206 2 subterms
f2aa38ce0787 add state display.
kono
parents: 6
diff changeset
207 2 state transions
f2aa38ce0787 add state display.
kono
parents: 6
diff changeset
208 verbose,renaming,singleton,length limit 5
f2aa38ce0787 add state display.
kono
parents: 6
diff changeset
209 valid
f2aa38ce0787 add state display.
kono
parents: 6
diff changeset
210
f2aa38ce0787 add state display.
kono
parents: 6
diff changeset
211 yes
f2aa38ce0787 add state display.
kono
parents: 6
diff changeset
212 | ?- infinite.
f2aa38ce0787 add state display.
kono
parents: 6
diff changeset
213 unsatisfiable in infinite interval.
f2aa38ce0787 add state display.
kono
parents: 6
diff changeset
214
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
215 これは... どういうことなんでしょうね? inifite は基本的に
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
216 false だから、inifite-> タイプのものは、すべて、infinite unsatisfiable
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
217 だね。
10
f2aa38ce0787 add state display.
kono
parents: 6
diff changeset
218
f2aa38ce0787 add state display.
kono
parents: 6
diff changeset
219 Fri Jan 19 20:40:37 JST 2001
f2aa38ce0787 add state display.
kono
parents: 6
diff changeset
220
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
221 割りと簡単なアルゴリズムで、satisfiabilityは、チェック
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
222 できました。これが、正しいかどうかは Moszkowski によるけど...
10
f2aa38ce0787 add state display.
kono
parents: 6
diff changeset
223 inifnite
f2aa38ce0787 add state display.
kono
parents: 6
diff changeset
224 *skip
f2aa38ce0787 add state display.
kono
parents: 6
diff changeset
225 *((skip&skip))
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
226 などに関しては、うまく動くようですね。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
227
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
228 vailidity checker が欲しい所だけど... どういうものがvalidなのかは、
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
229 良くわからない。もちろん、否定が unsatisfiable ならば、valid なの
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
230 だが。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
231
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
232 でも、この方法だと、
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
233 satisfiable in ω-interval implies
10
f2aa38ce0787 add state display.
kono
parents: 6
diff changeset
234 falsifiable in finite interval
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
235 ってことになるらしい。
10
f2aa38ce0787 add state display.
kono
parents: 6
diff changeset
236
6
9b86eb10b61c *** empty log message ***
kono
parents: 5
diff changeset
237 Fri Jan 19 07:48:59 JST 2001
9b86eb10b61c *** empty log message ***
kono
parents: 5
diff changeset
238
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
239 Streett ∩_i []<>L_i ⊃ <>[]U _i
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
240 Rabin ~(∩_i []<>L_i ⊃ <>[]U _i)
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
241
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
242 という構造を持っている。これは、
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
243 ある無限回繰り返す所 L から先は、いつか、ずーっと U を通るようになる
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
244 のと、その否定という構造になっている。これを、
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
245 labeled tree の、ある所から先は、ずーっと「あるマークがついている」ループ
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
246 で表す。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
247
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
248 で、そのアルゴリズムだけど...
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
249
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
250 depth first に「出口の無いノード」を探す。そこをマークする。そこから、
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
251 ノードを覚えながら、出口の無いノードを手繰る。ループが出て来たら検出
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
252 完了。最後までいったら、マークに戻り、次の出口の無いノードを探す。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
253 これをdepth first search が終るまで繰り返す。したがって、計算量は、
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
254 ノード数N に対して、最悪 N^2/2 ( N+(N-1)+(N-2)...1 ) である。それほど
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
255 悪くは無いか。
6
9b86eb10b61c *** empty log message ***
kono
parents: 5
diff changeset
256
9b86eb10b61c *** empty log message ***
kono
parents: 5
diff changeset
257 Fri Jan 19 04:27:42 JST 2001
9b86eb10b61c *** empty log message ***
kono
parents: 5
diff changeset
258
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
259 えーと、LICS のpaper は、やたら複雑だが、要は、ω-automatonの
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
260 否定の問題だよね。だから、false loop detection が、ちゃんと、
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
261 ITL の否定の定義に一致していることさえ見れば良い。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
262
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
263 finite interval では、既に一致しているわけだから、(true & false )
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
264 のsatisfiabilityの定義を無理して一致させる必要は無い。一致しなければ、
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
265 異なるaxiomatiazation を見つけたことになる。だから、false loop
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
266 detection が negetation consistent ならば、たぶん、一致するんだろう。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
267
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
268 結局は、Rabin automatonのacceptabilityをチェックすることになるんだろう。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
269 ってことは、non deterministic buchi automaton を扱うってことか。
6
9b86eb10b61c *** empty log message ***
kono
parents: 5
diff changeset
270
9b86eb10b61c *** empty log message ***
kono
parents: 5
diff changeset
271 Rabin <-> Streett complimentary
9b86eb10b61c *** empty log message ***
kono
parents: 5
diff changeset
272
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
273 (true & false)に関しては、<>[](not_empty) だよな。
6
9b86eb10b61c *** empty log message ***
kono
parents: 5
diff changeset
274 infinite -> <>[](more)
9b86eb10b61c *** empty log message ***
kono
parents: 5
diff changeset
275
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
276 ってことは... やっぱり、false_loop detection でいいんじゃないかなぁ。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
277
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
278 えーと、
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
279 すべてのterminating loop で、empty->true がない => infinite
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
280 だから、ω区間で充足ってのは、
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
281 terminating loop に empty->trueがないものがある
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
282 だから、ω区間で恒真ってのは、
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
283 terminating loop に empty->trueがない
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
284
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
285 となる。その否定を取ると、true/false が逆転する。(のか?)
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
286
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
287 しかし、terminating loop でなくても、ω区間を実現することはできる。
6
9b86eb10b61c *** empty log message ***
kono
parents: 5
diff changeset
288 infinite & P -> infinite
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
289 だから。この場合も充足っていうんだろうな。この場合は、どうせ P
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
290 は、tableau で無視されるので問題無い。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
291
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
292 って、ことは、terminating loop だけを見ればよろしい。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
293
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
294 execution example は、
6
9b86eb10b61c *** empty log message ***
kono
parents: 5
diff changeset
295 s s s s s s (s s s s s s)*
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
296 という形を取る。なので、必ず最小モデルの性質を持つ。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
297 実際には、* の中は、非決定的で良い。
6
9b86eb10b61c *** empty log message ***
kono
parents: 5
diff changeset
298
9b86eb10b61c *** empty log message ***
kono
parents: 5
diff changeset
299
5
75a40129f638 *** empty log message ***
kono
parents: 4
diff changeset
300 Fri Jan 19 02:18:39 JST 2001
75a40129f638 *** empty log message ***
kono
parents: 4
diff changeset
301
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
302 <>empty と infinite = (true & false ) は、両立しない。
5
75a40129f638 *** empty log message ***
kono
parents: 4
diff changeset
303 <>empty = finite & empty = ~(true & false) & empty
75a40129f638 *** empty log message ***
kono
parents: 4
diff changeset
304
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
305 ~(true & false ) はなにを示しているかと言うと...
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
306 いつでも「終れる」ということ。infinite は、「終れない」
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
307
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
308 ω区間には、empty exit は存在できない。正確には、
5
75a40129f638 *** empty log message ***
kono
parents: 4
diff changeset
309 ... [ no-empty loop ] ....
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
310 ということ。そういうsub 区間があれば良い。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
311
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
312 [](more) は? もちろん、これは、Lite では、false.
5
75a40129f638 *** empty log message ***
kono
parents: 4
diff changeset
313 ~(finite & ~more)
75a40129f638 *** empty log message ***
kono
parents: 4
diff changeset
314 ~(~(true & false) & ~more))
75a40129f638 *** empty log message ***
kono
parents: 4
diff changeset
315 ~(~(true & false) & empty))
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
316 これが ω区間で true になるためには...
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
317
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
318 []のinifinite versionは?
4
029b5a5ac494 *** empty log message ***
kono
parents: 2
diff changeset
319
029b5a5ac494 *** empty log message ***
kono
parents: 2
diff changeset
320 http://research.commpaq.com/SRC/esc/
029b5a5ac494 *** empty log message ***
kono
parents: 2
diff changeset
321
029b5a5ac494 *** empty log message ***
kono
parents: 2
diff changeset
322 Fri Jan 19 01:20:54 JST 2001
029b5a5ac494 *** empty log message ***
kono
parents: 2
diff changeset
323
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
324 ω区間は、必ず、(s_n...s_m)* を含む。decidableならば、そうだ。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
325 が、それは、証明が必要がだけど。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
326
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
327 逆に、(s_n...s_m)* を含めば、そこをずーっと繰り返すことにより、
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
328 ω区間を実装できる。だから、そういうループを見つければ、
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
329 ω区間上で satisfiable だということができる。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
330
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
331 その区間上で、∨empty のようなexitが許されるのか? たぶん、
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
332 許されない。ということは、やはり、false loop を見つければ
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
333 良いと言うことか。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
334
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
335 そのアルゴリズムは?
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
336
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
337 ω区間では、empty で抜け出ることができない。->
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
338 <>empty がfalse
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
339 どうも正しそうだな。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
340
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
341 えーと、何か、安全なアルゴリズムがありそうだけど...
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
342 簡単なのは、すべてのループをdepth first で探すことだな。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
343
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
344 とすると、finitarity をチェックするのは結構面倒になる。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
345
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
346 finitarity とはなに?
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
347 ループには必ずtrue exitがある
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
348 infiniteness とは、
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
349 exit のないループがある
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
350
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
351 []<>(p) = <>[](p) は、どうなるんだろう?
5
75a40129f638 *** empty log message ***
kono
parents: 4
diff changeset
352 <>(p) = finite & p
75a40129f638 *** empty log message ***
kono
parents: 4
diff changeset
353 ~(finite & ~(finite & p)) = finite & ~(finite & ~p)
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
354 ですか。
5
75a40129f638 *** empty log message ***
kono
parents: 4
diff changeset
355
75a40129f638 *** empty log message ***
kono
parents: 4
diff changeset
356
4
029b5a5ac494 *** empty log message ***
kono
parents: 2
diff changeset
357 Fri Jan 19 00:33:43 JST 2001
029b5a5ac494 *** empty log message ***
kono
parents: 2
diff changeset
358
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
359 えーと、
4
029b5a5ac494 *** empty log message ***
kono
parents: 2
diff changeset
360 [](false)
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
361 がsatisfiableになることはない。
4
029b5a5ac494 *** empty log message ***
kono
parents: 2
diff changeset
362 ~(true & ~ false)
029b5a5ac494 *** empty log message ***
kono
parents: 2
diff changeset
363 ~(true & true)
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
364 だから。
4
029b5a5ac494 *** empty log message ***
kono
parents: 2
diff changeset
365 true & ~true
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
366 は、許される。しかし、
4
029b5a5ac494 *** empty log message ***
kono
parents: 2
diff changeset
367 ~true & ~true
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
368 は許されない。これ自体は、今のverifier でも、そうなる。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
369
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
370 tableau expansion 自体は同じだと考えて良いのか?
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
371 特に異なる inference rule があるわけではないらしい。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
372
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
373 だとすれば、必要なコードは、false loop detector だけか?
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
374 exe/diag の代りに、infinite_exe,infinite_diag を作るのだろうか。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
375
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
376 infinite_exe は、ループを表示しなければならない。必ず、
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
377 そのようなループが存在するのだろうか? とすると、infinite
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
378 interval は、prefix のようなものになる。実は、prefix
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
379 がinfinite interval そのもの? prefix(finite,....)
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
380 みたいなものだね。これは、どっかで見たことが...
4
029b5a5ac494 *** empty log message ***
kono
parents: 2
diff changeset
381
029b5a5ac494 *** empty log message ***
kono
parents: 2
diff changeset
382
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
383 Thu Jan 18 22:42:24 JST 2001
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
384
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
385 | ?- ex(((true&false)->(<>(empty)))).
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
386
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
387 は、valid になってしまう。実際には、infinite->not(<>(empty)).
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
388
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
389 Thu Jan 18 21:04:13 JST 2001
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
390
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
391 まず、chop.pl の中の、X & false をfalseに変換しているのを
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
392 抜く必要がある。
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
393
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
394 Thu Jan 18 19:59:33 JST 2001
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
395
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
396 in POPL01
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
397
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
398 LICS00 の infinite を入れるように Lite を拡張することが
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
399 できるのか?
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
400
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
401 単純な拡張にはならない。
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
402 infinite =def (true & false )
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
403 だから。これは、今の実装では unsatisfiable。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
404
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
405 P&Q で、Q が単純にfalseだからといって、諦められない。今は、node は、
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
406 empty,false
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
407 empty,true
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
408 more,false
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
409 more,some_other
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
410 というように特徴付けられている。これで足りるのか?
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
411
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
412 Eventurality check が必要無いと良いんだけど。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
413
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
414 Rabin automaton ってなんだ? Buchi と同じなんじゃないの?
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
415
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
416 true & false は、
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
417 empy -> false
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
418 more -> true & false
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
419 に展開される。今は、empty だけを見て、validity/satisfiability を
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
420 調べている。しかし、これを、
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
421 「ある特定のfalse exit ループをsatisfiableだとみなす」
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
422 ことにより、infinite interval を導入することができる。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
423
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
424 問題は、どのような false exit ループが satisfiable だという
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
425 こと? というよりは、これで unsatisfiable になる formulaって
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
426 何?
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
427 more -> false
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
428 のたぐいだけか?
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
429 finite
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
430 empy -> true
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
431 more -> true & true
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
432 は、どうなる?
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
433 ~infinite
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
434 empy -> true
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
435 more -> ~(true & false)
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
436 となる。なので、これは finite に等しい。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
437
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
438 infinite は、false loop を表していると考える。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
439
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
440 全ての式Pを、finite -> P で、チェックすれば、finite LITL になる。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
441 (ならなければいけない)
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
442
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
443 って、ことは、false loop をdetectすれば良いだけか? これは、
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
444 結構易しいが、計算量的には、ちょっと大変かな。
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
445 finitely
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
446 valid, satisfiable, unsatisfiable...
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
447 inifinitly
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
448 valid, satisfiable...
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
449 infinitely satisfiable とは、
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
450 flase loop が存在すること
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
451 valid は、
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
452 false loop 以外は、empty false であること(?)
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
453
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
454 えーと、それだと、inifinitly satisiable な式は、finitly unsatisfiable
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
455 だけど、それでいいの? だとすると、valid な式はなくなってしまうね。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
456
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
457 これは、ちょっとうれしくないであろう。ということは、
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
458 infinitely valid は、
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
459 false loop 以外は、empty ture であること(?)
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
460 を含むと考えるのが正しい。だとすると、
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
461 |= finitie /\ finite
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
462 ってことになるね。それは、ちょっとうれしくないか。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
463
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
464 うーむ、Moszkowski は、どういう選択をしたんだろう?
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
465
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
466
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
467 Wed Nov 22 16:27:45 JST 1995
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
468
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
469 rstd 側で limit を扱うことにする。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
470 rename_list でlimitを指定することになる。singleton のlimit
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
471 をはずさないといけないだろう。over(r,N)が外にでないのが
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
472 ちょっと情報不足だな。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
473
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
474 itlstd が idempotent になってなーい!!! しくしく。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
475 itlstd(X,Y,_),bdt2itl(Y,Z),itlstd(Z,Y1,_) でY=Y1になる
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
476 はずなのだが...
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
477
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
478 itlstd2 では、singleton remove, renaming は行なわないで、limit over
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
479 だけを取り扱う。これによってdetailed trace が可能となる。これに、
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
480 従来のitlstdをかければ、もとに戻るはずだ。が、どうも失敗している
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
481 らしい。
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
482
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
483 Tue Nov 21 18:33:19 JST 1995
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
484
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
485 renaming の trace は original limit で行なう。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
486 detailed trace は no limit で行なう。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
487 itl/5 は2度呼ばれるが、まあ、良とするか。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
488
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
489 rstd 側でlimitの置き換えをすればだいぶましなんだが...
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
490
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
491 renmaing で、over limit を取り扱う方が統一的か。
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
492
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
493 Wed Nov 15 12:58:28 JST 1995
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
494
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
495 over(r,N) が true/false に置き換わっていて、unifyするか?
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
496
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
497 いずれにせよ、ちょっと気まずい。どの変数が置き換わるかは、
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
498 renaming を trace すれば分かるが...
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
499
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
500 この置き換えをrstd側で行なって、original/restrictedの両方を
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
501 とっておく。そして、どの変数が置き換わったか分かるようにする。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
502 (renaming informationに入れておく) でも、この情報もどうせ
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
503 lazyに生成するんだよね? なんか変だ。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
504
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
505 あるいは、detailed traceの方では置換えしない? true/false に
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
506 置き換えても同じstateで実現できるはず。だが、unify はしないと
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
507 いけない。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
508
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
509 いずれにせよ、lazy state generation では、
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
510 full trace, restricted trace
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
511 の両方をおこなう。このためには、over の置き換えをrstd で行なった
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
512 方が良いだろう。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
513
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
514 うーむ、でも、そうすると、itlstd がnon-deterministic になって
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
515 しまう。それは、いまいちだ。
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
516
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
517 Tue Nov 14 19:56:26 JST 1995
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
518
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
519 Detailed trace の時は Fromula と state number と両方持ち歩かないと
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
520 だめだ。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
521
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
522 ということは、diag routine を書き直さないとダメか。ndcomp は
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
523 あきらめるか?
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
524
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
525 Mon Nov 13 22:33:34 JST 1995
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
526
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
527 trace するときにrenaming は、いらないんじゃない?
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
528 detailed traceをどうせ使うとすれば... そうすれば、
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
529 choice も考えなくても良い。
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
530
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
531 Sun Nov 12 23:37:36 JST 1995
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
532
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
533 ^r のtrace
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
534
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
535 stateは決まっている
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
536 duplicated は rename inforamtion を使ってtrace できる。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
537
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
538 detailed expansion して、unify する。具体的には、
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
539 BDDにそって分解する。これによって、true_false がr^nの
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
540 treeに展開されるはず。されなければ、別のものを探す。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
541
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
542 true_falseのchoiceによって値が異なるわけだけど...?
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
543 choice は、一つのBDDに関して一つしかでない。(leafにしかない
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
544 から) ということは、複数のchoice は、
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
545 異なる & の empty
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
546 でしか起きない。なんらかのidentityを残した方がいいんだけど。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
547 ま、結果的に同じstateにいって、すべての条件が尽くされるなら、
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
548 構わないか。detailed expansion はすべてを含んでいるのだから、
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
549 構わないはず。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
550
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
551 まずは、renaming のカタをつけよう。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
552
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
553 もっと選択的に^rをトレースした方が良くない? singleton ^r
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
554 をなんらかのtermにマップできなものか?
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
555
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
556 Sat Nov 11 09:55:41 JST 1995
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
557
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
558 2path singleton removal がようやっとできた。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
559 ただし、どうも、order sensitive なんだよな。over が@<,@>に
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
560 よってでる時とでない時がある。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
561
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
562 sbdt_split, sbdt_ife によってremoval/renameによるorderを修正しない
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
563 といけなかった。やむをえないところか?
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
564
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
565 しかしsingleton removalを書いたら、もとの方も良くなってしまった。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
566 どうも、bdt routineには問題があったみたい。true & true を除く
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
567 ようにしたのが効いたとも思えないんだが.... sbdt_opt のせいか?
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
568
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
569 state numberがでなくなるbugを直した
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
570
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
571 あとは、trace の問題だな。r^nの実行がちゃんとトレースできると
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
572 いいんだけど。
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
573
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
574 Thu Nov 9 12:03:32 JST 1995
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
575
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
576 P & Q を、sb(P_BDD & Q_BDD) という形で持っているけど..
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
577 sb(P_BDD,PN)
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
578 sb(Q_BDD,QN)
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
579 PN & QN という方が良くない? ほとんど同じだとは思うけど....
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
580 ?(PN & QN,true,false) となるのか.... うーん。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
581
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
582 Qの展開を一回に抑えられない? ? を未展開のマークに
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
583 使えないか?
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
584
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
585 Wed Nov 8 20:31:23 JST 1995
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
586
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
587 はやり一旦BDDに落して2pathで処理することとする。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
588
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
589 first path: singleton varble の detect
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
590 (regular variableがない場合は、そのままstd_check
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
591 singleton removal で消えることはない)
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
592 regular variable が無ければ、これで終了
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
593 rename list を計算
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
594 second path path:
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
595 singleton variable があった場合、
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
596 t/fのtree を parallel traverse
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
597 t/f または、[tf]/tf の組合せをtfに置き換える
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
598 複数のsingleton variableを順不同に処理して良い
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
599
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
600 regular variable があるかどうかは、singleton removval の
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
601 結果に依存するので、1path で厳密に取り除くことはできない。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
602 が、2nd path では確実に取り除くことが出来る。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
603
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
604 ぶぶ、2nd pathは全然処理が違う!! sbdt と共用はできない
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
605
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
606 Tue Nov 7 15:45:07 JST 1995
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
607
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
608 chop のレベルで分ければ、まあ、良い。問題は、そのあと。と、
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
609 考えると、BDDに変換するレベルで対応する方が望ましいかも知れない。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
610 もちろん、今のままでもsafeなんだけど、落ちているものが多い。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
611 それは結果的に状態を増やしていることになる。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
612
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
613 一つの方法は、
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
614 p(^r) => ?(^r,pt,pf)
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
615 とする。
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
616 (pt,pf; tf), (pt;pf)
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
617 と変形する。と、こんな具合。これは重いなぁ。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
618
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
619 (~ ^r), ^r がボトムアップではfにならない。ま、そういうことなんだよな。
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
620
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
621 Tue Nov 7 10:38:59 JST 1995
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
622
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
623 どうも、singleton removal だと、[a](^r = length(2)), f(^r)
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
624 のようなものは完璧にトレースできるらしい。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
625 [a](^r = length(2)), *(^r) もOk だった。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
626
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
627 でも、さすがに文法記述は発散する。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
628
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
629 結局、どういう制限なのかなぁ? diag 時に、full trace できたかどうかを
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
630 チェックするか...
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
631
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
632 どうも、シングルトンチェックが甘いな。もっと、ちゃんとチェックする
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
633 ためには?
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
634
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
635 Mon Nov 6 15:57:46 JST 1995
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
636
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
637 [p_0,p_1,...,p_n] は、
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
638 p_0,p_1,...,p_n -> true
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
639 ~ p_0,~ p_1,...,~ p_n -> false
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
640 else -> true_false
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
641 という形でBDD(MTBDD)になる。3値論理
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
642
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
643 ^r -> true_false
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
644
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
645 true_false -> empty? choice ? true : fals
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
646 : true_false
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
647
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
648 t,tf -> tf
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
649 t;tf -> t
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
650 tt;tf -> tf
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
651 f,tf -> f
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
652 f;tf -> tf
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
653 tt,tf -> tf
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
654
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
655 (あれ、cross termは?)
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
656 確かにこれでうまくいきます。はい。* ^r も完璧。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
657
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
658 問題は、実行をtraceできるかどうかだな。
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
659
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
660 Mon Nov 6 08:50:01 JST 1995
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
661
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
662 singleton の効果は有限か?
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
663
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
664 BDDの中でsingleton duplicate を許すとすると、これは止まるのか?
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
665 selection(uniq set of subterm)
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
666 という形になるはず。だから、とまるはず。subtermは有限。singleton には、
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
667 R名による区別さえ必要無い。
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
668 ^r -> ^([false,true])
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
669 ^([p_0,p_1...p_n]) -> ^([px_0,px_1...px_n])
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
670 という展開になる? 再sortは必要。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
671
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
672 一般的に、^(r,[p_0,p_1...p_n]) という形で収束しないの? r が一つだったら...
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
673 ネストしたらout。でもnestはあっても固定だから。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
674
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
675 が、これでcomputationをトレースできるのか? いや、特別な展開が必要。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
676
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
677 あと、determinization しないとね。(どうやって?)
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
678 ^([p_0,p_1...p_n]) -> ^([px_0,px_1...px_n])
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
679 の際に、px_0 には next のみが入る。そうすれば良い。
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
680 itl(p_0,more,..)
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
681 での出力はnext,true,false。Ok。
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
682
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
683 Sun Nov 5 21:34:33 JST 1995
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
684
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
685 しかし、なんと * ^R は非常に大きな状態を生成する。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
686 ^R と true & ^R の干渉が大きな状態を生成してしまう。(らしい)
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
687 これを抑えるには? 一つはlength で頭を抑えることだな。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
688 ああ、でも、やっぱり大きいか。あんまり、うまくない。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
689 length(10) でも結構巨大か..
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
690
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
691 proj でも同じような問題はあったのだけど...
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
692
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
693 ^r の permuation の対称性を何とかしない限りだめだね。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
694 しかし、順序は変えちゃダメなんでしょう? うーむ。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
695 でもさ、モデル自身は小さいんだが.... うーむ。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
696
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
697 いや、この場合は singleton removal が効くみたい。そうか。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
698
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
699 これはsingleton の処理が正しくないからじゃない?
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
700
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
701 singleton の効果は有限か?
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
702 f(r^1,....r^n) -> exists
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
703 だとすれば有限。だけど、固定してはだめ。
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
704 r^s ? length(1) : r^s ? length(2) : ....
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
705 となりうる?
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
706
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
707 Wed Nov 1 21:12:04 JST 1995
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
708
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
709 例題ねー... しかし、<>^R が使えないとなると....
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
710 あ、でも、* ^R は使える。
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
711
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
712 Mon Oct 16 16:05:31 JST 1995
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
713
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
714 LITL で、closure, proj 抜きだとpolynominal orderの方法がある!?
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
715 ~(....&....(...&... ~(...&....)))
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
716 という形で、これにvariable patternを埋め込んでいけば良い。これだと
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
717 marking だから state space database はいらない。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
718
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
719 tableau expansion でも、生成される状態は同じ数だから結果的にpolynominal
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
720 になっていたのかも.... たしかに、quantifier, closure, proj を入れると
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
721 verification は難しくなっていた。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
722
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
723 いや、でも、empty interval があると、そうもいかないか?
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
724 ~(....&....(...&... ~(...&....)))
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
725 の任意のchopをand,emptyに変える操作がいる。これは exponential。
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
726 p & p & p & p & p
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
727 p & p & p & p,empty , p
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
728 chomp (non-empty interval chop) だったら、大丈夫。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
729
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
730 でも、closure, proj をいれるならおんなじか。
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
731
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
732 Mon Oct 9 19:51:27 BST 1995
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
733
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
734 proj では、r^n の n を階層化する。r^0 は、すべての階層で共有される。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
735 他のlengthは共有されないとみるのが正しいのだろう。length(1) proj Q
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
736 だと、r^1^1 = r^0^1 だよね?
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
737
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
738 P proj Q で、Q part のnext part は、
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
739 proj の中にencupsulated されているので、term はいじる必要はない。が、
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
740 condition はいじる必要がある。ただし、renaming を original clock
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
741 level と同じにすると limit が効きすぎるだろう。しかし、ここを複雑に
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
742 するのは、どうかなぁ。term level も階層化すれば、問題はない。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
743 (r^n)^n とか...
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
744
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
745 結局、singleton removal は、うまくいかないね。これがうまくいけば、だい
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
746 ぶ範囲が広まるのだが.... せめて、eventuality と同じぐらいまでにできな
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
747 いの? あ、そうか、r^s をmarking と見ればいいわけね。しかし、結構、めん
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
748 どくさいといえばめんどくさい。
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
749
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
750 Time constant regular variable
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
751
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
752 renaming なしならば、割と自明。
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
753 r^0 ... r^limit
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
754 をunifyすれば良い。renaming ありだと、もう少し複雑になる。r^n を state
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
755 と見るのが簡単。いずれにせよ、かなり制限された感じだね。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
756
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
757 renaming の、もっと気の聞いたalgorithmがあれば...
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
758
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
759 Mon Oct 9 05:48:38 BST 1995
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
760
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
761 ^r -> true/false では、[a](^r=length(2)) が unsatisfiable.
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
762 over(r) では、true/false に置き換えている。^r -> +r/-r でも、
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
763 [a](^r=length(2))はだめ。これにさらに工夫がいる。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
764 でも、それはこっちの方がましだということだろう。でも、どれくらい
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
765 ましなの? local でないぐらいか?
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
766
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
767 singleton を ^(r,s) で置き換えても、[a](^r=lenth(2)) は、> length(4)
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
768 でfail する。なんで?
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
769
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
770 Sat Oct 7 17:20:17 BST 1995
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
771
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
772 singleton removal を r^s で行なうと、limit を一つ伸ばす効果が
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
773 あるらしい。したがってlimitまでいくような場合は状態が増える。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
774 r^s の選択を独立に行なうような方法で、ちゃんとできるのか?
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
775 できないような気もする。
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
776
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
777 Sat Oct 7 10:08:57 BST 1995
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
778
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
779 (1) 番号を詰める (番号limitあり)
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
780
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
781 は、やってみたけど、^r には効果があるんだけど、他のはほとんど
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
782 関係ないなぁ。[a](^r...) みたいなものにはきかないのだろう。
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
783
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
784 Fri Oct 6 09:46:45 JST 1995
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
785
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
786 (1) 番号を詰める (番号limitあり)
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
787 (2) singleton removal
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
788
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
789 この二つでかなりいくはず。(2)どうにかなんないの?
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
790
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
791 (3) 番号を構造化する low resolution?
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
792
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
793 Edge driven な logic にできるか?
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
794
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
795 Thu Oct 5 18:27:29 JST 1995
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
796
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
797 うーむ。length limit は、うまくいくが、それ以外の制限がいまいち
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
798 うまくいかないね。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
799
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
800 rename して ^r の数を制限する方法だと、over に変換されるものが
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
801 あまりにアドホックに決まってしまう。
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
802 r^n
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
803 の n に、何か term を持って来れないの?
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
804
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
805 total order を持って来るか... 効果あるの? さぁ...
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
806
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
807 Sun Sep 24 01:14:36 JST 1995
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
808
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
809 だから、
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
810
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
811 ^r = false にすると、
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
812
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
813 [a](^r=legth(2)) -> [a](false=legth(2))
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
814 [a](false=legth(1))
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
815 [a](false=legth(0)) = unsatisfiable
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
816
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
817 になるからだめなの。うんうん。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
818 true = length(2) も false = length(2)
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
819 も、両方ともunsatisfiable。どちらかというと、
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
820 (length(2);not(length(2))) & true
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
821 となるのが正しい。
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
822 (length(2) & true) ; (not(length(2)) & true)
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
823 は? これは Ok なはず。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
824
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
825 だったら、expansion する前にsingletonをチェックして、singleton
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
826 に対しては quantifiy してしまうってのは? うーむ...
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
827
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
828 じゃあ、なんで ^r -> ^r;not(^r) ではだめなのか?
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
829 これは、終りを共有するものをいっしょにしているから。
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
830
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
831 ^r on n+1
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
832 |--| T
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
833 |-| F
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
834 || F
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
835 |-| T
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
836 || F
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
837 || F
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
838
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
839 とする
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
840
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
841 ^r on n
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
842 |---|
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
843 |--|
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
844 |-|
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
845 ||
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
846
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
847 が新しいもの。これらは、独立。ふんふん。
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
848
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
849 Tue Sep 19 23:53:19 JST 1995
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
850
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
851 どうも変だな。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
852 down(r^0) と true;false とはどこが違うんだ?
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
853 state(1 , not(true& ?(^r,not(@ @empty),@ @empty)&true))
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
854 [a](^r = length(2))
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
855 [empty,down(r,0),up(r)]->false
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
856 [empty,not(down(r,0)),up(r)]->empty
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
857 [empty,down(r,0),not(up(r))]->empty
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
858 [empty,not(down(r,0)),not(up(r))]->empty
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
859 [more,down(r,0),up(r),ev(r^0)]->false
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
860 [more,not(down(r,0)),up(r),ev(r^0)]->2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
861 not(true& ?(^r,not(@ @empty),@ @empty)&true);
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
862 [a](^r = length(2));
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
863 not(not(@empty)&true),not(@empty&true)
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
864 [i](length(1)),not(length(1)&true)
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
865 [more,down(r,0),not(up(r)),ev(r^0)]->3
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
866 not(true& ?(^r,not(@ @empty),@ @empty)&true);
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
867 [a](^r = length(2));
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
868 not(@empty&true)
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
869 not(length(1)&true)
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
870 [more,not(down(r,0)),not(up(r)),ev(r^0)]->3
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
871
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
872 やっぱり違う。true だと、length(1)でtrue length(2)でfalseという
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
873 技が出来ない。この選択はこの場所で独立に選択しなくてはならない。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
874 (ええ?だけど、true;false なんだから... だったらtrueか?)
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
875 +r, -r の方がましか?
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
876
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
877 Sat Sep 16 11:44:25 JST 1995
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
878
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
879 singleton ^r を true, false に置き換えると、[]true,[]false の意味に
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
880 なってしまう。実際は、true/false なのに。だから、singleton removal
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
881 はうまくない。
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
882
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
883 t0: ^r = length(2)
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
884 t1: r^0 = length(1) empty/not(r^0)
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
885 t2: r^0 = mpty(1) empty/r^0
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
886
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
887 Quantifierに置き換える? だったら残しておいた方がまし?
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
888 何かoperatorを作る?
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
889 some -> true/false
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
890 quantified true? <>false かな? not([](true)) = not(not(true & not true))).
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
891 でも、これだといつかはfalseになってしまう。operatorにすると、deterministic
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
892 でなくなるか。それはまずい。negationが。
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
893
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
894 Fri Sep 15 11:26:13 JST 1995
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
895
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
896 singleton check をitl時にすることはできない?
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
897
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
898 Wed Sep 13 18:24:24 JST 1995
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
899
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
900 結局、RITLは CFG を含んでいるのだから、Regular Subset を決めることは
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
901 できない。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
902
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
903 ^r のdepthを制限すれば、ある程度はできる。しかし、これでは
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
904 fairnessにはならないね。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
905
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
906 depth 以外の制限は? 状態数の制限が望ましい。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
907
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
908 singleton の remove でかなりのことが出来ると言えば、そうなのだが。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
909
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
910 singleton remove のタイミング?
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
911 itlの時に detect?
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
912 itlstd の時に detect?
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
913 remove の仕方
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
914 eventually(^r,N)
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
915 eventually(not(^r,N))
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
916 を挿入する。ということは、itldecomp の show の直前で
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
917 行えば良い。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
918
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
919 しかし、これだと正確な状態出力ではない。ではないが原理的にトレース
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
920 できる部分をはしょっているだけ。mark を付けるのでは同じになってしまう。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
921 やはりremoveしたい。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
922
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
923 ^rの出現頻度を押さえることで、logicになるか? 例えば2つとか?
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
924
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
925 * consistent にならない==safeでない(標準形を工夫すれば...)
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
926 * でなくても良いという考え方もある。characterriseできる?
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
927
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
928 いずれにせよ、singleton removal でどこまでいくかだな。
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
929
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
930 Sun Jul 23 10:16:02 JST 1995
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
931
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
932 * ^r -> +r, -r depth によって独立に選択
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
933 * +r も r^depth により選択
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
934
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
935 これだと、[a](^r),<>(not(^r))がsatisfiable
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
936
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
937 * ^r -> +r, -r depth によって独立に選択しない
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
938
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
939 と、[a](^r=length(2))がunsatisfiable
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
940
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
941 うーむ、うまくいかん。
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
942
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
943 Sat Jul 22 12:52:11 JST 1995
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
944
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
945 * depthの違いはchopの処理で行なう
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
946 * ^rのemptyと、+r, -rのemptyは独立
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
947 * ^rのmoreと、+r, -rの関係
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
948
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
949 +r, -r は、異なるdepthでT/Fの時に生じる
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
950 既に +r がある時は、それに合流して良い
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
951 +r/\-r となることはない。それはfalse。
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
952
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
953 |-------| +r
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
954 |---------| -r
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
955 ^r +r とする
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
956 not(^r)があったら-rとする
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
957
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
958 これでいいか?
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
959 tailを共有するrである not(^r),と^rの扱いは対称
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
960 ^r/-rの組合せは?
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
961
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
962 +r, -r が解消される場合
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
963
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
964 * +r or -r がempryになるとき
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
965 -r はemptyにならない
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
966
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
967 +rが残って害があるか? -rがなければ関係ない
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
968 状態は増えるけど。
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
969
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
970 Fri Jul 14 18:31:19 JST 1995
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
971
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
972 異なる chop で、異なるrの番号を付ける。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
973 その番号毎に up(^r), down(r,n) を行なう
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
974
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
975 これによって、すべての組合せが一応得られる。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
976
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
977 番号は状態には付加しない。(いいのか?)
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
978 同じinterval上では、
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
979 r, not(r)
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
980 があり得る... これは... 気まずいか。
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
981 ^r -> +^r, -^r
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
982 とする? すると... +up, -up がある?
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
983
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
984 まあ、試してみよう。(やっぱりだめだった...)
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
985
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
986 Thu Jul 13 14:05:06 JST 1995
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
987
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
988 r^n の数を減らす
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
989 => 等価でユニークな表現
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
990
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
991 singleton r^n は消せる
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
992
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
993 doubleton r^nどうしを融合したい。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
994
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
995 新しいrをr^nに相対的に定義する (それはできるのだが... +r/-r)
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
996 のは、うまくいったのだが、足りないものがある。状態数が
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
997 足りない。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
998
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
999 * 必要な状態数のみを区別する
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1000 * 同じ結果を生じる変数は区別しない
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1001
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1002 自分自身と同じかどうか / 違うということを覚えないといけない
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1003 同じだったら関係ない
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1004
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1005 What happen in next case? ([a](^r))
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1006
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1007 not(r^5) & true, r^5 & true, ^r & true, not(^r) & true
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1008
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1009 ---|-----| r^5
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1010 ---|----| r
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1011
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1012 r^5が落ちれば一つ減る。減らなければr^6で一つ増える。しかし、
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1013 この場合は増えてはいけない。r^5 と ^r 自身は関係が無い。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1014 が、結果は同じという関係がある。( うがー、わからないよう.... )
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1015
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1016 st6:
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1017 not(r^5) & true, r^5 & true, ^r & true, not(^r) & true
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1018
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1019 up(^r),down(r^5),down(^r) @not(r^5)&t, t, t, @not(r^6)&t
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1020 up(^r),down(r^5),not(down(^r)) @not(r^5)&t, t, @(r^6)&t, t
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1021 up(^r),not(down(r^5)),down(^r) t, @not(r^5)&t, t, @not(r^6)&t
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1022 up(^r),not(down(r^5)),not(down(^r))
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1023 t, @not(r^5)&t, @(r^6)&t, t
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1024
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1025
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1026 Mon Jul 10 20:01:46 JST 1995
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1027
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1028 f(^r) => contratint_1(^r) & continuation_1(^r)
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1029 g(^r) => contratint_2(^r) & continuation_2(^r)
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1030
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1031 r(r^n)&c(r^n) がnを除いて等しい時、
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1032 r^n => r^n' がいえる。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1033 けど、別に等しい必然性もない。(たしかに...)
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1034
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1035 r^nはquantifyして良い。ということは、同じなら消して良いということ?
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1036 ということか。cross term は?
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1037 exists(^r, empty(^r)? ...)
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1038
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1039 r0: { +r(const, continu),
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1040 -r(const, continu) }
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1041 r1: { +r(const, continu),
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1042 -r(const, continu) }
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1043
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1044 いつかは
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1045 +r(empty,continu)
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1046 +r(true,continu)
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1047 のどちらかにいく。いや、いかない。emptyなら問題無い。trueが問題(?)
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1048 +r(fixpoint,contiu)
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1049 という形になる。これがたくさん存在するということになる。
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1050 +/-r^n(fixpoint_k,continu_k_i)
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1051 というわけだ。この場合のr^nの重なりが解消できれば問題は解決。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1052 うまくいかないね...
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1053
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1054
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1055 で、同じものは消して良い。順序をそろえないと消しにくい。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1056 違うrでも同じカッコなら消して良い。(reular variableは、実質は
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1057 一つ, ^r => r,^common にするか? それはちょっと違う)
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1058 この場合は消しても干渉のパターンが変わらない。干渉パターン
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1059 ごとにマッチングをとるから。(有限の組合せなのか?)
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1060
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1061 消すのはterm levelでおこなう?
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1062 c(r^n, i_n...) & ...
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1063 c(r^n, i_n...)
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1064 というtermしかr^nに関してはでてこない。消せるんだったら、他の
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1065 方法はいい加減でも大丈夫。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1066
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1067 f(r^n)とf(r^n'1)の関係
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1068 |------|-|
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1069 |----|-|
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1070 r^n, r^n' 自身は独立
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1071
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1072 r^1(r,c)
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1073 r^2(r,c)
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1074 empty(r^1),empty(r^2),empty(r) => c
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1075 cross term
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1076 empty(r^1),more(r^2), empty(r) => c,(more(r),r^1(@(r),c))
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1077 more(r^1),more(r^2), more(r) =>
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1078 more(r),r^1(@(r),c),r^2(@(r),c)
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1079 ==
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1080 r^1(c);c,more(r),r^1(@(r),c);more(r),r^1(@(r),c),r^2(@(r),c)
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1081 他のr^nと干渉する方法が変わってしまう...
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1082
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1083
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1084 Sun Jul 9 15:32:43 JST 1995
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1085
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1086 r^1 & true;
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1087 r^2 & true;
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1088 r^3 & true
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1089
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1090 一つにまとめられない?
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1091
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1092 f(+/- r^n) (必ずtopにある/一度展開されているから)
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1093 |-------------|-----------|
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1094 down(r^n) => true/false
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1095
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1096 性質
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1097 f(+/- r^n)
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1098 down(r^n) => f((+/-true ,empty))
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1099 not(down(r^n)) => f(+/- r^n)
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1100 parallel termがある時は無くなるまで展開する
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1101 r^n, *length(3) などは? これは無視して良い
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1102 r^n, *length(3) & true が問題
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1103 => evenrually true + *length(3)
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1104
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1105 だから、nが複数あっても、f((+/-true ,empty))が同じなら同じでよい(?)
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1106
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1107 f(+/- r^n) => true & down(r^n),f(+/-true,empty)
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1108 => down(r^n) = eventually(f(+/-true,empty))
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1109
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1110 ということは、やっぱりdown(r^n)を外に出せるということ?
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1111 r^n & true なら eventually(true)
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1112 not(r^n) & true なら?
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1113
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1114 ふむ。そして eventually(f) の f にはr^nは入らない。これは
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1115 いけるかも知れない。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1116
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1117 chopの処理の時に、eventuality listをbdtの形で外に出せば良い。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1118 eventuality が満たされた時がr^nが成立した時。(これも
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1119 前考えたな...)
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1120 ^r & ....
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1121 という形だけ?
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1122
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1123 (^r, g) & f => ev(f),(g & f) ちょっと違う...
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1124 (^r & f),(g & f)
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1125
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1126 とは少し異なるよ。not がうまくないはず。
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1127 not(ev(f)); not(g & f) (?)
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1128
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1129 そうか... ev(f)が満たされれば、^rは落ちて良い。(落ちれる)
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1130 落ちなくてもいい。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1131
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1132 前もってevenruality formにITLを書き換えるのは?
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1133 f(r) => g(eventualy(h))
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1134
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1135 本当にdiceidableなのか? 整数方程式が書けるとすれば...
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1136
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1137 Fri Jul 7 18:51:32 JST 1995
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1138
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1139 true & ^r & true =>
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1140 r^1 & true;
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1141 r^2 & true;
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1142 r^3 & true
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1143 となる。ということは、ひとつのintervalだけを見て吸収することは出来ない。
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1144
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1145 t1 t2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1146 up(r) down(r^1)
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1147 r&true |-------------|--------------------
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1148 not(r&true) |----------------|not(down(r^1)----
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1149 |---|up(r)----|not(down(r^2)-------
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1150
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1151 r^1 は競合するr^1がある時しか関係しない。したがって単独に
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1152 出てくるr^1は現在時点で
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1153 fin(r^1) => true
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1154 fin(not(r^1)) => false
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1155 を決めて良い。これだけで、true & ^r & true は収束する。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1156 が、それだけで収束するか? たぶん、しない。
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1157
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1158 (1)
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1159 複数の始点を持つ状態を一つにまとめられればできる。+r, -r はそういう
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1160 方法だった。が一つにはならない。有限な組合せになる。
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1161
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1162 (2)
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1163 収束するとすれば、共有されたr^nの組が有限な場合である。これは、finiteness
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1164 の条件に相当する。前もって共有される可能性のあるtermを生成できるか? (
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1165 たぶんできる)
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1166
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1167 前もって複数出て来た(違うsytactical interval上の)^rに番号を付けて
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1168 識別しておく。競合は、異なる番号上でしか起きない?
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1169 [](<>(^r)) = not(ture & not(true & ^r))
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1170 のような場合は? そうか。同じ番号上の共有は+r, -rで構わない。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1171 (true or false だから)
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1172 [](<>(^r)) <-> [](<>(^r))
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1173 のような場合は?
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1174
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1175 Fri Jun 30 20:08:47 JST 1995
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1176
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1177 f(r^1,r^2,r^3) & true,
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1178 g(r^1,r^2,r^3) & true
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1179
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1180 f(r^1,r^2,r^3)とg(r^1,r^2,r^3)を見ながらr^nの数を減らさないといけない。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1181
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1182 r^n は、emptyの時しか影響しない。moreの時はtrueと同じ。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1183
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1184 ^r のみが新しいr^nを増やす。これをいかに吸収するかを調べれば良い?
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1185
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1186 f(r^cur,r^1,r^2,r^3) & true,
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1187 => r^cur ? +f(r^1,r^2,r^3) : -f(r^1,r^2,r^3) & true
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1188 g(r^cur,r^1,r^2,r^3) & true
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1189 => r^cur ? +g(r^1,r^2,r^3) : -g(r^1,r^2,r^3) & true
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1190
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1191
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1192 Fri Jun 30 10:48:46 JST 1995
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1193
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1194 各stateに、regular variableのmapを割り当てる。方法がいまいち
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1195 わからない。^rの生成された状態を識別することが必要。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1196
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1197 ^r(s) をやってみる。昔もやった。
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1198 true & ^r
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1199 が爆発する
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1200 r^1 ; r^2; r^3; ... ; true & ^r
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1201 これが
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1202 r^1 true & ^r
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1203 となれば良い。
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1204 r^1 .... r^2
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1205 は新しいr^nになる。(相互関係は?) ^r どうしの制約を保持した
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1206 もっとも少ないr^nを選択すれば良い。(この変換はsafe & compete?)
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1207 相互関係を保存しないなら^rをすべて共通にすれば良い。が、
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1208 それはうまくいかない。
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1209 r^1 , not(r^2) -> r^1, not(r^1) -> false
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1210 のような場合があるから。
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1211 r^1 , not(r^2) -> r^1
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1212 か?
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1213
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1214 他の変数が入る場合は? r^1 .. r^n に依存するtermの変換を
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1215 計算する。= BDT の leaf の数。それを表現できる最小のr^nを
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1216 作る。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1217
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1218 そうすれば、temporal operatorのネストは変わらないのだから、
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1219 全体は有限になるはず。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1220
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1221 これでなんでfullでなくてregularになるの? ^r がcontext dependent
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1222 でないから。 r^1 , not(r^2) -> r^1 は、context dependent では
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1223 できない。(なるほど...)
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1224
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1225 Wed May 24 20:32:34 JST 1995
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1226
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1227 ^rは、やはり、
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1228 ^r -> +r, -r
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1229 の変換でなんとかするべき。こうして生成したモデルは、正しいRITLを
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1230 含んでいる。あとは整合性のチェックをすれば良い。
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1231
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1232 (1) local consstency check => regular variable
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1233 (2) global consistency check => regular constant
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1234
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1235 どういうようにcheckするの? ん....
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1236
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1237
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1238 昔のbdcomp.pl をbddlibで書き換える。
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1239
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1240 characteristic function f(q)
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1241 f(q) = more,fx_q(sbn,sbx,P);empty,fn_q(P)
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1242
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1243 f(p&q) = f(q) & q
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1244
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1245
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1246 Tue May 2 17:49:35 JST 1995
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1247
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1248 BDDLIBを組み合わせたが、やっぱり Prolog <-> BDD の変換が入るだけ
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1249 遅くなるだけだった。bdtstd.pl は綺麗になるのだが。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1250
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1251 前作ったBDDの方式も遅くなるだけだった。(BDT/*) それは、
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1252 BDD の leaf をnext leafに展開
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1253 BDDの再構成
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1254 next leafを2-3 treeに登録
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1255 新しいnext leaf をさらに展開
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1256 というのがすごく遅かったから。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1257
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1258 Charcteristic Function を作り上げる方法は、今一だ。でもBDDLIBなら
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1259 うまくいくかもしれない。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1260
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1261 Subtermを前もって、すべて、
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1262 condition, next
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1263 というBDDに展開しておいたら?
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1264
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1265 Quantifierなどは、Subtermの中に状態が現れてしまう。だから、
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1266 前もって、中を展開しておく。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1267
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1268 そうすれば、あとの処理は、BDDのみでできるはずだ。(しかし、CF法と
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1269 結果は同じ?)
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1270
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1271 Wed Mar 29 17:22:43 JST 1995
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1272
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1273 regular(r,....r....)
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1274 という形を使う ( QPTL <-> RITL だから... )
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1275
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1276 Quantifierを直接使うのは?
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1277 st(0) = exists(c, c->st(1),not(c)->st(2))
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1278 さぁ...
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1279
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1280 begin(r,formuala) -> T/F
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1281 end(r,formula) -> T/F
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1282
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1283 異なるうformulaが実は同じだった。-> いつか regular(r, f)
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1284 という同じ形になる。
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1285
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1286 regular(r,f(r))
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1287 empty(f(r)) -> r=true,empty
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1288 not(empty(f(r))) -> r=false,empty
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1289 regular(r,f(r))
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1290 more(f(r)) -> r=true,regular(r,fx(r))
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1291 not(more(f(r))) -> r=false,regular(r,fx(r))
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1292
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1293 したがって生成されるモデルは冗長。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1294
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1295 chop が来た時に r をreset しないといけない。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1296 (だよね...) だったら、regular(r,f(r))はいらない?
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1297 どうやって? r を前もって宣言するってのは?
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1298
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1299 PDA との関係は?
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1300
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1301 Thu Dec 15 20:21:58 JST 1994
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1302
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1303 Modelとの対応
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1304
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1305 t0 -[+-]-> t1 -[+-]-> t2 -[+-]-> t3
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1306
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1307 |---------|-----------|
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1308 r0 r1 r2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1309 |-----------|-----------|
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1310 r0' r1' r2'
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1311
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1312 r0 は常に要素0から始める。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1313 から始める。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1314 r0 -[-]-> r1 で集合の要素にシフトする。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1315 r0 -[+]-> r1 で次の時間のものと違うFAであることを表す。
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1316
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1317 Mon Nov 28 19:27:37 JST 1994
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1318
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1319 RITLステートをITL formulaのbool代数で表す。bool代数はBDDで表現する。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1320
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1321 もともとITL formula自身がsubtermの集合だから、二重のbool代数になる。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1322 したがって、double exponential algorithmとなる。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1323
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1324 r/not(r) flip では、すべての組合せは生じるが、すべての組合せの
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1325 連結は表現できない。したがって、生じたすべての組合せをとって
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1326 おけば良い。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1327
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1328 集合の作り方
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1329 r/not(r) flip で生じたLITLを集合として持つ (implementationは?)
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1330
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1331 r の例
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1332 [1] r -(+r)-> r, r -(-r)-> not(r) {r,not(r)}
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1333 [2] r -> {r,not(r)} -> {r,not(r)} (終り)
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1334
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1335 t & r の例 (detailは異なる。emptyの場合があるから)
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1336 [1] t & r -(+r)-> r\/t & r, t & r -(-r)-> not(r)\/t & r
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1337 {r\/t&r, not(r)\/t&r}
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1338 [2] {r\/t&r, not(r)\/t&r} -> {r;t&r, not(r);t&r} (終り)
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1339 [a](r=length(2))の例
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1340 [1] [a](r=length(2)) -(+r)- > r =length(1)/\[a](r=length(2))
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1341 -(-r)- > not(r)=length(1)/\[a](r=length(2))
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1342 {r =length(1)/\[a](r=length(2)),
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1343 not(r)=length(1)/\[a](r=length(2))}
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1344 [2] {r =length(1)/\[a](r=length(2)),
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1345 not(r)=length(1)/\[a](r=length(2))} =>
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1346 { r =length(0)/\ r =length(1)/\[a](r=length(2)), F
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1347 r =length(0)/\ ~r =length(1)/\[a](r=length(2)),
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1348 ~r =length(0)/\ r =length(1)/\[a](r=length(2)),
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1349 ~r =length(0)/\ ~r =length(1)/\[a](r=length(2))} F
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1350 [3] => [2] へ
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1351 or [1]'へ (r=length(1)がtrueの場合)
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1352
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1353 もっとコンパクトになるんじゃない? (これだとfinitenessは明解だけど)
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1354 ITL(r)は、rをr/not(r)に任意に置換したもののsubset。どれとどれが一致するかを
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1355 覚えれば良いのでは? => 開始時点が等しいものが一致。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1356 Indexを付けるのはダメ。=> モデルが有限にならない。(うーむ、わからない)
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1357
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1358 ITL(r) => 展開 => subset
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1359
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1360
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1361 モデルの解釈
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1362
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1363 bool代数は、rのassignmentが与えられると解決する。しかし、一つの
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1364 ノードが別な解釈を共有することもあり得る。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1365
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1366 Term間は任意に遷移するのか?
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1367 そうではなくて、同時に遷移する。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1368
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1369 異なる開始時点を持つrは、同時に異なる遷移を廻る
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1370 すべて可能な遷移があるわけではなく、いくつかはFとなり禁止となる
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1371 => r に対する制約
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1372
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1373 実行できる?
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1374
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1375 bool節の一つのinstanceを適当に実行すれば良い
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1376
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1377 Rに単一のautomatonを割り振ることは可能か?
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1378 [a](R = r) where r is automaton constant
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1379
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1380 時間を遡ってモデルを作る
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1381
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1382 これによって、state minimizationも同時に走らせることができる
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1383 Minimizationのテストプログラムを作って見ること
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1384
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1385 Thu Nov 24 14:54:00 JST 1994
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1386
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1387 LTTL = LITL < RE
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1388 LITL* = RE
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1389 RITL = RE RITL(= 2nd order LITL)
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1390 RITL is decidable
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1391
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1392 LTTL = LITL on compact time
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1393
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1394 Even(p)は、LITLでもだめ。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1395 (p.)* ができない
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1396 (abac)* -> (a[bc])*
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1397
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1398 LITL -> LTTL converter
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1399
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1400 LITL/LTTLは、やっぱり群を構成する
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1401
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1402 []a & []b & []a
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1403 a...ab...ba...a -> a until (b until []a)
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1404 だからconversionできる?
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1405 a & b & aは
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1406 a, <>(b, <>a)
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1407 か... うう、できそうな気がする...
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1408
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1409 P & Q -> start(P),(run(P) until lttl(Q)) に変形する
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1410 run(P)にはquantifierが入るのか? 入らない?
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1411
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1412 events continue
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1413 |----------|..........|
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1414 |-> <>(events)
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1415 |-> [](continue)
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1416 <>events, <>(continue until Q))
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1417 というようにcompileする。ふむ。
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1418
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1419 l(P) & Q l(P) = LTTL formula of P
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1420 <>(P) -> <>(P,<>(l(Q)))
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1421 [](P) -> P until l(Q)
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1422
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1423
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1424 RITL decidability
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1425
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1426 Reverse Specification
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1427
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1428 R -> +(R) -(R) on Start Time
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1429
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1430 empty(R) は hidden だけど、+R/-R に関しては同期する
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1431 ここがまだ良く分からない。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1432
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1433 Modelを直接構成しない。filtrationの意味でも...大きすぎるから。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1434 その代わり、Model constraintを構成する。
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1435
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1436 Generating C / In-kernel implementation
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1437
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1438 Wed Oct 5 15:30:19 JST 1994
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1439
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1440 Regular variable.
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1441
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1442 ^r -> more(^r), @( ^r)
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1443 not(more(^r)),@(not(^r))
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1444 ^r -> empty(^r), empty
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1445 not(empty(^r), not(empty)
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1446
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1447 This gives ^r constraints, and produce finite state.
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1448
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1449 Meaning of regular variable.
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1450
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1451 Mij(^r) = f(Mi(more(^r),empty(^r)),Mi+1j(^r))
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1452
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1453 ^r's automaton is depend on clock, and fin time is controled
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1454 in finite state machine's way. Mij(^r) is f(Mi(p)...Mj(p)).
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1455 ^r = lenght(3) & ^r = length(2) is statisfiable.
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1456 Is this different from interval variable? Yes. But How?
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1457
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1458 If we need all regular variable act the same automaton,
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1459 exists(^c) [a](^r= ^c),...
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1460 where ^c is a time stable automaton.
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1461
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1462 It is ok to show:,
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1463 M |= not(^r),(^r & true)
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1464
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1465 Problem.
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1466
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1467 [a](^r=lenth(2)) , lenth(4) is unsatisfiable
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1468
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1469 empty(^r),(empty =^r) => ^r (true)
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1470 empty(^r),(len(1)=^r) => not(^r) (false)
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1471
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1472 ((empty = ^r)&true), ((length(1) = ^r)&true)
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1473 but this is satisfiable.... ?-?
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1474
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1475
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1476 Let's think about,
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1477 exists_automatic(R) f(R) = g
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1478 automatic unification = boolean unification?
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1479
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1480 Sat Jun 12 10:41:24 JST 1993
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1481
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1482 dvcomp uses subterm tree for decomposition and
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1483 ndcomp uses chop normal form. Since development
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1484 result is not the same, lazy generation of
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1485 state is not allowed.
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1486
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1487 sb's and itl_state's hash and sharing is important.
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1488 Time to write C version?
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1489
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1490 Sun Jun 6 14:15:42 JST 1993
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1491
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1492 Now module system is supported.
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1493 tgen/0 generates Tokio program and
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1494 kiss/0 generates KISS format for SIS.
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1495
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1496 ex(300,X),ex(true proj ~X) becomes very large. Terminates?
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1497 ex(300,(X,Y)),ex(true proj (X;Y)) is still very large, but
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1498 ex(300,(X,Y)),ex(true proj X) is Ok.
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1499
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1500 old/bdcomp does not check sbterm early. This is the reason why this
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1501 method is slow.
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1502 expansion ; subterm check is bad
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1503 expansion with subterm check will be ok.
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1504
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1505 How about permutation?
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1506 Declare permutation from the begining.
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1507
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1508 |- permute V on F <-> F
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1509
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1510 How about anti-symmetry?
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1511
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1512 |- odd-permute V on F <-> ~ F
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1513 |- even-permute V on F <-> ~ F
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1514
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1515 Mon Nov 9 15:18:49 JST 1992
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1516
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1517 prefix operator is wrong.
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1518 length(2),prefix((length(3),fin(false)))
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1519 must be false.
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1520
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1521 Mon Sep 21 20:16:39 JST 1992
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1522
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1523
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1524 I'm very sorry to send you rather large example. But it is
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1525 a little dificult to extract simple example.
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1526
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1527 To compile and load,
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1528
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1529 | ?- [bddi].
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1530
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1531
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1532 In next example, fixpoint predicates find a subtle counter example of ITL
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1533 formula.
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1534 (p&&p&&p&&p&&p&& ~p&&p)->[](<>p)
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1535
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1536 is tested by
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1537
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1538 | ?- ex(10,X),fixpoint(X).
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1539
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1540 First, this formula is translated into a finite state automaton.
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1541 Like this.
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1542
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1543 +----------+
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1544 E,PL -------| Logic |---> E,PL
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1545 | |
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1546 Sn +------| |--->+ Sx
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1547 | | | |
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1548 | +----------+ |
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1549 | +----------+ |
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1550 +-<----| Latch |----+
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1551 +----------+
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1552
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1553 In this case, Sn/Sx pairs are vector of ITL subterm. "Logic" is
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1554 defined in boolean constraint on Sn/Sx.
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1555
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1556 In fixpoint/10, fixpoint(F,Fix,Fix1,E,P,PL,Sn,Sx,S,N),
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1557 F current possible state (boolean constraint of Sn)
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1558 Fix disjunction of visit state
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1559 Fix1 previous visit state, if it is eqaul to Fix, everything is done.
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1560 E,P,PL Input/Output value of variable in state diagram
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1561 Sn state variable
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1562 Sx next state variable
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1563 S for display subterm state.
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1564 N depth count
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1565
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1566 fixpoint(_,Fix,Fix1,_E,_P,_PL,_Sn,_Sx,_S,_N):-
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1567 bool:taut(Fix=:=Fix1,1),!,write('end'),nl.
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1568 fixpoint(F0,_,Fix,E,P,PL,Sn,Sx,S,N):-
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1569 quantify(Sn,F0,F0S),bool:sat(F00=:=F0S), % take all possible state
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1570 display_state(E,E*F00,P,PL,S,_,Sn), % find counter example
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1571 quantify([E|PL], ~E*F00,F0P), % for all possible I/O
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1572 bool:sat(F0Q=:=F0P),
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1573 copy_term([E,Sx,F0Q],[0,Sn,F1]), % replace Sn/Sx
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1574 bool:sat(Fix1=:=Fix+F1), % for termination
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1575 write_state_number(N,N1,'depth:'),!,
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1576 fixpoint(F1,Fix,Fix1,E,P,PL,Sn,Sx,S,N1).
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1577
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1578 So this traces all possible execution in finite state automaton.
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1579
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1580 | ?- ex(10,X),fixpoint(X).
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1581 depth:0 % it becomes slower and slower...
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1582 depth:1
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1583 depth:2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1584 depth:3
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1585 depth:4
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1586 depth:5
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1587 depth:6
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1588 depth:7
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1589 empty,[t(p,0)],[...] % find one counter example
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1590 |: % a return is required
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1591 depth:8
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1592 end
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1593
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1594 X = ((p&&p&&p&&p&&p&& ~p&&p)->[](<>p)) ?
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1595
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1596 yes
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1597 | ?-
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1598
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1599 I think I need something like setarg in boolean constraint.
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1600 Sun Sep 20 18:10:30 JST 1992
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1601
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1602 Why not add exclusive status as a primitive?
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1603 states([a,b,c,d,e,f]) -> [](( ~(( a,b)), ... )
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1604 2^n ... Wow!
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1605 It generates
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1606 status(a)-> ... ; status(b)-> ... status(f)-> .. ; status([])-> ...
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1607 generate n+1.
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1608
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1609 Tue Sep 15 13:04:43 JST 1992
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1610
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1611 結局、Regular variable state を共有しないと収束しないし、
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1612 共有できるかどうかの判断は大域的だから、この方法では
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1613 できないらしい。
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1614
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1615 Tue Sep 15 11:36:36 JST 1992
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1616
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1617 Regular variable must be non-deterministic.
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1618 ^r
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1619 [more,up(r),down(r)] is not false
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1620
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1621 If we don't care about down, we cannot distinguish
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1622 ^r& ^r ,not( ^r )
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1623
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1624 up(r) down(1) ~down(1)
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1625 | | |
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1626 |----------------|-------|
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1627 up(r) down(2)
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1628
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1629 Mon Sep 14 14:07:52 JST 1992
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1630
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1631 (^r & ^r),not(^r)
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1632 itl:0 [empty,up(r),down(r,0)] -> false
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1633 itl:0 [more,up(r),down(r,0)] -> false
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1634 itl:0 [more,up(r),~down(r,0)] -> (stay(r,now)&^r),not(stay(r,now)) now=1
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1635 stay(^r,0)
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1636
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1637 (stay(r,now)&^r),not(stay(r,now))
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1638 itl:1 [empty]->false
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1639 itl:1 [more,down(r,1),up(r),down(r)]->false
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1640 itl:1 [more,~down(r,1)]-> (stay(r,now)&^r),not(stay(r,now)) now = 1 2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1641 itl:1 [more,down(r,1),~down(r,0)]]->
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1642 stay(r,1);(stay(r,now)&^r),not(stay(r,now)) 3
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1643 stay(2,1)
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1644
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1645 stay(r,1);(stay(r,3)&^r),not(stay(r,3))
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1646 itl:3 [empty,down(1)]->empty
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1647 itl:3 [empty,~down(1)]->false
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1648 itl:3 [more,down(r,1)]->true
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1649 itl:3 [more,~down(r,1)]-> stay(r,2);(stay(r,4)&^r),not(stay(r,4)) = 3
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1650 itl:3 [more,down(r,1),~down(r,0)]]-> stay(r,1);(stay(r,3)&^r),not(stay(r,3)) 3
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1651 stay(2,1),stay(4,3)
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1652
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1653 Mon Sep 14 00:25:08 JST 1992
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1654
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1655 ^r で生成されるautomatonは、^rを普通の変数と見て生成するtableauの
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1656 subsetである。従って、tableauのnodeを指し示すことで ^r のモデルを
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1657 作ることが出来る。しかし、うまくいかない...
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1658
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1659 (^r & true),not(^r) のモデルはないから
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1660
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1661 そこで、stay(r,N)を使う (up(r),emtpy & true & down(r),empty) ではだめ。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1662 ^r & ^r -> ^r になってしまうから。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1663
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1664 するとモデル構築が収束しない --> これは Full ITL だから
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1665
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1666 しかしRITLのモデルは有限だから stay(r,N)のかなりの部分は
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1667 相互に等しい。等しいかどうかをどう判断するかが問題。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1668
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1669 Deterministic Pathが等しければ同じstateと判断するのでは足りない
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1670 Loopが作れないから。
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1671
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1672 むしろすべて等しいのがDefaultで、必要な時だけ分離するのが望ましい
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1673
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1674 Mon Jan 1 11:05:38 JST 1990
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1675
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1676 ^r & ^r
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1677 itl:0 [empty,up(r),down(r)] -> empty
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1678 itl:0 [more,up(r),down(r)] -> false
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1679 itl:0 [more,up(r),~down(r)] -> stay(r,[true])&^r 1
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1680 stay(r,[]) -> down,empty
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1681 stay(r,[]) -> ~down,more
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1682
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1683 stay(r,[])&^r
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1684 itl:1 [empty,down(r,[]),down(r,[true]),up(r)]
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1685 itl:1 [more,down(r,[true]),up(r),down(r,[])]->false
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1686 itl:1 [more,~down(r,[true])]-> stay(r,[true,true])&^r 2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1687 itl:1 [more,down(r,[true]),up(r),down(r,[])]->false
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1688 itl:1 [more,down(r,[true]),up(r),~down(r,[])]->stay(r,[true]) 3 -> false
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1689 itl:1 [more,down(r,[true]),~up(r)])]->false
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1690 stay(r,[]) -> down,empty
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1691 stay(r,[true]) -> down,up(r),empty
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1692 stay(r,[true]) -> more, ~down, stay(r,[true,true])
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1693 stay(r,[true]) ?why not
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1694 stay(r,[true]) -> more, down, up(r), stay(r,[true]) -> false
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1695
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1696 stay(r,[true,true]) -> down,up(r),empty
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1697 itl:2 [empty,down(r,[]),down(r,[true,true]),up(r)]
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1698 itl:2 [more,down(r,[true,true]),up(r),down(r,[])]->false
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1699 itl:2 [more,~down(r,[true,true])]-> stay(r,[true,true,true])&^r 4
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1700 itl:2 [more,down(r,[true,true]),up(r),down(r,[])]->false
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1701 itl:2 [more,down(r,[true,true]),up(r),~down(r,[])]->stay(r,[true]) 3 -> false
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1702 itl:2 [more,down(r,[true,true]),~up(r)])]->false
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1703 stay(r,[true,true]) -> down,up(r),empty
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1704 stay(r,[true,true]) -> more, ~down, stay(r,[true,true,true])
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1705 stay(r,[true,true]) ?why
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1706 stay(r,[true,true]) -> more, down.
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1707
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1708 Sat Sep 12 18:05:26 JST 1992
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1709
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1710 How about contiion-history list?
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1711
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1712 (p->^r),@((q->^r),@empty)
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1713 itl:0 [more,p,up(r),~down(r,[])] -> stay(r,[p]),(q->^r,@empty) 1
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1714 itl:0 [more,~p]-> true
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1715 stay(r,[]) p ->stay([p]),~down
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1716 ~p->true
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1717
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1718 stay(r,[p]),q->^r,@empty
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1719 itl:1 [more,p,q,up(r),~down(r,[p]),~down(r,[])]
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1720 -> empty,stay(r,[(p,q),p]),stay(r,[p]),stay(r,[q]) 2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1721 itl:1 [more,~p,q,up(r),~down(r,[p]),~down(r,[])]
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1722 -> empty,stay(r,[(~p,q),p]),stay(r,[q]) 3
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1723 itl:1 [more,~q] -> empty,stay(r,[~q,p]) 4
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1724 stay(r,[]) q ->stay(r,[q]),~down
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1725 ~q ->true
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1726 stay(r,[p]) q ->stay(r,[(p,q),p]),~down
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1727 q ->stay(r,[(~p,q),p]),~down
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1728 ~q->true
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1729
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1730 empty,stay(r,[(p,q),p]),stay(r,[p]),stay(r,[q])
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1731 itl:2 [empty,q] -> false
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1732 itl:2 [empty,~q,down(r,1),down(r,0)] -> true
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1733 stay(r,[(p,q),p]) ->down
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1734 stay(r,[p]) ~q->down
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1735 stay(r,[q]) ~q->down
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1736 stay(r,[(p,q),p]) ~q->down
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1737
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1738 empty,stay(r,[(~p,q),p]),stay(r,[q])
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1739 itl:3 [empty,down(r,1),down(r,0)] -> true
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1740 stay(r,[(p,q),p]) ->down
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1741 stay(r,[q]) ->down
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1742
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1743 empty,stay(r,[~q,p])
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1744 itl:3 [empty,down(r,1)] -> true
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1745 stay(r,[~q,p]) ->: down
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1746
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1747 Fri Sep 11 16:13:48 JST 1992
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1748
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1749 Parallel Regular variable construction
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1750
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1751 itl:0 [up(r),~down(r,0)] -> ... stay(r,0).... 1 -> stay(r,N1)
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1752 [up(r),~down(r,0)] -> ... stay(r,0).... 2 -> stay(r,N2)
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1753
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1754 ^r:0 [up(r),~down(r,0)] -> ... stay(r,N1).... 1
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1755 [up(r),~down(r,0)] -> ... stay(r,N2).... 2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1756
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1757 equivalence list
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1758 stay(r,i) = stay(r,j)
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1759 if stay(r,4) -f-> stay(r,i)
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1760 stay(r,4) -g-> stay(r,j), f->g
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1761
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1762 stay(r,n) .... itl:n -> [x0,x1,x2...xk]
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1763
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1764 Tue Sep 8 22:13:51 JST 1992
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1765
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1766 true & ^r
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1767 [empty,up(r),down(r)]->true
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1768 [more,up(r),down(r)]->(stay(r,1);true & ^r)
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1769 [more,up(r),~down(r)]->(stay(r,1);true & ^r) = 3
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1770 [more,~up(r)]->(true & ^r)
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1771
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1772 How to prevent stay(r,N) multiplier?
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1773
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1774 state(3) = (stay(r,1);true & ^r)
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1775 [empty,down(r,1)]->empty
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1776 [empty,down(r,3),up(r),not(down(r,1))]->empty
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1777 [empty,not(down(r,3)),up(r),not(down(r,1))]->false
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1778 [empty,down(r,3),not(up(r)),not(down(r,1))]->false
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1779 [empty,not(down(r,3)),not(up(r)),not(down(r,1))]->false
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1780 [more,up(r)]->(stay(r,1);stay(r,3);true & ^r)
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1781 [more,not(up(r))]->3
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1782
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1783 Why stay(3) = stay(1)? .... Finitarity?
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1784
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1785 state(1 , ^r& ^r,not(^r))
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1786 [empty,down(r,1),up(r)]->false
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1787 [empty,not(down(r,1)),up(r)]->false
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1788 [empty,down(r,1),not(up(r))]->false
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1789 [empty,not(down(r,1)),not(up(r))]->false
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1790 [more,down(r,1),up(r)]->3 (stay(r,1);stay(r,1)& ^r),not(stay(r,1))
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1791 [more,not(down(r,1)),up(r)]->4 stay(r,1)& ^r,not(stay(r,1))
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1792 [more,down(r,1),not(up(r))]->false
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1793 [more,not(down(r,1)),not(up(r))]->false
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1794
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1795 state(3 , (stay(r,1);stay(r,1)& ^r),not(stay(r,1)))
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1796 [empty,down(r,1)]->false
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1797 [empty,not(down(r,1))]->false
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1798 [more,up(r),down(r,1)]->3
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1799 [more,not(up(r)),down(r,1)]->3
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1800 [more,not(down(r,1))]->3
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1801
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1802 state(4 , stay(r,1)& ^r,not(stay(r,1)))
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1803 [empty,down(r,4),up(r),down(r,1)]->false
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1804 [empty,not(down(r,4)),up(r),down(r,1)]->false
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1805 [empty,down(r,4),not(up(r)),down(r,1)]->false
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1806 [empty,not(down(r,4)),not(up(r)),down(r,1)]->false
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1807 [empty,not(down(r,1))]->false
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1808 [more,up(r),down(r,1)]->3
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1809 [more,not(up(r)),down(r,1)]->4
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1810 [more,not(down(r,1))]->4
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1811
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1812 1.4510000000000002 sec.
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1813
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1814
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1815 Tue Jun 30 17:01:37 JST 1992
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1816
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1817 Quantifier does not works well.
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1818 ?-fixpoint(even(p)=evenp(p)).
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1819 Projection looks like difficult.
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1820
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1821 Tue Jun 30 08:58:27 JST 1992
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1822
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1823 fixpoint((a,(more = (more & more)))) terminates. why?
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1824 fixpoint(more = (more & more)) causes loop. why?
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1825
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1826 It looks like SICSuts's bug. Some how I avoid that.
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1827
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1828 Sun Mar 01 01:01:57 1992 BST
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1829
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1830 Yes, I almost finish BDD version.
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1831
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1832 Quantification is very subtle in SICStus.
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1833
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1834 ?-bool:sat(_A=:= B*C),bool:sat(_A=:=A),bool:sat(E =:= ~B*A^A).
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1835 ?-bool:sat(_A=:= B*C),bool:sat(A=:=_A),bool:sat(E =:= ~B*A^A).
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1836 give us different result.
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1837
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1838 ?-fixpoint(p-> [](<>(p)) causes quantifier failure.
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1839
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1840 exists(p,..) is now working, but closure is not.
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1841
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1842 Mon Feb 10 20:06:36 1992 BST
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1843
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1844 ?-fixpoint(p,X).
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1845 subterm(p,N,_,[p(N)],[]) p =:= N
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1846 ?-tableau(N,F1,[],[])
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1847 F1 = exists(p,F*R)/replace(S,S')
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1848 N=p, F1=nil?
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1849 copy_term([],[],N],[[],[],F]), no constrain on N/F
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1850 ?-bool:sat(F1=:=(N+F)).
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1851 ?-bool:taut(N=:=F1,1) N=:=(N+F) x
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1852
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1853
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1854 Wed Nov 06 21:56:57 1991 BST
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1855
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1856 Dense time modification.
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1857
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1858 more <-> more & more
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1859 discrete time:
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1860 more -> empty->false;more->true
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1861 true -> empty->true; more->true
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1862 more&more -> empty->false;more->true&more
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1863 true&more -> empty->false; <---- This makes difference
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1864 more->true
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1865 dense time:
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1866 more&more* > empty->false;more->more*
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1867 more* -> empty->true ;more->more*
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1868
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1869 more -> empty->false;more->true
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1870 true -> empty->true; more->true
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1871 more&more -> empty->false;more->true
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1872 true -> empty->true; more->true
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1873
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1874
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1875 Tue Jun 25 07:21:11 1991 BST
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1876
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1877 2nd order local variable is also easily implemented. Notation?
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1878 regurlar
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1879
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1880 Tue Jun 25 07:06:28 1991 BST
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1881
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1882 For verification,
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1883 Information hiding is bad. Necessary information muse be accessed by
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1884 everyone for reliability. Only useless information is allow to hide.
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1885 If some information does not change world, it is useless. Higer
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1886 abstraction makes many information useless, which can be hide.
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1887
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1888 Tue Jun 25 06:52:32 1991 BST
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1889
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1890 Closure is easily implemented.
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1891 Single varible quantifier is also easy. These are effectively
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1892 equivalent in expressiveness.
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1893
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1894 But nested quantifier is very different. Its decomposition is
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1895 same as sigle variable case, but to make a standard form, it
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1896 requires P-space. Quantifier impelentation of bdtstd/itlstd
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1897 will be difficult.
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1898
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1899 Derivation tree generation method is much suitable for quantifier.
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1900 But is it worth implement? It is better to find out another
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1901 abstraction mechanism, such as multi-linear projection.
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1902
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1903 The important this is not what IS existing, but how it DOES exists.
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1904 Quantifier lacks synchronization type.
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1905
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1906 Tue Jun 21 21:08:31 BST 1991
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1907
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1908 Problem on Theorem prover
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1909
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1910 1) it does not handle eventuality
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1911 |= true & empty ( compact interval )
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1912 |= finite -> (true & empty) <- eventuality axiom
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1913 ( open interval ) introducing topology? and differencial?
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1914 d/dt f(x,t) is related to scheduling? very close to ....
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1915 2) dense time
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1916 what's wrong?
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1917 3) 3-stages: itlstd, decomposition, checking are redundant each other.
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1918 -> derivation tree construction ( do this first )
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1919 (bdcomp.pl must work faster)
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1920 4) extensions
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1921 infinite interval
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1922 interval variable
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1923 projection
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1924 framing
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1925 multi-linear
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1926 scheduler
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1927 other standard form
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1928 interactive proof/protocol design
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1929 rational length operator
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1930 5) overupping interval (minus length)
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1931
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1932 Tue Jun 18 16:45:35 BST 1991
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1933
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1934 true & q ->
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1935 NDST
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1936 e0, e1 q->true
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1937 m0, e1 q->@true
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1938 m0, m1 ->@(true & q)
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1939 else false
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1940 DST
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1941 [e0,q] -> true
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1942 [m0,q] -> @true ;@(true & q)
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1943 [e0,~q] -> false
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1944 [m0,~q] -> @false;@(true & q)
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1945
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1946 ~(true & q) ->
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1947 NDST
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1948 e0, e1 q->false
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1949 m0, e1 q->@false
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1950 m0, m1 ->@~(true & q)
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1951 else true
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1952 DST
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1953 [e0,q] -> false
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1954 [m0,q] -> ~(@true ;@(true & q))
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1955 [e0,~q] -> true
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1956 [m0,~q] -> ~(@false;@(true & q))
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1957
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1958 Tue Jun 18 15:49:21 BST 1991
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1959
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1960
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1961 %
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1962 % London 23:38 36.52 Newyork 18:38 Tokyo 07:38
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1963 %
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1964 p & q
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1965 -> |-----|-----|
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1966 1 0
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1967
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1968 ifEmpty(p) 1->p
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1969 ifNotEmpty(p) ~1->p
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1970
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1971
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1972 P & Q ->
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1973 0 P,Q
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1974 ~0, 1 beg(P),Q
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1975 ~0,~1 Pn, @(Px,Q)
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1976
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1977 p & q ->
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1978 NDST
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1979 0 p,q->true
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1980 ~0, 1 p,q->@true
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1981 ~0,~1 p->@(true & q)
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1982 else false
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1983 DST
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1984 [p,q] -> [0]true +[~0,1]@true +[~0,~1]@(true & q) <- sometime?
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1985 [p,~q] -> [0]false+[~0,1]@false+[~0,~1]@(true & q)
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1986 [~p] -> []false
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1987 a path must contain true eventuality
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1988
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1989 ~(p & q) ->
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1990 NDST
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1991 0 p,q->false
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1992 ~0, 1 p,q->@false
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1993 ~0,~1 p->@~(true & q)
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1994 else true
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1995 DST
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1996 [p,q] -> [0]false+[~0,1]@false+[~0,~1]@~(true & q) <- never?
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1997 [p,~q] -> [0]true +[~0,1]@true +[~0,~1]@~(true & q)
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1998 [~p] -> []true
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
1999 a path must not contain false eventuality
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2000
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2001
22
29cf617f49db newer CVS version
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
2002 iのは式の中の&の数に等しい
2
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2003
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2004 empty
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2005 0 true
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2006 ~0 false
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2007 ~empty
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2008 0 false
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2009 ~0 true
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2010 fin(p)
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2011 [p] -> [0]true +[~0]@fin(p)
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2012 [~p] -> [0]false+[~0]@fin(p)
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2013 keep(p)
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2014 [p] -> [0]true+[~0]@keep(p)
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2015 [~p] -> [0]true+[~0]false
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2016 p & q & r ->
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2017 NDST
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2018 2, 1, 0 p,q,r->true
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2019 2, 1,~0 p,q,r->@true
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2020 2,~1,~0 p,q->@(true & r)
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2021 ~2,~1,~0 p->@(true & q & r)
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2022 DST
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2023 [~p] -> []false
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2024 [p,~q] -> [ 0]false
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2025 +[ 2, 1,~0]@false
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2026 +[ 2,~1,~0]@(true & r)
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2027 +[~2,~1,~0]@(true & q & r)
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2028 [p,q,~r] -> [ 0]false
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2029 +[ 2, 1,~0]@false
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2030 +[ 2,~1,~0]@(true & r)
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2031 +[~2,~1,~0]@(true & q & r)
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2032 [p,q,r] -> [ 0]true
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2033 +[ 2, 1,~0]@true
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2034 +[ 2,~1,~0]@(true & r)
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2035 +[~2,~1,~0]@(true & q & r)
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2036
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2037 ~(p & q & r) ->
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2038 NDST
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2039 2, 1, 0 p,q,r->false
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2040 2, 1,~0 p,q,r->@false
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2041 2,~1,~0 p,q->@~(true & r)
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2042 ~2,~1,~0 p->@~(true & q & r)
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2043 DST
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2044 [~p] -> []true
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2045 [p,~q] -> [ 0]true
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2046 +[ 2, 1,~0]@true
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2047 +[ 2,~1,~0]@~(true & r)
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2048 +[~2,~1,~0]@~(true & q & r)
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2049 [p,q,~r] -> [ 0]true
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2050 +[ 2, 1,~0]@true
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2051 +[ 2,~1,~0]@~(true & r)
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2052 +[~2,~1,~0]@~(true & q & r)
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2053 [p,q,r] -> [ 0]false
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2054 +[ 2, 1,~0]@false
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2055 +[ 2,~1,~0]@~(true & r)
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2056 +[~2,~1,~0]@~(true & q & r)
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2057
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2058
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2059 Thu Jun 13 12:00:39 BST 1991
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2060
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2061 Empty Queue should be incoporated into Cond part.
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2062 Only true/false remains in Em_j part.
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2063
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2064 S = \Sum_j Cond_j -> ( \Sum_i empty_i->Em_{i,j} -> More_j )
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2065 ~S = \Sum_j Cond_j -> ( \Sum_i empty_i->Em_{i,j} -> ~More_j )
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2066
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2067 Thu Jun 13 11:32:44 BST 1991
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2068
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2069 S = \Sum Cond_j -> ( empty->Em_j ; ~empty->More_j )
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2070 ~S = \Sum Cond_j -> ( empty->~Em_j ; ~empty->~More_j )
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2071 since empty is invisible, ; means non deterministic choice
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2072 More_j = Keep \and @ More => troubled on negation
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2073
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2074 Cond_j -> ( empty->Em_j + (Keep_j \and @ More_j) )
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2075 =>
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2076 Cond_j + Keep_j -> ( empty->Em_j + ~empty->@ More_j )
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2077 Cond_j + ~Keep_j -> ( empty->Em_j + ~empty->false )
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2078
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2079 Example
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2080
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2081 empty -> true -> (empty->true + ~empty->false)
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2082 ~empty -> true -> (empty->false+ ~empty->true)
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2083 fin(p) -> true -> (empty->p+ ~empty->@fin(p))
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2084 keep(p) -> p -> (empty->true + ~empty->@keep(p))
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2085 + ~p -> (empty->true + ~empty->false)
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2086
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2087 Wed Jun 12 16:05:31 BST 1991
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2088
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2089 ITL->DST converter using BDT
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2090
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2091 varialbe order
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2092 p & q
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2093 ~p -> []
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2094 p,q -> [e0, (t & q)] e0 = (t & q)
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2095 p,~q -> [~e0,(t & q)]
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2096 t & q (contains both ~e0, e0)
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2097 ~q -> [~e0,(t & q)]
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2098 q -> [e0,t,(t & q)]
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2099 t -> [e1,(~e1,t)] e1 = (t)
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2100
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2101 ITL model checker
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2102
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2103 Wed May 22 15:37:30 BST 1991
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2104
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2105 The problem is negation of state digram is time consuming task.
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2106 To make a symmetrical treatment of negation on state digram,
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2107 exclusion normal form is good.
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2108
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2109 P == (ab -> empty) + ((~a)b -> false) + (a(~b)+~a~b -> @next)
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2110 ~P == (ab -> false) + ((~a)b -> empty) + (a(~b)+~a~b -> @~next)
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2111
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2112 True-Set + False-Set + Next-Set
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2113
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2114 It requires 2^numver(variables on expression) terms. (Sad..)
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2115
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2116 P,Q -> PQ
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2117 P;Q -> PQ + ~PQ + P~Q
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2118
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2119 Tue May 21 19:16:12 BST 1991
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2120
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2121 Extenstion of state diagram is necessary.
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2122
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2123 true & p = <>p
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2124 s0 -empty-> p
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2125 s0 -e(true)-> s0
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2126 s0 -e(p)-> true
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2127 ~(true & ~p) = #p
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2128 s0 -empty-> p
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2129 s0 -a(~p)-> false
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2130 s0 -e(true)-> s1(~true & ~p)
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2131 ~(p & ~q) = #p
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2132 s0 -empty-> ~p;q
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2133 s0 -a(p)-> s1(~(true & ~q))
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2134 s1 -a(~q)-> false
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2135 p & q
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2136 s0 -empty-> p,q
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2137 s0 -p-> s1(true&q)
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2138 s1 -e(true)-> s1
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2139 s1 -e(q)-> true = s1 -a(~q)-> false
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2140
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2141 Tue May 21 15:08:51 BST 1991
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2142
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2143 The point is the concurrent development of negation form.
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2144 |- ~(On Some interval, P) <->
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2145 |- For all interval, ~P <->
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2146 |\- On Some interval, P
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2147 |- ~~P <-> |-P
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2148
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2149 |-P,|\-Q => |-P0,@Pnext , |\-Q0,@Qnext
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2150 => |\-Q0,@Qnext
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2151 |-(P0,~Q0),@Pnext
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2152 |-(P0,Q0),@(Pnext,~Qnext)
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2153 example
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2154 |- ~(q & ~p) =>
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2155 |\- q,~p,empty
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2156 |- empty,~(q,~p)
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2157 |\- empty(q),~p,~empty =>
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2158 |- q,p
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2159 |- ~q
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2160 |\- q,@(q & ~p) =>
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2161 |- ~q
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2162 |- q, @~(true & ~p)
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2163 Anther problem is Empty/More state.
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2164 An interval can be empty/~empty
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2165 ~(empty,P) -> ~empty;~P this is funny
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2166 |- ~(empty,P) <-> |\- empty,P
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2167 ~P,~(empty,P),empty is Ok
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2168 This means false transision has separate Empty flag
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2169 empty,(P&Q) -> empty,P,Q
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2170 Global variables maps
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2171 local variable state diagram -> {true, false}
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2172 How to calculate it comformity?
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2173
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2174 Thu May 16 12:54:27 BST 1991
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2175
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2176 Decomposition Rule for Model Checking
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2177 ~ , ; & @
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2178 Failure Set
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2179 Success Set
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2180 ?-de(Proposition,Now,Next).
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2181
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2182 de((P,Q),(NP,NQ),(XP,XQ),F) :- de(P,NP,XP,F),de(Q,NQ,XQ,F).
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2183 de((P;Q),Now,Next,F) :- de(P,Now,Next,F).
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2184 de((P;Q),Now,Next,F) :- de(Q,Now,Next,F).
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2185 de(~P,Now,Next,(FN,FX)) :- de(P,FN,FX,(Now,Next)).
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2186 de(@P,true,P,(FN,FX)) :- de(P,FN,FX,(Now,Next)). % weak?
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2187 de((P&Q),(PN,Now),Next,F) :- % empty case
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2188 de(P,PN,true,PF),de(Q,Now,Next).
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2189 de((P&Q),Now,Next,F) :- % non empty case
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2190 de(P,PN,true,PF),de(Q,Now,Next).
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2191
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2192 Now is allways classical/local.
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2193
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2194 Using Binary Decision Tree on Interval Variable
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2195
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2196 <t>P = true & P
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2197 [t]P = ~<t>~P = ~(true & ~P)
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2198 while i do j = i-> j&(while i do j) ; empty
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2199
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2200 so everything is & and ~ and ; and ,.
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2201
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2202 Formula = { Interval Variable, Local Variable, connectives }
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2203
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2204 P = set of BDT on Interval Variables
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2205 P
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2206 /\
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2207 P ~P
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2208 There is only a finite number of interval variables.
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2209
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2210 Clausal Form:
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2211 P :- x ; y ; P.
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2212 P :- empty.
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2213
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2214 P
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2215 x
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2216 /\
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2217
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2218 it is better to make BDT primitives...
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2219
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2220 variablesBDT
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2221 compBDT
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2222 andBDT
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2223 orBDT
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2224 negBDT
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2225 hashBDT
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2226
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2227 Mon May 20 14:24:59 BST 1991
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2228
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2229 ITL decomposition Rule for Model Checker
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2230
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2231 choices
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2232
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2233 interval is finite / infinite
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2234 interval is open / close
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2235 interval is empty / non-empty
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2236
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2237 ITL finite/close and has empty
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2238
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2239 p,q
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2240 p;q
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2241 ~p
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2242 p&q
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2243
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2244 local variable
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2245 non local variable
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2246
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2247 ~(true & ~p)
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2248
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2249 s0
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2250 Success: nil
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2251 Failure: true & ~p
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2252
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2253 decompositon( Formula , Local State, Next Intervals )
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2254 Formula -> (Local-0, empty);
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2255 (Local-1, ~empty) & Next Intervals ( with eventuality )
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2256 ~empty contains eventuality (OK?)
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2257
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2258 local variable
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2259 p -> p,empty ; (p,~empty & true)
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2260 P & Q -> (empty,P,Q); ( empty,P & ~empty,Q ); ( ~empty, P & Q )
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2261
1c57a78f1d98 Initial revision
kono
parents:
diff changeset
2262 local part should have standard form