/*
Copyright (c) 2014 Microsoft Corporation. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Author: Leonardo de Moura
*/
#pragma once
#include "kernel/environment.h"
namespace lean {
/** \brief Return true iff the given environment has sorry.{l} : Pi {A : Type.{l}}, A */
bool has_sorry(environment const & env);
/** \brief Declare sorry.{l} : Pi {A : Type.{l}}, A in the given environment if it doesn't already contain it.
Throw an exception if the environment already contains a declaration named \c sorry. */
environment declare_sorry(environment const & env);
/** \brief Return the constant \c sorry */
expr mk_sorry();
name const & get_sorry_name();
/** \brief Return true iff \c e is a sorry expression */
bool is_sorry(expr const & e);
void initialize_sorry();
void finalize_sorry();
}