float_quat_of_rmat_assert.json 13.3 KB
Newer Older
POLLIEN Baptiste's avatar
POLLIEN Baptiste committed
1
[ { "header": "Definition", "tactic": "Wp.unfold", "params": {},
2
    "select": { "select": "inside-step", "at": 2, "kind": "have", "occur": 0,
3
                "target": "(L_l_RMat_of_FloatRMat Mf32_1 rm_0)",
POLLIEN Baptiste's avatar
POLLIEN Baptiste committed
4 5 6 7 8
                "pattern": "L_l_RMat_of_FloatRMat$Mf32$rm" },
    "children": { "Unfold 'L_l_RMat_of_FloatRMat'": [ { "header": "Definition",
                                                        "tactic": "Wp.unfold",
                                                        "params": {},
                                                        "select": { "select": "inside-step",
9
                                                                    "at": 2,
POLLIEN Baptiste's avatar
POLLIEN Baptiste committed
10 11
                                                                    "kind": "have",
                                                                    "occur": 0,
12
                                                                    "target": "let a_0 = (shiftfield_F9_FloatRMat_m rm_0) in\n(P_rotation_matrix\n  {\n     F13_RealRMat_s_a00 = Mf32_1[(shift_float32 a_0 0)] ;\n     F13_RealRMat_s_a01 = Mf32_1[(shift_float32 a_0 1)] ;\n     F13_RealRMat_s_a02 = Mf32_1[(shift_float32 a_0 2)] ;\n     F13_RealRMat_s_a10 = Mf32_1[(shift_float32 a_0 3)] ;\n     F13_RealRMat_s_a11 = Mf32_1[(shift_float32 a_0 4)] ;\n     F13_RealRMat_s_a12 = Mf32_1[(shift_float32 a_0 5)] ;\n     F13_RealRMat_s_a20 = Mf32_1[(shift_float32 a_0 6)] ;\n     F13_RealRMat_s_a21 = Mf32_1[(shift_float32 a_0 7)] ;\n     F13_RealRMat_s_a22 = Mf32_1[(shift_float32 a_0 8)]\n  })",
POLLIEN Baptiste's avatar
POLLIEN Baptiste committed
13 14 15 16 17 18 19
                                                                    "pattern": "P_rotation_matrix{RealRMat_s}[][]" },
                                                        "children": { "Unfold 'P_rotation_matrix'": 
                                                                    [ { "header": "Definition",
                                                                    "tactic": "Wp.unfold",
                                                                    "params": {},
                                                                    "select": 
                                                                    { "select": "inside-step",
20
                                                                    "at": 2,
POLLIEN Baptiste's avatar
POLLIEN Baptiste committed
21 22
                                                                    "kind": "have",
                                                                    "occur": 0,
23
                                                                    "target": "let a_0 = (shiftfield_F9_FloatRMat_m rm_0) in\n(L_transpose\n  {\n     F13_RealRMat_s_a00 = Mf32_1[(shift_float32 a_0 0)] ;\n     F13_RealRMat_s_a01 = Mf32_1[(shift_float32 a_0 1)] ;\n     F13_RealRMat_s_a02 = Mf32_1[(shift_float32 a_0 2)] ;\n     F13_RealRMat_s_a10 = Mf32_1[(shift_float32 a_0 3)] ;\n     F13_RealRMat_s_a11 = Mf32_1[(shift_float32 a_0 4)] ;\n     F13_RealRMat_s_a12 = Mf32_1[(shift_float32 a_0 5)] ;\n     F13_RealRMat_s_a20 = Mf32_1[(shift_float32 a_0 6)] ;\n     F13_RealRMat_s_a21 = Mf32_1[(shift_float32 a_0 7)] ;\n     F13_RealRMat_s_a22 = Mf32_1[(shift_float32 a_0 8)]\n  })",
POLLIEN Baptiste's avatar
POLLIEN Baptiste committed
24 25 26 27 28 29 30 31
                                                                    "pattern": "L_transpose{RealRMat_s}[][][][][]" },
                                                                    "children": 
                                                                    { "Unfold 'L_transpose'": 
                                                                    [ { "header": "Definition",
                                                                    "tactic": "Wp.unfold",
                                                                    "params": {},
                                                                    "select": 
                                                                    { "select": "inside-step",
32
                                                                    "at": 2,
POLLIEN Baptiste's avatar
POLLIEN Baptiste committed
33 34
                                                                    "kind": "have",
                                                                    "occur": 0,
35
                                                                    "target": "let a_0 = (shiftfield_F9_FloatRMat_m rm_0) in\nlet r_0 = Mf32_1[(shift_float32 a_0 0)] in\nlet r_1 = Mf32_1[(shift_float32 a_0 1)] in\nlet r_2 = Mf32_1[(shift_float32 a_0 2)] in\nlet r_3 = Mf32_1[(shift_float32 a_0 3)] in\nlet r_4 = Mf32_1[(shift_float32 a_0 4)] in\nlet r_5 = Mf32_1[(shift_float32 a_0 5)] in\nlet r_6 = Mf32_1[(shift_float32 a_0 6)] in\nlet r_7 = Mf32_1[(shift_float32 a_0 7)] in\nlet r_8 = Mf32_1[(shift_float32 a_0 8)] in\n(L_mult_RealRMat\n  {\n     F13_RealRMat_s_a00 = r_0 ;\n     F13_RealRMat_s_a01 = r_1 ;\n     F13_RealRMat_s_a02 = r_2 ;\n     F13_RealRMat_s_a10 = r_3 ;\n     F13_RealRMat_s_a11 = r_4 ;\n     F13_RealRMat_s_a12 = r_5 ;\n     F13_RealRMat_s_a20 = r_6 ;\n     F13_RealRMat_s_a21 = r_7 ;\n     F13_RealRMat_s_a22 = r_8\n  }\n  {\n     F13_RealRMat_s_a00 = r_0 ;\n     F13_RealRMat_s_a01 = r_3 ;\n     F13_RealRMat_s_a02 = r_6 ;\n     F13_RealRMat_s_a10 = r_1 ;\n     F13_RealRMat_s_a11 = r_4 ;\n     F13_RealRMat_s_a12 = r_7 ;\n     F13_RealRMat_s_a20 = r_2 ;\n     F13_RealRMat_s_a21 = r_5 ;\n     F13_RealRMat_s_a22 = r_8\n  })",
POLLIEN Baptiste's avatar
POLLIEN Baptiste committed
36 37 38
                                                                    "pattern": "L_mult_RealRMat{RealRMat_s}{RealRMat_s}" },
                                                                    "children": 
                                                                    { "Unfold 'L_mult_RealRMat'": 
39 40 41 42 43 44 45 46 47 48 49 50
                                                                    [ { "header": "Split",
                                                                    "tactic": "Wp.split",
                                                                    "params": {},
                                                                    "select": 
                                                                    { "select": "clause-step",
                                                                    "at": 8,
                                                                    "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" },
                                                                    "children": 
                                                                    { "Then": 
                                                                    [ { "prover": "Z3:4.8.6:counterexamples",
51
                                                                    "verdict": "valid",
POLLIEN Baptiste's avatar
POLLIEN Baptiste committed
52 53
                                                                    "time": 0.35,
                                                                    "steps": 440524 } ],
54 55 56
                                                                    "Else": 
                                                                    [ { "header": "Split",
                                                                    "tactic": "Wp.split",
POLLIEN Baptiste's avatar
POLLIEN Baptiste committed
57 58
                                                                    "params": {},
                                                                    "select": 
59 60 61 62 63
                                                                    { "select": "clause-step",
                                                                    "at": 10,
                                                                    "kind": "branch",
                                                                    "target": "let a_0 = (shiftfield_F9_FloatRMat_m rm_0) in\nMf32_1[(shift_float32 a_0 4)]<Mf32_1[(shift_float32 a_0 0)]",
                                                                    "pattern": "<[][]$Mf32shift_float32$Mf32shift_float32" },
POLLIEN Baptiste's avatar
POLLIEN Baptiste committed
64
                                                                    "children": 
65 66 67
                                                                    { "Then": 
                                                                    [ { "header": "Split",
                                                                    "tactic": "Wp.split",
POLLIEN Baptiste's avatar
POLLIEN Baptiste committed
68 69
                                                                    "params": {},
                                                                    "select": 
70 71 72 73 74 75 76 77 78
                                                                    { "select": "clause-step",
                                                                    "at": 12,
                                                                    "kind": "branch",
                                                                    "target": "let a_0 = (shiftfield_F9_FloatRMat_m rm_0) in\nMf32_1[(shift_float32 a_0 8)]<Mf32_1[(shift_float32 a_0 0)]",
                                                                    "pattern": "<[][]$Mf32shift_float32$Mf32shift_float32" },
                                                                    "children": 
                                                                    { "Then": 
                                                                    [ { "prover": "Z3:4.8.6:counterexamples",
                                                                    "verdict": "valid",
POLLIEN Baptiste's avatar
POLLIEN Baptiste committed
79 80
                                                                    "time": 0.42,
                                                                    "steps": 404711 } ],
81 82 83 84 85 86 87 88 89 90
                                                                    "Else": 
                                                                    [ { "header": "Split",
                                                                    "tactic": "Wp.split",
                                                                    "params": {},
                                                                    "select": 
                                                                    { "select": "clause-step",
                                                                    "at": 16,
                                                                    "kind": "branch",
                                                                    "target": "let a_0 = (shiftfield_F9_FloatRMat_m rm_0) in\nMf32_1[(shift_float32 a_0 8)]<Mf32_1[(shift_float32 a_0 4)]",
                                                                    "pattern": "<[][]$Mf32shift_float32$Mf32shift_float32" },
POLLIEN Baptiste's avatar
POLLIEN Baptiste committed
91
                                                                    "children": 
92 93 94
                                                                    { "Then": 
                                                                    [ { "prover": "Z3:4.8.6",
                                                                    "verdict": "valid",
POLLIEN Baptiste's avatar
POLLIEN Baptiste committed
95 96
                                                                    "time": 0.07,
                                                                    "steps": 263164 } ],
97 98 99
                                                                    "Else": 
                                                                    [ { "prover": "Z3:4.8.6:counterexamples",
                                                                    "verdict": "valid",
POLLIEN Baptiste's avatar
POLLIEN Baptiste committed
100 101
                                                                    "time": 0.39,
                                                                    "steps": 403819 } ] } } ] } } ],
102 103 104 105 106 107 108 109 110 111 112 113 114 115
                                                                    "Else": 
                                                                    [ { "header": "Split",
                                                                    "tactic": "Wp.split",
                                                                    "params": {},
                                                                    "select": 
                                                                    { "select": "clause-step",
                                                                    "at": 13,
                                                                    "kind": "branch",
                                                                    "target": "let a_0 = (shiftfield_F9_FloatRMat_m rm_0) in\nMf32_1[(shift_float32 a_0 8)]<Mf32_1[(shift_float32 a_0 4)]",
                                                                    "pattern": "<[][]$Mf32shift_float32$Mf32shift_float32" },
                                                                    "children": 
                                                                    { "Then": 
                                                                    [ { "prover": "Z3:4.8.6:counterexamples",
                                                                    "verdict": "valid",
POLLIEN Baptiste's avatar
POLLIEN Baptiste committed
116 117
                                                                    "time": 0.38,
                                                                    "steps": 404825 } ],
118 119
                                                                    "Else": 
                                                                    [ { "prover": "Z3:4.8.6:counterexamples",
POLLIEN Baptiste's avatar
POLLIEN Baptiste committed
120
                                                                    "verdict": "valid",
POLLIEN Baptiste's avatar
POLLIEN Baptiste committed
121 122
                                                                    "time": 0.41,
                                                                    "steps": 401454 } ] } } ] } } ] } } ] } } ] } } ] } } ] } } ]