use std::collections::HashMap;
use std::sync::Mutex;
use crate::proof::algebra::checker::verify_laws;
use crate::proof::algebra::inference::{binary_candidate_laws, unary_candidate_laws};
use crate::spec::law::AlgebraicLaw;
pub use super::cross::infer_cross_op_laws;
#[derive(Clone, Copy, PartialEq, Eq, Hash)]
struct CacheKey {
op_id: &'static str,
is_binary: bool,
fn_hash: u64,
}