Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP6910228B2 - Automatic certification device and program - Google Patents
[go: Go Back, main page]

JP6910228B2 - Automatic certification device and program - Google Patents

Automatic certification device and program Download PDF

Info

Publication number
JP6910228B2
JP6910228B2 JP2017137949A JP2017137949A JP6910228B2 JP 6910228 B2 JP6910228 B2 JP 6910228B2 JP 2017137949 A JP2017137949 A JP 2017137949A JP 2017137949 A JP2017137949 A JP 2017137949A JP 6910228 B2 JP6910228 B2 JP 6910228B2
Authority
JP
Japan
Prior art keywords
polynomial
coefficients
solver
trial
verification
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.)
Expired - Fee Related
Application number
JP2017137949A
Other languages
Japanese (ja)
Other versions
JP2019020966A5 (en
JP2019020966A (en
Inventor
一郎 蓮尾
一郎 蓮尾
貴仁 奥殿
貴仁 奥殿
肩吾 木戸
肩吾 木戸
幸平 末永
幸平 末永
健介 小島
健介 小島
雄気 西田
雄気 西田
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.)
Kyoto University NUC
Original Assignee
Kyoto University NUC
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 Kyoto University NUC filed Critical Kyoto University NUC
Priority to JP2017137949A priority Critical patent/JP6910228B2/en
Publication of JP2019020966A publication Critical patent/JP2019020966A/en
Publication of JP2019020966A5 publication Critical patent/JP2019020966A5/ja
Application granted granted Critical
Publication of JP6910228B2 publication Critical patent/JP6910228B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Complex Calculations (AREA)

Description

本発明は、自動証明装置、及びプログラムに関する。 The present invention relates to an automated theorem proving device and a program.

近年、大規模集積回路(LSI)等の、ハードウェアの設計や検証、ソフトウェアプログラムの検証等において、人為的介入なしに自動で推論を行う自動証明装置の利用が検討されている。例えば、非特許文献2には、ハードウェア設計を、クレイグ補間を用いた方法で検証を行うことで、検証可能な対象を広げることができることが開示されている。 In recent years, in the design and verification of hardware such as large-scale integrated circuits (LSIs), verification of software programs, etc., the use of an automated theorem proving device that automatically infers without human intervention has been studied. For example, Non-Patent Document 2 discloses that the verifiable target can be expanded by verifying the hardware design by a method using Craig interpolation.

こうした研究を受けて、与えられた証明対象に係るクレイグ補間を表す多項式を生成して出力するソルバーが開発されている(例えば非特許文献1)。このようなソルバーにおいては、多項式の係数が、数値解析により得られているので、一般に簡潔な整数比としては表現されない。また、当該係数には数値誤差を含む。 In response to such research, a solver that generates and outputs a polynomial representing Craig interpolation related to a given proof object has been developed (for example, Non-Patent Document 1). In such a solver, since the coefficients of the polynomial are obtained by numerical analysis, they are generally not expressed as a concise integer ratio. In addition, the coefficient includes a numerical error.

Dai, L., et. al., Generating non-linear interpolants by semidefinite programming. In: Sharygina, N., Veith H.(eds.) Computer Aided Verification - 25th International Conference, CAV 2013, Saint Petersburg, Russia, July 13-19, 2013. Proceedings. Lecture Notes in Computer Science, vol. 8044, pp.364-380, Springer(2013) (http://dx.doi.org/10.1007/978-3-642-39799-8_25)Dai, L., et. Al., Generating non-linear interpolants by semidefinite programming. In: Sharygina, N., Veith H. (eds.) Computer Aided Verification -25th International Conference, CAV 2013, Saint Petersburg, Russia, July 13-19, 2013. Proceedings. Lecture Notes in Computer Science, vol. 8044, pp.364-380, Springer (2013) (http://dx.doi.org/10.1007/978-3-642-39799-8_25) ) McMillan, K. L., Interpolation and SAT-Based Model Checking, in Proc. of 15th Conf. on Computer Aided Verification (CAV 2003), LNCS, Vol.2725, pp. 1-13, Springer (2003)McMillan, K. L., Interpolation and SAT-Based Model Checking, in Proc. Of 15th Conf. On Computer Aided Verification (CAV 2003), LNCS, Vol.2725, pp. 1-13, Springer (2003)

このように従来の技術では、多項式の係数が、一般に簡潔な整数比としては表現されないうえ、数値誤差を含むため、得られた補間に対応する現実のハードウェア設計やプログラムの動作等の証明対象がどのようなものであるか、例えばプログラムの動作検証であれば、どのようなプログラムの動作状態を表すものであるかを解釈することが容易でなく、また、動作検証等の自動化処理の際に障害となり得るという問題点があった。 As described above, in the conventional technique, the coefficient of the polynomial is not generally expressed as a simple integer ratio and includes a numerical error. Therefore, the actual hardware design corresponding to the obtained interpolation and the operation of the program are to be proved. It is not easy to interpret what kind of program is, for example, in the case of program operation verification, what kind of program operation state is represented, and in the case of automated processing such as operation verification. There was a problem that it could be an obstacle.

本発明は上記実情に鑑みて為されたもので、得られた補間に対応する現実の証明対象の解釈を容易化できる自動証明装置及びプログラムを提供することを、その目的の一つとする。 The present invention has been made in view of the above circumstances, and one of its objects is to provide an automatic proof device and a program capable of facilitating the interpretation of an actual proof object corresponding to the obtained interpolation.

上記従来例の問題点を解決するための本発明は、自動証明装置であって、与えられた証明対象に係るクレイグ補間を表す多項式を生成して出力するソルバーからの入力を受け入れる手段と、前記受け入れた多項式に含まれる係数の比が、整数の比となり、かつ各係数に対応する値がより小さい値となるよう近似した近似係数を、複数求める係数演算手段と、前記複数求められた近似係数のうちから、予め定めた方法で決定された順に近似係数を選択し、前記受け入れた多項式の係数を当該選択した近似係数に置き換えた試行多項式を生成し、当該試行多項式が、前記クレイグ補間を表す多項式として成立するかを検証する検証手段と、前記検証により、前記求めたいずれかの近似係数に基づく前記試行多項式が、前記クレイグ補間を表す多項式として成立すると、前記検証手段により判断されたときに、当該近似係数を、解として生成する生成手段と、を含み、前記生成手段は、前記求めたいずれかの近似係数に基づく前記試行多項式が、いずれも前記クレイグ補間を表す多項式として成立しないとして前記検証手段により判断されたときには、エラーが発生したものとして所定の処理を実行することとしたものである。 The present invention for solving the problems of the above-mentioned conventional example is an automatic proof device, which is a means for receiving an input from a solver that generates and outputs a polynomial representing Craig approximation related to a given proof target, and the above-mentioned. A plurality of approximated coefficient calculation means for obtaining a plurality of approximate coefficients such that the ratio of the coefficients included in the accepted polynomial is an integer ratio and the value corresponding to each coefficient is a smaller value, and the plurality of obtained approximate coefficients. Approximation coefficients are selected from among them in the order determined by a predetermined method, a trial polynomial is generated in which the coefficients of the accepted polynomial are replaced with the selected approximation coefficients, and the trial polynomial represents the Craig interpolation. When it is determined by the verification means that the verification means for verifying whether or not it is established as a polynomial and the trial polynomial based on any of the obtained approximation coefficients by the verification are established as a polynomial representing the Craig interpolation. , A generation means for generating the approximation coefficient as a solution, and the generation means, assuming that the trial polynomial based on any of the obtained approximation coefficients does not hold as a polynomial representing the Craig interpolation. When it is determined by the verification means, it is assumed that an error has occurred and a predetermined process is executed.

本発明によると、得られた補間に対応する現実の証明対象の解釈を容易化できる。 According to the present invention, it is possible to facilitate the interpretation of the actual proof object corresponding to the obtained interpolation.

本発明の実施の形態の一例に係る自動証明装置の構成ブロック図である。It is a block diagram of the block of the automatic certification apparatus which concerns on an example of Embodiment of this invention. 本発明の実施の形態の一例に係る自動証明装置の機能ブロック図である。It is a functional block diagram of the automatic certification apparatus which concerns on an example of embodiment of this invention. 本発明の実施の形態の一例に係る自動証明装置のソルバー部の動作例を表すフローチャート図である。It is a flowchart which shows the operation example of the solver part of the automatic certification apparatus which concerns on an example of embodiment of this invention. 本発明の実施の形態の一例に係る自動証明装置の処理例を表すフローチャート図である。It is a flowchart which shows the processing example of the automatic certification apparatus which concerns on an example of embodiment of this invention. 本発明の実施の形態の一例に係る自動証明装置が処理する制約の設定例を表す説明図である。It is explanatory drawing which shows the setting example of the constraint processed by the automatic certification apparatus which concerns on an example of Embodiment of this invention.

本発明の実施の形態について図面を参照しながら説明する。本発明の実施の形態に係る自動証明装置1は、図1に例示するように、制御部11と、記憶部12と、操作部13と、表示部14とを含んで構成されている。 Embodiments of the present invention will be described with reference to the drawings. As illustrated in FIG. 1, the automatic certification device 1 according to the embodiment of the present invention includes a control unit 11, a storage unit 12, an operation unit 13, and a display unit 14.

ここで制御部11はCPU等のプログラム制御デバイスであり、記憶部12に格納されたプログラムに従って動作する。本実施の形態の一例では、この制御部11は、与えられた証明対象に係るクレイグ補間を表す多項式を生成して出力するソルバーからの入力を受け入れ、当該受け入れた多項式に含まれる係数の比が、整数の比となり、かつ、各係数に対応する値がより小さい値となるように、各係数の値を近似した近似係数の組を、複数求める。 Here, the control unit 11 is a program control device such as a CPU, and operates according to a program stored in the storage unit 12. In an example of this embodiment, the control unit 11 accepts an input from a solver that generates and outputs a polynomial representing Craig interpolation related to a given proof object, and the ratio of the coefficients included in the accepted polynomial is , A plurality of sets of approximation coefficients that approximate the values of each coefficient are obtained so that the ratio of integers is obtained and the value corresponding to each coefficient is a smaller value.

なお、ここで補間は、論理式における補間をいい、
XかつYが充足不能な式であるときに、
XならばZが恒真式であり、
ZかつYが充足不能な式であり、かつ、
Zに現れる変数がX,Yの双方に現れる、という場合のZが「XならばY」のクレイグ補間と呼ばれるものである。
Note that interpolation here refers to interpolation in a logical expression.
When X and Y are unsatisfiable expressions
If X, then Z is tautological,
Z and Y are unsatisfiable expressions, and
When the variable appearing in Z appears in both X and Y, it is called Craig interpolation in which Z is "X then Y".

またこの制御部11は、当該複数求められた近似係数の組のうちから、予め定めた方法で決定された順に近似係数の組を選択する。一例として、当該近似係数の絶対値の和が小さいものから順に選択することとすればよい(1ノルムが最小のものからの順)。また別の例では、各係数の二乗和が最小のものから順(2ノルムが最小のものからの順)、あるいは、係数の絶対値の最大値が最小のものから順(無限大ノルムが最小のものからの順)に選択することとしてもよい。 Further, the control unit 11 selects a set of approximation coefficients from the plurality of sets of approximation coefficients obtained in the order determined by a predetermined method. As an example, the sum of the absolute values of the approximation coefficients may be selected in ascending order (in order from the one having the smallest 1 norm). In another example, the sum of squares of each coefficient is in ascending order (from the one with the smallest 2 norms), or the maximum absolute value of the coefficients is in ascending order (the infinite norm is the smallest). It may be selected in order from the one).

制御部11は、受け入れた多項式の係数のそれぞれを、当該選択した近似係数の組に含まれる対応する値に置き換えた試行多項式を生成し、当該試行多項式が、クレイグ補間を表す多項式として成立するかを検証する。制御部11は、この検証の処理により、求めたいずれかの近似係数に基づく試行多項式が、クレイグ補間を表す多項式として成立していると判断すると、当該近似係数を、解として所定の処理に供する。 The control unit 11 generates a trial polynomial in which each of the coefficients of the accepted polynomial is replaced with a corresponding value included in the selected set of approximate coefficients, and whether the trial polynomial is established as a polynomial representing Craig interpolation. To verify. When the control unit 11 determines that the trial polynomial based on any of the obtained approximation coefficients is established as a polynomial representing Craig interpolation by the processing of this verification, the control unit 11 uses the approximation coefficient as a solution for a predetermined process. ..

また制御部11は、上記求めたいずれかの近似係数に基づく試行多項式のいずれもがクレイグ補間を表す多項式として成立しないと判断したときには、エラーが発生したものとして所定の処理を実行する。この制御部11の詳しい動作については後に述べる。 Further, when it is determined that none of the trial polynomials based on any of the obtained approximation coefficients is established as a polynomial representing Craig interpolation, the control unit 11 executes a predetermined process assuming that an error has occurred. The detailed operation of the control unit 11 will be described later.

記憶部12は、メモリデバイス等であり、制御部11によって実行されるプログラムを保持する。このプログラムは、コンピュータ可読かつ、非一時的な記憶媒体に格納されて提供され、この記憶部12に複写されたものであってもよい。本実施の形態において、この記憶部12は、また、制御部11のワークメモリとしても動作する。 The storage unit 12 is a memory device or the like, and holds a program executed by the control unit 11. This program may be provided stored in a computer-readable and non-temporary storage medium and copied to the storage unit 12. In the present embodiment, the storage unit 12 also operates as a work memory of the control unit 11.

操作部13は、キーボードやマウス等であり、ユーザの指示入力を受け入れて、当該指示入力の内容を制御部11に出力する。表示部14は、ディスプレイ等であり、制御部11から入力される指示に従い、情報を表示出力する。 The operation unit 13 is a keyboard, a mouse, or the like, receives a user's instruction input, and outputs the content of the instruction input to the control unit 11. The display unit 14 is a display or the like, and displays and outputs information according to an instruction input from the control unit 11.

ここで制御部11の動作について説明する。本実施の形態では、この制御部11は、記憶部12に格納されたプログラムを実行することにより、機能的に、図2に例示するように、ソルバー出力受入部21と、係数演算部22と、検証処理部23と、解生成部24と、出力部25とを含んで構成される。また本実施の形態では、図2に示すように、この制御部11が、与えられた証明対象に係るクレイグ補間を表す多項式を生成して出力するソルバーとしても動作し、ソルバー部31をさらに含んでもよい。もっとも、このソルバー部31は、他のコンピュータによって実現されてもよく、その場合は、後に説明するソルバー出力受入部21は、当該ソルバーとして機能する他のコンピュータから、ソルバーの出力を受け入れることとなる。 Here, the operation of the control unit 11 will be described. In the present embodiment, the control unit 11 functionally includes the solver output receiving unit 21 and the coefficient calculation unit 22 as illustrated in FIG. 2 by executing the program stored in the storage unit 12. , A verification processing unit 23, a solution generation unit 24, and an output unit 25 are included. Further, in the present embodiment, as shown in FIG. 2, the control unit 11 also operates as a solver that generates and outputs a polynomial representing Craig interpolation related to the given proof target, and further includes the solver unit 31. But it may be. However, the solver unit 31 may be realized by another computer, and in that case, the solver output receiving unit 21 described later receives the output of the solver from the other computer functioning as the solver. ..

本実施の形態の一例に係るソルバー部31は、証明対象として与えられた一対の制約T,T′のクレイグ補間を生成する問題を、半正定値計画問題へ変換する。 The solver unit 31 according to an example of the present embodiment converts the problem of generating the Craig interpolation of the pair of constraints T and T'given as the proof target into the semidefinite programming problem.

すなわち、ソルバー部31は、証明対象に係る制約T,T′のそれぞれを、任意の変数値に対して
0以上である少なくとも一つの多項式f、
0より大である少なくとも一つの多項式g、
0に等しい少なくとも一つの多項式h
のいずれかを少なくとも一つ含む表現

Figure 0006910228
に変換する。 That is, the solver unit 31 sets the constraints T and T ′ related to the proof target to at least one polynomial f, which is 0 or more with respect to an arbitrary variable value.
At least one polynomial g, greater than 0,
At least one polynomial h equal to 0
Expressions containing at least one of
Figure 0006910228
Convert to.

なお、個々の多項式f,f,…f,g,g…,g,h,h…h,f′,f′…,f′s′,g′,g′…,g′t′,h′,h′…h′u′は予め、制約T,T′に共通に現れる変数Xの多項式として任意に定めておく。 In addition, the individual polynomial f 1, f 2, ... f s, g 1, g 2 ..., g t, h 1, h 2 ... h u, f '1, f' 2 ..., f 's', g' 1, g '2 ..., g ' t ', h' 1, h '2 ... h' u ' in advance, restrictions T, T' previously arbitrarily defined as a polynomial of a variable X that appears in common to.

このように、証明対象に係る制約T,T′のそれぞれを、任意の変数値に対して
0以上である少なくとも一つの多項式f、
0より大である少なくとも一つの多項式g、
0に等しい少なくとも一つの多項式h
のいずれかを少なくとも一つ含む表現で表しておき、ソルバーにて数値解を演算することで、非特許文献1に開示された技術のように、証明対象に係る制約を、0に等しくない多項式を含む多項式の集合で記述する場合に比べ、補間を得やすくなる。
In this way, at least one polynomial f, in which each of the constraints T and T'related to the proof target is 0 or more with respect to an arbitrary variable value,
At least one polynomial g, greater than 0,
At least one polynomial h equal to 0
By expressing a numerical solution that includes at least one of It is easier to obtain interpolation than when describing with a set of polynomials including.

具体的にこのソルバー部31は、図3に例示するように、不等式を用いた半代数系(SAS:Semialgebraic System with inequalities)にて表現された制約T,T′及び、最大次数(degree)を表す自然数bを受け入れる(S1)。 Specifically, as illustrated in FIG. 3, the solver unit 31 has constraints T and T'expressed by a semi-algebraic system with inequalities (SAS < : Semialgebraic System with inequalities) and a maximum degree. Accepts the natural number b representing (S1).

そしてソルバー部31は、次の数式を満足する、ベクトルα,α′,β,β′,γの数値解を見いだす(S2)。すなわち、

Figure 0006910228
とし、i,jをそれぞれ
Figure 0006910228
(すなわち、iをsビットの2進数値、jをtビットの2進数値…など)として、ベクトルα,α′,β,β′,γが
Figure 0006910228
との条件を満足するものとする。 Then, the solver unit 31 finds a numerical solution of the vectors α, α', β, β', and γ that satisfies the following mathematical expression (S2). That is,
Figure 0006910228
Let i and j be respectively
Figure 0006910228
(That is, i is an s-bit binary value, j is a t-bit binary value, etc.), and the vectors α, α', β, β', and γ are
Figure 0006910228
The condition of is satisfied.

またここで、ベクトルα,α′,β,β′,γ間には、次の制約が規定されているものとする。

Figure 0006910228
Further, here, it is assumed that the following restrictions are defined between the vectors α, α', β, β', and γ.
Figure 0006910228

このベクトルα,α′,β,β′,γを得る処理は、記号的解法(例えば量化子除去(quantifier elimination)など)を用いてもよいが、ここでは半正定値計画問題として緩和でき、この場合は広く知られた半正定値計画問題ソルバーを用いることができる。 The process of obtaining the vectors α, α', β, β', and γ may use a symbolic solution (for example, quantifier elimination), but here it can be relaxed as a semidefinite programming problem. In this case, the well-known semidefinite programming problem solver can be used.

ここでC(0)≦bは、次数b以下のSOS(Sum of Squares:複数の多項式p,p…pの二乗和、つまりp +p +…+p )を意味する。また、σ(b)は総和がb+1以下であるような、t個の自然数の組Ntの集合{(k,k,…k)∈Nt|k+k+…+k≦b+1}を意味する。 Here, C (0) ≤ b means SOS (Sum of Squares: multiple polynomials p 1 , p 2 ... p N squared sum, that is, p 1 2 + p 2 2 + ... + p N 2 ) of degree b or less. do. Further, σ (b) is a set of t sets of natural numbers N t such that the sum is b + 1 or less {(k 1 , k 2 , ... k t ) ∈ N t | k 1 + k 2 + ... + k t. It means ≦ b + 1}.

ソルバー部31は、解(数値解)であるベクトルα,α′,β,β′,γが求められたか否かを調べ(S3)、解が見いだせない場合(S3:No)は、ソルバー部31はエラーとして処理を停止する(S4)。この場合は、後に説明するソルバー出力受入部21は、何らの入力を受け入れないこととなる。 The solver unit 31 examines whether or not the vectors α, α', β, β', and γ, which are solutions (numerical solutions), have been obtained (S3), and if no solution can be found (S3: No), the solver unit 31 31 stops processing as an error (S4). In this case, the solver output receiving unit 21, which will be described later, does not accept any input.

また処理S3において解が見いだせたとき(S3:Yes)は、ソルバー部31は、

Figure 0006910228
として、多項式f,g,hを定める(S5)。 When a solution is found in the process S3 (S3: Yes), the solver unit 31
Figure 0006910228
The polynomials f, g, and h are defined as (S5).

そして不等式

Figure 0006910228
を解として出力する。 And the inequality
Figure 0006910228
Is output as a solution.

またソルバー出力受入部21は、ソルバー部31など、ソルバーが出力する解の入力を受け入れる。 Further, the solver output receiving unit 21 receives an input of a solution output by the solver, such as the solver unit 31.

係数演算部22は、ソルバー出力受入部21が受け入れた解に含まれる変数Xの係数の整数比を少なくとも一つ(好適には複数)求める。本実施の形態の一例では、この係数演算部22は、連分数展開の方法を用いて、この整数比を得る。すなわち係数演算部22は、ソルバー出力受入部21が受け入れた解に含まれる変数Xのすべての係数が自然数となるよう、受け入れた解を10倍する。ここでのnは、すべての係数が自然数となる最小の正の整数とする。 The coefficient calculation unit 22 obtains at least one (preferably a plurality) integer ratios of the coefficients of the variables X included in the solution received by the solver output receiving unit 21. In an example of this embodiment, the coefficient calculation unit 22 obtains this integer ratio by using the method of continued fraction expansion. That is, the coefficient calculation unit 22 multiplies the received solution by 10 n so that all the coefficients of the variables X included in the solution received by the solver output receiving unit 21 are natural numbers. Here, n is the smallest positive integer in which all the coefficients are natural numbers.

係数演算部22は、こうして得られた各係数x,x…x(いずれも自然数であって、少なくとも1つは0でない)について、次の処理(連分数展開(CFE)処理と呼ぶ)を実行する。 The coefficient calculation unit 22 performs the following processing (referred to as continued fraction expansion (CFE) processing) for each coefficient x 1 , x 2 ... x n (all are natural numbers and at least one is not 0) thus obtained. To execute.

図4に示すように、まず、係数演算部22は、深さd(dは正の整数)の指定を受け入れる(S11)。なお、深さdが指定されていないときはd=1とする。また係数演算部22は、係数x,x…xのうち最小の係数をxとして、係数x,x…xのそれぞれを、このxで除した数を超えない最大の整数の組

Figure 0006910228
を求める(S12)。 As shown in FIG. 4, first, the coefficient calculation unit 22 accepts the designation of the depth d (d is a positive integer) (S11). If the depth d is not specified, d = 1. Up The coefficient calculator 22, the minimum coefficient of the coefficients x 1, x 2 ... x n as x p, the respective coefficients x 1, x 2 ... x n, does not exceed the number obtained by dividing the x p Integer set of
Figure 0006910228
(S12).

係数演算部22は、dが「1」であるか否かを調べ(S13)、dが「1」ならば(S13:Yes)、上記組aの最大公約数を求めて、aの各成分の値をこの最大公約数gcd(a)で除した値の組を求める(S14):

Figure 0006910228
The coefficient calculation unit 22 examines whether or not d is "1" (S13), and if d is "1" (S13: Yes), obtains the greatest common divisor of the above set a, and each component of a is obtained. The value of is divided by the greatest common divisor gcd (a) to obtain a set of values (S14):
Figure 0006910228

係数演算部22は、ここで求めたy(各成分の値の比が、求める整数比となる)を返り値として記憶部12に格納して(S15)、リターンする(再帰的に呼び出されている場合は呼び出し元の処理に戻り、最初に呼び出されていた場合は処理を終了する)。 The coefficient calculation unit 22 stores y (the ratio of the values of each component is the desired integer ratio) obtained here in the storage unit 12 as a return value (S15), and returns (calls recursively). If so, it returns to the caller's process, and if it was called first, it ends the process).

また、処理S13でdが「1」でなければ、係数を
−a,…,xp−1,ap−1,x,xp+1−ap+1p+1,…,x−a
とし、深さdを(d−1)として(S16)、CFE処理を再帰的に(処理S11から)実行し、その返り値をr′とする(S17)。
If d is not "1" in the process S13, the coefficients are set to x 1 −a 1 x p , ..., x p-1 , a p-1 x p , x p , x p + 1 −a p + 1 x p + 1 , ... , X n − a n x p
Let the depth d be (d-1) (S16), the CFE process be recursively executed (from process S11), and the return value be r'(S17).

また係数演算部22は、

Figure 0006910228
にてyを求め(S18)、yの各成分を、これらの最大公約数gcd(y)で除した結果を返り値として記憶部12に格納し(S19)、リターンする。 Further, the coefficient calculation unit 22
Figure 0006910228
Y is obtained in (S18), and the result of dividing each component of y by these greatest common divisors gcd (y) is stored in the storage unit 12 as a return value (S19) and returned.

なお、ここまでの例によって得られる近似係数は、各係数に対応する値が整数となるが、当該整数として求められた近似係数を、さらに共通の整数dで除した有理数としてもよい。すなわち、近似係数は整数であることに限られない。 In the approximation coefficients obtained by the examples so far, the value corresponding to each coefficient is an integer, but the approximation coefficient obtained as the integer may be further divided by a common integer d to be a rational number. That is, the approximation coefficient is not limited to an integer.

検証処理部23は、ソルバー出力受入部21が受け入れた解である多項式の係数を、係数演算部22が記憶部12に格納した各整数比の各値を係数(近似係数)で置き換えた試行多項式を生成する。そして検証処理部23は、生成した試行多項式のうち、クレイグ補間を表す多項式として成立するか否かを検証する。この検証では、T′に対応する多項式の値域と、試行多項式を、ソルバー出力受入部21が受け入れた解の多項式で置き換えたときの値域とを比較し、重なり合わない場合に、クレイグ補間を表す多項式として成立していると判断することとなる。 The verification processing unit 23 replaces the coefficient of the polynomial, which is the solution received by the solver output receiving unit 21, with a coefficient (approximate coefficient) for each value of each integer ratio stored in the storage unit 12 by the coefficient calculation unit 22. To generate. Then, the verification processing unit 23 verifies whether or not the generated trial polynomial is established as a polynomial representing Craig interpolation. In this verification, the range of the polynomial corresponding to T'is compared with the range when the trial polynomial is replaced with the polynomial of the solution accepted by the solver output receiving unit 21, and if they do not overlap, Craig interpolation is expressed. It will be judged that it is established as a polynomial.

検証処理部23は、クレイグ補間を表す多項式として成立している試行多項式であって、係数となっている整数が最も小さいもの(いずれかの変数に着目し、当該変数の係数が最小であるもの、あるいはすべての係数の和が最小である試行多項式)を解生成部24に出力する。 The verification processing unit 23 is a trial polynomial established as a polynomial representing Craig interpolation, and has the smallest coefficient integer (focusing on one of the variables and having the smallest coefficient of the variable). , Or a trial polynomial in which the sum of all coefficients is the smallest) is output to the solution generation unit 24.

