float_quat_of_rmat_assert_12.json 1.15 KB
Newer Older
1 2 3 4 5 6 7 8
[ { "header": "Definition", "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_6[(shift_float32 a_0 0)]+Mf32_6[(shift_float32 a_0 4)]+\n       Mf32_6[(shift_float32 a_0 8)])) in\nlet m_0 = Mf32_6[(shiftfield_F7_FloatQuat_qi q_1)->1/2*r_0] in\nlet r_1 = (2*r_0) in\nlet m_1 =\n    m_0[(shiftfield_F7_FloatQuat_qx q_1)\n      ->(m_0[(shift_float32 a_0 5)]-m_0[(shift_float32 a_0 7)]) div r_1] in\nlet m_2 =\n    m_1[(shiftfield_F7_FloatQuat_qy q_1)\n      ->(m_1[(shift_float32 a_0 6)]-m_1[(shift_float32 a_0 2)]) div r_1] in\n(P_unary_quaternion\n  m_2[(shiftfield_F7_FloatQuat_qz q_1)\n    ->(m_2[(shift_float32 a_0 1)]-m_2[(shift_float32 a_0 3)]) div r_1] q_1)",
                "pattern": "P_unary_quaternion[=]$q[=]shiftfield_F7_FloatQuat_qz" },
    "children": { "Unfold 'P_unary_quaternion'": [ { "prover": "Z3:4.8.6",
                                                    "verdict": "valid",
                                                    "time": 1.55,
                                                    "steps": 2791404 } ] } } ]