https://github.com/EasyCrypt/easycrypt
Revision 64c24ed6d2c0b485818e0ae76c4be0ebde0e628a authored by Benjamin Gregoire on 26 April 2018, 18:31:53 UTC, committed by Benjamin Gregoire on 26 April 2018, 18:31:53 UTC
The following is now possible: type t, t', u, u', v, v'. module type OT = { proc f(_: t): t' proc g1(_: t): t' }. module type MT (O : OT) = { include OT proc g(_: u): u' }. module type MT1 (O : OT) = { include OT [f] proc g(_: u): u' }. module type MT2 (O : OT) = { include OT [f] {O.f} proc g(_: u): u' }. module type MT3 (O : OT) = { include OT [f] {O.g1} proc g(_: u): u' }. module ((M : MT1):MT2) (O : OT) = { proc f = O.f proc g(x: u): u' = { return witness; } }. module M1 = { proc f () : unit = { } proc g () : unit = { } }. module M2 = { include M1 }. module M3 = { include M1 [f] }. module M4 = { include M1 [+f] }. module M5 = { include M1 [-f] }. module F (O:OT) = { proc f1 () = {} }. module G (O:OT) = { include O include F(O) }. module G1 (O:OT) = { include O [-f] include F(O) }.
1 parent 7f33e2a
Tip revision: 64c24ed6d2c0b485818e0ae76c4be0ebde0e628a authored by Benjamin Gregoire on 26 April 2018, 18:31:53 UTC
improve "include" in module type and module.
improve "include" in module type and module.
Tip revision: 64c24ed
File | Mode | Size |
---|---|---|
MEE-CBC | ||
cramer-shoup | ||
incomplete | ||
old | ||
plug-and-pray | ||
to-port | ||
Dice4_6.ec | -rw-r--r-- | 2.9 KB |
FundamentalLemma.ec | -rw-r--r-- | 2.1 KB |
PIR.ec | -rw-r--r-- | 12.9 KB |
PRG.ec | -rw-r--r-- | 17.1 KB |
Upto.ec | -rw-r--r-- | 5.1 KB |
WhileSampling.ec | -rw-r--r-- | 702 bytes |
br93.ec | -rw-r--r-- | 20.7 KB |
elgamal.ec | -rw-r--r-- | 3.3 KB |
hashed_elgamal_generic.ec | -rw-r--r-- | 9.9 KB |
hashed_elgamal_std.ec | -rw-r--r-- | 4.6 KB |
vonNeumann.eca | -rw-r--r-- | 3.3 KB |
Computing file changes ...