float_quat_of_rmat_a00_max_ensures.json 8.6 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
[ { "header": "Definition", "tactic": "Wp.unfold", "params": {},
    "select": { "select": "inside-goal", "occur": 0,
                "target": "(L_l_FloatQuat_of_RMat_0_max_t Mf32_0 rm_0)",
                "pattern": "L_l_FloatQuat_of_RMat_0_max_t$Mf32" },
    "children": { "Unfold 'L_l_FloatQuat_of_RMat_0_max_t'": [ { "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,
21
                                                                    "target": "let a_0 = (shiftfield_F9_FloatRMat_m rm_0) in\n(L_transpose\n  {\n     F13_RealRMat_s_a00 = Mf32_0[(shift_float32 a_0 0)] ;\n     F13_RealRMat_s_a01 = Mf32_0[(shift_float32 a_0 1)] ;\n     F13_RealRMat_s_a02 = Mf32_0[(shift_float32 a_0 2)] ;\n     F13_RealRMat_s_a10 = Mf32_0[(shift_float32 a_0 3)] ;\n     F13_RealRMat_s_a11 = Mf32_0[(shift_float32 a_0 4)] ;\n     F13_RealRMat_s_a12 = Mf32_0[(shift_float32 a_0 5)] ;\n     F13_RealRMat_s_a20 = Mf32_0[(shift_float32 a_0 6)] ;\n     F13_RealRMat_s_a21 = Mf32_0[(shift_float32 a_0 7)] ;\n     F13_RealRMat_s_a22 = Mf32_0[(shift_float32 a_0 8)]\n  })",
22 23 24 25 26 27 28 29 30
                                                                    "pattern": "L_transpose{RealRMat_s}[][][][][]" },
                                                                    "children": 
                                                                    { "Unfold 'L_transpose'": 
                                                                    [ { "header": "Definition",
                                                                    "tactic": "Wp.unfold",
                                                                    "params": {},
                                                                    "select": 
                                                                    { "select": "inside-goal",
                                                                    "occur": 0,
31
                                                                    "target": "let a_0 = (shiftfield_F9_FloatRMat_m rm_0) in\n(L_l_FloatQuat_of_RMat_0_max_1_\n  {\n     F13_RealRMat_s_a00 = Mf32_0[(shift_float32 a_0 0)] ;\n     F13_RealRMat_s_a01 = Mf32_0[(shift_float32 a_0 3)] ;\n     F13_RealRMat_s_a02 = Mf32_0[(shift_float32 a_0 6)] ;\n     F13_RealRMat_s_a10 = Mf32_0[(shift_float32 a_0 1)] ;\n     F13_RealRMat_s_a11 = Mf32_0[(shift_float32 a_0 4)] ;\n     F13_RealRMat_s_a12 = Mf32_0[(shift_float32 a_0 7)] ;\n     F13_RealRMat_s_a20 = Mf32_0[(shift_float32 a_0 2)] ;\n     F13_RealRMat_s_a21 = Mf32_0[(shift_float32 a_0 5)] ;\n     F13_RealRMat_s_a22 = Mf32_0[(shift_float32 a_0 8)]\n  })",
32 33 34 35 36 37 38 39 40 41 42 43 44
                                                                    "pattern": "L_l_FloatQuat_of_RMat_0_max_1_{RealRMat_s}" },
                                                                    "children": 
                                                                    { "Unfold 'L_l_FloatQuat_of_RMat_0_max_1_'": 
                                                                    [ { "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'": 
45 46 47 48 49
                                                                    [ { "header": "Definition",
                                                                    "tactic": "Wp.unfold",
                                                                    "params": {},
                                                                    "select": 
                                                                    { "select": "clause-goal",
50 51
                                                                    "target": "let a_0 = (shiftfield_F9_FloatRMat_m rm_0) in\nlet r_0 =\n    (\\sqrt\n      (1+Mf32_0[(shift_float32 a_0 0)]-Mf32_0[(shift_float32 a_0 4)]-\n       Mf32_0[(shift_float32 a_0 8)])) in\nlet r_1 = (2*r_0) in\n(EqS14_RealQuat_s\n  {\n     F14_RealQuat_s_qi =\n       (Mf32_0[(shift_float32 a_0 5)]-Mf32_0[(shift_float32 a_0 7)]) div r_1 ;\n     F14_RealQuat_s_qx = 1/2*r_0 ;\n     F14_RealQuat_s_qy =\n       (Mf32_0[(shift_float32 a_0 1)]+Mf32_0[(shift_float32 a_0 3)]) div r_1 ;\n     F14_RealQuat_s_qz =\n       (Mf32_0[(shift_float32 a_0 2)]+Mf32_0[(shift_float32 a_0 6)]) div r_1\n  }\n  {\n     F14_RealQuat_s_qi = Mf32_0[(shiftfield_F7_FloatQuat_qi q_0)] ;\n     F14_RealQuat_s_qx = Mf32_0[(shiftfield_F7_FloatQuat_qx q_0)] ;\n     F14_RealQuat_s_qy = Mf32_0[(shiftfield_F7_FloatQuat_qy q_0)] ;\n     F14_RealQuat_s_qz = Mf32_0[(shiftfield_F7_FloatQuat_qz q_0)]\n  })",
                                                                    "pattern": "EqS14_RealQuat_s{RealQuat_s}{RealQuat_s}" },
52
                                                                    "children": 
53 54 55
                                                                    { "Unfold 'EqS14_RealQuat_s'": 
                                                                    [ { "header": "Split",
                                                                    "tactic": "Wp.split",
56 57
                                                                    "params": {},
                                                                    "select": 
58 59 60 61 62
                                                                    { "select": "clause-step",
                                                                    "at": 9,
                                                                    "kind": "branch",
                                                                    "target": "let a_0 = (shiftfield_F9_FloatRMat_m rm_0) in\n0<\n(Mf32_1[(shift_float32 a_0 0)]+Mf32_1[(shift_float32 a_0 4)]+\n Mf32_1[(shift_float32 a_0 8)])",
                                                                    "pattern": "<0+[][][]$Mf32shift_float32$Mf32" },
63
                                                                    "children": 
64 65 66
                                                                    { "Then": 
                                                                    [ { "prover": "Z3:4.8.6:counterexamples",
                                                                    "verdict": "valid",
POLLIEN Baptiste's avatar
POLLIEN Baptiste committed
67 68
                                                                    "time": 0.55,
                                                                    "steps": 505046 } ],
69
                                                                    "Else": 
70 71
                                                                    [ { "prover": "Alt-Ergo:2.3.3",
                                                                    "verdict": "valid",
POLLIEN Baptiste's avatar
POLLIEN Baptiste committed
72
                                                                    "time": 1.5624,
73
                                                                    "steps": 988 } ] } } ] } } ] } } ] } } ] } } ] } } ] } } ]