float_quat_of_rmat_ensures.json 7.3 KB
Newer Older
POLLIEN Baptiste's avatar
POLLIEN Baptiste committed
1
[ { "header": "Definition", "tactic": "Wp.unfold", "params": {},
POLLIEN Baptiste's avatar
POLLIEN Baptiste committed
2 3 4
    "select": { "select": "clause-goal",
                "target": "(P_unary_quaterion Mf32_0 q_0)",
                "pattern": "P_unary_quaterion$Mf32$q" },
POLLIEN Baptiste's avatar
POLLIEN Baptiste committed
5
    "children": { "Unfold 'P_unary_quaterion'": [ { "header": "Definition",
POLLIEN Baptiste's avatar
POLLIEN Baptiste committed
6 7 8
                                                    "tactic": "Wp.unfold",
                                                    "params": {},
                                                    "select": { "select": "inside-step",
POLLIEN Baptiste's avatar
POLLIEN Baptiste committed
9
                                                                "at": 3,
POLLIEN Baptiste's avatar
POLLIEN Baptiste committed
10 11
                                                                "kind": "have",
                                                                "occur": 0,
POLLIEN Baptiste's avatar
POLLIEN Baptiste committed
12
                                                                "target": "(P_rotation_matrix (L_l_RMat_of_FloatRMat Mf32_1 rm_0))",
POLLIEN Baptiste's avatar
POLLIEN Baptiste committed
13 14 15 16 17 18 19
                                                                "pattern": "P_rotation_matrixL_l_RMat_of_FloatRMat" },
                                                    "children": { "Unfold 'P_rotation_matrix'": 
                                                                    [ { "header": "Definition",
                                                                    "tactic": "Wp.unfold",
                                                                    "params": {},
                                                                    "select": 
                                                                    { "select": "inside-step",
POLLIEN Baptiste's avatar
POLLIEN Baptiste committed
20
                                                                    "at": 3,
POLLIEN Baptiste's avatar
POLLIEN Baptiste committed
21 22
                                                                    "kind": "have",
                                                                    "occur": 0,
POLLIEN Baptiste's avatar
POLLIEN Baptiste committed
23
                                                                    "target": "(L_transpose (L_l_RMat_of_FloatRMat Mf32_1 rm_0))",
POLLIEN Baptiste's avatar
POLLIEN Baptiste committed
24 25 26 27 28 29 30 31
                                                                    "pattern": "L_transposeL_l_RMat_of_FloatRMat" },
                                                                    "children": 
                                                                    { "Unfold 'L_transpose'": 
                                                                    [ { "header": "Definition",
                                                                    "tactic": "Wp.unfold",
                                                                    "params": {},
                                                                    "select": 
                                                                    { "select": "inside-step",
POLLIEN Baptiste's avatar
POLLIEN Baptiste committed
32
                                                                    "at": 3,
POLLIEN Baptiste's avatar
POLLIEN Baptiste committed
33 34
                                                                    "kind": "have",
                                                                    "occur": 0,
POLLIEN Baptiste's avatar
POLLIEN Baptiste committed
35
                                                                    "target": "let a_0 = (L_l_RMat_of_FloatRMat Mf32_1 rm_0) in\n(L_mult_RealRMat a_0\n  {\n     a_0 with\n     F12_RealRMat_s_a01 = a_0.F12_RealRMat_s_a10 ;\n     F12_RealRMat_s_a02 = a_0.F12_RealRMat_s_a20 ;\n     F12_RealRMat_s_a10 = a_0.F12_RealRMat_s_a01 ;\n     F12_RealRMat_s_a12 = a_0.F12_RealRMat_s_a21 ;\n     F12_RealRMat_s_a20 = a_0.F12_RealRMat_s_a02 ;\n     F12_RealRMat_s_a21 = a_0.F12_RealRMat_s_a12\n  })",
POLLIEN Baptiste's avatar
POLLIEN Baptiste committed
36 37 38
                                                                    "pattern": "L_mult_RealRMatL_l_RMat_of_FloatRMat" },
                                                                    "children": 
                                                                    { "Unfold 'L_mult_RealRMat'": 
POLLIEN Baptiste's avatar
POLLIEN Baptiste committed
39 40 41 42
                                                                    [ { "prover": "CVC4:1.9-prerelease:strings+counterexamples",
                                                                    "verdict": "valid",
                                                                    "time": 0.55 },
                                                                    { "header": "Definition",
POLLIEN Baptiste's avatar
POLLIEN Baptiste committed
43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68
                                                                    "tactic": "Wp.unfold",
                                                                    "params": {},
                                                                    "select": 
                                                                    { "select": "inside-step",
                                                                    "at": 2,
                                                                    "kind": "have",
                                                                    "occur": 0,
                                                                    "target": "let a_0 = (L_l_RMat_of_FloatRMat Mf32_27 rm_0) in\nlet r_0 = a_0.F9_RealRMat_s_a00 in\nlet r_1 = a_0.F9_RealRMat_s_a01 in\nlet r_2 = a_0.F9_RealRMat_s_a02 in\nlet r_3 = a_0.F9_RealRMat_s_a10 in\nlet r_4 = a_0.F9_RealRMat_s_a11 in\nlet r_5 = a_0.F9_RealRMat_s_a12 in\nlet r_6 = ((r_0*r_3)+(r_1*r_4)+(r_2*r_5)) in\nlet r_7 = a_0.F9_RealRMat_s_a20 in\nlet r_8 = a_0.F9_RealRMat_s_a21 in\nlet r_9 = a_0.F9_RealRMat_s_a22 in\nlet r_10 = ((r_0*r_7)+(r_1*r_8)+(r_2*r_9)) in\nlet r_11 = ((r_3*r_7)+(r_4*r_8)+(r_5*r_9)) in\n(EqS9_RealRMat_s\n  {\n     F9_RealRMat_s_a00 = (r_0*r_0)+(r_1*r_1)+(r_2*r_2) ;\n     F9_RealRMat_s_a01 = r_6 ;\n     F9_RealRMat_s_a02 = r_10 ;\n     F9_RealRMat_s_a10 = r_6 ;\n     F9_RealRMat_s_a11 = (r_3*r_3)+(r_4*r_4)+(r_5*r_5) ;\n     F9_RealRMat_s_a12 = r_11 ;\n     F9_RealRMat_s_a20 = r_10 ;\n     F9_RealRMat_s_a21 = r_11 ;\n     F9_RealRMat_s_a22 = (r_7*r_7)+(r_8*r_8)+(r_9*r_9)\n  } L_id_rmat)",
                                                                    "pattern": "EqS9_RealRMat_s{RealRMat_s}L_id_rmat" },
                                                                    "children": 
                                                                    { "Unfold 'EqS9_RealRMat_s'": 
                                                                    [ { "header": "Split",
                                                                    "tactic": "Wp.split",
                                                                    "params": {},
                                                                    "select": 
                                                                    { "select": "clause-step",
                                                                    "at": 8,
                                                                    "kind": "branch",
                                                                    "target": "let a_0 = (shiftfield_F6_FloatRMat_m rm_0) in\n0<\n(Mf32_27[(shift_float32 a_0 0)]+Mf32_27[(shift_float32 a_0 4)]+\n Mf32_27[(shift_float32 a_0 8)])",
                                                                    "pattern": "<0+[][][]$Mf32shift_float32$Mf32" },
                                                                    "children": 
                                                                    { "Then": 
                                                                    [ { "prover": "Alt-Ergo:2.3.3",
                                                                    "verdict": "timeout",
                                                                    "time": 10. } ],
                                                                    "Else": [] } } ] } } ] } } ] } } ] } } ] } } ]