float_quat_of_rmat_trace_pos_ensures.json 9.2 KB
Newer Older
POLLIEN Baptiste's avatar
POLLIEN Baptiste committed
1
[ { "header": "Definition", "tactic": "Wp.unfold", "params": {},
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
    "select": { "select": "inside-goal", "occur": 0,
                "target": "(L_l_FloatQuat_of_RMat_trace_pos_t Mf32_0 rm_0)",
                "pattern": "L_l_FloatQuat_of_RMat_trace_pos_t" },
    "children": { "Unfold 'L_l_FloatQuat_of_RMat_trace_pos_t'": [ { "header": "Definition",
                                                                    "tactic": "Wp.unfold",
                                                                    "params": {},
                                                                    "select": 
                                                                    { "select": "inside-goal",
                                                                    "occur": 0,
                                                                    "target": "(L_l_FloatQuat_of_RMat_trace_pos_1_\n  (L_transpose (L_l_RMat_of_FloatRMat Mf32_0 rm_0)))",
                                                                    "pattern": "L_l_FloatQuat_of_RMat_trace_pos_1_" },
                                                                    "children": 
                                                                    { "Unfold 'L_l_FloatQuat_of_RMat_trace_pos_1_'": 
                                                                    [ { "header": "Definition",
                                                                    "tactic": "Wp.unfold",
                                                                    "params": {},
                                                                    "select": 
                                                                    { "select": "inside-goal",
                                                                    "occur": 0,
                                                                    "target": "(L_transpose (L_l_RMat_of_FloatRMat Mf32_0 rm_0))",
                                                                    "pattern": "L_transposeL_l_RMat_of_FloatRMat" },
                                                                    "children": 
                                                                    { "Unfold 'L_transpose'": 
                                                                    [ { "header": "Definition",
                                                                    "tactic": "Wp.unfold",
                                                                    "params": {},
                                                                    "select": 
                                                                    { "select": "inside-goal",
                                                                    "occur": 0,
                                                                    "target": "(L_l_Quat_of_FloatQuat Mf32_0 q_0)",
                                                                    "pattern": "L_l_Quat_of_FloatQuat$Mf32$q" },
                                                                    "children": 
                                                                    { "Unfold 'L_l_Quat_of_FloatQuat'": 
                                                                    [ { "header": "Definition",
                                                                    "tactic": "Wp.unfold",
                                                                    "params": {},
                                                                    "select": 
                                                                    { "select": "inside-step",
40
                                                                    "at": 3,
41 42
                                                                    "kind": "have",
                                                                    "occur": 0,
POLLIEN Baptiste's avatar
POLLIEN Baptiste committed
43
                                                                    "target": "(L_trace_2_ Mf32_1 rm_0)",
44 45 46
                                                                    "pattern": "L_trace_2_$Mf32$rm" },
                                                                    "children": 
                                                                    { "Unfold 'L_trace_2_'": 
POLLIEN Baptiste's avatar
POLLIEN Baptiste committed
47 48 49 50 51
                                                                    [ { "header": "Definition",
                                                                    "tactic": "Wp.unfold",
                                                                    "params": {},
                                                                    "select": 
                                                                    { "select": "inside-step",
52
                                                                    "at": 3,
POLLIEN Baptiste's avatar
POLLIEN Baptiste committed
53 54
                                                                    "kind": "have",
                                                                    "occur": 0,
POLLIEN Baptiste's avatar
POLLIEN Baptiste committed
55
                                                                    "target": "(L_trace_1_ (L_l_RMat_of_FloatRMat Mf32_1 rm_0))",
POLLIEN Baptiste's avatar
POLLIEN Baptiste committed
56 57 58 59 60 61 62 63
                                                                    "pattern": "L_trace_1_L_l_RMat_of_FloatRMat$Mf32" },
                                                                    "children": 
                                                                    { "Unfold 'L_trace_1_'": 
                                                                    [ { "header": "Definition",
                                                                    "tactic": "Wp.unfold",
                                                                    "params": {},
                                                                    "select": 
                                                                    { "select": "inside-step",
64
                                                                    "at": 3,
POLLIEN Baptiste's avatar
POLLIEN Baptiste committed
65 66
                                                                    "kind": "have",
                                                                    "occur": 0,
POLLIEN Baptiste's avatar
POLLIEN Baptiste committed
67
                                                                    "target": "(L_l_RMat_of_FloatRMat Mf32_1 rm_0)",
POLLIEN Baptiste's avatar
POLLIEN Baptiste committed
68 69 70
                                                                    "pattern": "L_l_RMat_of_FloatRMat$Mf32$rm" },
                                                                    "children": 
                                                                    { "Unfold 'L_l_RMat_of_FloatRMat'": 
POLLIEN Baptiste's avatar
POLLIEN Baptiste committed
71
                                                                    [ { "header": "Definition",
POLLIEN Baptiste's avatar
POLLIEN Baptiste committed
72 73 74 75 76 77 78 79
                                                                    "tactic": "Wp.unfold",
                                                                    "params": {},
                                                                    "select": 
                                                                    { "select": "clause-goal",
                                                                    "target": "let a_0 = (shiftfield_F9_FloatRMat_m rm_0) in\nlet r_0 =\n    (\\sqrt\n      (1+Mf32_1[(shift_float32 a_0 0)]+Mf32_1[(shift_float32 a_0 4)]+\n       Mf32_1[(shift_float32 a_0 8)])) in\nlet r_1 = (1/2*r_0) in\nlet m_0 = Mf32_1[(shiftfield_F7_FloatQuat_qi q_0)->r_1] in\nlet r_2 = (2*r_0) in\nlet r_3 =\n    ((m_0[(shift_float32 a_0 5)]-m_0[(shift_float32 a_0 7)]) div r_2) in\nlet m_1 = m_0[(shiftfield_F7_FloatQuat_qx q_0)->r_3] in\nlet r_4 =\n    ((m_1[(shift_float32 a_0 6)]-m_1[(shift_float32 a_0 2)]) div r_2) in\nlet m_2 = m_1[(shiftfield_F7_FloatQuat_qy q_0)->r_4] in\nlet r_5 =\n    ((m_2[(shift_float32 a_0 1)]-m_2[(shift_float32 a_0 3)]) div r_2) in\nlet a_1 =\n    (L_l_RMat_of_FloatRMat m_2[(shiftfield_F7_FloatQuat_qz q_0)->r_5] rm_0) in\nlet r_6 = a_1.F12_RealRMat_s_a10 in\nlet r_7 = a_1.F12_RealRMat_s_a20 in\nlet r_8 = a_1.F12_RealRMat_s_a01 in\nlet r_9 = a_1.F12_RealRMat_s_a21 in\nlet r_10 = a_1.F12_RealRMat_s_a02 in\nlet r_11 = a_1.F12_RealRMat_s_a12 in\nlet r_12 =\n    (1/2\n       div (\\sqrt\n             (1+\n              (L_trace_1_\n                {\n                   a_1 with\n                   F12_RealRMat_s_a01 = r_6 ;\n                   F12_RealRMat_s_a02 = r_7 ;\n                   F12_RealRMat_s_a10 = r_8 ;\n                   F12_RealRMat_s_a12 = r_9 ;\n                   F12_RealRMat_s_a20 = r_10 ;\n                   F12_RealRMat_s_a21 = r_11\n                })))) in\n(EqS13_RealQuat_s\n  {\n     F13_RealQuat_s_qi = 1/4 div r_12 ;\n     F13_RealQuat_s_qx = (r_11-r_9)*r_12 ;\n     F13_RealQuat_s_qy = (r_7-r_10)*r_12 ;\n     F13_RealQuat_s_qz = (r_8-r_6)*r_12\n  }\n  {\n     F13_RealQuat_s_qi = r_1 ;\n     F13_RealQuat_s_qx = r_3 ;\n     F13_RealQuat_s_qy = r_4 ;\n     F13_RealQuat_s_qz = r_5\n  })",
                                                                    "pattern": "EqS13_RealQuat_s{RealQuat_s}{RealQuat_s}" },
                                                                    "children": 
                                                                    { "Unfold 'EqS13_RealQuat_s'": 
POLLIEN Baptiste's avatar
POLLIEN Baptiste committed
80
                                                                    [ { "prover": "Alt-Ergo:2.3.3",
81
                                                                    "verdict": "valid",
POLLIEN Baptiste's avatar
POLLIEN Baptiste committed
82 83
                                                                    "time": 9.2189,
                                                                    "steps": 4599 } ] } } ] } } ] } } ] } } ] } } ] } } ] } } ] } } ]