なお、この検証処理部23は、係数演算部22が記憶部12に格納した各整数比を用いて生成した試行多項式のいずれもがクレイグ補間を表す多項式として成立していないと判断すると、係数演算部22が、現在の整数比を得るために利用した深さdの値をインクリメント(「1」ないしそれ以上の整数値だけインクリメント)して、係数演算部22に対して、当該インクリメントした後の深さdを出力し、再度、整数比を生成させることとしてもよい。なお、インクリメント後のdの値が予め定めたしきい値を超えたとき、またはインクリメントした後のdの値によっても、dのインクリメント前に得られた整数比と同じ整数比が得られた場合(収束してしまった場合)には、エラーが発生したものとして予め定めた処理を実行する。 When the verification processing unit 23 determines that none of the trial polynomials generated by the coefficient calculation unit 22 using each integer ratio stored in the storage unit 12 is established as a polynomial representing Craig interpolation, the coefficient calculation unit 23 calculates the coefficient. After the value of the depth d used by the unit 22 to obtain the current polynomial ratio is incremented (incremented by an integer value of "1" or more) and the coefficient calculation unit 22 is incremented. The depth d may be output and the integer ratio may be generated again. When the value of d after increment exceeds a predetermined threshold value, or when the value of d after increment also gives the same integer ratio as the integer ratio obtained before incrementing d. (When it has converged), a predetermined process is executed assuming that an error has occurred.

