float_rmat_of_eulers_321_ensures.json 13.2 KB
Newer Older
1
[ { "header": "Definition", "tactic": "Wp.unfold", "params": {},
POLLIEN Baptiste's avatar
POLLIEN Baptiste committed
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
    "select": { "select": "inside-goal", "occur": 0,
                "target": "let a_0 = (shiftfield_F9_FloatRMat_m rm_0) in\nlet r_0 = Mf32_9[(shiftfield_F10_FloatEulers_psi e_1)] in\nlet r_1 = (\\cos r_0) in\nlet r_2 = Mf32_9[(shiftfield_F10_FloatEulers_theta e_1)] in\nlet r_3 = (\\cos r_2) in\nlet r_4 = (\\sin r_0) in\nlet r_5 = (\\sin r_2) in\nlet r_6 = Mf32_9[(shiftfield_F10_FloatEulers_phi e_1)] in\nlet r_7 = (\\cos r_6) in\nlet r_8 = (\\sin r_6) in\n(L_l_RMat_of_FloatRMat\n  Mf32_9[(shift_float32 a_0 0)->r_1*r_3][(shift_float32 a_0 1)->r_4*r_3]\n    [(shift_float32 a_0 2)->-r_5][(shift_float32 a_0 3)\n    ->(r_8*r_5*r_1)-(r_4*r_7)][(shift_float32 a_0 4)\n    ->(r_7*r_1)+(r_8*r_4*r_5)][(shift_float32 a_0 5)->r_8*r_3]\n    [(shift_float32 a_0 6)->(r_8*r_4)+(r_5*r_7*r_1)][(shift_float32 a_0 7)\n    ->(r_4*r_5*r_7)-(r_8*r_1)][(shift_float32 a_0 8)->r_7*r_3] rm_0)",
                "pattern": "L_l_RMat_of_FloatRMat[=]$rm[=]shift_float32" },
    "children": { "Unfold 'L_l_RMat_of_FloatRMat'": [ { "header": "Definition",
                                                        "tactic": "Wp.unfold",
                                                        "params": {},
                                                        "select": { "select": "clause-goal",
                                                                    "target": "let r_0 = Mf32_9[(shiftfield_F10_FloatEulers_psi e_1)] in\nlet r_1 = (\\cos r_0) in\nlet r_2 = Mf32_9[(shiftfield_F10_FloatEulers_theta e_1)] in\nlet r_3 = (\\cos r_2) in\nlet r_4 = (\\sin r_0) in\nlet r_5 = (\\sin r_2) in\nlet r_6 = Mf32_9[(shiftfield_F10_FloatEulers_phi e_1)] in\nlet r_7 = (\\cos r_6) in\nlet r_8 = (\\sin r_6) in\n(P_rotation_matrix\n  {\n     F12_RealRMat_s_a00 = r_1*r_3 ;\n     F12_RealRMat_s_a01 = r_4*r_3 ;\n     F12_RealRMat_s_a02 = -r_5 ;\n     F12_RealRMat_s_a10 = (r_8*r_5*r_1)-(r_4*r_7) ;\n     F12_RealRMat_s_a11 = (r_7*r_1)+(r_8*r_4*r_5) ;\n     F12_RealRMat_s_a12 = r_8*r_3 ;\n     F12_RealRMat_s_a20 = (r_8*r_4)+(r_5*r_7*r_1) ;\n     F12_RealRMat_s_a21 = (r_4*r_5*r_7)-(r_8*r_1) ;\n     F12_RealRMat_s_a22 = r_7*r_3\n  })",
                                                                    "pattern": "P_rotation_matrix{RealRMat_s}**.-1" },
                                                        "children": { "Unfold 'P_rotation_matrix'": 
                                                                    [ { "header": "Definition",
                                                                    "tactic": "Wp.unfold",
                                                                    "params": {},
                                                                    "select": 
                                                                    { "select": "inside-goal",
                                                                    "occur": 0,
                                                                    "target": "let r_0 = Mf32_9[(shiftfield_F10_FloatEulers_psi e_1)] in\nlet r_1 = (\\cos r_0) in\nlet r_2 = Mf32_9[(shiftfield_F10_FloatEulers_theta e_1)] in\nlet r_3 = (\\cos r_2) in\nlet r_4 = (\\sin r_0) in\nlet r_5 = (\\sin r_2) in\nlet r_6 = Mf32_9[(shiftfield_F10_FloatEulers_phi e_1)] in\nlet r_7 = (\\cos r_6) in\nlet r_8 = (\\sin r_6) in\n(L_transpose\n  {\n     F12_RealRMat_s_a00 = r_1*r_3 ;\n     F12_RealRMat_s_a01 = r_4*r_3 ;\n     F12_RealRMat_s_a02 = -r_5 ;\n     F12_RealRMat_s_a10 = (r_8*r_5*r_1)-(r_4*r_7) ;\n     F12_RealRMat_s_a11 = (r_7*r_1)+(r_8*r_4*r_5) ;\n     F12_RealRMat_s_a12 = r_8*r_3 ;\n     F12_RealRMat_s_a20 = (r_8*r_4)+(r_5*r_7*r_1) ;\n     F12_RealRMat_s_a21 = (r_4*r_5*r_7)-(r_8*r_1) ;\n     F12_RealRMat_s_a22 = r_7*r_3\n  })",
                                                                    "pattern": "L_transpose{RealRMat_s}**.-1++*+" },
                                                                    "children": 
                                                                    { "Unfold 'L_transpose'": 
                                                                    [ { "header": "Definition",
                                                                    "tactic": "Wp.unfold",
                                                                    "params": {},
                                                                    "select": 
                                                                    { "select": "inside-goal",
                                                                    "occur": 0,
                                                                    "target": "L_id_rmat",
                                                                    "pattern": "L_id_rmat" },
                                                                    "children": 
                                                                    { "Unfold 'L_id_rmat'": 
                                                                    [ { "header": "Definition",
                                                                    "tactic": "Wp.unfold",
                                                                    "params": {},
                                                                    "select": 
                                                                    { "select": "inside-goal",
                                                                    "occur": 0,
                                                                    "target": "let r_0 = Mf32_9[(shiftfield_F10_FloatEulers_psi e_1)] in\nlet r_1 = (\\cos r_0) in\nlet r_2 = Mf32_9[(shiftfield_F10_FloatEulers_theta e_1)] in\nlet r_3 = (\\cos r_2) in\nlet r_4 = (r_1*r_3) in\nlet r_5 = (\\sin r_0) in\nlet r_6 = (r_5*r_3) in\nlet r_7 = (\\sin r_2) in\nlet r_8 = (-r_7) in\nlet r_9 = Mf32_9[(shiftfield_F10_FloatEulers_phi e_1)] in\nlet r_10 = (\\cos r_9) in\nlet r_11 = (\\sin r_9) in\nlet r_12 = ((r_11*r_7*r_1)-(r_5*r_10)) in\nlet r_13 = ((r_10*r_1)+(r_11*r_5*r_7)) in\nlet r_14 = (r_11*r_3) in\nlet r_15 = ((r_11*r_5)+(r_7*r_10*r_1)) in\nlet r_16 = ((r_5*r_7*r_10)-(r_11*r_1)) in\nlet r_17 = (r_10*r_3) in\n(L_mult_RealRMat\n  {\n     F12_RealRMat_s_a00 = r_4 ;\n     F12_RealRMat_s_a01 = r_6 ;\n     F12_RealRMat_s_a02 = r_8 ;\n     F12_RealRMat_s_a10 = r_12 ;\n     F12_RealRMat_s_a11 = r_13 ;\n     F12_RealRMat_s_a12 = r_14 ;\n     F12_RealRMat_s_a20 = r_15 ;\n     F12_RealRMat_s_a21 = r_16 ;\n     F12_RealRMat_s_a22 = r_17\n  }\n  {\n     F12_RealRMat_s_a00 = r_4 ;\n     F12_RealRMat_s_a01 = r_12 ;\n     F12_RealRMat_s_a02 = r_15 ;\n     F12_RealRMat_s_a10 = r_6 ;\n     F12_RealRMat_s_a11 = r_13 ;\n     F12_RealRMat_s_a12 = r_16 ;\n     F12_RealRMat_s_a20 = r_8 ;\n     F12_RealRMat_s_a21 = r_14 ;\n     F12_RealRMat_s_a22 = r_17\n  })",
                                                                    "pattern": "L_mult_RealRMat{RealRMat_s}{RealRMat_s}" },
                                                                    "children": 
                                                                    { "Unfold 'L_mult_RealRMat'": 
                                                                    [ { "header": "Definition",
                                                                    "tactic": "Wp.unfold",
                                                                    "params": {},
                                                                    "select": 
                                                                    { "select": "clause-goal",
                                                                    "target": "let r_0 = Mf32_9[(shiftfield_F10_FloatEulers_theta e_1)] in\nlet r_1 = (\\sin r_0) in\nlet r_2 = Mf32_9[(shiftfield_F10_FloatEulers_psi e_1)] in\nlet r_3 = (\\sin r_2) in\nlet r_4 = (\\cos r_0) in\nlet r_5 = (\\cos r_2) in\nlet r_6 = Mf32_9[(shiftfield_F10_FloatEulers_phi e_1)] in\nlet r_7 = (\\sin r_6) in\nlet r_8 = (\\cos r_6) in\nlet r_9 = ((r_8*r_5)+(r_7*r_3*r_1)) in\nlet r_10 = ((r_7*r_1*r_5)-(r_3*r_8)) in\nlet r_11 = ((-1*r_7*r_1*r_4)+(r_3*r_4*r_9)+(r_5*r_4*r_10)) in\nlet r_12 = ((r_3*r_1*r_8)-(r_7*r_5)) in\nlet r_13 = ((r_7*r_3)+(r_1*r_8*r_5)) in\nlet r_14 = ((-1*r_1*r_8*r_4)+(r_3*r_4*r_12)+(r_5*r_4*r_13)) in\nlet r_15 = ((r_7*r_8*r_4*r_4)+(r_12*r_9)+(r_10*r_13)) in\n(EqS12_RealRMat_s\n  {\n     F12_RealRMat_s_a00 = (r_1*r_1)+(r_3*r_3*r_4*r_4)+(r_5*r_5*r_4*r_4) ;\n     F12_RealRMat_s_a01 = r_11 ;\n     F12_RealRMat_s_a02 = r_14 ;\n     F12_RealRMat_s_a10 = r_11 ;\n     F12_RealRMat_s_a11 = (r_7*r_7*r_4*r_4)+(r_10*r_10)+(r_9*r_9) ;\n     F12_RealRMat_s_a12 = r_15 ;\n     F12_RealRMat_s_a20 = r_14 ;\n     F12_RealRMat_s_a21 = r_15 ;\n     F12_RealRMat_s_a22 = (r_8*r_8*r_4*r_4)+(r_12*r_12)+(r_13*r_13)\n  }\n  {\n     F12_RealRMat_s_a00 = 1 ;\n     F12_RealRMat_s_a01 = 0 ;\n     F12_RealRMat_s_a02 = 0 ;\n     F12_RealRMat_s_a10 = 0 ;\n     F12_RealRMat_s_a11 = 1 ;\n     F12_RealRMat_s_a12 = 0 ;\n     F12_RealRMat_s_a20 = 0 ;\n     F12_RealRMat_s_a21 = 0 ;\n     F12_RealRMat_s_a22 = 1\n  })",
                                                                    "pattern": "EqS12_RealRMat_s{RealRMat_s}{RealRMat_s}" },
                                                                    "children": 
                                                                    { "Unfold 'EqS12_RealRMat_s'": 
                                                                    [ { "header": "Split",
                                                                    "tactic": "Wp.split",
                                                                    "params": {},
                                                                    "select": 
                                                                    { "select": "clause-goal",
                                                                    "target": "let r_0 = Mf32_9[(shiftfield_F10_FloatEulers_theta e_1)] in\nlet r_1 = (\\sin r_0) in\nlet r_2 = Mf32_9[(shiftfield_F10_FloatEulers_psi e_1)] in\nlet r_3 = (\\sin r_2) in\nlet r_4 = (\\cos r_0) in\nlet r_5 = (\\cos r_2) in\nlet r_6 = Mf32_9[(shiftfield_F10_FloatEulers_phi e_1)] in\nlet r_7 = (\\sin r_6) in\nlet r_8 = (\\cos r_6) in\nlet r_9 = ((r_7*r_1*r_5)-(r_3*r_8)) in\nlet r_10 = ((r_8*r_5)+(r_7*r_3*r_1)) in\nlet r_11 = ((r_3*r_1*r_8)-(r_7*r_5)) in\nlet r_12 = ((r_7*r_3)+(r_1*r_8*r_5)) in\n(((r_1*r_1)+(r_3*r_3*r_4*r_4)+(r_5*r_5*r_4*r_4))=1)\n/\\ (((r_7*r_7*r_4*r_4)+(r_9*r_9)+(r_10*r_10))=1)\n/\\ (((r_7*r_8*r_4*r_4)+(r_11*r_10)+(r_9*r_12))=0)\n/\\ (((r_8*r_8*r_4*r_4)+(r_11*r_11)+(r_12*r_12))=1)\n/\\ (((-1*r_7*r_1*r_4)+(r_3*r_4*r_10)+(r_5*r_4*r_9))=0)\n/\\ (((-1*r_1*r_8*r_4)+(r_3*r_4*r_11)+(r_5*r_4*r_12))=0)",
                                                                    "pattern": "&======+1+1+0+1+0+0*************" },
                                                                    "children": 
                                                                    { "Goal 1/6": 
                                                                    [ { "prover": "Alt-Ergo:2.3.3",
                                                                    "verdict": "valid",
POLLIEN Baptiste's avatar
POLLIEN Baptiste committed
62
                                                                    "time": 1.5519,
POLLIEN Baptiste's avatar
POLLIEN Baptiste committed
63 64 65 66
                                                                    "steps": 102 } ],
                                                                    "Goal 2/6": 
                                                                    [ { "prover": "Z3:4.8.6",
                                                                    "verdict": "valid",
POLLIEN Baptiste's avatar
POLLIEN Baptiste committed
67 68
                                                                    "time": 0.49,
                                                                    "steps": 2395621 } ],
POLLIEN Baptiste's avatar
POLLIEN Baptiste committed
69
                                                                    "Goal 3/6": 
70
                                                                    [ { "prover": "Alt-Ergo:2.3.3",
POLLIEN Baptiste's avatar
POLLIEN Baptiste committed
71
                                                                    "verdict": "valid",
POLLIEN Baptiste's avatar
POLLIEN Baptiste committed
72
                                                                    "time": 2.404,
POLLIEN Baptiste's avatar
POLLIEN Baptiste committed
73 74
                                                                    "steps": 102 } ],
                                                                    "Goal 4/6": 
75 76
                                                                    [ { "prover": "Z3:4.8.6",
                                                                    "verdict": "valid",
POLLIEN Baptiste's avatar
POLLIEN Baptiste committed
77 78
                                                                    "time": 0.63,
                                                                    "steps": 2395606 } ],
POLLIEN Baptiste's avatar
POLLIEN Baptiste committed
79 80 81
                                                                    "Goal 5/6": 
                                                                    [ { "prover": "Alt-Ergo:2.3.3",
                                                                    "verdict": "valid",
POLLIEN Baptiste's avatar
POLLIEN Baptiste committed
82
                                                                    "time": 1.9978,
POLLIEN Baptiste's avatar
POLLIEN Baptiste committed
83 84 85 86
                                                                    "steps": 102 } ],
                                                                    "Goal 6/6": 
                                                                    [ { "prover": "Alt-Ergo:2.3.3",
                                                                    "verdict": "valid",
POLLIEN Baptiste's avatar
POLLIEN Baptiste committed
87
                                                                    "time": 1.8339,
POLLIEN Baptiste's avatar
POLLIEN Baptiste committed
88
                                                                    "steps": 102 } ] } } ] } } ] } } ] } } ] } } ] } } ] } } ]