Skip to content

Commit bd8c2c4

Browse files
committed
sneaky bugs
1 parent 0e44116 commit bd8c2c4

4 files changed

Lines changed: 12 additions & 6 deletions

File tree

src/ecPrinting.ml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -388,7 +388,7 @@ module PPEnv = struct
388388
oget (Mint.find_opt i (fst !(ppe.ppe_univar)))
389389
end
390390

391-
let debug_mode = false
391+
let debug_mode = true
392392

393393
(* -------------------------------------------------------------------- *)
394394
let shorten_path

src/phl/ecPhlPr.ml

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,12 +53,15 @@ let t_equiv_ppr_r ty phi_l phi_r tc =
5353
let funl = EcEnv.Fun.by_xpath fl env in
5454
let funr = EcEnv.Fun.by_xpath fr env in
5555
let (penvl,penvr), (qenvl,qenvr) = EcEnv.Fun.equivF_memenv ef.ef_ml ef.ef_mr fl fr env in
56+
let m = EcIdent.create "&hr" in
5657
let argsl = map_ss_inv1 (to_args funl) (f_pvarg funl.f_sig.fs_arg (fst penvl)) in
5758
let argsr = map_ss_inv1 (to_args funr) (f_pvarg funr.f_sig.fs_arg (fst penvr)) in
5859
let a_id = EcIdent.create "a" in
5960
let a_f = f_local a_id ty in
60-
let pr1 = f_pr (fst penvl) fl argsl.inv (map_ss_inv1 (fun p -> f_eq p a_f) phi_l) in
61-
let pr2 = f_pr (fst penvr) fr argsr.inv (map_ss_inv1 (fun p -> f_eq p a_f) phi_r) in
61+
let pr1_ev = EcSubst.ss_inv_rebind (map_ss_inv1 (fun p -> f_eq p a_f) phi_l) m in
62+
let pr1 = f_pr (fst penvl) fl argsl.inv pr1_ev in
63+
let pr2_ev = EcSubst.ss_inv_rebind (map_ss_inv1 (fun p -> f_eq p a_f) phi_r) m in
64+
let pr2 = f_pr (fst penvr) fr argsr.inv pr2_ev in
6265
let concl_pr =
6366
f_forall_mems_ts_inv penvl penvr
6467
(map_ts_inv1 (f_forall_simpl [a_id,GTty ty])

theories/crypto/AdvAbsVal.ec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,6 @@ lemma abs_val (P:real -> bool):
3838
proof.
3939
move=> HP &m A Hl.
4040
case (Pr[A.main() @ &m : res] <= 1%r / 2%r)=> Hle.
41-
+ move: (HP &m (Neg_main(A))); rewrite (Neg_A_Pr_minus A &m); 1:auto; smt().
41+
+ by move: (HP &m (Neg_main(A))); rewrite (Neg_A_Pr_minus A &m) //#.
4242
by move: (HP &m A)=> /#.
4343
qed.

theories/modules/EventPartitioning.ec

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,10 @@ theory ResultPartitioning.
128128
= big predT (fun a=> Pr[M.f(i) @ &m: E i (glob M) res /\ res = a]) (undup (X i))
129129
+ Pr[M.f(i) @ &m: E i (glob M) res /\ !mem (X i) res].
130130
proof.
131-
rewrite -mem_undup.
131+
print mem_undup.
132+
have->:Pr[M.f(i) @ &m : E i (glob M){hr} res{hr} /\ ! (res{hr} \in X i)]=
133+
Pr[M.f(i) @ &m : E i (glob M){hr} res{hr} /\ ! (res{hr} \in undup (X i))].
134+
- smt(mem_undup).
132135
exact/(@list_partitioning M i E (fun _ _ x=> x) (undup (X i)) &m)/undup_uniq.
133136
qed.
134137
end section.
@@ -255,7 +258,7 @@ abstract theory SubuniformReference.
255258
move=> a_in_X. rewrite (@is_subuniform arg{1} X a &1 support_M a_in_X).
256259
byphoare (_: (i,xs) = (i,xs){2} ==> _)=> //=; proc; rnd (pred1 a); auto=> />.
257260
rewrite dscalar1E 1:ltrW 1:gt0_k.
258-
+ by rewrite duniform_ll 1:xs_def 1:Xi_neq0 //= le1_k.
261+
+rewrite duniform_ll 1:xs_def 1:Xi_neq0 //= le1_k.
259262
by rewrite duniform1E i_def xs_def a_in_X.
260263
qed.
261264
end section.

0 commit comments

Comments
 (0)