一例として検証処理部23は、上述のようにエラーが発生したと判断したときには、予め定めた処理としてソルバー出力受入部21が受け入れた解をそのまま出力するよう、出力部25に指示してもよい。 As an example, when the verification processing unit 23 determines that an error has occurred as described above, the verification processing unit 23 may instruct the output unit 25 to output the solution accepted by the solver output receiving unit 21 as it is as a predetermined process. ..

解生成部24は、ソルバー出力受入部21が受け入れた解である多項式を、検証処理部23が出力した試行多項式に置き換えて、出力対象となる解を生成する。 The solution generation unit 24 replaces the polynomial that is the solution accepted by the solver output receiving unit 21 with the trial polynomial output by the verification processing unit 23, and generates a solution to be output.

出力部25は、解生成部24が生成した出力対象となる解(または検証処理部23から入力される指示によりソルバー出力受入部21が受け入れた解そのもの)を、解として表示部14に表示出力する。 The output unit 25 displays and outputs the solution to be output generated by the solution generation unit 24 (or the solution itself received by the solver output receiving unit 21 according to the instruction input from the verification processing unit 23) as a solution to the display unit 14. do.

なお、この出力部25は、解を表示部14に表示出力するほか、図示しないプリンタに出力して印刷させてもよいし、他のプログラムの入力となるようデータとして出力して、他のプログラムの処理に供してもよい。 In addition to displaying and outputting the solution to the display unit 14, the output unit 25 may output the solution to a printer (not shown) for printing, or output the solution as data so as to be input to another program, and the other program. May be used for the processing of.

