Account name:
Password
(OpenID?)
(Forgot it?)
Remember Me
You're viewing
juan_gandhi
's journal
Create a Dreamwidth Account
Learn More
Interest
Region
Site and Account
FAQ
Email
Reload page in style:
light
Observations
Views from Souths
Dec. 1st, 2017
Previous Day
|
Next Day
Dec. 1st, 2017
first time I saw this kind of bug I was 24
Dec
.
1st
,
2017
01:58 pm
val expected = R2.Vector(0.0, 1,0)
It crashes, of course, because R2 Vector constructor checks the number of its arguments.
2017, omg.
Refinement Reflection: Complete Verification with SMT
Dec
.
1st
,
2017
08:59 pm
https://arxiv.org/abs/1711.03842
We introduce Refinement Reflection, a new framework for building SMT-based deductive verifiers. The key idea is to reflect the code implementing a user-defined function into the function's (output) refinement type. As a consequence, at uses of the function, the function definition is instantiated in the SMT logic in a precise fashion that permits decidable verification. Reflection allows the user to write equational proofs of programs just by writing other programs using pattern-matching and recursion to perform case-splitting and induction. Thus, via the propositions-as-types principle, we show that reflection permits the specification of arbitrary functional correctness properties. Finally, we introduce a proof-search algorithm called Proof by Logical Evaluation that uses techniques from model checking and abstract interpretation, to completely automate equational reasoning. We have implemented reflection in Liquid Haskell and used it to verify that the widely used instances of the Monoid, Applicative, Functor, and Monad typeclasses actually satisfy key algebraic laws required to make the clients safe, and have used reflection to build the first library that actually verifies assumptions about associativity and ordering that are crucial for safe deterministic parallelism.
дыбр
Dec
.
1st
,
2017
09:00 pm
А чо писать-то? Встал, упал, отжался скока надо, поел (два вареных яйца), да и на поезд.
Обратно приехал, сижу у камина. Сейчас пойду в душ, да пазл пособираю.
Previous Day
|
Next Day
Profile
Juan-Carlos Gandhi
patryshev.com
Recent Entries
Archive
Reading
Network
Tags
Memories
Profile
August
2025
S
M
T
W
T
F
S
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Most Popular Tags
books
-
42 uses
categories
-
59 uses
code sample
-
54 uses
españa
-
48 uses
fp
-
120 uses
fprog
-
24 uses
france
-
74 uses
haskell
-
68 uses
idiocracy
-
40 uses
idiots
-
40 uses
java
-
111 uses
javascript
-
33 uses
life
-
25 uses
logic
-
38 uses
math
-
25 uses
monad
-
45 uses
monads
-
40 uses
philosophy
-
57 uses
politics
-
25 uses
propaganda
-
27 uses
scala
-
433 uses
wtf
-
26 uses
ахинея
-
171 uses
бля
-
45 uses
вата
-
43 uses
ватоведение
-
127 uses
ватология
-
49 uses
дыбр
-
654 uses
жизнь
-
95 uses
идиоты
-
28 uses
искусство
-
57 uses
истории
-
70 uses
история
-
60 uses
кино
-
80 uses
культура
-
26 uses
литература
-
58 uses
логика
-
26 uses
новости
-
26 uses
политика
-
164 uses
программирование
-
29 uses
пропаганда
-
159 uses
россия
-
28 uses
русоведение
-
33 uses
русофобия
-
117 uses
стихи
-
24 uses
толстой
-
32 uses
фигня
-
27 uses
философия
-
575 uses
франция
-
40 uses
языки
-
26 uses
Page Summary
first time I saw this kind of bug I was 24
Refinement Reflection: Complete Verification with SMT
дыбр
Active Entries
1:
календарь в голове
2:
а интересно насчёт зарплат в Америке
3:
fyi, daily-wtf
4:
protesters, eschatology
Style Credit
Style:
Neutral Good
for
Practicality
by
timeasmymeasure
Expand Cut Tags
No cut tags
Page generated Aug. 19th, 2025 01:17 pm
Powered by
Dreamwidth Studios