float_rmat_of_eulers_312_ensures.json 13.3 KB
Newer Older
1 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
[ { "header": "Definition", "tactic": "Wp.unfold", "params": {},
    "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_phi 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 = Mf32_9[(shiftfield_F10_FloatEulers_theta e_1)] in\nlet r_5 = (\\sin r_4) in\nlet r_6 = (\\cos r_2) in\nlet r_7 = (\\cos r_4) in\nlet r_8 = (\\cos r_0) in\n(L_l_RMat_of_FloatRMat\n  Mf32_9[(shift_float32 a_0 0)->(r_6*r_7)-(r_1*r_3*r_5)]\n    [(shift_float32 a_0 1)->(r_3*r_7)+(r_1*r_5*r_6)][(shift_float32 a_0 2)\n    ->-1*r_5*r_8][(shift_float32 a_0 3)->-1*r_3*r_8][(shift_float32 a_0 4)\n    ->r_8*r_6][(shift_float32 a_0 5)->r_1][(shift_float32 a_0 6)\n    ->(r_5*r_6)+(r_1*r_3*r_7)][(shift_float32 a_0 7)\n    ->(r_3*r_5)-(r_1*r_6*r_7)][(shift_float32 a_0 8)->r_8*r_7] 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_phi 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 = Mf32_9[(shiftfield_F10_FloatEulers_theta e_1)] in\nlet r_5 = (\\sin r_4) in\nlet r_6 = (\\cos r_2) in\nlet r_7 = (\\cos r_4) in\nlet r_8 = (\\cos r_0) in\n(P_rotation_matrix\n  {\n     F12_RealRMat_s_a00 = (r_6*r_7)-(r_1*r_3*r_5) ;\n     F12_RealRMat_s_a01 = (r_3*r_7)+(r_1*r_5*r_6) ;\n     F12_RealRMat_s_a02 = -1*r_5*r_8 ;\n     F12_RealRMat_s_a10 = -1*r_3*r_8 ;\n     F12_RealRMat_s_a11 = r_8*r_6 ;\n     F12_RealRMat_s_a12 = r_1 ;\n     F12_RealRMat_s_a20 = (r_5*r_6)+(r_1*r_3*r_7) ;\n     F12_RealRMat_s_a21 = (r_3*r_5)-(r_1*r_6*r_7) ;\n     F12_RealRMat_s_a22 = r_8*r_7\n  })",
                                                                    "pattern": "P_rotation_matrix{RealRMat_s}++*" },
                                                        "children": { "Unfold 'P_rotation_matrix'": 
                                                                    [ { "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_phi 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 = Mf32_9[(shiftfield_F10_FloatEulers_theta e_1)] in\nlet r_5 = (\\sin r_4) in\nlet r_6 = (\\cos r_2) in\nlet r_7 = (\\cos r_4) in\nlet r_8 = (\\cos r_0) in\n(L_transpose\n  {\n     F12_RealRMat_s_a00 = (r_6*r_7)-(r_1*r_3*r_5) ;\n     F12_RealRMat_s_a01 = (r_3*r_7)+(r_1*r_5*r_6) ;\n     F12_RealRMat_s_a02 = -1*r_5*r_8 ;\n     F12_RealRMat_s_a10 = -1*r_3*r_8 ;\n     F12_RealRMat_s_a11 = r_8*r_6 ;\n     F12_RealRMat_s_a12 = r_1 ;\n     F12_RealRMat_s_a20 = (r_5*r_6)+(r_1*r_3*r_7) ;\n     F12_RealRMat_s_a21 = (r_3*r_5)-(r_1*r_6*r_7) ;\n     F12_RealRMat_s_a22 = r_8*r_7\n  })",
                                                                    "pattern": "L_transpose{RealRMat_s}++***\\sin" },
                                                                    "children": 
                                                                    { "Unfold 'L_transpose'": 
                                                                    [ { "header": "Definition",
                                                                    "tactic": "Wp.unfold",
                                                                    "params": {},
                                                                    "select": 
                                                                    { "select": "inside-goal",
                                                                    "occur": 0,
                                                                    "target": "let r_0 = Mf32_9[(shiftfield_F10_FloatEulers_phi 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 = Mf32_9[(shiftfield_F10_FloatEulers_theta e_1)] in\nlet r_5 = (\\sin r_4) in\nlet r_6 = (\\cos r_2) in\nlet r_7 = (\\cos r_4) in\nlet r_8 = ((r_6*r_7)-(r_1*r_3*r_5)) in\nlet r_9 = ((r_3*r_7)+(r_1*r_5*r_6)) in\nlet r_10 = (\\cos r_0) in\nlet r_11 = (-1*r_5*r_10) in\nlet r_12 = (-1*r_3*r_10) in\nlet r_13 = (r_10*r_6) in\nlet r_14 = ((r_5*r_6)+(r_1*r_3*r_7)) in\nlet r_15 = ((r_3*r_5)-(r_1*r_6*r_7)) in\nlet r_16 = (r_10*r_7) in\n(L_mult_RealRMat\n  {\n     F12_RealRMat_s_a00 = r_8 ;\n     F12_RealRMat_s_a01 = r_9 ;\n     F12_RealRMat_s_a02 = r_11 ;\n     F12_RealRMat_s_a10 = r_12 ;\n     F12_RealRMat_s_a11 = r_13 ;\n     F12_RealRMat_s_a12 = r_1 ;\n     F12_RealRMat_s_a20 = r_14 ;\n     F12_RealRMat_s_a21 = r_15 ;\n     F12_RealRMat_s_a22 = r_16\n  }\n  {\n     F12_RealRMat_s_a00 = r_8 ;\n     F12_RealRMat_s_a01 = r_12 ;\n     F12_RealRMat_s_a02 = r_14 ;\n     F12_RealRMat_s_a10 = r_9 ;\n     F12_RealRMat_s_a11 = r_13 ;\n     F12_RealRMat_s_a12 = r_15 ;\n     F12_RealRMat_s_a20 = r_11 ;\n     F12_RealRMat_s_a21 = r_1 ;\n     F12_RealRMat_s_a22 = r_16\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_phi e_1)] in\nlet r_3 = (\\cos r_2) in\nlet r_4 = Mf32_9[(shiftfield_F10_FloatEulers_psi e_1)] in\nlet r_5 = (\\sin r_4) in\nlet r_6 = (\\cos r_0) in\nlet r_7 = (\\sin r_2) in\nlet r_8 = (\\cos r_4) in\nlet r_9 = ((r_5*r_6)+(r_7*r_1*r_8)) in\nlet r_10 = ((r_8*r_6)-(r_7*r_5*r_1)) in\nlet r_11 = ((-1*r_7*r_1*r_3)+(r_3*r_8*r_9)+(-1*r_5*r_3*r_10)) in\nlet r_12 = ((r_5*r_1)-(r_7*r_8*r_6)) in\nlet r_13 = ((r_1*r_8)+(r_7*r_5*r_6)) in\nlet r_14 = ((-1*r_1*r_3*r_3*r_6)+(r_9*r_12)+(r_13*r_10)) in\nlet r_15 = ((r_7*r_3*r_6)+(-1*r_5*r_3*r_13)+(r_3*r_8*r_12)) in\n(EqS12_RealRMat_s\n  {\n     F12_RealRMat_s_a00 = (r_1*r_1*r_3*r_3)+(r_9*r_9)+(r_10*r_10) ;\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_5*r_5*r_3*r_3)+(r_3*r_3*r_8*r_8) ;\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_3*r_3*r_6*r_6)+(r_13*r_13)+(r_12*r_12)\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_phi 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_theta e_1)] in\nlet r_7 = (\\sin r_6) in\nlet r_8 = (\\cos r_6) in\nlet r_9 = ((r_3*r_8)+(r_1*r_7*r_5)) in\nlet r_10 = ((r_5*r_8)-(r_1*r_3*r_7)) in\nlet r_11 = ((r_7*r_5)+(r_1*r_3*r_8)) in\nlet r_12 = ((r_3*r_7)-(r_1*r_5*r_8)) in\n(((r_1*r_1)+(r_3*r_3*r_4*r_4)+(r_4*r_4*r_5*r_5))=1)\n/\\ (((r_7*r_7*r_4*r_4)+(r_9*r_9)+(r_10*r_10))=1)\n/\\ (((r_4*r_4*r_8*r_8)+(r_11*r_11)+(r_12*r_12))=1)\n/\\ (((-1*r_7*r_4*r_4*r_8)+(r_9*r_12)+(r_11*r_10))=0)\n/\\ (((r_1*r_4*r_8)+(-1*r_3*r_4*r_11)+(r_4*r_5*r_12))=0)\n/\\ (((-1*r_1*r_7*r_4)+(r_4*r_5*r_9)+(-1*r_3*r_4*r_10))=0)",
                                                                    "pattern": "&======+1+1+1+0+0+0*************" },
                                                                    "children": 
                                                                    { "Goal 1/6": 
                                                                    [ { "prover": "Alt-Ergo:2.3.3",
                                                                    "verdict": "valid",
POLLIEN Baptiste's avatar
POLLIEN Baptiste committed
62
                                                                    "time": 1.5198,
63 64 65 66
                                                                    "steps": 102 } ],
                                                                    "Goal 2/6": 
                                                                    [ { "prover": "Z3:4.8.6:counterexamples",
                                                                    "verdict": "valid",
POLLIEN Baptiste's avatar
POLLIEN Baptiste committed
67 68
                                                                    "time": 0.03,
                                                                    "steps": 65603 } ],
69 70 71
                                                                    "Goal 3/6": 
                                                                    [ { "prover": "Z3:4.8.6:counterexamples",
                                                                    "verdict": "valid",
POLLIEN Baptiste's avatar
POLLIEN Baptiste committed
72 73
                                                                    "time": 0.05,
                                                                    "steps": 65611 } ],
74 75 76
                                                                    "Goal 4/6": 
                                                                    [ { "prover": "Alt-Ergo:2.3.3",
                                                                    "verdict": "valid",
POLLIEN Baptiste's avatar
POLLIEN Baptiste committed
77
                                                                    "time": 2.4062,
78 79 80 81
                                                                    "steps": 102 } ],
                                                                    "Goal 5/6": 
                                                                    [ { "prover": "Alt-Ergo:2.3.3",
                                                                    "verdict": "valid",
POLLIEN Baptiste's avatar
POLLIEN Baptiste committed
82
                                                                    "time": 1.7948,
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.6473,
88
                                                                    "steps": 102 } ] } } ] } } ] } } ] } } ] } } ] } } ] } } ]