fact: Definition φ' : valuation := fun x => match of_nat x with | (x, 0) => substitute embed_var (φ x) | (0, 1) => substitute embed_var (substitute ψ0 (substitute φ s1)) | (0, 2) => substitute embed_var (substitute ψ1 (substitute φ s0)) | _ => atom x end.
imports: List Undecidability.SemiUnification.SemiU Undecidability.SemiUnification.Util(Enumerable) ssreflect ssrfun ssrbool