Commit b289ee40 authored by POLLIEN Baptiste's avatar POLLIEN Baptiste
Browse files

Proof rmat to quat formula

parent 857e39ff
This diff is collapsed.
......@@ -3,9 +3,9 @@
"target": "(separated rm_0 9 q_0 4)",
"pattern": "separated$rm9$q4" },
"children": { "WrongBase": [ { "prover": "CVC4:1.9-prerelease:strings+counterexamples",
"verdict": "valid", "time": 0.83 } ],
"verdict": "valid", "time": 1.3 } ],
"OnLeft": [ { "prover": "CVC4:1.9-prerelease:strings+counterexamples",
"verdict": "valid", "time": 3.87 } ],
"verdict": "valid", "time": 5.04 } ],
"OnRight": [ { "prover": "CVC4:1.9-prerelease:strings+counterexamples",
"verdict": "valid", "time": 3.77 } ],
"verdict": "valid", "time": 5.74 } ],
"OverLap": [ { "prover": "qed", "verdict": "valid" } ] } } ]
......@@ -3,9 +3,9 @@
"target": "(separated rm_0 9 q_0 4)",
"pattern": "separated$rm9$q4" },
"children": { "WrongBase": [ { "prover": "CVC4:1.9-prerelease:strings+counterexamples",
"verdict": "valid", "time": 3.58 } ],
"verdict": "valid", "time": 4.53 } ],
"OnLeft": [ { "prover": "CVC4:1.9-prerelease:strings+counterexamples",
"verdict": "valid", "time": 4.79 } ],
"verdict": "valid", "time": 5.34 } ],
"OnRight": [ { "prover": "CVC4:1.9-prerelease:strings+counterexamples",
"verdict": "valid", "time": 4.51 } ],
"verdict": "valid", "time": 5.8 } ],
"OverLap": [ { "prover": "qed", "verdict": "valid" } ] } } ]
......@@ -3,9 +3,21 @@
"target": "(separated rm_0 9 q_0 4)",
"pattern": "separated$rm9$q4" },
"children": { "WrongBase": [ { "prover": "Alt-Ergo:2.3.3",
"verdict": "valid", "time": 12.4296,
"verdict": "valid", "time": 22.5714,
"steps": 130 } ],
"OnLeft": [ { "header": "Definition",
"OnLeft": [ { "prover": "Z3:4.8.6:noBV",
"verdict": "timeout", "time": 10. },
{ "prover": "Z3:4.8.6:counterexamples",
"verdict": "timeout", "time": 10. },
{ "prover": "Z3:4.8.6", "verdict": "timeout",
"time": 10. },
{ "prover": "Coq:8.12.2",
"verdict": "unknown" },
{ "prover": "CVC4:1.9-prerelease:strings+counterexamples",
"verdict": "timeout", "time": 10. },
{ "prover": "Alt-Ergo:2.3.3",
"verdict": "timeout", "time": 10. },
{ "header": "Definition",
"tactic": "Wp.unfold", "params": {},
"select": { "select": "inside-step",
"at": 3, "kind": "have",
......@@ -16,7 +28,19 @@
[ { "prover": "CVC4:1.9-prerelease:strings+counterexamples",
"verdict": "valid",
"time": 5.34 } ] } } ],
"OnRight": [ { "header": "Definition",
"OnRight": [ { "prover": "Z3:4.8.6:noBV",
"verdict": "timeout", "time": 10. },
{ "prover": "Z3:4.8.6:counterexamples",
"verdict": "timeout", "time": 10. },
{ "prover": "Z3:4.8.6", "verdict": "timeout",
"time": 10. },
{ "prover": "Coq:8.12.2",
"verdict": "unknown" },
{ "prover": "CVC4:1.9-prerelease:strings+counterexamples",
"verdict": "timeout", "time": 10. },
{ "prover": "Alt-Ergo:2.3.3",
"verdict": "timeout", "time": 10. },
{ "header": "Definition",
"tactic": "Wp.unfold", "params": {},
"select": { "select": "inside-step",
"at": 3, "kind": "have",
......
......@@ -3,9 +3,9 @@
"target": "(separated rm_0 9 q_0 4)",
"pattern": "separated$rm9$q4" },
"children": { "WrongBase": [ { "prover": "CVC4:1.9-prerelease:strings+counterexamples",
"verdict": "valid", "time": 6.71 } ],
"verdict": "valid", "time": 6.31 } ],
"OnLeft": [ { "prover": "CVC4:1.9-prerelease:strings+counterexamples",
"verdict": "valid", "time": 12.49 } ],
"verdict": "valid", "time": 10.62 } ],
"OnRight": [ { "prover": "CVC4:1.9-prerelease:strings+counterexamples",
"verdict": "valid", "time": 12.34 } ],
"verdict": "valid", "time": 10.07 } ],
"OverLap": [ { "prover": "qed", "verdict": "valid" } ] } } ]
......@@ -2,7 +2,24 @@
"select": { "select": "inside-goal", "occur": 0,
"target": "let a_0 = (shiftfield_F9_FloatRMat_m rm_0) in\nlet r_0 = Mf32_1[(shiftfield_F7_FloatQuat_qi q_0)] in\nlet r_1 = (2*r_0*r_0) in\nlet r_2 = Mf32_1[(shiftfield_F7_FloatQuat_qx q_0)] in\nlet r_3 = Mf32_1[(shiftfield_F7_FloatQuat_qz q_0)] in\nlet r_4 = (2*r_0*r_3) in\nlet r_5 = Mf32_1[(shiftfield_F7_FloatQuat_qy q_0)] in\nlet r_6 = (2*r_2*r_5) in\nlet r_7 = (2*r_0*r_5) in\nlet r_8 = (2*r_2*r_3) in\nlet r_9 = (2*r_0*r_2) in\nlet r_10 = (2*r_5*r_3) in\n(L_transpose\n (L_l_RMat_of_FloatRMat\n Mf32_1[(shift_float32 a_0 0)->r_1+(2*r_2*r_2)-1][(shift_float32 a_0 1)\n ->r_4+r_6][(shift_float32 a_0 2)->r_8-r_7][(shift_float32 a_0 3)\n ->r_6-r_4][(shift_float32 a_0 4)->r_1+(2*r_5*r_5)-1]\n [(shift_float32 a_0 5)->r_9+r_10][(shift_float32 a_0 6)->r_7+r_8]\n [(shift_float32 a_0 7)->r_10-r_9][(shift_float32 a_0 8)\n ->r_1+(2*r_3*r_3)-1] rm_0))",
"pattern": "L_transposeL_l_RMat_of_FloatRMat" },
"children": { "Unfold 'L_transpose'": [ { "header": "Definition",
"children": { "Unfold 'L_transpose'": [ { "prover": "Z3:4.8.6:noBV",
"verdict": "timeout",
"time": 10. },
{ "prover": "Z3:4.8.6:counterexamples",
"verdict": "timeout",
"time": 10. },
{ "prover": "Z3:4.8.6",
"verdict": "timeout",
"time": 10. },
{ "prover": "Coq:8.12.2",
"verdict": "unknown" },
{ "prover": "CVC4:1.9-prerelease:strings+counterexamples",
"verdict": "timeout",
"time": 10. },
{ "prover": "Alt-Ergo:2.3.3",
"verdict": "timeout",
"time": 10. },
{ "header": "Definition",
"tactic": "Wp.unfold",
"params": {},
"select": { "select": "inside-goal",
......
[ { "prover": "script", "verdict": "valid" },
{ "header": "Definition", "tactic": "Wp.unfold", "params": {},
[ { "header": "Definition", "tactic": "Wp.unfold", "params": {},
"select": { "select": "clause-goal",
"target": "let a_0 = (shiftfield_F9_FloatRMat_m rm_0) in\nlet r_0 = Mf32_1[(shiftfield_F7_FloatQuat_qi q_0)] in\nlet r_1 = (2*r_0*r_0) in\nlet r_2 = Mf32_1[(shiftfield_F7_FloatQuat_qx q_0)] in\nlet r_3 = Mf32_1[(shiftfield_F7_FloatQuat_qz q_0)] in\nlet r_4 = (2*r_0*r_3) in\nlet r_5 = Mf32_1[(shiftfield_F7_FloatQuat_qy q_0)] in\nlet r_6 = (2*r_2*r_5) in\nlet r_7 = (2*r_0*r_5) in\nlet r_8 = (2*r_2*r_3) in\nlet r_9 = (2*r_0*r_2) in\nlet r_10 = (2*r_5*r_3) in\n(P_rotation_matrix\n (L_l_RMat_of_FloatRMat\n Mf32_1[(shift_float32 a_0 0)->r_1+(2*r_2*r_2)-1][(shift_float32 a_0 1)\n ->r_4+r_6][(shift_float32 a_0 2)->r_8-r_7][(shift_float32 a_0 3)\n ->r_6-r_4][(shift_float32 a_0 4)->r_1+(2*r_5*r_5)-1]\n [(shift_float32 a_0 5)->r_9+r_10][(shift_float32 a_0 6)->r_7+r_8]\n [(shift_float32 a_0 7)->r_10-r_9][(shift_float32 a_0 8)\n ->r_1+(2*r_3*r_3)-1] rm_0))",
"pattern": "P_rotation_matrixL_l_RMat_of_FloatRMat" },
......@@ -61,21 +60,21 @@
{ "Goal 1/6":
[ { "prover": "Z3:4.8.6:noBV",
"verdict": "timeout",
"time": 15. },
"time": 10. },
{ "prover": "Z3:4.8.6:counterexamples",
"verdict": "timeout",
"time": 15. },
"time": 10. },
{ "prover": "Z3:4.8.6",
"verdict": "timeout",
"time": 15. },
"time": 10. },
{ "prover": "Coq:8.12.2",
"verdict": "unknown" },
{ "prover": "CVC4:1.9-prerelease:strings+counterexamples",
"verdict": "timeout",
"time": 15. },
"time": 10. },
{ "prover": "Alt-Ergo:2.3.3",
"verdict": "timeout",
"time": 18. },
"time": 10. },
{ "header": "Definition",
"tactic": "Wp.unfold",
"params": {},
......@@ -96,26 +95,26 @@
"Goal 2/6":
[ { "prover": "Alt-Ergo:2.3.3",
"verdict": "valid",
"time": 15.7637,
"time": 13.0668,
"steps": 134 } ],
"Goal 3/6":
[ { "prover": "Z3:4.8.6:noBV",
"verdict": "timeout",
"time": 15. },
"time": 10. },
{ "prover": "Z3:4.8.6:counterexamples",
"verdict": "timeout",
"time": 15. },
"time": 10. },
{ "prover": "Z3:4.8.6",
"verdict": "timeout",
"time": 15. },
"time": 10. },
{ "prover": "Coq:8.12.2",
"verdict": "unknown" },
{ "prover": "CVC4:1.9-prerelease:strings+counterexamples",
"verdict": "timeout",
"time": 15. },
"time": 10. },
{ "prover": "Alt-Ergo:2.3.3",
"verdict": "timeout",
"time": 17. },
"time": 10. },
{ "header": "Definition",
"tactic": "Wp.unfold",
"params": {},
......@@ -136,21 +135,21 @@
"Goal 4/6":
[ { "prover": "Z3:4.8.6:noBV",
"verdict": "timeout",
"time": 15. },
"time": 10. },
{ "prover": "Z3:4.8.6:counterexamples",
"verdict": "timeout",
"time": 15. },
"time": 10. },
{ "prover": "Z3:4.8.6",
"verdict": "timeout",
"time": 15. },
"time": 10. },
{ "prover": "Coq:8.12.2",
"verdict": "unknown" },
{ "prover": "CVC4:1.9-prerelease:strings+counterexamples",
"verdict": "timeout",
"time": 15. },
"time": 10. },
{ "prover": "Alt-Ergo:2.3.3",
"verdict": "timeout",
"time": 17. },
"time": 10. },
{ "header": "Definition",
"tactic": "Wp.unfold",
"params": {},
......@@ -171,7 +170,7 @@
"Goal 5/6":
[ { "prover": "Alt-Ergo:2.3.3",
"verdict": "valid",
"time": 14.8089,
"time": 18.5909,
"steps": 138 } ],
"Goal 6/6":
[ { "header": "Definition",
......@@ -188,5 +187,5 @@
{ "Unfold 'shift_float32'":
[ { "prover": "Alt-Ergo:2.3.3",
"verdict": "valid",
"time": 12.7528,
"time": 11.9438,
"steps": 138 } ] } } ] } } ] } } ] } } ] } } ] } } ] } } ] } } ]
[ { "prover": "Z3:4.8.6:noBV", "verdict": "timeout", "time": 15. },
{ "prover": "Z3:4.8.6:counterexamples", "verdict": "timeout", "time": 15. },
{ "prover": "Z3:4.8.6", "verdict": "timeout", "time": 15. },
{ "prover": "Coq:8.12.2", "verdict": "unknown" },
{ "prover": "CVC4:1.9-prerelease:strings+counterexamples",
"verdict": "timeout", "time": 15. },
{ "prover": "Alt-Ergo:2.3.3", "verdict": "timeout", "time": 15. },
{ "prover": "script", "verdict": "valid" },
{ "header": "Definition", "tactic": "Wp.unfold", "params": {},
[ { "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_1[(shiftfield_F7_FloatQuat_qi q_0)] in\nlet r_1 = (2*r_0*r_0) in\nlet r_2 = Mf32_1[(shiftfield_F7_FloatQuat_qx q_0)] in\nlet r_3 = Mf32_1[(shiftfield_F7_FloatQuat_qz q_0)] in\nlet r_4 = (2*r_0*r_3) in\nlet r_5 = Mf32_1[(shiftfield_F7_FloatQuat_qy q_0)] in\nlet r_6 = (2*r_2*r_5) in\nlet r_7 = (2*r_0*r_5) in\nlet r_8 = (2*r_2*r_3) in\nlet r_9 = (2*r_0*r_2) in\nlet r_10 = (2*r_5*r_3) in\n(L_l_RMat_of_FloatRMat\n Mf32_1[(shift_float32 a_0 0)->r_1+(2*r_2*r_2)-1][(shift_float32 a_0 1)\n ->r_4+r_6][(shift_float32 a_0 2)->r_8-r_7][(shift_float32 a_0 3)\n ->r_6-r_4][(shift_float32 a_0 4)->r_1+(2*r_5*r_5)-1]\n [(shift_float32 a_0 5)->r_9+r_10][(shift_float32 a_0 6)->r_7+r_8]\n [(shift_float32 a_0 7)->r_10-r_9][(shift_float32 a_0 8)\n ->r_1+(2*r_3*r_3)-1] rm_0)",
"pattern": "L_l_RMat_of_FloatRMat[=]$rm[=]shift_float32" },
"children": { "Unfold 'L_l_RMat_of_FloatRMat'": [ { "prover": "Z3:4.8.6:noBV",
"verdict": "timeout",
"time": 15. },
{ "prover": "Z3:4.8.6:counterexamples",
"verdict": "timeout",
"time": 15. },
{ "prover": "Z3:4.8.6",
"verdict": "timeout",
"time": 15. },
{ "prover": "Coq:8.12.2",
"verdict": "unknown" },
{ "prover": "CVC4:1.9-prerelease:strings+counterexamples",
"verdict": "timeout",
"time": 15. },
{ "prover": "Alt-Ergo:2.3.3",
"verdict": "timeout",
"time": 15. },
{ "header": "Definition",
"children": { "Unfold 'L_l_RMat_of_FloatRMat'": [ { "header": "Definition",
"tactic": "Wp.unfold",
"params": {},
"select": { "select": "clause-goal",
"target": "let r_0 = Mf32_1[(shiftfield_F7_FloatQuat_qi q_0)] in\nlet r_1 = (2*r_0*r_0) in\nlet r_2 = Mf32_1[(shiftfield_F7_FloatQuat_qx q_0)] in\nlet r_3 = Mf32_1[(shiftfield_F7_FloatQuat_qz q_0)] in\nlet r_4 = (2*r_0*r_3) in\nlet r_5 = Mf32_1[(shiftfield_F7_FloatQuat_qy q_0)] in\nlet r_6 = (2*r_2*r_5) in\nlet r_7 = (2*r_0*r_5) in\nlet r_8 = (2*r_2*r_3) in\nlet r_9 = (2*r_0*r_2) in\nlet r_10 = (2*r_5*r_3) in\n(P_special_orthogonal\n {\n F12_RealRMat_s_a00 = r_1+(2*r_2*r_2)-1 ;\n F12_RealRMat_s_a01 = r_4+r_6 ;\n F12_RealRMat_s_a02 = r_8-r_7 ;\n F12_RealRMat_s_a10 = r_6-r_4 ;\n F12_RealRMat_s_a11 = r_1+(2*r_5*r_5)-1 ;\n F12_RealRMat_s_a12 = r_9+r_10 ;\n F12_RealRMat_s_a20 = r_7+r_8 ;\n F12_RealRMat_s_a21 = r_10-r_9 ;\n F12_RealRMat_s_a22 = r_1+(2*r_3*r_3)-1\n })",
"pattern": "P_special_orthogonal{RealRMat_s}" },
"children": { "Unfold 'P_special_orthogonal'":
[ { "prover": "Z3:4.8.6:noBV",
"verdict": "timeout",
"time": 15. },
{ "prover": "Z3:4.8.6:counterexamples",
"verdict": "timeout",
"time": 15. },
{ "prover": "Z3:4.8.6",
"verdict": "timeout",
"time": 15. },
{ "prover": "Coq:8.12.2",
"verdict": "unknown" },
{ "prover": "CVC4:1.9-prerelease:strings+counterexamples",
"verdict": "timeout",
"time": 15. },
{ "prover": "Alt-Ergo:2.3.3",
"verdict": "timeout",
"time": 15. },
{ "header": "Definition",
[ { "header": "Definition",
"tactic": "Wp.unfold",
"params": {},
"select":
......@@ -63,21 +21,21 @@
{ "Unfold 'L_determinant'":
[ { "prover": "Z3:4.8.6:noBV",
"verdict": "timeout",
"time": 15. },
"time": 10. },
{ "prover": "Z3:4.8.6:counterexamples",
"verdict": "timeout",
"time": 15. },
"time": 10. },
{ "prover": "Z3:4.8.6",
"verdict": "timeout",
"time": 15. },
"time": 10. },
{ "prover": "Coq:8.12.2",
"verdict": "unknown" },
{ "prover": "CVC4:1.9-prerelease:strings+counterexamples",
"verdict": "timeout",
"time": 15. },
"time": 10. },
{ "prover": "Alt-Ergo:2.3.3",
"verdict": "timeout",
"time": 15. },
"time": 10. },
{ "header": "Definition",
"tactic": "Wp.unfold",
"params": {},
......
[ { "prover": "Z3:4.8.6:noBV", "verdict": "timeout", "time": 10. },
{ "prover": "Z3:4.8.6:counterexamples", "verdict": "timeout", "time": 10. },
{ "prover": "Z3:4.8.6", "verdict": "timeout", "time": 10. },
{ "prover": "Coq:8.12.2", "verdict": "unknown" },
{ "prover": "CVC4:1.9-prerelease:strings+counterexamples",
"verdict": "timeout", "time": 10. },
{ "prover": "Alt-Ergo:2.3.3", "verdict": "timeout", "time": 10. } ]
[ { "prover": "Z3:4.8.6:noBV", "verdict": "timeout", "time": 10. },
{ "prover": "Z3:4.8.6:counterexamples", "verdict": "timeout", "time": 10. },
{ "prover": "Z3:4.8.6", "verdict": "timeout", "time": 10. },
{ "prover": "Coq:8.12.2", "verdict": "unknown" },
{ "prover": "CVC4:1.9-prerelease:strings+counterexamples",
"verdict": "timeout", "time": 10. },
{ "prover": "Alt-Ergo:2.3.3", "verdict": "timeout", "time": 10. },
{ "prover": "script", "verdict": "valid" },
{ "header": "Definition", "tactic": "Wp.unfold", "params": {},
[ { "header": "Definition", "tactic": "Wp.unfold", "params": {},
"select": { "select": "inside-goal", "occur": 0,
"target": "(L_l_RMat_of_FloatQuat_1_ Mf32_0 q_0)",
"pattern": "L_l_RMat_of_FloatQuat_1_$Mf32$q" },
"children": { "Unfold 'L_l_RMat_of_FloatQuat_1_'": [ { "prover": "Z3:4.8.6:noBV",
"verdict": "timeout",
"time": 10. },
{ "prover": "Z3:4.8.6:counterexamples",
"verdict": "timeout",
"time": 10. },
{ "prover": "Z3:4.8.6",
"verdict": "timeout",
"time": 10. },
{ "prover": "Coq:8.12.2",
"verdict": "unknown" },
{ "prover": "CVC4:1.9-prerelease:strings+counterexamples",
"verdict": "timeout",
"time": 10. },
{ "prover": "Alt-Ergo:2.3.3",
"verdict": "timeout",
"time": 10. },
{ "header": "Definition",
"children": { "Unfold 'L_l_RMat_of_FloatQuat_1_'": [ { "header": "Definition",
"tactic": "Wp.unfold",
"params": {},
"select":
......@@ -38,24 +13,7 @@
"pattern": "P_unary_quaternion_1_$Mf32$q" },
"children":
{ "Unfold 'P_unary_quaternion_1_'":
[ { "prover": "Z3:4.8.6:noBV",
"verdict": "timeout",
"time": 10. },
{ "prover": "Z3:4.8.6:counterexamples",
"verdict": "timeout",
"time": 10. },
{ "prover": "Z3:4.8.6",
"verdict": "timeout",
"time": 10. },
{ "prover": "Coq:8.12.2",
"verdict": "unknown" },
{ "prover": "CVC4:1.9-prerelease:strings+counterexamples",
"verdict": "timeout",
"time": 10. },
{ "prover": "Alt-Ergo:2.3.3",
"verdict": "timeout",
"time": 10. },
{ "header": "Definition",
[ { "header": "Definition",
"tactic": "Wp.unfold",
"params": {},
"select":
......@@ -64,24 +22,7 @@
"pattern": "P_rotation_matrix{RealRMat_s}+**" },
"children":
{ "Unfold 'P_rotation_matrix'":
[ { "prover": "Z3:4.8.6:noBV",
"verdict": "timeout",
"time": 10. },
{ "prover": "Z3:4.8.6:counterexamples",
"verdict": "timeout",
"time": 10. },
{ "prover": "Z3:4.8.6",
"verdict": "timeout",
"time": 10. },
{ "prover": "Coq:8.12.2",
"verdict": "unknown" },
{ "prover": "CVC4:1.9-prerelease:strings+counterexamples",
"verdict": "timeout",
"time": 10. },
{ "prover": "Alt-Ergo:2.3.3",
"verdict": "timeout",
"time": 10. },
{ "header": "Definition",
[ { "header": "Definition",
"tactic": "Wp.unfold",
"params": {},
"select":
......@@ -91,24 +32,7 @@
"pattern": "L_id_rmat" },
"children":
{ "Unfold 'L_id_rmat'":
[ { "prover": "Z3:4.8.6:noBV",
"verdict": "timeout",
"time": 10. },
{ "prover": "Z3:4.8.6:counterexamples",
"verdict": "timeout",
"time": 10. },
{ "prover": "Z3:4.8.6",
"verdict": "timeout",
"time": 10. },
{ "prover": "Coq:8.12.2",
"verdict": "unknown" },
{ "prover": "CVC4:1.9-prerelease:strings+counterexamples",
"verdict": "timeout",
"time": 10. },
{ "prover": "Alt-Ergo:2.3.3",
"verdict": "timeout",
"time": 10. },
{ "header": "Definition",
[ { "header": "Definition",
"tactic": "Wp.unfold",
"params": {},
"select":
......@@ -118,24 +42,7 @@
"pattern": "L_transpose{RealRMat_s}+***+***+" },
"children":
{ "Unfold 'L_transpose'":
[ { "prover": "Z3:4.8.6:noBV",
"verdict": "timeout",
"time": 10. },
{ "prover": "Z3:4.8.6:counterexamples",
"verdict": "timeout",
"time": 10. },
{ "prover": "Z3:4.8.6",
"verdict": "timeout",
"time": 10. },
{ "prover": "Coq:8.12.2",
"verdict": "unknown" },
{ "prover": "CVC4:1.9-prerelease:strings+counterexamples",
"verdict": "timeout",
"time": 10. },
{ "prover": "Alt-Ergo:2.3.3",
"verdict": "timeout",
"time": 10. },
{ "header": "Definition",
[ { "header": "Definition",
"tactic": "Wp.unfold",
"params": {},
"select":
......@@ -145,24 +52,7 @@
"pattern": "L_mult_RealRMat{RealRMat_s}{RealRMat_s}" },
"children":
{ "Unfold 'L_mult_RealRMat'":
[ { "prover": "Z3:4.8.6:noBV",
"verdict": "timeout",
"time": 10. },
{ "prover": "Z3:4.8.6:counterexamples",
"verdict": "timeout",
"time": 10. },
{ "prover": "Z3:4.8.6",
"verdict": "timeout",
"time": 10. },
{ "prover": "Coq:8.12.2",
"verdict": "unknown" },
{ "prover": "CVC4:1.9-prerelease:strings+counterexamples",
"verdict": "timeout",
"time": 10. },
{ "prover": "Alt-Ergo:2.3.3",
"verdict": "timeout",
"time": 10. },
{ "header": "Definition",
[ { "header": "Definition",
"tactic": "Wp.unfold",
"params": {},
"select":
......@@ -173,7 +63,5 @@
{ "Unfold 'EqS12_RealRMat_s'":
[ { "prover": "Z3:4.8.6:counterexamples",
"verdict": "valid",
"time": 0.03,
"steps": 45359 },
{ "prover": "Coq:8.12.2",
"verdict": "unknown" } ] } } ] } } ] } } ] } } ] } } ] } } ] } } ]
"time": 0.04,
"steps": 45566 } ] } } ] } } ] } } ] } } ] } } ] } } ] } } ]
......@@ -638,19 +638,6 @@ void float_quat_of_rmat(struct FloatQuat *q, struct FloatRMat *rm)
q->qx = (RMAT_ELMT(*rm, 1, 2) - RMAT_ELMT(*rm, 2, 1)) / four_qi;
q->qy = (RMAT_ELMT(*rm, 2, 0) - RMAT_ELMT(*rm, 0, 2)) / four_qi;
q->qz = (RMAT_ELMT(*rm, 0, 1) - RMAT_ELMT(*rm, 1, 0)) / four_qi;
//@ assert q->qi * q->qi == 0.5* 0.5 * (1 + tr);
//@ assert \at(rm->m[0], Pre) == rm->m[0];
//@ assert \at(rm->m[1], Pre) == rm->m[1];
//@ assert \at(rm->m[2], Pre) == rm->m[2];
//@ assert \at(rm->m[3], Pre) == rm->m[3];
//@ assert \at(rm->m[4], Pre) == rm->m[4];
//@ assert \at(rm->m[5], Pre) == rm->m[5];
//@ assert \at(rm->m[6], Pre) == rm->m[6];
//@ assert \at(rm->m[7], Pre) == rm->m[7];
//@ assert \at(rm->m[8], Pre) == rm->m[8];
//@ assert SQR(rm->m[0]) + SQR(rm->m[1]) + SQR(rm->m[2]) == 1;
// assert transpose(l_RMat_of_FloatRMat(rm)) == l_RMat_of_FloatQuat(q);
// assert unary_quaternion(q);
/*printf("tr > 0\n");*/
} else {
if (RMAT_ELMT(*rm, 0, 0) > RMAT_ELMT(*rm, 1, 1) &&
......@@ -662,7 +649,6 @@ void float_quat_of_rmat(struct FloatQuat *q, struct FloatRMat *rm)
q->qx = 0.5 * two_qx;
q->qy = (RMAT_ELMT(*rm, 0, 1) + RMAT_ELMT(*rm, 1, 0)) / four_qx;
q->qz = (RMAT_ELMT(*rm, 2, 0) + RMAT_ELMT(*rm, 0, 2)) / four_qx;
// assert unary_quaternion(q);
/*printf("m00 largest\n");*/
} else if (RMAT_ELMT(*rm, 1, 1) > RMAT_ELMT(*rm, 2, 2)) {
const float two_qy =
......@@ -672,7 +658,6 @@ void float_quat_of_rmat(struct FloatQuat *q, struct FloatRMat *rm)
q->qx = (RMAT_ELMT(*rm, 0, 1) + RMAT_ELMT(*rm, 1, 0)) / four_qy;
q->qy = 0.5 * two_qy;
q->qz = (RMAT_ELMT(*rm, 1, 2) + RMAT_ELMT(*rm, 2, 1)) / four_qy;
// assert unary_quaternion(q);
/*printf("m11 largest\n");*/
} else {
const float two_qz =
......@@ -682,7 +667,6 @@ void float_quat_of_rmat(struct FloatQuat *q, struct FloatRMat *rm)
q->qx = (RMAT_ELMT(*rm, 2, 0) + RMAT_ELMT(*rm, 0, 2)) / four_qz;
q->qy = (RMAT_ELMT(*rm, 1, 2) + RMAT_ELMT(*rm, 2, 1)) / four_qz;
q->qz = 0.5 * two_qz;
// assert unary_quaternion(q);
/*printf("m22 largest\n");*/
}