Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Open sidebar
POLLIEN Baptiste
paparazzi-frama-c
Commits
b289ee40
Commit
b289ee40
authored
Apr 30, 2021
by
POLLIEN Baptiste
Browse files
Proof rmat to quat formula
parent
857e39ff
Changes
13
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
1638 additions
and
220 deletions
+1638
-220
sw/airborne/.frama-c/wp/interactive/lemma_equivalence_rmat_quat.v
...rne/.frama-c/wp/interactive/lemma_equivalence_rmat_quat.v
+741
-0
sw/airborne/.frama-c/wp/interactive/lemma_impl_rmat_quat.v
sw/airborne/.frama-c/wp/interactive/lemma_impl_rmat_quat.v
+776
-0
sw/airborne/.frama-c/wp/script/float_rmat_of_quat_assert.json
...irborne/.frama-c/wp/script/float_rmat_of_quat_assert.json
+3
-3
sw/airborne/.frama-c/wp/script/float_rmat_of_quat_assert_2.json
...borne/.frama-c/wp/script/float_rmat_of_quat_assert_2.json
+3
-3
sw/airborne/.frama-c/wp/script/float_rmat_of_quat_assert_3.json
...borne/.frama-c/wp/script/float_rmat_of_quat_assert_3.json
+27
-3
sw/airborne/.frama-c/wp/script/float_rmat_of_quat_assert_4.json
...borne/.frama-c/wp/script/float_rmat_of_quat_assert_4.json
+3
-3
sw/airborne/.frama-c/wp/script/float_rmat_of_quat_ensures.json
...rborne/.frama-c/wp/script/float_rmat_of_quat_ensures.json
+18
-1
sw/airborne/.frama-c/wp/script/float_rmat_of_quat_ensures_2.json
...orne/.frama-c/wp/script/float_rmat_of_quat_ensures_2.json
+19
-20
sw/airborne/.frama-c/wp/script/float_rmat_of_quat_ensures_3.json
...orne/.frama-c/wp/script/float_rmat_of_quat_ensures_3.json
+8
-50
sw/airborne/.frama-c/wp/script/lemma_impl_rmat_quat.json
sw/airborne/.frama-c/wp/script/lemma_impl_rmat_quat.json
+7
-0
sw/airborne/.frama-c/wp/script/lemma_quat_of_rmat_ortho.json
sw/airborne/.frama-c/wp/script/lemma_quat_of_rmat_ortho.json
+9
-121
sw/airborne/math/pprz_algebra_float.c
sw/airborne/math/pprz_algebra_float.c
+0
-16
sw/airborne/math/pprz_algebra_float_convert_rmat_frama_c.h
sw/airborne/math/pprz_algebra_float_convert_rmat_frama_c.h
+24
-0
No files found.
sw/airborne/.frama-c/wp/interactive/lemma_equivalence_rmat_quat.v
0 → 100644
View file @
b289ee40
This diff is collapsed.
Click to expand it.
sw/airborne/.frama-c/wp/interactive/lemma_impl_rmat_quat.v
0 → 100644
View file @
b289ee40
This diff is collapsed.
Click to expand it.
sw/airborne/.frama-c/wp/script/float_rmat_of_quat_assert.json
View file @
b289ee40
...
@@ -3,9 +3,9 @@
...
@@ -3,9 +3,9 @@
"target"
:
"(separated rm_0 9 q_0 4)"
,
"target"
:
"(separated rm_0 9 q_0 4)"
,
"pattern"
:
"separated$rm9$q4"
},
"pattern"
:
"separated$rm9$q4"
},
"children"
:
{
"WrongBase"
:
[
{
"prover"
:
"CVC4:1.9-prerelease:strings+counterexamples"
,
"children"
:
{
"WrongBase"
:
[
{
"prover"
:
"CVC4:1.9-prerelease:strings+counterexamples"
,
"verdict"
:
"valid"
,
"time"
:
0.8
3
}
],
"verdict"
:
"valid"
,
"time"
:
1.
3
}
],
"OnLeft"
:
[
{
"prover"
:
"CVC4:1.9-prerelease:strings+counterexamples"
,
"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"
,
"OnRight"
:
[
{
"prover"
:
"CVC4:1.9-prerelease:strings+counterexamples"
,
"verdict"
:
"valid"
,
"time"
:
3
.7
7
}
],
"verdict"
:
"valid"
,
"time"
:
5
.7
4
}
],
"OverLap"
:
[
{
"prover"
:
"qed"
,
"verdict"
:
"valid"
}
]
}
}
]
"OverLap"
:
[
{
"prover"
:
"qed"
,
"verdict"
:
"valid"
}
]
}
}
]
sw/airborne/.frama-c/wp/script/float_rmat_of_quat_assert_2.json
View file @
b289ee40
...
@@ -3,9 +3,9 @@
...
@@ -3,9 +3,9 @@
"target"
:
"(separated rm_0 9 q_0 4)"
,
"target"
:
"(separated rm_0 9 q_0 4)"
,
"pattern"
:
"separated$rm9$q4"
},
"pattern"
:
"separated$rm9$q4"
},
"children"
:
{
"WrongBase"
:
[
{
"prover"
:
"CVC4:1.9-prerelease:strings+counterexamples"
,
"children"
:
{
"WrongBase"
:
[
{
"prover"
:
"CVC4:1.9-prerelease:strings+counterexamples"
,
"verdict"
:
"valid"
,
"time"
:
3
.5
8
}
],
"verdict"
:
"valid"
,
"time"
:
4
.5
3
}
],
"OnLeft"
:
[
{
"prover"
:
"CVC4:1.9-prerelease:strings+counterexamples"
,
"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"
,
"OnRight"
:
[
{
"prover"
:
"CVC4:1.9-prerelease:strings+counterexamples"
,
"verdict"
:
"valid"
,
"time"
:
4.51
}
],
"verdict"
:
"valid"
,
"time"
:
5.8
}
],
"OverLap"
:
[
{
"prover"
:
"qed"
,
"verdict"
:
"valid"
}
]
}
}
]
"OverLap"
:
[
{
"prover"
:
"qed"
,
"verdict"
:
"valid"
}
]
}
}
]
sw/airborne/.frama-c/wp/script/float_rmat_of_quat_assert_3.json
View file @
b289ee40
...
@@ -3,9 +3,21 @@
...
@@ -3,9 +3,21 @@
"target"
:
"(separated rm_0 9 q_0 4)"
,
"target"
:
"(separated rm_0 9 q_0 4)"
,
"pattern"
:
"separated$rm9$q4"
},
"pattern"
:
"separated$rm9$q4"
},
"children"
:
{
"WrongBase"
:
[
{
"prover"
:
"Alt-Ergo:2.3.3"
,
"children"
:
{
"WrongBase"
:
[
{
"prover"
:
"Alt-Ergo:2.3.3"
,
"verdict"
:
"valid"
,
"time"
:
1
2.
4296
,
"verdict"
:
"valid"
,
"time"
:
2
2.
5714
,
"steps"
:
130
}
],
"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"
:
{},
"tactic"
:
"Wp.unfold"
,
"params"
:
{},
"select"
:
{
"select"
:
"inside-step"
,
"select"
:
{
"select"
:
"inside-step"
,
"at"
:
3
,
"kind"
:
"have"
,
"at"
:
3
,
"kind"
:
"have"
,
...
@@ -16,7 +28,19 @@
...
@@ -16,7 +28,19 @@
[
{
"prover"
:
"CVC4:1.9-prerelease:strings+counterexamples"
,
[
{
"prover"
:
"CVC4:1.9-prerelease:strings+counterexamples"
,
"verdict"
:
"valid"
,
"verdict"
:
"valid"
,
"time"
:
5.34
}
]
}
}
],
"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"
:
{},
"tactic"
:
"Wp.unfold"
,
"params"
:
{},
"select"
:
{
"select"
:
"inside-step"
,
"select"
:
{
"select"
:
"inside-step"
,
"at"
:
3
,
"kind"
:
"have"
,
"at"
:
3
,
"kind"
:
"have"
,
...
...
sw/airborne/.frama-c/wp/script/float_rmat_of_quat_assert_4.json
View file @
b289ee40
...
@@ -3,9 +3,9 @@
...
@@ -3,9 +3,9 @@
"target"
:
"(separated rm_0 9 q_0 4)"
,
"target"
:
"(separated rm_0 9 q_0 4)"
,
"pattern"
:
"separated$rm9$q4"
},
"pattern"
:
"separated$rm9$q4"
},
"children"
:
{
"WrongBase"
:
[
{
"prover"
:
"CVC4:1.9-prerelease:strings+counterexamples"
,
"children"
:
{
"WrongBase"
:
[
{
"prover"
:
"CVC4:1.9-prerelease:strings+counterexamples"
,
"verdict"
:
"valid"
,
"time"
:
6.
7
1
}
],
"verdict"
:
"valid"
,
"time"
:
6.
3
1
}
],
"OnLeft"
:
[
{
"prover"
:
"CVC4:1.9-prerelease:strings+counterexamples"
,
"OnLeft"
:
[
{
"prover"
:
"CVC4:1.9-prerelease:strings+counterexamples"
,
"verdict"
:
"valid"
,
"time"
:
1
2.49
}
],
"verdict"
:
"valid"
,
"time"
:
1
0.62
}
],
"OnRight"
:
[
{
"prover"
:
"CVC4:1.9-prerelease:strings+counterexamples"
,
"OnRight"
:
[
{
"prover"
:
"CVC4:1.9-prerelease:strings+counterexamples"
,
"verdict"
:
"valid"
,
"time"
:
1
2.34
}
],
"verdict"
:
"valid"
,
"time"
:
1
0.07
}
],
"OverLap"
:
[
{
"prover"
:
"qed"
,
"verdict"
:
"valid"
}
]
}
}
]
"OverLap"
:
[
{
"prover"
:
"qed"
,
"verdict"
:
"valid"
}
]
}
}
]
sw/airborne/.frama-c/wp/script/float_rmat_of_quat_ensures.json
View file @
b289ee40
...
@@ -2,7 +2,24 @@
...
@@ -2,7 +2,24 @@
"select"
:
{
"select"
:
"inside-goal"
,
"occur"
:
0
,
"select"
:
{
"select"
:
"inside-goal"
,
"occur"
:
0
,
"target"
:
"let a_0 = (shiftfield_F9_FloatRMat_m rm_0) in
\n
let r_0 = Mf32_1[(shiftfield_F7_FloatQuat_qi q_0)] in
\n
let r_1 = (2*r_0*r_0) in
\n
let r_2 = Mf32_1[(shiftfield_F7_FloatQuat_qx q_0)] in
\n
let r_3 = Mf32_1[(shiftfield_F7_FloatQuat_qz q_0)] in
\n
let r_4 = (2*r_0*r_3) in
\n
let r_5 = Mf32_1[(shiftfield_F7_FloatQuat_qy q_0)] in
\n
let r_6 = (2*r_2*r_5) in
\n
let r_7 = (2*r_0*r_5) in
\n
let r_8 = (2*r_2*r_3) in
\n
let r_9 = (2*r_0*r_2) in
\n
let 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))"
,
"target"
:
"let a_0 = (shiftfield_F9_FloatRMat_m rm_0) in
\n
let r_0 = Mf32_1[(shiftfield_F7_FloatQuat_qi q_0)] in
\n
let r_1 = (2*r_0*r_0) in
\n
let r_2 = Mf32_1[(shiftfield_F7_FloatQuat_qx q_0)] in
\n
let r_3 = Mf32_1[(shiftfield_F7_FloatQuat_qz q_0)] in
\n
let r_4 = (2*r_0*r_3) in
\n
let r_5 = Mf32_1[(shiftfield_F7_FloatQuat_qy q_0)] in
\n
let r_6 = (2*r_2*r_5) in
\n
let r_7 = (2*r_0*r_5) in
\n
let r_8 = (2*r_2*r_3) in
\n
let r_9 = (2*r_0*r_2) in
\n
let 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"
},
"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"
,
"tactic"
:
"Wp.unfold"
,
"params"
:
{},
"params"
:
{},
"select"
:
{
"select"
:
"inside-goal"
,
"select"
:
{
"select"
:
"inside-goal"
,
...
...
sw/airborne/.frama-c/wp/script/float_rmat_of_quat_ensures_2.json
View file @
b289ee40
[
{
"prover"
:
"script"
,
"verdict"
:
"valid"
},
[
{
"header"
:
"Definition"
,
"tactic"
:
"Wp.unfold"
,
"params"
:
{},
{
"header"
:
"Definition"
,
"tactic"
:
"Wp.unfold"
,
"params"
:
{},
"select"
:
{
"select"
:
"clause-goal"
,
"select"
:
{
"select"
:
"clause-goal"
,
"target"
:
"let a_0 = (shiftfield_F9_FloatRMat_m rm_0) in
\n
let r_0 = Mf32_1[(shiftfield_F7_FloatQuat_qi q_0)] in
\n
let r_1 = (2*r_0*r_0) in
\n
let r_2 = Mf32_1[(shiftfield_F7_FloatQuat_qx q_0)] in
\n
let r_3 = Mf32_1[(shiftfield_F7_FloatQuat_qz q_0)] in
\n
let r_4 = (2*r_0*r_3) in
\n
let r_5 = Mf32_1[(shiftfield_F7_FloatQuat_qy q_0)] in
\n
let r_6 = (2*r_2*r_5) in
\n
let r_7 = (2*r_0*r_5) in
\n
let r_8 = (2*r_2*r_3) in
\n
let r_9 = (2*r_0*r_2) in
\n
let 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))"
,
"target"
:
"let a_0 = (shiftfield_F9_FloatRMat_m rm_0) in
\n
let r_0 = Mf32_1[(shiftfield_F7_FloatQuat_qi q_0)] in
\n
let r_1 = (2*r_0*r_0) in
\n
let r_2 = Mf32_1[(shiftfield_F7_FloatQuat_qx q_0)] in
\n
let r_3 = Mf32_1[(shiftfield_F7_FloatQuat_qz q_0)] in
\n
let r_4 = (2*r_0*r_3) in
\n
let r_5 = Mf32_1[(shiftfield_F7_FloatQuat_qy q_0)] in
\n
let r_6 = (2*r_2*r_5) in
\n
let r_7 = (2*r_0*r_5) in
\n
let r_8 = (2*r_2*r_3) in
\n
let r_9 = (2*r_0*r_2) in
\n
let 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"
},
"pattern"
:
"P_rotation_matrixL_l_RMat_of_FloatRMat"
},
...
@@ -61,21 +60,21 @@
...
@@ -61,21 +60,21 @@
{
"Goal 1/6"
:
{
"Goal 1/6"
:
[
{
"prover"
:
"Z3:4.8.6:noBV"
,
[
{
"prover"
:
"Z3:4.8.6:noBV"
,
"verdict"
:
"timeout"
,
"verdict"
:
"timeout"
,
"time"
:
1
5
.
},
"time"
:
1
0
.
},
{
"prover"
:
"Z3:4.8.6:counterexamples"
,
{
"prover"
:
"Z3:4.8.6:counterexamples"
,
"verdict"
:
"timeout"
,
"verdict"
:
"timeout"
,
"time"
:
1
5
.
},
"time"
:
1
0
.
},
{
"prover"
:
"Z3:4.8.6"
,
{
"prover"
:
"Z3:4.8.6"
,
"verdict"
:
"timeout"
,
"verdict"
:
"timeout"
,
"time"
:
1
5
.
},
"time"
:
1
0
.
},
{
"prover"
:
"Coq:8.12.2"
,
{
"prover"
:
"Coq:8.12.2"
,
"verdict"
:
"unknown"
},
"verdict"
:
"unknown"
},
{
"prover"
:
"CVC4:1.9-prerelease:strings+counterexamples"
,
{
"prover"
:
"CVC4:1.9-prerelease:strings+counterexamples"
,
"verdict"
:
"timeout"
,
"verdict"
:
"timeout"
,
"time"
:
1
5
.
},
"time"
:
1
0
.
},
{
"prover"
:
"Alt-Ergo:2.3.3"
,
{
"prover"
:
"Alt-Ergo:2.3.3"
,
"verdict"
:
"timeout"
,
"verdict"
:
"timeout"
,
"time"
:
1
8
.
},
"time"
:
1
0
.
},
{
"header"
:
"Definition"
,
{
"header"
:
"Definition"
,
"tactic"
:
"Wp.unfold"
,
"tactic"
:
"Wp.unfold"
,
"params"
:
{},
"params"
:
{},
...
@@ -96,26 +95,26 @@
...
@@ -96,26 +95,26 @@
"Goal 2/6"
:
"Goal 2/6"
:
[
{
"prover"
:
"Alt-Ergo:2.3.3"
,
[
{
"prover"
:
"Alt-Ergo:2.3.3"
,
"verdict"
:
"valid"
,
"verdict"
:
"valid"
,
"time"
:
1
5.7637
,
"time"
:
1
3.0668
,
"steps"
:
134
}
],
"steps"
:
134
}
],
"Goal 3/6"
:
"Goal 3/6"
:
[
{
"prover"
:
"Z3:4.8.6:noBV"
,
[
{
"prover"
:
"Z3:4.8.6:noBV"
,
"verdict"
:
"timeout"
,
"verdict"
:
"timeout"
,
"time"
:
1
5
.
},
"time"
:
1
0
.
},
{
"prover"
:
"Z3:4.8.6:counterexamples"
,
{
"prover"
:
"Z3:4.8.6:counterexamples"
,
"verdict"
:
"timeout"
,
"verdict"
:
"timeout"
,
"time"
:
1
5
.
},
"time"
:
1
0
.
},
{
"prover"
:
"Z3:4.8.6"
,
{
"prover"
:
"Z3:4.8.6"
,
"verdict"
:
"timeout"
,
"verdict"
:
"timeout"
,
"time"
:
1
5
.
},
"time"
:
1
0
.
},
{
"prover"
:
"Coq:8.12.2"
,
{
"prover"
:
"Coq:8.12.2"
,
"verdict"
:
"unknown"
},
"verdict"
:
"unknown"
},
{
"prover"
:
"CVC4:1.9-prerelease:strings+counterexamples"
,
{
"prover"
:
"CVC4:1.9-prerelease:strings+counterexamples"
,
"verdict"
:
"timeout"
,
"verdict"
:
"timeout"
,
"time"
:
1
5
.
},
"time"
:
1
0
.
},
{
"prover"
:
"Alt-Ergo:2.3.3"
,
{
"prover"
:
"Alt-Ergo:2.3.3"
,
"verdict"
:
"timeout"
,
"verdict"
:
"timeout"
,
"time"
:
1
7
.
},
"time"
:
1
0
.
},
{
"header"
:
"Definition"
,
{
"header"
:
"Definition"
,
"tactic"
:
"Wp.unfold"
,
"tactic"
:
"Wp.unfold"
,
"params"
:
{},
"params"
:
{},
...
@@ -136,21 +135,21 @@
...
@@ -136,21 +135,21 @@
"Goal 4/6"
:
"Goal 4/6"
:
[
{
"prover"
:
"Z3:4.8.6:noBV"
,
[
{
"prover"
:
"Z3:4.8.6:noBV"
,
"verdict"
:
"timeout"
,
"verdict"
:
"timeout"
,
"time"
:
1
5
.
},
"time"
:
1
0
.
},
{
"prover"
:
"Z3:4.8.6:counterexamples"
,
{
"prover"
:
"Z3:4.8.6:counterexamples"
,
"verdict"
:
"timeout"
,
"verdict"
:
"timeout"
,
"time"
:
1
5
.
},
"time"
:
1
0
.
},
{
"prover"
:
"Z3:4.8.6"
,
{
"prover"
:
"Z3:4.8.6"
,
"verdict"
:
"timeout"
,
"verdict"
:
"timeout"
,
"time"
:
1
5
.
},
"time"
:
1
0
.
},
{
"prover"
:
"Coq:8.12.2"
,
{
"prover"
:
"Coq:8.12.2"
,
"verdict"
:
"unknown"
},
"verdict"
:
"unknown"
},
{
"prover"
:
"CVC4:1.9-prerelease:strings+counterexamples"
,
{
"prover"
:
"CVC4:1.9-prerelease:strings+counterexamples"
,
"verdict"
:
"timeout"
,
"verdict"
:
"timeout"
,
"time"
:
1
5
.
},
"time"
:
1
0
.
},
{
"prover"
:
"Alt-Ergo:2.3.3"
,
{
"prover"
:
"Alt-Ergo:2.3.3"
,
"verdict"
:
"timeout"
,
"verdict"
:
"timeout"
,
"time"
:
1
7
.
},
"time"
:
1
0
.
},
{
"header"
:
"Definition"
,
{
"header"
:
"Definition"
,
"tactic"
:
"Wp.unfold"
,
"tactic"
:
"Wp.unfold"
,
"params"
:
{},
"params"
:
{},
...
@@ -171,7 +170,7 @@
...
@@ -171,7 +170,7 @@
"Goal 5/6"
:
"Goal 5/6"
:
[
{
"prover"
:
"Alt-Ergo:2.3.3"
,
[
{
"prover"
:
"Alt-Ergo:2.3.3"
,
"verdict"
:
"valid"
,
"verdict"
:
"valid"
,
"time"
:
1
4.808
9
,
"time"
:
1
8.590
9
,
"steps"
:
138
}
],
"steps"
:
138
}
],
"Goal 6/6"
:
"Goal 6/6"
:
[
{
"header"
:
"Definition"
,
[
{
"header"
:
"Definition"
,
...
@@ -188,5 +187,5 @@
...
@@ -188,5 +187,5 @@
{
"Unfold 'shift_float32'"
:
{
"Unfold 'shift_float32'"
:
[
{
"prover"
:
"Alt-Ergo:2.3.3"
,
[
{
"prover"
:
"Alt-Ergo:2.3.3"
,
"verdict"
:
"valid"
,
"verdict"
:
"valid"
,
"time"
:
1
2.752
8
,
"time"
:
1
1.943
8
,
"steps"
:
138
}
]
}
}
]
}
}
]
}
}
]
}
}
]
}
}
]
}
}
]
}
}
]
}
}
]
"steps"
:
138
}
]
}
}
]
}
}
]
}
}
]
}
}
]
}
}
]
}
}
]
}
}
]
}
}
]
sw/airborne/.frama-c/wp/script/float_rmat_of_quat_ensures_3.json
View file @
b289ee40
[
{
"prover"
:
"Z3:4.8.6:noBV"
,
"verdict"
:
"timeout"
,
"time"
:
15
.
},
[
{
"header"
:
"Definition"
,
"tactic"
:
"Wp.unfold"
,
"params"
:
{},
{
"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"
:
{},
"select"
:
{
"select"
:
"inside-goal"
,
"occur"
:
0
,
"select"
:
{
"select"
:
"inside-goal"
,
"occur"
:
0
,
"target"
:
"let a_0 = (shiftfield_F9_FloatRMat_m rm_0) in
\n
let r_0 = Mf32_1[(shiftfield_F7_FloatQuat_qi q_0)] in
\n
let r_1 = (2*r_0*r_0) in
\n
let r_2 = Mf32_1[(shiftfield_F7_FloatQuat_qx q_0)] in
\n
let r_3 = Mf32_1[(shiftfield_F7_FloatQuat_qz q_0)] in
\n
let r_4 = (2*r_0*r_3) in
\n
let r_5 = Mf32_1[(shiftfield_F7_FloatQuat_qy q_0)] in
\n
let r_6 = (2*r_2*r_5) in
\n
let r_7 = (2*r_0*r_5) in
\n
let r_8 = (2*r_2*r_3) in
\n
let r_9 = (2*r_0*r_2) in
\n
let 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)"
,
"target"
:
"let a_0 = (shiftfield_F9_FloatRMat_m rm_0) in
\n
let r_0 = Mf32_1[(shiftfield_F7_FloatQuat_qi q_0)] in
\n
let r_1 = (2*r_0*r_0) in
\n
let r_2 = Mf32_1[(shiftfield_F7_FloatQuat_qx q_0)] in
\n
let r_3 = Mf32_1[(shiftfield_F7_FloatQuat_qz q_0)] in
\n
let r_4 = (2*r_0*r_3) in
\n
let r_5 = Mf32_1[(shiftfield_F7_FloatQuat_qy q_0)] in
\n
let r_6 = (2*r_2*r_5) in
\n
let r_7 = (2*r_0*r_5) in
\n
let r_8 = (2*r_2*r_3) in
\n
let r_9 = (2*r_0*r_2) in
\n
let 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"
},
"pattern"
:
"L_l_RMat_of_FloatRMat[=]$rm[=]shift_float32"
},
"children"
:
{
"Unfold 'L_l_RMat_of_FloatRMat'"
:
[
{
"prover"
:
"Z3:4.8.6:noBV"
,
"children"
:
{
"Unfold 'L_l_RMat_of_FloatRMat'"
:
[
{
"header"
:
"Definition"
,
"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"
,
"tactic"
:
"Wp.unfold"
,
"tactic"
:
"Wp.unfold"
,
"params"
:
{},
"params"
:
{},
"select"
:
{
"select"
:
"clause-goal"
,
"select"
:
{
"select"
:
"clause-goal"
,
"target"
:
"let r_0 = Mf32_1[(shiftfield_F7_FloatQuat_qi q_0)] in
\n
let r_1 = (2*r_0*r_0) in
\n
let r_2 = Mf32_1[(shiftfield_F7_FloatQuat_qx q_0)] in
\n
let r_3 = Mf32_1[(shiftfield_F7_FloatQuat_qz q_0)] in
\n
let r_4 = (2*r_0*r_3) in
\n
let r_5 = Mf32_1[(shiftfield_F7_FloatQuat_qy q_0)] in
\n
let r_6 = (2*r_2*r_5) in
\n
let r_7 = (2*r_0*r_5) in
\n
let r_8 = (2*r_2*r_3) in
\n
let r_9 = (2*r_0*r_2) in
\n
let 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
})"
,
"target"
:
"let r_0 = Mf32_1[(shiftfield_F7_FloatQuat_qi q_0)] in
\n
let r_1 = (2*r_0*r_0) in
\n
let r_2 = Mf32_1[(shiftfield_F7_FloatQuat_qx q_0)] in
\n
let r_3 = Mf32_1[(shiftfield_F7_FloatQuat_qz q_0)] in
\n
let r_4 = (2*r_0*r_3) in
\n
let r_5 = Mf32_1[(shiftfield_F7_FloatQuat_qy q_0)] in
\n
let r_6 = (2*r_2*r_5) in
\n
let r_7 = (2*r_0*r_5) in
\n
let r_8 = (2*r_2*r_3) in
\n
let r_9 = (2*r_0*r_2) in
\n
let 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}"
},
"pattern"
:
"P_special_orthogonal{RealRMat_s}"
},
"children"
:
{
"Unfold 'P_special_orthogonal'"
:
"children"
:
{
"Unfold 'P_special_orthogonal'"
:
[
{
"prover"
:
"Z3:4.8.6:noBV"
,
[
{
"header"
:
"Definition"
,
"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"
,
"tactic"
:
"Wp.unfold"
,
"tactic"
:
"Wp.unfold"
,
"params"
:
{},
"params"
:
{},
"select"
:
"select"
:
...
@@ -63,21 +21,21 @@
...
@@ -63,21 +21,21 @@
{
"Unfold 'L_determinant'"
:
{
"Unfold 'L_determinant'"
:
[
{
"prover"
:
"Z3:4.8.6:noBV"
,
[
{
"prover"
:
"Z3:4.8.6:noBV"
,
"verdict"
:
"timeout"
,
"verdict"
:
"timeout"
,
"time"
:
1
5
.
},
"time"
:
1
0
.
},
{
"prover"
:
"Z3:4.8.6:counterexamples"
,
{
"prover"
:
"Z3:4.8.6:counterexamples"
,
"verdict"
:
"timeout"
,
"verdict"
:
"timeout"
,
"time"
:
1
5
.
},
"time"
:
1
0
.
},
{
"prover"
:
"Z3:4.8.6"
,
{
"prover"
:
"Z3:4.8.6"
,
"verdict"
:
"timeout"
,
"verdict"
:
"timeout"
,
"time"
:
1
5
.
},
"time"
:
1
0
.
},
{
"prover"
:
"Coq:8.12.2"
,
{
"prover"
:
"Coq:8.12.2"
,
"verdict"
:
"unknown"
},
"verdict"
:
"unknown"
},
{
"prover"
:
"CVC4:1.9-prerelease:strings+counterexamples"
,
{
"prover"
:
"CVC4:1.9-prerelease:strings+counterexamples"
,
"verdict"
:
"timeout"
,
"verdict"
:
"timeout"
,
"time"
:
1
5
.
},
"time"
:
1
0
.
},
{
"prover"
:
"Alt-Ergo:2.3.3"
,
{
"prover"
:
"Alt-Ergo:2.3.3"
,
"verdict"
:
"timeout"
,
"verdict"
:
"timeout"
,
"time"
:
1
5
.
},
"time"
:
1
0
.
},
{
"header"
:
"Definition"
,
{
"header"
:
"Definition"
,
"tactic"
:
"Wp.unfold"
,
"tactic"
:
"Wp.unfold"
,
"params"
:
{},
"params"
:
{},
...
...
sw/airborne/.frama-c/wp/script/lemma_impl_rmat_quat.json
0 → 100644
View file @
b289ee40
[
{
"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
.
}
]
sw/airborne/.frama-c/wp/script/lemma_quat_of_rmat_ortho.json
View file @
b289ee40
[
{
"prover"
:
"Z3:4.8.6:noBV"
,
"verdict"
:
"timeout"
,
"time"
:
10
.
},
[
{
"header"
:
"Definition"
,
"tactic"
:
"Wp.unfold"
,
"params"
:
{},
{
"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"
:
{},
"select"
:
{
"select"
:
"inside-goal"
,
"occur"
:
0
,
"select"
:
{
"select"
:
"inside-goal"
,
"occur"
:
0
,
"target"
:
"(L_l_RMat_of_FloatQuat_1_ Mf32_0 q_0)"
,
"target"
:
"(L_l_RMat_of_FloatQuat_1_ Mf32_0 q_0)"
,
"pattern"
:
"L_l_RMat_of_FloatQuat_1_$Mf32$q"
},
"pattern"
:
"L_l_RMat_of_FloatQuat_1_$Mf32$q"
},
"children"
:
{
"Unfold 'L_l_RMat_of_FloatQuat_1_'"
:
[
{
"prover"
:
"Z3:4.8.6:noBV"
,
"children"
:
{
"Unfold 'L_l_RMat_of_FloatQuat_1_'"
:
[
{
"header"
:
"Definition"
,
"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"
,
"tactic"
:
"Wp.unfold"
,
"params"
:
{},
"params"
:
{},
"select"
:
"select"
:
...
@@ -38,24 +13,7 @@
...
@@ -38,24 +13,7 @@
"pattern"
:
"P_unary_quaternion_1_$Mf32$q"
},
"pattern"
:
"P_unary_quaternion_1_$Mf32$q"
},
"children"
:
"children"
:
{
"Unfold 'P_unary_quaternion_1_'"
:
{
"Unfold 'P_unary_quaternion_1_'"
:
[
{
"prover"
:
"Z3:4.8.6:noBV"
,
[
{
"header"
:
"Definition"
,
"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"
,
"tactic"
:
"Wp.unfold"
,
"params"
:
{},
"params"
:
{},
"select"
:
"select"
:
...
@@ -64,24 +22,7 @@
...
@@ -64,24 +22,7 @@
"pattern"
:
"P_rotation_matrix{RealRMat_s}+**"
},
"pattern"
:
"P_rotation_matrix{RealRMat_s}+**"
},
"children"
:
"children"
:
{
"Unfold 'P_rotation_matrix'"
:
{
"Unfold 'P_rotation_matrix'"
:
[
{
"prover"
:
"Z3:4.8.6:noBV"
,
[
{
"header"
:
"Definition"
,
"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"
,
"tactic"
:
"Wp.unfold"
,
"params"
:
{},
"params"
:
{},
"select"
:
"select"
:
...
@@ -91,24 +32,7 @@
...
@@ -91,24 +32,7 @@
"pattern"
:
"L_id_rmat"
},
"pattern"
:
"L_id_rmat"
},