https://github.com/EasyCrypt/easycrypt
Revision 89618ebb9290a5dbec3fe1a6a57b441bcba18a63 authored by Pierre-Yves Strub on 15 November 2017, 06:54:48 UTC, committed by Pierre-Yves Strub on 15 November 2017, 06:54:48 UTC
Syntax is: wlog: x1 ... xn / form. It transforms the goal G into:

  |- (forall x1 ... xn, form => G) => G
  |- form => G
1 parent 1923b91
Raw File
Tip revision: 89618ebb9290a5dbec3fe1a6a57b441bcba18a63 authored by Pierre-Yves Strub on 15 November 2017, 06:54:48 UTC
New tactic: wlog (without loss of generality).
Tip revision: 89618eb
ecGState.mli
(* --------------------------------------------------------------------
 * Copyright (c) - 2012--2016 - IMDEA Software Institute
 * Copyright (c) - 2012--2017 - Inria
 *
 * Distributed under the terms of the CeCILL-C-V1 license
 * -------------------------------------------------------------------- *)

(* -------------------------------------------------------------------- *)

(* Global / mutable EasyCrypt state that can be attached to an
 * environment - and shared by all the decendant of such an
 * environment. This state can be used to register notification
 * functions or global flags (e.g. profiling / tracing) *)
type gstate

(* -------------------------------------------------------------------- *)
val create : unit -> gstate
val copy   : gstate -> gstate

val from_flags : (string * bool) list -> gstate

(* -------------------------------------------------------------------- *)
val getflag : ?default:bool -> string -> gstate -> bool
val setflag : string -> bool -> gstate -> unit

(* --------------------------------------------------------------------- *)
type nid_t
type loglevel = [`Debug | `Info | `Warning | `Critical]

val string_of_loglevel : loglevel -> string
val max_loglevel : loglevel -> loglevel -> loglevel

val accept_log   : level:loglevel -> wanted:loglevel -> bool
val add_notifier : (loglevel -> string Lazy.t -> unit) -> gstate -> nid_t
val rem_notifier : nid_t -> gstate -> unit
val loglevel     : gstate-> loglevel
val set_loglevel : loglevel -> gstate -> unit
val notify       : loglevel -> string Lazy.t -> gstate -> unit
back to top