We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent acbee62 commit 9f8d176Copy full SHA for 9f8d176
2 files changed
src/phl/ecPhlConseq.ml
@@ -1129,7 +1129,7 @@ let rec t_hi_conseq notmod f1 f2 f3 tc =
1129
t_intros_i [m;h0] @! t_cutdef
1130
(ptlocal ~args:[pamemory m; palocal h0] hi)
1131
mpre @! EcLowGoal.t_trivial;
1132
- t_mytrivial;
+ t_mytrivial @! t_intros_i [m; h0] @! t_apply_hyp h0;
1133
t_apply_hyp hh];
1134
tac pre posta @+ [
1135
t_apply_hyp hi;
tests/conseq_phoare_hoare.ec
@@ -0,0 +1,14 @@
1
+require import Real.
2
+
3
+module Foo = {proc foo() = {}}.
4
5
+lemma foo_ll : islossless Foo.foo by islossless.
6
7
+op [opaque] p = predT<:int>.
8
9
+lemma foo_h: hoare [ Foo.foo : true ==> forall j, p j].
10
+proof. by proc; auto => /> j; rewrite /p. qed.
11
12
+lemma foo_p: phoare[ Foo.foo : true ==> forall j, p j] = 1%r.
13
+by conseq foo_ll foo_h.
14
+qed.
0 commit comments