kdrag.datatype.pattern_match
- kdrag.datatype.pattern_match(x: DatatypeRef, pat: DatatypeRef) tuple[list[BoolRef], dict[DatatypeRef, DatatypeRef]]
- A Symbolic execution of sorts of pattern matching. Returns the constraints and substitutions for variables - >>> import kdrag.theories.nat as nat >>> n,m = smt.Consts("n m", nat.Nat) >>> pattern_match(n, nat.S(nat.S(m))) ([is(S, n), is(S, pred(n))], {m: pred(pred(n))}) - Parameters:
- x (DatatypeRef) 
- pat (DatatypeRef) 
 
- Return type:
- tuple[list[BoolRef], dict[DatatypeRef, DatatypeRef]]