Szintén érdekessége a Sather nyelvnek, hogy helyességbizonyítási eszközöket is nyújt, amelyek szintén azt mutatják, hogy az egyik őse az Eiffel nyelv. Minden eljáráshoz megadhatunk elő- (‘pre’) és utófeltétel (‘post’). Az ‘assert’ segítségével ezeknek megfelelő, helyes programok írhatók. Bár ezek használata elég költséges, ezért ilyen futásidejű ellenőrzéseket a fordítóban ki lehet kapcsolni. Ezen kívül osztályokhoz adható (típus) invariáns, mely minden eljáráshívás után ellenőrzésre kerül. Ha valamelyik feltétel nem teljesül az fatal errort eredményez. Ezen lehetőségek használatáról részletesebb leírás olvasható a Berkeley egyetem Sather oldalán (ld. Bevezető).
Példa (az utófeltételben hivatkozhatunk a kezdeti állapotban levő értékre (‘inital’) és a visszatérési értékre is (‘result’)):
Egy másik példaként tekintsük egy pozitív intervallum megvalósítását, ami a konstruktor használatát is jól szemlélteti:
Az iterátorok elő- és utófeltétele minden egyes híváskor ellenőrződik, nem csak egyszer egy ciklusban. Az ‘assert’ kulcsszóval azonban lehetőségünk van bárhol feltétel ellenőrzést explicit módon meghívni. Ez egyfajta check point-nak is felfogható, mint Eiffelben.
Ahogy fent említettük, ezen kívül lehetőségünk van osztály invariánsok készítésére is. Ezt úgy tudjuk megtenni, hogy a megfelelő osztálynak írunk egy invariant nevű rutint. Példaként tekintsünk egy verem osztályt, amelyben invariánsként kikötjük, hogy a mérete nemnegatív és nem lép túl egy megadott korlátot:
Ez az invariáns minden egyes publikus művelet végrehajtása után ellenőrződik.