[ { "header": "Definition", "tactic": "Wp.unfold", "params": {}, "select": { "select": "inside-goal", "occur": 0, "target": "(L_l_FloatQuat_of_RMat_1_max_t Mf32_0 rm_0)", "pattern": "L_l_FloatQuat_of_RMat_1_max_t$Mf32" }, "children": { "Unfold 'L_l_FloatQuat_of_RMat_1_max_t'": [ { "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": "let a_0 = (L_l_RMat_of_FloatRMat Mf32_0 rm_0) in\n(L_l_FloatQuat_of_RMat_1_max_1_\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 })", "pattern": "L_l_FloatQuat_of_RMat_1_max_1_{RealRMat_s}" }, "children": { "Unfold 'L_l_FloatQuat_of_RMat_1_max_1_'": [ { "prover": "Alt-Ergo:2.3.3", "verdict": "valid", "time": 7.8582, "steps": 1632 }, { "header": "Definition", "tactic": "Wp.unfold", "params": {}, "select": { "select": "clause-goal", "target": "let a_0 = (L_l_RMat_of_FloatRMat Mf32_0 rm_0) in\nlet r_0 =\n (\\sqrt\n (1+a_0.F9_RealRMat_s_a11-a_0.F9_RealRMat_s_a00-a_0.F9_RealRMat_s_a22)) in\nlet r_1 = (2*r_0) in\n(EqS10_RealQuat_s\n {\n F10_RealQuat_s_qi =\n (a_0.F9_RealRMat_s_a20-a_0.F9_RealRMat_s_a02) div r_1 ;\n F10_RealQuat_s_qx =\n (a_0.F9_RealRMat_s_a01+a_0.F9_RealRMat_s_a10) div r_1 ;\n F10_RealQuat_s_qy = 1/2*r_0 ;\n F10_RealQuat_s_qz =\n (a_0.F9_RealRMat_s_a12+a_0.F9_RealRMat_s_a21) div r_1\n } (L_l_Quat_of_FloatQuat Mf32_0 q_0))", "pattern": "EqS10_RealQuat_s{RealQuat_s}L_l_Quat_of_FloatQuat" }, "children": { "Unfold 'EqS10_RealQuat_s'": [ { "header": "Definition", "tactic": "Wp.unfold", "params": {}, "select": { "select": "inside-goal", "occur": 0, "target": "(L_l_RMat_of_FloatRMat Mf32_0 rm_0)", "pattern": "L_l_RMat_of_FloatRMat$Mf32$rm" }, "children": { "Unfold 'L_l_RMat_of_FloatRMat'": [ { "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", "at": 3, "kind": "have", "occur": 0, "target": "(L_trace_2_ Mf32_27 rm_0)", "pattern": "L_trace_2_$Mf32$rm" }, "children": { "Unfold 'L_trace_2_'": [ { "header": "Definition", "tactic": "Wp.unfold", "params": {}, "select": { "select": "inside-step", "at": 3, "kind": "have", "occur": 0, "target": "(L_trace_1_ (L_l_RMat_of_FloatRMat Mf32_27 rm_0))", "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", "at": 3, "kind": "have", "occur": 0, "target": "(L_l_RMat_of_FloatRMat Mf32_27 rm_0)", "pattern": "L_l_RMat_of_FloatRMat$Mf32$rm" }, "children": { "Unfold 'L_l_RMat_of_FloatRMat'": [ { "prover": "Alt-Ergo:2.3.3", "verdict": "valid", "time": 3.9911, "steps": 1765 } ] } } ] } } ] } } ] } } ] } } ] } } ] } } ] } } ] } } ]