JPH10111803A - 論理式の対話的証明構築装置 - Google Patents

論理式の対話的証明構築装置

Info

Publication number
JPH10111803A
JPH10111803A JP8266920A JP26692096A JPH10111803A JP H10111803 A JPH10111803 A JP H10111803A JP 8266920 A JP8266920 A JP 8266920A JP 26692096 A JP26692096 A JP 26692096A JP H10111803 A JPH10111803 A JP H10111803A
Authority
JP
Japan
Prior art keywords
proof
expression
certification
internal
assumption
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP8266920A
Other languages
English (en)
Inventor
Takeshi Otani
武 大谷
Toshiaki Minami
俊朗 南
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP8266920A priority Critical patent/JPH10111803A/ja
Publication of JPH10111803A publication Critical patent/JPH10111803A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

(57)【要約】 【課題】本発明は対話的証明構築装置に関し,証明の各
導出ステップにおいて検証すべき付帯条件または除去さ
れている仮定を即座に知ることができる証明の内部表現
を採用してメタ変数の具体化による付帯条件の再検証や
証明の分離による仮定式の再ラベル付けを効率的に行う
ことを目的とする。 【解決手段】コマンド入力部,メタ変数を使用した証明
を表示する証明表示部,証明データを内部表現の形式で
記憶する証明データ記憶部及び内部表現処理部とを備え
る。内部表現処理部は証明表示部に表示されたメタ変数
と推論規則を含む証明に対し,前記コマンド入力部から
の指示に対応した証明を生成し,各証明の内部表現に証
明の各導出過程に適用される導出規則の付帯条件または
その導出の際に除去された仮定に関する情報の一方また
は両方を付加して証明データ記憶部に保持するよう構成
する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は計算機を利用した論
理式の対話的証明構築装置に関し,特に対話的な証明エ
ディタにおいて,自由に具体化することのできるメタ変
数を使用した証明や証明木の分離による証明木の再利用
を行うための論理式の対話的証明構築装置に関する。
【0002】数理論理学は,数学的な議論の仕方そのも
のを形式化した理論であり,これがプログラムの正し
さ,同一性の証明を厳密に行う場合に利用できるように
なった。プログラミング言語は形式的な言語であり,そ
のコマンド,ステートメント等の各部品に対し形式的な
意味を与えて,そのプログラムが作成者の意図したとう
りの働きをすることを証明する場合に利用されるように
なった。同様にハードウェアの検証についても適用する
ことができる。
【0003】対話的な証明エディタを使用して効率的に
証明を行うには,人間の行う証明スタイルに則した証明
方法を支援することが要求されている。人間の行う証明
には,通常の導出規則の適用による証明方法のほかにメ
タ変数を使用して証明した補題及び定理を状況に応じて
具体化して証明の一部で使用したり,既に構築した証明
の一部分を一旦切離し,具体化し他の証明と結合した
り,導出規則のように利用する方法などがある。
【0004】
【従来の技術】証明の中で使用されている推論規則に
は,規則を適用する際に満たされていなければならない
制約(付帯条件)を持つものや,仮定を除去するものが
あり,メタ変数の具体化や証明の分離,結合を行うこと
によって証明が不正なものとなる可能性がある。従っ
て,このような証明方法を支援するためには,付帯条件
の再検証や仮定に付されているラベルの付替の技術が必
要である。
【0005】
【数1】
【0006】上記式(1)は,∧の導入規則と呼ばれる
推論規則を表しており,AとBがそれぞれ成立つ時に,
A∧B(Aが成立ち,しかもBも成立つことを意味する
論理式)を結論として導出することを意味する。
【0007】式(2)は,⊃の導入規則を表しており,
Aという仮定のもとでBが導出されている時に,A⊃B
(Aが成立つならば,Bが成立つことを意味する論理
式)を結論として導出することを意味する。なお,この
推論規則の適用の際には,仮定としてのAは意味的に結
論式A⊃Bに含まれるので,証明中のAはもはや仮定と
しての意味を持たなくなる。このような仮定を除去され
た仮定と呼び,他の仮定と区別するために“[”
と“]”でくくる。
【0008】
【数2】
【0009】上記の式(3)は,∀の導入規則を表して
おり,F(y/x) という論理式(変数を含む論理式F(x)
中のすべてのxにyを代入した論理式)が成立つ時に,
∀x.F(x) (全てのxに対してF(x) が成立つことを意
味する論理式)を導出することを意味する。但し,この
推論規則を適用するためには「変数yはF(y/x) を導出
する証明中の全ての除去されていない仮定(以後,開い
た仮定と呼ぶ)に自由に出現しない」という条件が成立
している必要がある。このように,ある規則を適用する
際に,満たされていなければならない条件を付帯条件と
呼ぶ。
【0010】証明は,公理,定理,仮定の上記のような
推論規則や,幾つかの推論規則を組合わせた派生規則な
どの導出規則を繰り返し適用して構成される図式であ
る。メタ変数を使用して構築した証明木を具体化する際
には,具体化する以前には充足されていた推論規則の付
帯条件が成立しなくなることがあり,得られた証明が不
正なものとなる場合がある。例えば,x,yを任意の変
数を表すメタ変数A,Bを任意の論理式を表すメタ変数
とし,次の式(4)の証明を考える。
【0011】
【数3】
【0012】但し式(4)では,ここでの説明に関係な
い仮定が“・・・”で省略してあり,全ての開いた仮定
にxは自由に出現していないものとする。そして,横線
右側の∀Iは,この導出ステップで適用された推論規則
を表している。∀Iは∀の導入規則(Introduction rul
e)を表す。上記の式(4)については,この中のメタ変
数x,y,A,Bをそれぞれu,u,C,Dで具体化す
ると,証明は形式的に,式(5)となる。
【0013】
【数4】
【0014】しかし,次の上記の式(3)に示す推論規
則∀Iは,付帯条件“(NOT-FREE-IN-ASSM "y" "F(y/
x)")" ( 「変数yはF(y/x)を導くすべての開いた仮定に
自由に出現しない」という意味を表す形式的表現)をも
つ。
【0015】この式(3)の付帯条件を具体化する以前
の証明に照らし合わせると,(NOT-FREE-IN-ASSM "x" "
A(x/y)")であり,これは「xがA(x,y)を導くすべての開
いた仮定に自由に出現しない」という制約を表し,実際
に成立している。ところが,具体化した後では,(NOT-
FREE-IN-ASSM "u" "C(u,u)")であり,「uがC(u,u)を導
くすべての仮定に自由に出現しない」ことを意味する
が,この証明には D(u) という仮定が使用され,D(u)
中にはuが自由に出現するために, この付帯条件は成立
していない。したがって,得られた証明は不正なもので
あり,施した具体化が適切ではなかったことを意味す
る。このような,メタ変数の具体化の際には,付帯条件
の再検証が不可欠である。
【0016】また,規模の大きな証明があった場合,そ
の一部分を切り離して利用して証明を効率化したい場合
がある。その一部分の証明を分離する際には,分離する
以前には除去されていた仮定が証明を分離することによ
って,開いた仮定となることがある。例えば,次の式
(6)の証明について,
【0017】
【数5】
【0018】*印が付いている論理式Cの上下で証明を
分離する場合を考えると,結果は以下の式(7),
(8)のようになる。
【0019】
【数6】
【0020】この時,(7)の証明図については,最初
の証明図の中で除去されていた仮定A(仮定番号1)と
A⊃B(仮定番号2)が,開いた仮定に変更されてい
る。一方,(8)の証明図については,A(仮定番号
1)とA⊃B(仮定番号2)が除去された仮定として残
っている。このように,証明を分離する際には,分離を
行う個所から結論までの導出に出現する推論規則によっ
て,どの仮定が除去されているのかを調べ,証明を補う
必要がある。
【0021】従来の対話型証明エディタでは,証明の内
部表現はせいぜい全体の証明の中の各論理式間の導出の
関係のみを表現しているに過ぎない。例えば,仮定と結
論の関係のみしか保持していないものもある。そして,
推論規則の付帯条件のチェックは,その規則を適用する
時点でのみ行われている。
【0022】付帯条件は,推論規則に出現する記号を使
用して規定されているので,規則と同様に一種のパター
ンであるということができる。そのため,付帯条件のチ
ェックを行うには,規則の前提式や結論式を証明の適用
個所の論理式とパターンマッチングして具体化するのと
同様に,付帯条件も具体化する必要がある。
【0023】しかし,従来の内部表現は具体化に関する
情報を含まないので,規則を適用し終わった後で,付帯
条件の検証を行うためには,規則の前提式や結論式のパ
ターンマッチング(元の変数と具体化の対応関係を検証
すること)を再度行わなければならない。また,証明の
分離に関しても,従来の対話型証明エディタには取り入
れられていない機能であるが,あえて行うとすれば,証
明の分離された部分の各導出ステップを順に操作し,全
ての仮定に対して除去されているか否かをチェックする
方法が考えられる。
【0024】
【発明が解決しようとする課題】従って,従来の方法で
は規模の大きな証明を行う際に,メタ変数の具体化によ
る付帯条件の再検証や証明の分離による仮定式の再ラベ
ル付けに時間を要し,効率的な証明作業を行うことがで
きないという問題を生じていた。
【0025】本発明は証明の各導出ステップにおいて検
証すべき付帯条件または除去されている仮定を即座に知
ることができる証明の内部表現を採用することにより,
メタ変数の具体化による付帯条件の再検証や証明の分離
による仮定式の再ラベル付けを効率的に行うことができ
る論理式の対話的証明構築装置を提供することを目的と
する。
【0026】
【課題を解決するための手段】図1は本発明の原理構成
図である。図中,1はコマンド入力部,2は証明表示
部,3は内部表現処理部,4は証明データ記憶部であ
る。
【0027】利用者は証明表示部2に表示されている証
明図をみて,その証明に対して次に何を行えばよいかを
コマンド入力部1からコマンドによって指示する。証明
表示部2に表示される証明は,証明データ記憶部4に内
部表現形式で保持され,利用者からのコマンドに従っ
て,証明の内部表現は内部表現処理部3において更新さ
れ,再び証明データ記憶部4に記憶される。この内部表
現処理部3で生成される証明の内部表現は,各導出ステ
ップに対応する個所にその導出を行うために成立する必
要がある付帯条件と,その導出の際に除去された仮定を
示すラベルが付加されたものである。
【0028】本発明では,証明の各導出ステップに対応
する部分に,付帯条件を具体化した情報と除去された仮
定に付与されているラベルを組込み,メタ変数を具体化
する際には付帯条件も同時に具体化することで,検証す
べき付帯条件が常に証明の状況にあった形式で証明の内
部表現中に与えられているため,付帯条件の再検証の際
にパターンマッチングを行う必要がなく,検証を効率良
く行うことが可能となる。
【0029】また,証明の分離の際には,分離する個所
から結論式までの導出過程が除去されている過程を即座
に知ることができ,これらの過程に付与されている「除
去された」(discharged) というラベルを, 「仮定」(a
ssumption)に変更するだけで良く, すべての仮定を抽出
し, それぞれに対して除去されているかどうかをしらみ
つぶしに調べ上げる必要がなく, 効率良く分離された証
明を構成することができる。
【0030】
【発明の実施の形態】本発明による証明の内部表現は次
のようなリスト形式で与える。 a.公理と定理 公理と定理はそれぞれ自身が完結した証明であり,次の
ような形式で表す。
【0031】 公理 ((axion . "名前") . "論理式の内部表現") 定理 ((theorem . "名前") . "論理式の内部表現") b.仮定 このデータはコマンド入力部1から与えられ証明データ
記憶部4に記憶される。仮定には通常の意味の仮定と既
に除去された仮定の2種類があり,次のような構造を持
つ。
【0032】仮定 ((assumption . "仮定のラベル")
. "論理式の内部表現") 除去された仮定 ((discharged . "仮定のラベル") .
"論理式の内部表現") は通常の仮定式(開いた仮定)で,まだ除去されてい
ないものを表し,は何らかの推論によって除去された
仮定である。従って,後者のタイプの仮定はそれ自身単
独で証明として出現することはない。“仮定のラベル”
は各仮定に付けられた識別番号(仮定の右肩に付与され
る数字)で,同じ番号を持つ仮定は同一のものとして扱
われる。このように仮定について内部表現を行うことに
より,証明の結論においてもこれらの内容が証明の内部
表現に残っているため従来のようなパターンマッチング
を行う必要がなくなる。
【0033】c.ある規則によって導出された証明 このデータは幾つかの証明からある導出規則を適用して
得られる証明のデータ形式であり,次のような内部表現
となる。
【0034】 (( "結論式の内部表現". (( "適用された規則の名前" "規則の付帯条件" "除去された仮定のラベルのリスト"). ("証明の内部表現1" … "証明の内部表現n"))) また,上記c.の内部表現中の "規則の付帯条件" は,
次のような表現形式のリストとする。一方,FREE-FOR,N
OT-FREE,NOT-FREE-IN-ASSMは予約語で,この文字列その
ものを指している。
【0035】(FREE-FOR Term Variable Formula) :代
入可能条件を表し, 論理式|Formula |の中の変数Vari
ableに項|Term|を代入しても, 新たに束縛される変数
がない。
【0036】(NOT-FREE Variable Formula) : 変数出
現条件を表し, 論理式|Formula |の中に変数|Variab
le|が自由に出現しない。 (NOT-FREE-IN-ASSM Variable Formula):固有変数条件
を表し,論理式|Formula |を導くすべての開いた仮定
に変数|Variable|が自由に出現しない。
【0037】図2は本発明による内部表現の例であり,
A.は証明であり,B.はその内部表現である。B.に
示すリストの(1) は,A.の結論式の内部表現であ
り,B.の(2) の部分は適用された推論規則を表し,
A.のに対応し,B.の(3) の部分はA.のに対応
する。また,B.の(4) の部分は導出規則を表し,A.
の式のに対応する。この(4) の第1要素は導出規則の
名前を表し,第2要素" nil"は付帯条件なしを意味し,
第3要素“2”はこの導出ステップで除去された仮定の
識別番号(ラベル)を表し,B.の(8) の除去された仮
定のラベル2に対応する。また,B.の(5) はA.の
に対応し,B.の(6) はA.のに対応する。次にB.
の(7),(8) はそれぞれ,A.ののA(ラベル1を持つ
仮定)とB(x) (ラベル2の除去された仮定)に対応す
る内部表現を表す。B.の(9) 〜(11)はそれぞれ,B.
の(5),(3),(1) の各内部表現の終端を表す。
【0038】図3は実施例の構成図である。図中,1〜
4は図1で示した各符号と同様であり,1はコマンド入
力部,2は証明表示部,3は内部表現処理部,4は証明
データ記憶部であり,5は論理系データ記憶部である。
【0039】図2の内部表現処理部3において,30は
導出規則の適用を処理する導出規則適用部,31はメタ
変数具体化処理部,32は証明の中の一部を分離するた
めの証明分離処理部,33は分離された証明を結合する
ための証明結合処理部,34は証明について証明中の付
帯条件の検証を行う付帯条件検証部である。
【0040】また,図3の論理系データ記憶部5におい
て,50は公理記憶部,51は推論規則記憶部,52は
上記記載した形式で記憶された定理記憶部である。な
お,証明データ記憶部4の中の完成した証明の結論式は
定理とみなして論理系記憶部5の定理記憶部52に格納
される。
【0041】図3に示す実施例の構成の内部表現処理部
3を構成する30〜34で示す各部の処理フローを図4
乃至図8を用いて説明する。なお,各処理において,論
理系データ記憶部5の公理記憶部50の公理データ,推
論規則記憶部51の推論規則データ,及び定期記憶部5
2の推論規則データを用い,証明データは証明データ記
憶部4に格納する。
【0042】図4は導出規則適用部(図3の30)の処
理フローである。最初に,入力として証明P1,…,P
nと,適用する規則Rと適用個所を与える(図4のS
1)。次に規則Rを適用するのに必要な前提と仮定の個
数がn及び適用個所とそれぞれ一致するか判別し(図4
のS2),一致しないと導出失敗として終了する。一致
する場合,規則Rの前提式及び仮定式がそれぞれ適用個
所として指定した論理式とパターンマッチさせ,その具
体化をIとする(図4のS3)。パターンマッチングが
成功したか判別し(図4のS4),成功しないと導出失
敗として終了するが,成功すると規則R中のメタ変数が
全てIで具体化されるか判別し(同S5),具体化され
ない場合は,Iによって具体化の決定されていないメタ
変数に対する具体化を求め,Iにそれを加えて再びIと
する(同S6)。上記S5において全てIが具体化され
ている場合,及び前記S6の処理に続いてRの結論式と
付帯条件をそれぞれIで具体化する(同S7)。次に付
帯条件が充足されるかどうか調べ(同S8),充足され
ないと導出失敗とし,充足される場合は規則Rを適用後
の証明を作る(同S9)。
【0043】図5はメタ変数具体化処理部(図3の3
1)の処理フローである。入力として証明Pと具体化I
が与えられ,最初にPが公理,定理または仮定式の何れ
かであるか判別し(図5のS1),該当すると,Pの論
理式の部分をIで具体化したP’を出力する。該当しな
いと,Pの結論式をconcという内部表現処理部3内のメ
モリ(図示省略)の領域に格納し, Pのconcを導出して
いる規則の名前をruleという領域に格納し, ruleの付帯
条件をside condという領域に設定し,ruleによって除
去されている仮定のラベルのリストをメモリのdisch
listというリストの領域に格納し,rule を適用する前提
となっている証明のリストをproof listというリスト
の領域に格納する(図5のS2)。続いて,上記のproo
f list の各証明に対してこの処理を再帰的に適用し
て得られる証明のリストをproof list に格納する
(同S3)。更に,上記のconcの内容をIで具体化した
式に変更し,上記のside condもIで具体化したものに
変更する(図5のS4)。最後に,上記のconc,rule,si
de cond ,disch,list及びproof listから再構成し
た証明をP’に格納して(同S5),メタ変数を具体化
したP’を出力する。
【0044】規模の大きな証明Pに対して,その一部を
分離する処理は証明分離処理部32で行われるが,図6
は証明分離処理部の処理フローである。初めに,証明表
示部(図3の2)に表示された証明Pの中の分離を施す
個所Fを指定する。これに応じて,分離点の上下で証明
Pを切断し,Fを根にもつPの部分証明木をP1とし,
PからP1を除いた証明木をP2とする(図6のS
1)。次に証明の内部表現から,PにおいてFから結論
式を導くに至る導出で除去された仮定のラベルのリスト
をメモリのLの領域に格納する(同S2)。続いて,P
1中の上記Lで示される仮定のラベルを除去(discharg
ed) から仮定(assumption)にした証明をP1に格納する
(図6のS3)。更に,P2中のFの部分に上記Lで示
される除去された仮定を追加した証明をP2に格納する
(同S4)。
【0045】2つの証明を結合して一つの証明を得る処
理が証明結合処理部(図3の33)で行われ,図7に証
明結合処理部の処理フローを示す。入力として証明P
1,P2とP2中の論理式Fを与えると,Fをパターン
として扱ってFがP1の結論式とパターンマッチするか
判別する(図7のS1)。マッチしない場合は,P1の
結論式をパターンとして扱ってこれがFとパターンマッ
チするか判別する(同S6)。マッチしないと結合が失
敗したことになるが,マッチした場合,P1の結論式と
Fをパターンマッチさせる具体化を行って内部表現処理
部(図3の3)のメモリ(図示省略)の領域Iに格納す
る(同S7)。この後,P1中のメタ変数がすべてIに
よって具体化されるか判別し(同S8)。すべて具体化
されないと,Iで具体化されないP1のメタ変数に対す
る具体化を行いIに格納する(同S9)。上記S8にお
いてIによって全て具体化された場合及びS9の処理に
続いて,P1に具体化Iを施したものをP1に格納する
(同S10)。これによりP1がP2と結合できる形式
になる。
【0046】また,上記S1において,FがP1の結論
式とパターンマッチした場合,FをP1の結論式とパタ
ーンマッチさせる具体化を行って領域Iに格納する(図
7のS2)。次にP2中のメタ変数がすべてIによって
具体化されるか判別し(同S3),全て具体化されない
場合は,Iで具体化されないP2のメタ変数に対する具
体化を行い領域Iに格納する(同S4)。上記S3です
べて具体化された場合及びS4の処理に続いて,P2に
具体化Iを施したものを領域P2に格納する(同S
5)。これによりP2はP1と結合できる形式になる。
【0047】このS5の処理に続いてS11に移行し,
P2中のFをP1で置き換えて結合した結果を領域Pに
格納し,Pの内容が出力される。本発明では,証明の各
導出ステップに対応する部分に付帯条件を具体化した情
報と除去された仮定に付与されているラベルを組み込
み,メタ変数を具体化する時に,付帯条件も同時に具体
化されているため,検証すべき付帯条件が常に証明の状
況に合った形式で証明の内部表現中にあるため,付帯条
件検証部(図3の34)では,付帯条件の再検証の際に
パターンマッチングを行う必要がない。
【0048】図8は付帯条件検証部の処理フローであ
る。入力として証明Pが与えられると,Pが公理,定理
または仮定式の何れであるか判別し(図8のS1),そ
の何れかに該当すると検証成功となるが,何れにも該当
しないと,Pの結論式を導出している規則に付与されて
いる付帯条件のリストをメモリのside cond listとい
う領域に格納する(同S2)。次にこのリストが空リス
トか判別し(同S3),空リストでない場合は,side
cond listの最初の要素をside condの領域に格納する
(同S4)。次にこのside condが成立しているか判別
し(同S5),成立されていないと検証失敗となるが,
成立されている場合は,side cond listの領域からsi
de condを除いて残りのリストをside cond listとす
る(同S6)。この後,S3に戻って,同様の処理を繰
り返す。こうして,side cond listの領域が空リスト
になると,S7に移行し,ここで,ruleを適用するため
の前提となっている証明のリストをproof list に格
納する(図8のS7)。次にproof list の各証明に
対してこの処理(上記S1〜S6)を再帰的に行い,す
べての処理が検証失敗に到ることなく終了したなら検証
成功の結果が得られる。
【0049】本発明の証明構築装置による証明を具体例
により説明する。推論規則∀I
【0050】
【数7】
【0051】は,付帯条件として(NOT-FREE-IN-ASSM "
y" "F(y/x)")を持つ。但し, この付帯条件の意味は「y
はF(y/x)を導くすべての開いた仮定に自由に出現しな
い」である。
【0052】この推論規則∀Iを,次の式(10)に適
用する(この証明をΠとする)。
【0053】
【数8】
【0054】すると,推論規則中のF,yはそれぞれ
A,yとパターンマッチし,次の式(11)となる。
【0055】
【数9】
【0056】ここで,満たさなければならない付帯条件
は,(NOT-FREE-IN-ASSM "y" "A(y)")である。この証明
は,内部的には次のように表現されている。 (“∀x.A(x)の内部表現”. (( "∀I"((NOT-FREE-IN-ASSM "y" "A(y)"))). ( “A(y)の内部表現”. …証明Πの内部表現… ))) この証明中のメタ変数A,x,yをそれぞれB,u,v
で具体化すると,証明と同様に付帯条件の表現も同時に
具体化され, (“∀u.A(u)の内部表現”. (( "∀I"((NOT-FREE-IN-ASSM "v" "B(v)"))) . ( “B(v)の内部表現”. …証明Πの内部表現… ))) が得られる。付帯条件(NOT-FREE-IN-ASSM "v" "B(v)")
は,こうして得られた証明において検証すべき条件を表
す形となっている。
【0057】従って,付帯条件の再検証を行う際には,
導出ステップの付帯条件部分を取り出すだけで済み,パ
ターンマッチングを行わずに付帯条件の検証を行うこと
が可能である。
【0058】次に証明分離を具体例により説明する。上
記の式(6)に示す証明を,*という印が付いている論
理式Cの上下で分離する場合は,まずこの証明を次のよ
うに機械的にCの部分で分離させて,上記の式(7),
(8)にする。ここで,式(7)の証明に対しては,元
の証明中のCから結論(A⊃B)⊃(A⊃C)までの導
出ステップを調べ,ラベル1及び2を持つ仮定が除去さ
れているのが分かるので,これらの仮定式に付与されて
いる“discharged”(除去された)というラベルを“as
sumption”に変更する。そして, 式(8)の証明に対し
ては,Cの仮定として,それより以下の導出で除去され
ているラベル1および2を持つ仮定式をCに追加する。
こうして,得られた証明は上記式(7)と(8)と同じ
である。
【0059】
【発明の効果】本発明によれば,証明構築時にメタ変数
を具体化する際の各導出ステップの付帯条件の検証また
は,証明木を分離する際の除去された仮定を開いた仮定
に変更することが容易となり,対話的証明エディタにお
ける証明作業の効率を向上することができる。
【図面の簡単な説明】
【図1】本発明の原理構成図である。
【図2】本発明による内部表現の例を示す図である。
【図3】実施例の構成図である。
【図4】導出規則適用部の処理フローを示す図である。
【図5】メタ変数具体化処理部の処理フローを示す図で
ある。
【図6】証明分離処理部の処理フローを示す図である。
【図7】証明結合処理部の処理フローを示す図である。
【図8】付帯条件検証部の処理フローを示す図である。
【符号の説明】
1 コマンド入力部 2 証明表示部 3 内部表現処理部 4 証明データ記憶部

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 コマンド入力部,メタ変数を使用した証
    明を表示する証明表示部,証明データを内部表現の形式
    で記憶する証明データ記憶部及び内部表現処理部とを備
    え,前記内部表現処理部は前記証明表示部に表示された
    メタ変数を含む証明に対し,前記コマンド入力部からの
    指示に対応した証明を生成し,各証明の内部表現に証明
    の各導出過程に適用される導出規則の付帯条件またはそ
    の導出の際に除去された仮定に関する情報の一方または
    両方を付加して前記証明データ記憶部に保持することを
    特徴とする論理式の対話的証明構築装置。
  2. 【請求項2】 請求項1において,前記内部表現処理部
    は,付帯条件を具体化した情報と除去された仮定に付与
    されたラベルを組込み,メタ変数を具体化する際に付帯
    条件も同時に具体化して証明の内部表現中に設定して前
    記証明データ記憶部に保持し,作成途中の証明において
    前記保持された内部表現を用いて付帯条件の検証を行う
    ことを特徴とする論理式の対話的証明構築装置。
  3. 【請求項3】 請求項1または2において,前記内部表
    現処理部は,前記証明表示部に表示された既存の証明の
    一部を分離するため分離個所を指示すると,指示された
    分離個所の論理式を境に分離された各証明に対し分離個
    所から結論式までの導出過程で除去されている仮定に付
    与されている情報を通常の仮定に変更して分離すること
    を特徴とする論理式の対話的証明構築装置。
  4. 【請求項4】 請求項1または2において,前記内部表
    現処理部は,2つの証明の中の一方の証明中の指定され
    た論理式と他方の証明の結論式との間でパターンマッチ
    の検出を行い,一致が検出されると2つの証明の一方と
    前記指定された論理式をパターンマッチさせる具体化を
    行い,具体化された証明を用いて前記一方の証明中の前
    記指定された論理式を他方の証明で置き換えて証明の結
    合を行うことを特徴とする論理式の対話的証明構築装
    置。
JP8266920A 1996-10-08 1996-10-08 論理式の対話的証明構築装置 Withdrawn JPH10111803A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8266920A JPH10111803A (ja) 1996-10-08 1996-10-08 論理式の対話的証明構築装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8266920A JPH10111803A (ja) 1996-10-08 1996-10-08 論理式の対話的証明構築装置

Publications (1)

Publication Number Publication Date
JPH10111803A true JPH10111803A (ja) 1998-04-28

Family

ID=17437520

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8266920A Withdrawn JPH10111803A (ja) 1996-10-08 1996-10-08 論理式の対話的証明構築装置

Country Status (1)

Country Link
JP (1) JPH10111803A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013038469A1 (ja) * 2011-09-12 2013-03-21 株式会社 日立製作所 ソフトウェア仕様の証明再利用支援装置、ソフトウェア仕様の証明再利用支援方法、ソフトウェア仕様の証明再利用支援プログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013038469A1 (ja) * 2011-09-12 2013-03-21 株式会社 日立製作所 ソフトウェア仕様の証明再利用支援装置、ソフトウェア仕様の証明再利用支援方法、ソフトウェア仕様の証明再利用支援プログラム

Similar Documents

Publication Publication Date Title
US8869111B2 (en) Method and system for generating test cases for a software application
CA2708628C (en) Assisting failure mode and effects analysis of a system comprising a plurality of components
CN106919434A (zh) 一种代码生成方法及装置
JP5005510B2 (ja) ソフトウェアの設計支援方法、設計支援装置及び設計支援プログラム
EP1685488A2 (en) Automatic computer code review tool
Zhang et al. Automated Extraction of Grammar Optimization Rule Configurations for Metamodel-Grammar Co-evolution
JPH10111803A (ja) 論理式の対話的証明構築装置
JPH11224186A (ja) ソフトウェア解析装置及びソフトウェア解析方法
JPH0667871A (ja) プログラム自動更新方式
JP2725490B2 (ja) ソフトウエアバグ原因推論エキスパートシステム
JP3174886B2 (ja) 形態素解析コスト作成支援装置
JPH0728630A (ja) プログラム生成装置
JPH0728827A (ja) 図面説明文生成装置
JPH0612248A (ja) プログラムの自動生成方式
JPH05224938A (ja) 適用条件処理装置
JPH05101032A (ja) シミユレーシヨンモデル生成装置
JPH0546370A (ja) プログラム生成装置
JPH05265740A (ja) プログラム編集方法
JPH0756732A (ja) テスト結果検証プログラム生成方法およびこれを用いるテスト結果自動検証方法
JPH05241837A (ja) 規則集合生成装置
JPH06314200A (ja) 証明構築支援装置
JPH0546552A (ja) オンライン環境追加方式
JPH04293128A (ja) エキスパートシステム
Pun et al. Modular Soundness Checking of Feature Model Evolution Plans
JPH01199240A (ja) プログラム動的テスト装置

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20040106