https://github.com/EasyCrypt/easycrypt
Revision 78e8f6ebf47bf6068da5d4a124e0cc909a12d494 authored by Pierre-Yves Strub on 26 November 2019, 13:30:43 UTC, committed by Pierre-Yves Strub on 26 November 2019, 13:31:58 UTC
  - formalisation of the discrete logarithm assumption
  - formalisation of generic commitment schemes
  - formal verification of the Pedersen commitment scheme
  - formalisation of generic Sigma protocols
  - Sigma Protocol example: the Schnorr proof of knowledge

Co-authored-by: Roberto Metere <r.metere2@ncl.ac.uk>
1 parent add72dc
Raw File
Tip revision: 78e8f6ebf47bf6068da5d4a124e0cc909a12d494 authored by Pierre-Yves Strub on 26 November 2019, 13:30:43 UTC
Work of Roberto Metere on Sigma Protocols:
Tip revision: 78e8f6e
ecHiNotations.mli
(* --------------------------------------------------------------------
 * Copyright (c) - 2012--2016 - IMDEA Software Institute
 * Copyright (c) - 2012--2018 - Inria
 * Copyright (c) - 2012--2018 - Ecole Polytechnique
 *
 * Distributed under the terms of the CeCILL-C-V1 license
 * -------------------------------------------------------------------- *)

(* -------------------------------------------------------------------- *)
open EcSymbols
open EcParsetree
open EcLocation
open EcDecl
open EcEnv

(* -------------------------------------------------------------------- *)
type nterror =
| NTE_Typing        of EcTyping.tyerror
| NTE_TyNotClosed
| NTE_DupIdent
| NTE_UnknownBinder of symbol
| NTE_AbbrevIsVar

exception NotationError of EcLocation.t * EcEnv.env * nterror

val nterror : EcLocation.t -> env -> nterror -> 'a

(* -------------------------------------------------------------------- *)
val trans_notation : env -> pnotation located -> unit
val trans_abbrev : env -> pabbrev located -> symbol * operator
back to top