code: def check(self) -> z3.CheckSatResult:
          
          old_stdout = sys.stdout
          sys.stdout = open(os.devnull, "w")
          evaluate = self.raw.check()
          sys.stdout = old_stdout
          return evaluate
docs: Returns z3 smt check result.
          Also suppresses the stdout when running z3 library's check() to avoid unnecessary output
          :return: The evaluated result which is either of sat, unsat or unknown