Constructs a dependent function type (forall / Pi).
(n: Name, t: Expr, b: Expr, bi: BinderInfo)
| 889 | hasher.update(&[EAPP]); |
| 890 | hasher.update(f.get_hash().as_bytes()); |
| 891 | hasher.update(a.get_hash().as_bytes()); |
| 892 | Expr(Arc::new(ExprData::App(f, a, hasher.finalize()))) |
| 893 | } |
| 894 | |
| 895 | /// Constructs a lambda abstraction `fun (n : t) => b`. |
| 896 | pub fn lam(n: Name, t: Expr, b: Expr, bi: BinderInfo) -> Self { |
| 897 | let mut hasher = blake3::Hasher::new(); |
| 898 | hasher.update(&[ELAM]); |
| 899 | hasher.update(n.get_hash().as_bytes()); |
| 900 | hasher.update(t.get_hash().as_bytes()); |
| 901 | hasher.update(b.get_hash().as_bytes()); |
| 902 | hasher.update(&[binder_info_tag(&bi)]); |
no test coverage detected