Ogólna zasada jest taka, że im bardziej abstrakcyjna / egzotyczna matematyka ma być mechanizowana, tym łatwiej. I odwrotnie, im bardziej konkretna / znajoma jest matematyka, tym trudniej będzie. Tak więc (na przykład) rzadkie zwierzęta, takie jak predykcyjna topologia bez punktów, są znacznie łatwiejsze do zmechanizowania niż zwykła topologia metryczna.
Początkowo może się to wydawać nieco zaskakujące, ale dzieje się tak głównie dlatego, że konkretne obiekty, takie jak liczby rzeczywiste, uczestniczą w wielu różnorodnych strukturach algebraicznych, a dowody z nimi związane mogą korzystać z dowolnej właściwości z dowolnego ich widoku. Aby więc być w stanie zrozumieć zwykłe rozumowanie, do którego matematycy są przyzwyczajeni, musisz zmechanizować wszystkie te rzeczy. W przeciwieństwie do tego, wysoce abstrakcyjne konstrukcje mają (celowo) mały i ograniczony zestaw właściwości, więc musisz zmechanizować znacznie mniej, zanim dojdziesz do dobrych bitów.
Dowody w teorii złożoności oraz algorytmach / strukturach danych (z reguły) wykorzystują wyrafinowane właściwości prostych gadżetów, takich jak liczby, drzewa lub listy. Np. Argumenty kombinatoryczne, probabilistyczne i teoretyczne rutynowo pojawiają się jednocześnie w twierdzeniach teorii złożoności. Uzyskanie wsparcia biblioteki asystenta dowodu do tego stopnia, że jest to przyjemne do zrobienia, to sporo pracy!
Jednym z kontekstów, w których ludzie chętnie angażują się w pracę, są algorytmy kryptograficzne. Istnieją bardzo subtelne ograniczenia algorytmiczne ze złożonych przyczyn matematycznych, a ponieważ kod kryptograficzny działa w środowisku przeciwnym, nawet najmniejszy błąd może być katastrofalny. Na przykład w ramach projektu Certicrypt zbudowano wiele infrastruktury weryfikacyjnej w celu budowania sprawdzanych maszynowo dowodów poprawności algorytmów kryptograficznych.