Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
F
FloVer
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
5
Issues
5
List
Boards
Labels
Service Desk
Milestones
Operations
Operations
Incidents
Analytics
Analytics
Repository
Value Stream
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
AVA
FloVer
Commits
5f478d2a
Commit
5f478d2a
authored
Feb 16, 2018
by
Heiko Becker
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fix final bugs to make evaluation work again
parent
bbbde030
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
32 additions
and
8 deletions
+32
-8
coq/Expressions.v
coq/Expressions.v
+24
-1
coq/binary/Makefile
coq/binary/Makefile
+1
-0
coq/binary/coq_main.mli
coq/binary/coq_main.mli
+0
-0
hol4/Infra/DaisyTactics.sml
hol4/Infra/DaisyTactics.sml
+5
-5
hol4/TypingScript.sml
hol4/TypingScript.sml
+1
-1
src/main/scala/daisy/backend/CertificatePhase.scala
src/main/scala/daisy/backend/CertificatePhase.scala
+1
-1
No files found.
coq/Expressions.v
View file @
5f478d2a
...
...
@@ -777,7 +777,30 @@ Module ExpOrderedType (V_ordered:OrderType) <: OrderType.
-
apply
expCompare_eq_trans
.
Defined
.
Parameter
eq_dec
:
forall
x
y
,
{
eq
x
y
}
+
{
~
eq
x
y
}
.
Ltac
solve_tac
:=
try
(
left
;
auto
;
fail
""
);
try
(
right
;
hnf
;
intros
;
congruence
).
Definition
eq_dec
:
forall
x
y
,
{
eq
x
y
}
+
{
~
eq
x
y
}
.
Proof
.
unfold
eq
.
induction
x
;
destruct
y
;
cbn
;
solve_tac
.
-
destruct
(
n
?=
n0
)
%
nat
eqn
:?
;
firstorder
.
-
destruct
m
,
m0
;
cbn
;
solve_tac
;
destruct
(
V_ordered
.
eq_dec
v
v0
)
as
[
eq_case
|
eq_case
];
rewrite
<-
V_orderedFacts
.
compare_eq_iff
in
eq_case
;
firstorder
.
-
destruct
u
,
u0
;
cbn
;
solve_tac
;
apply
IHx
.
-
destruct
b
,
b0
;
cbn
;
solve_tac
;
destruct
(
IHx1
y1
)
as
[
eq_case
|
eq_case
];
try
rewrite
eq_case
;
try
apply
IHx2
;
destruct
(
expCompare
x1
y1
)
eqn
:?
;
firstorder
.
-
destruct
(
IHx1
y1
)
as
[
eq_case
|
eq_case
];
try
rewrite
eq_case
;
destruct
(
IHx2
y2
)
as
[
eq_case2
|
eq_case2
];
try
rewrite
eq_case2
;
try
apply
IHx3
;
destruct
(
expCompare
x1
y1
)
eqn
:?
;
try
auto
;
destruct
(
expCompare
x2
y2
)
eqn
:?
;
auto
.
-
destruct
m
,
m0
;
cbn
;
solve_tac
;
apply
IHx
.
Defined
.
Definition
eq_refl
:
forall
x
,
eq
x
x
.
Proof
.
...
...
coq/binary/Makefile
View file @
5f478d2a
...
...
@@ -2,6 +2,7 @@
# ocamlc -c CoqChecker.ml
# ocamlc -o coq_checker_bytes nums.cma big.ml CoqChecker.ml coq_main.ml
native
:
ocamlc
-c
big.ml
ocamlc
-c
CoqChecker.ml
ocamlc
-o
coq_checker_native nums.cma big.ml CoqChecker.ml coq_main.ml
...
...
coq/binary/coq_main.mli
deleted
100644 → 0
View file @
bbbde030
hol4/Infra/DaisyTactics.sml
View file @
5f478d2a
...
...
@@ -102,14 +102,14 @@ fun impl_subgoal_tac th =
SUBGOAL_THEN
hyp_to_prove
(
fn
thm
=>
assume_tac
(
MP
th
thm
))
end
fun
daisy_eval_tac
t
:
tactic
=
let
val
result_thm
=
computeLib
.
EVAL_CONV
t
in
rewrite_tac
[
result_thm
]
val
daisy_eval_tac
:
tactic
=
let
val
_
=
computeLib
.
del_funs
([
sptreeTheory
.
lookup_def
])
val
_
=
computeLib
.
add_funs
([
sptreeTheory
.
lookup_compute
])
in
computeLib
.
EVAL_TAC
\\
fs
[
sptreeTheory
.
lookup_def
]
\\
rpt
strip_tac
\\
fs
[
sptreeTheory
.
lookup_def
]
\\
EVAL_TAC
end
;
(*
Daisy Compute Tactic as in Coq dev to simplify goals involving computations *)
...
...
hol4/TypingScript.sml
View file @
5f478d2a
...
...
@@ -68,7 +68,7 @@ val typeMap_def = Define `
|
_,
_,
_
=>
DaisyMapTree_empty
)
|
Downcast
m
e1
=>
let
tMap_new
=
typeMap
Gamma
e1
tMap
in
let
m1
=
DaisyMapTree_find
e1
tMap
in
let
m1
=
DaisyMapTree_find
e1
tMap
_new
in
(
case
m1
of
|
SOME
t1
=>
(
if
morePrecise
t1
m
...
...
src/main/scala/daisy/backend/CertificatePhase.scala
View file @
5f478d2a
...
...
@@ -744,7 +744,7 @@ object CertificatePhase extends DaisyPhase {
"Proof.\n vm_compute; auto.\nQed.\n"
}
else
if
(
prover
==
"hol4"
){
"val _ = store_thm (\""
+
s
"ErrorBound_${fName}_Sound"
+
"\",\n"
+
s
"``CertificateCheckerCmd $lastGenName $analysisResultName $precondName $defVarsName``,\n daisy_eval_tac \\\\ fs[]);\n"
s
"``CertificateCheckerCmd $lastGenName $analysisResultName $precondName $defVarsName``,\n daisy_eval_tac \\\\ fs[
REAL_INV_1OVER
]);\n"
}
else
""
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment