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

Method dump_rule_rhs_first_diff

crates/kernel/src/inductive.rs:1593–1658  ·  view source on GitHub ↗
(
    &mut self,
    lhs: &KExpr<M>,
    rhs: &KExpr<M>,
    path: &str,
    depth: u64,
  )

Source from the content-addressed store, hash-verified

1591 rec_ids.len()
1592 );
1593 log::info!(
1594 " failed gen major: {}",
1595 Self::major_domain_signature_text(failed_gen_major)
1596 );
1597 log::info!(
1598 " failed stored major: {}",
1599 Self::major_domain_signature_text(failed_stored_major)
1600 );
1601 let n = generated_snapshot.len().min(flat.len()).min(rec_ids.len());
1602 for gi in 0..n {
1603 let gen_rec = &generated_snapshot[gi];
1604 let target_addr = &gen_rec.ind_addr;
1605 let gen_major = self
1606 .recursor_major_domain_for_addr(
1607 &gen_rec.ty,
1608 prefix_base + flat[gi].n_indices,
1609 target_addr,
1610 )
1611 .unwrap_or(None);
1612 let rid = &rec_ids[gi];
1613 let (stored_skip, stored_ty) =
1614 match self.try_get_const(rid).ok().flatten() {
1615 Some(KConst::Recr {
1616 params, motives, minors, indices, ty, ..
1617 }) => (params + motives + minors + indices, Some(ty.clone())),
1618 _ => (0, None),
1619 };
1620 let stored_major = match stored_ty {
1621 Some(ty) => self
1622 .recursor_major_domain_for_addr(&ty, stored_skip, target_addr)
1623 .unwrap_or(None),
1624 None => None,
1625 };
1626 let mark = if gi == failed_gi { "!!" } else { " " };
1627 log::info!(
1628 " {mark} peer[{gi:2}] flat.id={} target={}… aux={} ind={}…",
1629 flat[gi].id,
1630 &target_addr.hex()[..8],
1631 flat[gi].is_aux,
1632 &gen_rec.ind_addr.hex()[..8]
1633 );
1634 log::info!(
1635 " gen : {}",
1636 Self::major_domain_signature_text(gen_major.as_ref())
1637 );
1638 log::info!(
1639 " sto : {} (rid={})",
1640 Self::major_domain_signature_text(stored_major.as_ref()),
1641 rid
1642 );
1643 }
1644 }
1645
1646 fn dump_rule_rhs_first_diff(
1647 &mut self,
1648 lhs: &KExpr<M>,
1649 rhs: &KExpr<M>,
1650 path: &str,

Callers 1

check_recursor_memberMethod · 0.80

Calls 8

whnfMethod · 0.80
truncateMethod · 0.80
instantiate_revFunction · 0.70
is_def_eqMethod · 0.45
dataMethod · 0.45
lenMethod · 0.45
cloneMethod · 0.45

Tested by

no test coverage detected