MCPcopy Create free account
hub / github.com/argumentcomputer/ix / univ_eq

Function univ_eq

crates/kernel/src/level.rs:696–698  ·  view source on GitHub ↗

Semantic universe equality: `u ≡ v` for all parameter assignments.

(u: &KUniv<M>, v: &KUniv<M>)

Source from the content-addressed store, hash-verified

694/// exact semantic quotient (canonicity §10.6 R5, option (b)).
695///
696/// `BTreeMap` iteration is key-ordered, so comparing the filtered
697/// streams positionally is a sound map comparison.
698fn norm_level_eq(l1: &NormLevel, l2: &NormLevel) -> bool {
699 let non_empty =
700 |&(_, n): &(&Vec<u64>, &Node)| n.constant != 0 || !n.var.is_empty();
701 let mut it1 = l1.iter().filter(non_empty);

Callers 13

check_const_memberMethod · 0.85
quick_def_eqMethod · 0.85
try_same_head_spineMethod · 0.85
is_def_eq_whnfMethod · 0.85
is_large_eliminatorMethod · 0.85
compute_k_targetMethod · 0.85
infer_projMethod · 0.85

Calls 3

norm_level_eqFunction · 0.85
normalize_levelFunction · 0.70
hash_eqMethod · 0.45

Tested by 1