[動作]
本発明の実施の形態は、以上の構成を備えており、次のように動作する。すなわち本実施の形態の一例では、証明対象に係る制約T,T′のそれぞれが、任意の変数値に対して
0以上である少なくとも一つの多項式f、
0より大である少なくとも一つの多項式g、
0に等しい少なくとも一つの多項式h
のいずれかを少なくとも一つ含む表現

Figure 0006910228
に変換されて、その数値解である多項式と、当該多項式が満足する不等式あるいは等式が解として得られる。 [motion]
The embodiment of the present invention has the above configuration and operates as follows. That is, in an example of the present embodiment, at least one polynomial f in which each of the constraints T and T'related to the proof target is 0 or more with respect to an arbitrary variable value,
At least one polynomial g, greater than 0,
At least one polynomial h equal to 0
Expressions containing at least one of
Figure 0006910228
Is converted to, and the polynomial that is the numerical solution and the inequality or equation that the polynomial satisfies are obtained as the solution.

一例として、制約T,T′が、
T:=(y≧x+1)
T′:=(y≦−x−1)
であるとする(図5を参照)と、これらの制約T,T′は同時には満足されない、つまり、T∧T′は矛盾しているから、これらT,T′に共通する変数のみを含む論理式εであって、Tならばε、かつε∧T′が矛盾するεが存在する(クレイグの補間定理)。そしてこのεがクレイグ補間となる。
As an example, the constraints T, T'are
T: = (y ≧ x 2 + 1)
T ': = (y ≦ -x 2 -1)
(See FIG. 5), these constraints T and T'are not satisfied at the same time, that is, since T∧T' is inconsistent, only variables common to these T and T'are included. There exists a formula ε that is ε if T and ε∧T'contradictory (Craig's interpolation theorem). And this ε becomes Craig interpolation.

ソルバーは、この制約T,T′からクレイグ補間εを数値解として得る。具体的に、数値解の一つは、
871.465y+348.560>0
として得られる。
The solver obtains the Craig interpolation ε as a numerical solution from the constraints T and T'. Specifically, one of the numerical solutions is
871.465y + 348.560> 0
Obtained as.

本実施の形態の自動証明装置1は、この係数871.465,348.560を連分数展開の方法によって丸め処理して近似係数を求める。ここでの例では、この丸め処理の結果として、
5,2
11,4
…といった係数が整数の比となるような、近似係数の組が得られる。
The automated theorem proving apparatus 1 of the present embodiment rounds the coefficients 871.465 and 348.560 by the method of continued fraction expansion to obtain an approximation coefficient. In the example here, as a result of this rounding process,
5, 2
11, 4
A set of approximate coefficients is obtained such that the coefficients such as ... are ratios of integers.

自動証明装置1は、これらの得られた近似係数の組のうち、最小の近似係数(含まれる各係数の絶対値の総和が最小のもの、すなわち1ノルムが最小のもの)から順に、もとの多項式における対応する係数に置き換えた試行多項式が、制約T,T′のクレイグ補間εとなっているか否かを調べる。 The automatic proof device 1 starts from the smallest approximation coefficient (the one with the smallest sum of the absolute values of each of the included coefficients, that is, the one with the smallest one norm) among the obtained sets of approximation coefficients. It is examined whether or not the trial polynomial replaced with the corresponding coefficient in the polynomial of is the Craig interpolation ε of the constraints T and T'.

ここでは、自動証明装置1は、係数871.465を、対応する整数の値5に置き換え、係数348.560を、対応する整数の値2に置き換えた、試行多項式を用いた不等式
5y+2>0
が制約T,T′
T:=(y≧x+1)
T′:=(y≦−x−1)
に対するクレイグ補間εとなっているか否かを調べる。
Here, the automated theorem proving device 1 replaces the coefficient 871.465 with the corresponding integer value 5 and the coefficient 348.560 with the corresponding integer value 2, an inequality 5y + 2> 0 using a trial polynomial.
Is the constraint T, T'
T: = (y ≧ x 2 + 1)
T ': = (y ≦ -x 2 -1)
Check if it is Craig interpolation ε for.

ここでの例では、制約Tの表す値域y≧x+1が、試行多項式を用いた不等式5y+2>0の値域に含まれるので、
「制約Tであれば、εである」
が成立する。
In the example here, the range y ≧ x 2 + 1 represented by the constraint T is included in the range of the inequality 5y + 2> 0 using the trial polynomial.
"If the constraint T, it is ε."
Is established.

また、試行多項式を用いた不等式5y+2>0の値域は、制約T′の表す値域y≦−x−1と重なり合わないので、
「εと、制約T′とは矛盾する」
も成立する。
Further, since the range of inequality 5y + 2> 0 with trial polynomials are non-overlapping with the range y ≦ -x 2 -1 representing constrained T ',
"Ε and constraint T'contradiction"
Also holds.

すなわち、この試行多項式を用いた不等式5y+2>0は、上記制約T,T′のクレイグ補間となっていると判断できる。 That is, it can be determined that the inequality 5y + 2> 0 using this trial polynomial is Craig interpolation of the above constraints T and T'.

自動証明装置1は、このように、各不等式(または等式)の値域を比較することで、試行多項式がクレイグ補間となっているか否かを調べて判断する。ここでの例では、上述のように、最初に調べた試行多項式を用いた不等式5y+2>0が与えられた制約T,T′のクレイグ補間となっていると判断できるので、自動証明装置1は、この試行多項式を用いた不等式5y+2>0を解として表示部14に表示出力する。 The automatic proof device 1 examines and determines whether or not the trial polynomial is Craig interpolation by comparing the range of each inequality (or equality) in this way. In the example here, as described above, since it can be determined that the inequality 5y + 2> 0 using the trial polynomial examined first is the Craig interpolation of the constraints T and T', the automatic proof device 1 is used. , The inequality 5y + 2> 0 using this trial polynomial is displayed and output to the display unit 14 as a solution.

この自動証明装置1によると、数値的に得られた解に比べ、簡略にされた不等式により解が示されるので、対応する現実の条件として解釈しやすい解が得られることとなる。 According to the automated theorem proving device 1, the solution is shown by a simplified inequality as compared with the numerically obtained solution, so that a solution that can be easily interpreted as the corresponding actual condition can be obtained.

またこの自動証明装置1が出力した解を、プログラム検証または定理証明の処理システムに入力することで、プログラム検証または定理証明の処理に対して、本実施の形態の自動証明装置1の出力を供することができる。 Further, by inputting the solution output by the automatic proof device 1 into the processing system of the program verification or theorem proving, the output of the automatic proof device 1 of the present embodiment is provided for the processing of the program verification or the theorem proving. be able to.

[変形例(Daiの方法を採用する例)]
本実施の形態の以上の例では、ソルバー(ソルバー部31等)が、証明対象に係る制約として、任意の変数値に対して
0以上である多項式f、
0より大である多項式g、
0に等しい多項式h
のいずれかを少なくとも一つ含んで設定されるものとしたが、クレイグ補間を表す、多項式を用いた不等式あるいは等式が数値解として得られるのであれば、本実施の形態の自動証明装置1は、このソルバーを用いる例に限られず、他のソルバーを用いてもよい。
[Modification example (example of adopting Dai's method)]
In the above example of the present embodiment, the polynomial f, in which the solver (solver unit 31 or the like) is 0 or more with respect to an arbitrary variable value as a constraint relating to the proof target,
Polynomial g, greater than 0,
Polynomial h equal to 0
However, if an inequality or an equation using a polynomial representing Craig interpolation can be obtained as a numerical solution, the automated theorem proving device 1 of the present embodiment is used. , The example using this solver is not limited, and other solvers may be used.

例えば本実施の形態において、数値解を求めるためのソルバーは、非特許文献1に示された方法を採用してもよい。この場合は、証明対象に係る制約が、任意の変数値に対して
0以上である多項式f、
0に等しくない多項式g、
0に等しい多項式h
のいずれかを少なくとも一つ含んで設定されることとなる。
For example, in the present embodiment, the solver for obtaining a numerical solution may adopt the method shown in Non-Patent Document 1. In this case, the polynomial f, whose constraint on the proof target is 0 or more for any variable value,
Polynomial g not equal to 0,
Polynomial h equal to 0
It will be set to include at least one of.

[実施形態の効果]
本実施の形態によると、数値解析された多項式を、比較的簡潔な整数比の係数で表現しなおす。これにより数値解として得られた補間に対応する現実のプログラムの動作等の証明対象への対応付けを簡易にさせることができ、利用者にとっての理解が容易になるだけでなく、自動検証にも有用となる。
[Effect of Embodiment]
According to this embodiment, the numerically analyzed polynomial is re-expressed by a relatively simple integer ratio coefficient. As a result, it is possible to easily associate the operation of the actual program corresponding to the interpolation obtained as a numerical solution with the proof target, which not only makes it easier for the user to understand, but also for automatic verification. It will be useful.

さらに、この処理に用いるソルバーとして、「0に等しくない」との制約の記述を、「0より大である」に置き換えたソルバーを用いることで、比較的多くの制約について補間を得ることができる。 Further, as the solver used for this processing, by using a solver in which the description of the constraint "not equal to 0" is replaced with "greater than 0", interpolation can be obtained for a relatively large number of constraints. ..

本発明では、種々の証明問題に対して比較的簡潔なクレイグ補間の多項式表現を出力できるので、大規模集積回路(LSI)等の、ハードウェアの設計や検証、ソフトウェアプログラムの検証等に、クレイグ補間を用いた方法を採用し、これを自動化する場合に有用である。 Since the present invention can output a relatively simple polynomial representation of Craig interpolation for various proof problems, Craig is used for hardware design and verification of large-scale integrated circuits (LSIs), software program verification, and the like. It is useful when adopting a method using interpolation and automating it.

1 自動証明装置、11 制御部、12 記憶部、13 操作部、14 表示部、21 ソルバー出力受入部、22 係数演算部、23 検証処理部、24 解生成部、25 出力部、31 ソルバー部。

1 Automatic certification device, 11 Control unit, 12 Storage unit, 13 Operation unit, 14 Display unit, 21 Solver output receiving unit, 22 Coefficient calculation unit, 23 Verification processing unit, 24 Solution generation unit, 25 Output unit, 31 Solver unit.

Claims (5)

与えられた証明対象に係るクレイグ補間を表す多項式を生成して出力するソルバーからの入力を受け入れる手段と、
前記受け入れた多項式に含まれる係数の比が、整数の比となり、かつ各係数に対応する値がより小さい値となるよう近似した近似係数を、複数求める係数演算手段と、
前記複数求められた近似係数のうちから、予め定めた方法で決定された順に近似係数を選択し、前記受け入れた多項式の係数を当該選択した近似係数に置き換えた試行多項式を生成し、当該試行多項式が、前記クレイグ補間を表す多項式として成立するかを検証する検証手段と、
前記検証により、前記求めたいずれかの近似係数に基づく前記試行多項式が、前記クレイグ補間を表す多項式として成立すると、前記検証手段により判断されたときに、当該近似係数を、解として生成する生成手段と、
を含み、
前記生成手段は、前記求めたいずれかの近似係数に基づく前記試行多項式が、いずれも前記クレイグ補間を表す多項式として成立しないとして前記検証手段により判断されたときには、エラーが発生したものとして所定の処理を実行する、
自動証明装置。
A means of accepting input from a solver that generates and outputs a polynomial that represents Craig interpolation for a given proof object,
A coefficient calculation means for obtaining a plurality of approximate coefficients so that the ratio of the coefficients included in the accepted polynomial is an integer ratio and the value corresponding to each coefficient is a smaller value.
From the plurality of obtained approximation coefficients, the approximation coefficients are selected in the order determined by a predetermined method, a trial polynomial in which the coefficients of the accepted polynomial are replaced with the selected approximation coefficients is generated, and the trial polynomial is generated. Is a verification means for verifying whether or not is established as a polynomial representing the Craig interpolation.
When the trial polynomial based on any of the obtained approximation coefficients is established as a polynomial representing the Craig interpolation by the verification, the generation means for generating the approximation coefficient as a solution when determined by the verification means. When,
Including
When the verification means determines that none of the trial polynomials based on any of the obtained approximation coefficients is established as a polynomial representing the Craig interpolation, the generation means determines that an error has occurred. To execute,
Automatic certification device.
請求項1記載の自動証明装置であって、
前記ソルバーは、前記証明対象に係る制約が、
任意の変数値に対して
0以上である多項式f、
0より大である多項式g、
0に等しい多項式h
のいずれかを少なくとも一つ含んで設定され、
一対の制約T,T′のクレイグ補間を表す多項式を生成して出力するソルバーである自動証明装置。
The automatic certification device according to claim 1.
The solver has restrictions on the subject of certification.
Polynomial f, which is greater than or equal to 0 for any variable value,
Polynomial g, greater than 0,
Polynomial h equal to 0
Is set to include at least one of
An automated theorem proving device that is a solver that generates and outputs a polynomial that represents Craig interpolation of a pair of constraints T and T'.
請求項1または2に記載の自動証明装置であって、
前記出力される解が、プログラム検証または定理証明の処理に供される自動証明装置。
The automatic certification device according to claim 1 or 2.
An automated theorem proving device in which the output solution is subjected to program verification or theorem proving processing.
請求項1に記載の自動証明装置であって、
前記ソルバーは、前記証明対象に係る制約が、
任意の変数値に対して
0以上である多項式f、
0に等しくない多項式g、
0に等しい多項式h
のいずれかを少なくとも一つ含んで設定され、
一対の制約T,T′のクレイグ補間を表す多項式を生成して出力するソルバーである自動証明装置。
The automatic certification device according to claim 1.
The solver has restrictions on the subject of certification.
Polynomial f, which is greater than or equal to 0 for any variable value,
Polynomial g not equal to 0,
Polynomial h equal to 0
Is set to include at least one of
An automated theorem proving device that is a solver that generates and outputs a polynomial that represents Craig interpolation of a pair of constraints T and T'.
コンピュータを、
与えられた証明対象に係るクレイグ補間を表す多項式を生成して出力するソルバーからの入力を受け入れる手段と、
前記受け入れた多項式に含まれる係数の比が、整数の比となり、かつ各係数に対応する値がより小さい値となるよう近似した近似係数を、複数求める係数演算手段と、
前記複数求められた近似係数のうちから、予め定めた方法で決定された順に近似係数を選択し、前記受け入れた多項式の係数を当該選択した近似係数に置き換えた試行多項式を生成し、当該試行多項式が、前記クレイグ補間を表す多項式として成立するかを検証する検証手段と、
前記検証により、前記求めたいずれかの近似係数に基づく前記試行多項式が、前記クレイグ補間を表す多項式として成立すると、前記検証手段により判断されたときに、当該近似係数を解として生成し、前記求めたいずれかの近似係数に基づく前記試行多項式が、いずれも前記クレイグ補間を表す多項式として成立しないとして前記検証手段により判断されたときには、エラーが発生したものとして所定の処理を実行する生成手段と、
として機能させるプログラム。

Computer,
A means of accepting input from a solver that generates and outputs a polynomial that represents Craig interpolation for a given proof object,
A coefficient calculation means for obtaining a plurality of approximate coefficients so that the ratio of the coefficients included in the accepted polynomial is an integer ratio and the value corresponding to each coefficient is a smaller value.
From the plurality of obtained approximation coefficients, the approximation coefficients are selected in the order determined by a predetermined method, a trial polynomial in which the coefficients of the accepted polynomial are replaced with the selected approximation coefficients is generated, and the trial polynomial is generated. Is a verification means for verifying whether or not is established as a polynomial representing the Craig interpolation.
When the trial polynomial based on any of the obtained approximation coefficients is established as a polynomial representing the Craig interpolation by the verification, the approximation coefficient is generated as a solution when determined by the verification means, and the calculation is performed. When the verification means determines that none of the trial polynomials based on any of the approximation coefficients is established as a polynomial representing the Craig interpolation, a generation means for executing a predetermined process as if an error has occurred, and a generation means.
A program that functions as.

JP2017137949A 2017-07-14 2017-07-14 Automatic certification device and program Expired - Fee Related JP6910228B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017137949A JP6910228B2 (en) 2017-07-14 2017-07-14 Automatic certification device and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017137949A JP6910228B2 (en) 2017-07-14 2017-07-14 Automatic certification device and program

Publications (3)

Publication Number Publication Date
JP2019020966A JP2019020966A (en) 2019-02-07
JP2019020966A5 JP2019020966A5 (en) 2020-08-06
JP6910228B2 true JP6910228B2 (en) 2021-07-28

Family

ID=65354484

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017137949A Expired - Fee Related JP6910228B2 (en) 2017-07-14 2017-07-14 Automatic certification device and program

Country Status (1)

Country Link
JP (1) JP6910228B2 (en)

Also Published As

Publication number Publication date
JP2019020966A (en) 2019-02-07

Similar Documents

Publication Publication Date Title
Schmelzer et al. Evaluating matrix functions for exponential integrators via Carathéodory-Fejér approximation and contour integrals
Zhu et al. Computational aspects of stochastic collocation with multifidelity models
Omairey et al. Multiscale surrogate-based framework for reliability analysis of unidirectional FRP composites
US10311180B2 (en) System and method of recovering Lagrange multipliers in modal dynamic analysis
Anitescu et al. A constraint‐stabilized time‐stepping approach for rigid multibody dynamics with joints, contact and friction
CN107016155B (en) Convergence estimation for nonlinear PDE and linear solver
Ern et al. Weighting the edge stabilization
WO2018135563A1 (en) Secure computing system, secure computing device, secure computing method, and program
Niethammer et al. A numerical stabilization framework for viscoelastic fluid flow using the finite volume method on general unstructured meshes
Luengo Gamma pseudo random number generators
Jin et al. Numerical recovery of a time-dependent potential in subdiffusion
Liang et al. Analytical solution of fractionally damped beam by Adomian decomposition method
Cyranka Existence of globally attracting fixed points of viscous Burgers equation with constant forcing. A computer assisted proof
JP6910228B2 (en) Automatic certification device and program
JP5068228B2 (en) Non-negative matrix decomposition numerical calculation method, non-negative matrix decomposition numerical calculation apparatus, program, and storage medium
Feulvarch et al. A stable P1∕ P1 finite element for finite strain von Mises elasto-plasticity
Jiang et al. A stochastic perturbation finite element-least square point interpolation method for the analysis of uncertain structural-acoustics problems with random variables
JP2024155903A (en) Systems and methods for resolving numerical instabilities - Patents.com
Giuliano et al. Almost sure local limit theorem for the Dickman distribution
Huang et al. Global strong solutions with large initial data for the Cauchy problem of the multi-dimensional compressible Navier-Stokes-Korteweg system
Moore Filter based stabilization methods for reduced order models of convection-dominated systems
CN107424190B (en) Image processing method, image processing device, computer-readable storage medium and electronic equipment
Jusoh et al. Numerical Solver of A (alpha)-stable for Stiff Ordinary Differential Equations.
US11579956B2 (en) Feasibility analysis for automatic programmatic generation of a lookup table and automatic programmatic generation of the lookup table that conforms with an error tolerance
Serra-Capizzano et al. Two-Grid Methods for Hermitian positive definite linear systems connected with an order relation

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200626

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200626

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20201013

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201014

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210528

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210615

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210706

R150 Certificate of patent or registration of utility model

Ref document number: 6910228

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees