fact: Definition encode_bound (x: nat): list constraint := let X n := embed (x, n, 0) in [ ((X 1) ⊍ (X 2), •0 ⊍ (h (X 1))); ((X 3) ⊍ (X 4), •0 ⊍ (h (h (X 3)))); ((X 5) ⊍ (X 3), (X 1) ⊍ (h (X 5))); ((h (X 6)) ⊍ (X 0), (X 2) ⊍ ((X 6) ⊍ ((X 6) ⊍ ((X 6) ⊍ (X 6))))); ((h (h (X 7))) ⊍ (X 0), (X 4) ⊍ ((X 7) ⊍ ((X 7) ⊍ ((X 7) ⊍ (X 7))))) ].
imports: Arith Lia List Permutation Undecidability.SetConstraints.FMsetC Undecidability.SetConstraints.Util.Facts Undecidability.Synthetic.Definitions ssreflect ssrbool ssrfun