Coding a first-order differential equation as a first-order formula

Can someone help me in deciding what would be the best coding of the next equation using a first order formula to give it as input to the SMT solver ??

x`=Ax+b
+1
source share
1 answer

You can easily code the differential equation in Z3, since it is just a set of n linear (affine) functions over n ^ 2 + n real constants (n ^ 2 from a_ij, n from b_i) and n real variables (x_i). You can code it directly in Z3.

dotx_1 = a_11 * x_1 + a_12 * x_2 + a_13 * x_3 + ... + a_1n * x_n + b_1
dotx_2 = a_21 * x_1 + a_22 * x_2 + a_13 * x_3 + ... + a_2n * x_n + b_2
...
dotx_n = a_n1 * x_1 + a_n2 * x_2 + a_n3 * x_3 + ... + a_nn * x_n + b_n

Here is a link to version 2x2 of this in Z3Py: http://rise4fun.com/Z3Py/pl6P

, ( ). ODE , ( a_ij, x_i / t), () Z3 (., , [1]).

, , , , . - . SMT-LIB, , , , , - . , . , MetiTarski, (, , , , , Z3), Z3, , [6].

, , ( ) ODE. , [2] , , , , dotx_i = a_i1 x_1 + a_i2 x_2 +... + b_i dothatx_i\in [C, D] C D, , () x_i () hatx_i. hatx_i 0 t [C t + x_i (0), D t + x_i (0)], x_i (0) - x_i , t - , . . C, D (, , ), , , ( ) ODE dotx_i .

, , . - , ( ) , . , [., , 3], "" () , , ( ) [4, 5].

[1] . , . . Journal of Symbolic Computation, 32 (3): 231-253, September 2001. http://www.seas.upenn.edu/~pappasg/papers/JSC01.pdf

[2] . , . , . , , Acta Informatica, 43: 7, 2007, 451-476, <2 >

[3] , , Cleve Moler Charles Van Loan, SIAM Review, Vol. 45, № 1 ( 2003 .), . 3-49, http://www.jstor.org/stable/25054364

[4] , . , BIT NUMERICAL MATHEMATICS, 1989, http://www.springerlink.com/content/q2k30rtx2h2n1815/

[5] GRKLib: , , ., , ., , Validated Numerics, 2006, <5 >

[6] MetiTarski, , . . (CICM/AISC), 2012, http://research.microsoft.com/en-us/um/people/leonardo/CICM2012.pdf

+6

All Articles