this is a first step towards porting the code `constructions.cpp` to Lean: It leaves the construction of the `Declaration` untouched, but moves adding the declarations to the environment, and setting various attributes, to the Lean world. This allows the remaining logic (the construction of the `Declaration`) to be implemented in Lean separately and easily compared to the C++ implementation, before we replace that too. To that end, `Declaraion` gains an `BEq` instance. --------- Co-authored-by: Leonardo de Moura <leomoura@amazon.com> Co-authored-by: Arthur Adjedj <arthur.adjedj@ens-paris-saclay.fr>
20 lines
617 B
C++
20 lines
617 B
C++
/*
|
|
Copyright (c) 2015 Microsoft Corporation. All rights reserved.
|
|
Released under Apache 2.0 license as described in the file LICENSE.
|
|
|
|
Author: Leonardo de Moura
|
|
*/
|
|
#include "library/aux_recursors.h"
|
|
|
|
namespace lean {
|
|
extern "C" uint8 lean_is_aux_recursor(object * env, object * n);
|
|
extern "C" uint8 lean_is_no_confusion(object * env, object * n);
|
|
|
|
bool is_aux_recursor(environment const & env, name const & r) {
|
|
return lean_is_aux_recursor(env.to_obj_arg(), r.to_obj_arg());
|
|
}
|
|
|
|
bool is_no_confusion(environment const & env, name const & r) {
|
|
return lean_is_no_confusion(env.to_obj_arg(), r.to_obj_arg());
|
|
}
|
|
}
|