Compare commits

...

2 Commits

Author SHA1 Message Date
Joachim Breitner
54f7fb91f5 Merge branch 'master' of github.com:leanprover/lean4 into joachim/kernel-comments2 2024-11-21 11:57:36 +01:00
Joachim Breitner
4de32d2bcd doc: refine kernel code comments
I just spent too much time being confused about the kernel type checker
until I noticed that `lazy_delta_reduction` modifies its arguments.
2024-11-21 11:28:17 +01:00

View File

@@ -981,6 +981,7 @@ lbool type_checker::is_def_eq_offset(expr const & t, expr const & s) {
return l_undef;
}
/** \remark t_n, s_n are updated. */
lbool type_checker::lazy_delta_reduction(expr & t_n, expr & s_n) {
while (true) {
lbool r = is_def_eq_offset(t_n, s_n);
@@ -1098,6 +1099,7 @@ bool type_checker::is_def_eq_core(expr const & t, expr const & s) {
r = is_def_eq_proof_irrel(t_n, s_n);
if (r != l_undef) return r == l_true;
/* NB: `lazy_delta_reduction` updates `t_n` and `s_n` even when returning `l_undef`. */
r = lazy_delta_reduction(t_n, s_n);
if (r != l_undef) return r == l_true;