[ { "header": "Definition", "tactic": "Wp.unfold", "params": {}, "select": { "select": "inside-goal", "occur": 0, "target": "(L_rotation_with_quat_3_ Mf32_0 q_0 (L_l_Vect_of_FloatVect3 Mf32_0 v_0))", "pattern": "L_rotation_with_quat_3_$Mf32$qL_l_Vect_of_FloatVect3" }, "children": { "Unfold 'L_rotation_with_quat_3_'": [ { "header": "Definition", "tactic": "Wp.unfold", "params": {}, "select": { "select": "inside-goal", "occur": 0, "target": "(L_rotation_with_quat_2_ (L_l_QuatVect_of_FloatQuat Mf32_0 q_0)\n (L_l_Vect_of_FloatVect3 Mf32_0 v_0))", "pattern": "L_rotation_with_quat_2_L_l_QuatVect_of_FloatQuat" }, "children": { "Unfold 'L_rotation_with_quat_2_'": [ { "header": "Definition", "tactic": "Wp.unfold", "params": {}, "select": { "select": "inside-goal", "occur": 0, "target": "(L_l_QuatVect_of_FloatQuat Mf32_0 q_0)", "pattern": "L_l_QuatVect_of_FloatQuat$Mf32$q" }, "children": { "Unfold 'L_l_QuatVect_of_FloatQuat'": [ { "header": "Definition", "tactic": "Wp.unfold", "params": {}, "select": { "select": "inside-goal", "occur": 0, "target": "(L_l_Vect_of_FloatVect3 Mf32_0 v_0)", "pattern": "L_l_Vect_of_FloatVect3$Mf32$v" }, "children": { "Unfold 'L_l_Vect_of_FloatVect3'": [ { "header": "Definition", "tactic": "Wp.unfold", "params": {}, "select": { "select": "inside-goal", "occur": 0, "target": "(L_rotation_with_quat_1_\n {\n F15_RealQuatVect_s_scalar = Mf32_0[(shiftfield_F7_FloatQuat_qi q_0)] ;\n F15_RealQuatVect_s_vect =\n {\n F12_RealVect3_s_x = Mf32_0[(shiftfield_F7_FloatQuat_qx q_0)] ;\n F12_RealVect3_s_y = Mf32_0[(shiftfield_F7_FloatQuat_qy q_0)] ;\n F12_RealVect3_s_z = Mf32_0[(shiftfield_F7_FloatQuat_qz q_0)]\n }\n }\n {\n F15_RealQuatVect_s_scalar = 0 ;\n F15_RealQuatVect_s_vect =\n {\n F12_RealVect3_s_x = Mf32_0[(shiftfield_F6_FloatVect3_x v_0)] ;\n F12_RealVect3_s_y = Mf32_0[(shiftfield_F6_FloatVect3_y v_0)] ;\n F12_RealVect3_s_z = Mf32_0[(shiftfield_F6_FloatVect3_z v_0)]\n }\n })", "pattern": "L_rotation_with_quat_1_{RealQuatVect_s}" }, "children": { "Unfold 'L_rotation_with_quat_1_'": [ { "header": "Definition", "tactic": "Wp.unfold", "params": {}, "select": { "select": "inside-goal", "occur": 0, "target": "(L_conj_v_2_\n {\n F15_RealQuatVect_s_scalar = Mf32_0[(shiftfield_F7_FloatQuat_qi q_0)] ;\n F15_RealQuatVect_s_vect =\n {\n F12_RealVect3_s_x = Mf32_0[(shiftfield_F7_FloatQuat_qx q_0)] ;\n F12_RealVect3_s_y = Mf32_0[(shiftfield_F7_FloatQuat_qy q_0)] ;\n F12_RealVect3_s_z = Mf32_0[(shiftfield_F7_FloatQuat_qz q_0)]\n }\n })", "pattern": "L_conj_v_2_{RealQuatVect_s}[]{RealVect3_s}" }, "children": { "Unfold 'L_conj_v_2_'": [ { "header": "Definition", "tactic": "Wp.unfold", "params": {}, "select": { "select": "inside-goal", "occur": 0, "target": "(L_mult_RealQuatVect\n {\n F15_RealQuatVect_s_scalar = Mf32_0[(shiftfield_F7_FloatQuat_qi q_0)] ;\n F15_RealQuatVect_s_vect =\n {\n F12_RealVect3_s_x = Mf32_0[(shiftfield_F7_FloatQuat_qx q_0)] ;\n F12_RealVect3_s_y = Mf32_0[(shiftfield_F7_FloatQuat_qy q_0)] ;\n F12_RealVect3_s_z = Mf32_0[(shiftfield_F7_FloatQuat_qz q_0)]\n }\n }\n {\n F15_RealQuatVect_s_scalar = 0 ;\n F15_RealQuatVect_s_vect =\n {\n F12_RealVect3_s_x = Mf32_0[(shiftfield_F6_FloatVect3_x v_0)] ;\n F12_RealVect3_s_y = Mf32_0[(shiftfield_F6_FloatVect3_y v_0)] ;\n F12_RealVect3_s_z = Mf32_0[(shiftfield_F6_FloatVect3_z v_0)]\n }\n })", "pattern": "L_mult_RealQuatVect{RealQuatVect_s}" }, "children": { "Unfold 'L_mult_RealQuatVect'": [ { "header": "Definition", "tactic": "Wp.unfold", "params": {}, "select": { "select": "inside-goal", "occur": 0, "target": "(L_neg_vect\n {\n F12_RealVect3_s_x = Mf32_0[(shiftfield_F7_FloatQuat_qx q_0)] ;\n F12_RealVect3_s_y = Mf32_0[(shiftfield_F7_FloatQuat_qy q_0)] ;\n F12_RealVect3_s_z = Mf32_0[(shiftfield_F7_FloatQuat_qz q_0)]\n })", "pattern": "L_neg_vect{RealVect3_s}[][][]$Mf32" }, "children": { "Unfold 'L_neg_vect'": [ { "header": "Definition", "tactic": "Wp.unfold", "params": {}, "select": { "select": "inside-goal", "occur": 0, "target": "(L_cross_product\n {\n F12_RealVect3_s_x = Mf32_0[(shiftfield_F7_FloatQuat_qx q_0)] ;\n F12_RealVect3_s_y = Mf32_0[(shiftfield_F7_FloatQuat_qy q_0)] ;\n F12_RealVect3_s_z = Mf32_0[(shiftfield_F7_FloatQuat_qz q_0)]\n }\n {\n F12_RealVect3_s_x = Mf32_0[(shiftfield_F6_FloatVect3_x v_0)] ;\n F12_RealVect3_s_y = Mf32_0[(shiftfield_F6_FloatVect3_y v_0)] ;\n F12_RealVect3_s_z = Mf32_0[(shiftfield_F6_FloatVect3_z v_0)]\n })", "pattern": "L_cross_product{RealVect3_s}{RealVect3_s}" }, "children": { "Unfold 'L_cross_product'": [ { "header": "Definition", "tactic": "Wp.unfold", "params": {}, "select": { "select": "inside-goal", "occur": 0, "target": "(L_mult_scalar_1_ 0\n {\n F12_RealVect3_s_x = Mf32_0[(shiftfield_F7_FloatQuat_qx q_0)] ;\n F12_RealVect3_s_y = Mf32_0[(shiftfield_F7_FloatQuat_qy q_0)] ;\n F12_RealVect3_s_z = Mf32_0[(shiftfield_F7_FloatQuat_qz q_0)]\n })", "pattern": "L_mult_scalar_1_0{RealVect3_s}[]" }, "children": { "Unfold 'L_mult_scalar_1_'": [ { "header": "Definition", "tactic": "Wp.unfold", "params": {}, "select": { "select": "inside-goal", "occur": 0, "target": "(L_mult_scalar_1_ Mf32_0[(shiftfield_F7_FloatQuat_qi q_0)]\n {\n F12_RealVect3_s_x = Mf32_0[(shiftfield_F6_FloatVect3_x v_0)] ;\n F12_RealVect3_s_y = Mf32_0[(shiftfield_F6_FloatVect3_y v_0)] ;\n F12_RealVect3_s_z = Mf32_0[(shiftfield_F6_FloatVect3_z v_0)]\n })", "pattern": "L_mult_scalar_1_[]{RealVect3_s}$Mf32" }, "children": { "Unfold 'L_mult_scalar_1_'": [ { "header": "Definition", "tactic": "Wp.unfold", "params": {}, "select": { "select": "inside-goal", "occur": 0, "target": "let r_0 = Mf32_0[(shiftfield_F7_FloatQuat_qi q_0)] in\n(L_add_RealVect3\n {\n F12_RealVect3_s_x = Mf32_0[(shiftfield_F6_FloatVect3_x v_0)]*r_0 ;\n F12_RealVect3_s_y = Mf32_0[(shiftfield_F6_FloatVect3_y v_0)]*r_0 ;\n F12_RealVect3_s_z = Mf32_0[(shiftfield_F6_FloatVect3_z v_0)]*r_0\n }\n { F12_RealVect3_s_x = 0 ; F12_RealVect3_s_y = 0 ; F12_RealVect3_s_z = 0 })", "pattern": "L_add_RealVect3{RealVect3_s}{RealVect3_s}" }, "children": { "Unfold 'L_add_RealVect3'": [ { "header": "Definition", "tactic": "Wp.unfold", "params": {}, "select": { "select": "inside-goal", "occur": 0, "target": "let r_0 = Mf32_0[(shiftfield_F6_FloatVect3_x v_0)] in\nlet r_1 = Mf32_0[(shiftfield_F7_FloatQuat_qi q_0)] in\nlet r_2 = Mf32_0[(shiftfield_F6_FloatVect3_y v_0)] in\nlet r_3 = Mf32_0[(shiftfield_F6_FloatVect3_z v_0)] in\nlet r_4 = Mf32_0[(shiftfield_F7_FloatQuat_qz q_0)] in\nlet r_5 = Mf32_0[(shiftfield_F7_FloatQuat_qy q_0)] in\nlet r_6 = Mf32_0[(shiftfield_F7_FloatQuat_qx q_0)] in\n(L_add_RealVect3\n {\n F12_RealVect3_s_x = r_0*r_1 ;\n F12_RealVect3_s_y = r_2*r_1 ;\n F12_RealVect3_s_z = r_3*r_1\n }\n {\n F12_RealVect3_s_x = (r_3*r_5)-(r_2*r_4) ;\n F12_RealVect3_s_y = (r_0*r_4)-(r_3*r_6) ;\n F12_RealVect3_s_z = (r_2*r_6)-(r_0*r_5)\n })", "pattern": "L_add_RealVect3{RealVect3_s}{RealVect3_s}" }, "children": { "Unfold 'L_add_RealVect3'": [ { "header": "Definition", "tactic": "Wp.unfold", "params": {}, "select": { "select": "inside-goal", "occur": 0, "target": "(L_scalar_product\n {\n F12_RealVect3_s_x = Mf32_0[(shiftfield_F7_FloatQuat_qx q_0)] ;\n F12_RealVect3_s_y = Mf32_0[(shiftfield_F7_FloatQuat_qy q_0)] ;\n F12_RealVect3_s_z = Mf32_0[(shiftfield_F7_FloatQuat_qz q_0)]\n }\n {\n F12_RealVect3_s_x = Mf32_0[(shiftfield_F6_FloatVect3_x v_0)] ;\n F12_RealVect3_s_y = Mf32_0[(shiftfield_F6_FloatVect3_y v_0)] ;\n F12_RealVect3_s_z = Mf32_0[(shiftfield_F6_FloatVect3_z v_0)]\n })", "pattern": "L_scalar_product{RealVect3_s}{RealVect3_s}" }, "children": { "Unfold 'L_scalar_product'": [ { "header": "Definition", "tactic": "Wp.unfold", "params": {}, "select": { "select": "inside-goal", "occur": 0, "target": "let r_0 = Mf32_0[(shiftfield_F6_FloatVect3_x v_0)] in\nlet r_1 = Mf32_0[(shiftfield_F7_FloatQuat_qx q_0)] in\nlet r_2 = Mf32_0[(shiftfield_F6_FloatVect3_y v_0)] in\nlet r_3 = Mf32_0[(shiftfield_F7_FloatQuat_qy q_0)] in\nlet r_4 = Mf32_0[(shiftfield_F6_FloatVect3_z v_0)] in\nlet r_5 = Mf32_0[(shiftfield_F7_FloatQuat_qz q_0)] in\nlet r_6 = Mf32_0[(shiftfield_F7_FloatQuat_qi q_0)] in\n(L_mult_RealQuatVect\n {\n F15_RealQuatVect_s_scalar = (-(r_0*r_1)-(r_2*r_3)-(r_4*r_5)) ;\n F15_RealQuatVect_s_vect =\n {\n F12_RealVect3_s_x = (r_0*r_6)+(r_4*r_3)-(r_2*r_5) ;\n F12_RealVect3_s_y = (r_0*r_5)+(r_2*r_6)-(r_4*r_1) ;\n F12_RealVect3_s_z = (r_2*r_1)+(r_4*r_6)-(r_0*r_3)\n }\n }\n {\n F15_RealQuatVect_s_scalar = r_6 ;\n F15_RealQuatVect_s_vect =\n {\n F12_RealVect3_s_x = -r_1 ;\n F12_RealVect3_s_y = -r_3 ;\n F12_RealVect3_s_z = -r_5\n }\n })", "pattern": "L_mult_RealQuatVect{RealQuatVect_s}" }, "children": { "Unfold 'L_mult_RealQuatVect'": [ { "header": "Definition", "tactic": "Wp.unfold", "params": {}, "select": { "select": "inside-goal", "occur": 0, "target": "let r_0 = Mf32_0[(shiftfield_F6_FloatVect3_y v_0)] in\nlet r_1 = Mf32_0[(shiftfield_F7_FloatQuat_qz q_0)] in\nlet r_2 = Mf32_0[(shiftfield_F6_FloatVect3_x v_0)] in\nlet r_3 = Mf32_0[(shiftfield_F7_FloatQuat_qi q_0)] in\nlet r_4 = Mf32_0[(shiftfield_F6_FloatVect3_z v_0)] in\nlet r_5 = Mf32_0[(shiftfield_F7_FloatQuat_qy q_0)] in\nlet r_6 = Mf32_0[(shiftfield_F7_FloatQuat_qx q_0)] in\n(L_cross_product\n {\n F12_RealVect3_s_x = (r_2*r_3)+(r_4*r_5)-(r_0*r_1) ;\n F12_RealVect3_s_y = (r_2*r_1)+(r_0*r_3)-(r_4*r_6) ;\n F12_RealVect3_s_z = (r_0*r_6)+(r_4*r_3)-(r_2*r_5)\n }\n {\n F12_RealVect3_s_x = -r_6 ;\n F12_RealVect3_s_y = -r_5 ;\n F12_RealVect3_s_z = -r_1\n })", "pattern": "L_cross_product{RealVect3_s}{RealVect3_s}" }, "children": { "Unfold 'L_cross_product'": [ { "header": "Definition", "tactic": "Wp.unfold", "params": {}, "select": { "select": "inside-goal", "occur": 0, "target": "let r_0 = Mf32_0[(shiftfield_F7_FloatQuat_qi q_0)] in\nlet r_1 = Mf32_0[(shiftfield_F6_FloatVect3_y v_0)] in\nlet r_2 = Mf32_0[(shiftfield_F7_FloatQuat_qz q_0)] in\nlet r_3 = Mf32_0[(shiftfield_F6_FloatVect3_x v_0)] in\nlet r_4 = Mf32_0[(shiftfield_F6_FloatVect3_z v_0)] in\nlet r_5 = Mf32_0[(shiftfield_F7_FloatQuat_qy q_0)] in\nlet r_6 = Mf32_0[(shiftfield_F7_FloatQuat_qx q_0)] in\n(L_mult_scalar_1_ r_0\n {\n F12_RealVect3_s_x = (r_3*r_0)+(r_4*r_5)-(r_1*r_2) ;\n F12_RealVect3_s_y = (r_3*r_2)+(r_1*r_0)-(r_4*r_6) ;\n F12_RealVect3_s_z = (r_1*r_6)+(r_4*r_0)-(r_3*r_5)\n })", "pattern": "L_mult_scalar_1_[]{RealVect3_s}$Mf32" }, "children": { "Unfold 'L_mult_scalar_1_'": [ { "header": "Definition", "tactic": "Wp.unfold", "params": {}, "select": { "select": "inside-goal", "occur": 0, "target": "let r_0 = Mf32_0[(shiftfield_F7_FloatQuat_qx q_0)] in\nlet r_1 = Mf32_0[(shiftfield_F7_FloatQuat_qy q_0)] in\nlet r_2 = Mf32_0[(shiftfield_F7_FloatQuat_qz q_0)] in\n(L_mult_scalar_1_\n (-(Mf32_0[(shiftfield_F6_FloatVect3_x v_0)]*r_0)-\n (Mf32_0[(shiftfield_F6_FloatVect3_y v_0)]*r_1)-\n (Mf32_0[(shiftfield_F6_FloatVect3_z v_0)]*r_2))\n {\n F12_RealVect3_s_x = -r_0 ;\n F12_RealVect3_s_y = -r_1 ;\n F12_RealVect3_s_z = -r_2\n })", "pattern": "L_mult_scalar_1_+{RealVect3_s}.-1" }, "children": { "Unfold 'L_mult_scalar_1_'": [ { "header": "Definition", "tactic": "Wp.unfold", "params": {}, "select": { "select": "inside-goal", "occur": 0, "target": "let r_0 = Mf32_0[(shiftfield_F6_FloatVect3_x v_0)] in\nlet r_1 = Mf32_0[(shiftfield_F7_FloatQuat_qx q_0)] in\nlet r_2 = Mf32_0[(shiftfield_F6_FloatVect3_y v_0)] in\nlet r_3 = Mf32_0[(shiftfield_F7_FloatQuat_qy q_0)] in\nlet r_4 = Mf32_0[(shiftfield_F6_FloatVect3_z v_0)] in\nlet r_5 = Mf32_0[(shiftfield_F7_FloatQuat_qz q_0)] in\nlet r_6 = (-(r_0*r_1)-(r_2*r_3)-(r_4*r_5)) in\nlet r_7 = Mf32_0[(shiftfield_F7_FloatQuat_qi q_0)] in\n(L_add_RealVect3\n {\n F12_RealVect3_s_x = -1*r_6*r_1 ;\n F12_RealVect3_s_y = -1*r_6*r_3 ;\n F12_RealVect3_s_z = -1*r_6*r_5\n }\n {\n F12_RealVect3_s_x = ((r_0*r_7)+(r_4*r_3)-(r_2*r_5))*r_7 ;\n F12_RealVect3_s_y = ((r_0*r_5)+(r_2*r_7)-(r_4*r_1))*r_7 ;\n F12_RealVect3_s_z = ((r_2*r_1)+(r_4*r_7)-(r_0*r_3))*r_7\n })", "pattern": "L_add_RealVect3{RealVect3_s}{RealVect3_s}" }, "children": { "Unfold 'L_add_RealVect3'": [ { "header": "Definition", "tactic": "Wp.unfold", "params": {}, "select": { "select": "inside-goal", "occur": 0, "target": "let r_0 = Mf32_0[(shiftfield_F6_FloatVect3_y v_0)] in\nlet r_1 = Mf32_0[(shiftfield_F7_FloatQuat_qz q_0)] in\nlet r_2 = Mf32_0[(shiftfield_F6_FloatVect3_x v_0)] in\nlet r_3 = Mf32_0[(shiftfield_F7_FloatQuat_qi q_0)] in\nlet r_4 = Mf32_0[(shiftfield_F6_FloatVect3_z v_0)] in\nlet r_5 = Mf32_0[(shiftfield_F7_FloatQuat_qy q_0)] in\nlet r_6 = ((r_2*r_3)+(r_4*r_5)-(r_0*r_1)) in\nlet r_7 = Mf32_0[(shiftfield_F7_FloatQuat_qx q_0)] in\nlet r_8 = (-(r_2*r_7)-(r_0*r_5)-(r_4*r_1)) in\nlet r_9 = ((r_2*r_1)+(r_0*r_3)-(r_4*r_7)) in\nlet r_10 = ((r_0*r_7)+(r_4*r_3)-(r_2*r_5)) in\n(L_add_RealVect3\n {\n F12_RealVect3_s_x = (r_6*r_3)+(-1*r_8*r_7) ;\n F12_RealVect3_s_y = (r_9*r_3)+(-1*r_8*r_5) ;\n F12_RealVect3_s_z = (r_10*r_3)+(-1*r_8*r_1)\n }\n {\n F12_RealVect3_s_x = (-1*r_9*r_1)-(-1*r_10*r_5) ;\n F12_RealVect3_s_y = (-1*r_10*r_7)-(-1*r_6*r_1) ;\n F12_RealVect3_s_z = (-1*r_6*r_5)-(-1*r_9*r_7)\n })", "pattern": "L_add_RealVect3{RealVect3_s}{RealVect3_s}" }, "children": { "Unfold 'L_add_RealVect3'": [ { "prover": "Alt-Ergo:2.3.3", "verdict": "valid", "time": 3.1478, "steps": 142 } ] } } ] } } ] } } ] } } ] } } ] } } ] } } ] } } ] } } ] } } ] } } ] } } ] } } ] } } ] } } ] } } ] } } ] } } ] } } ] } } ]