Postoji više logika: predikatska, prvog reda, višeg reda, modalna, temporalna, intuicionistička, linearna, fuzzy ...

Iskazna logika se bavi rečenicama kao celinama i ne zalazi u njihovu strukturu. Iskaznom logikom ne možemo da izrazimo sve što bismo inače mogli. Na primer ne možemo da izrazimo „postoji element u skupu X koji nije u skupu Y“. Iskazna logika je određena na apsolutne vrednosti TAČNO i NETAČNO i ne dopušta ništa između, pa ne možemo da izrazimo „jabuka je crvenkasta“ već smo ograničeni na to da ili jeste ili nije crvena.

Fuzzy (rasplinuta) logika izgrađena je tako da barata sa iskazima koji su „negde između“, npr. nešto je 30% tačno ili 99% netačno. Tako parametri p,q,r... ne moraju biti nužno samo 0 ili 1 već mogu biti i nešto između, uvode se odgovarajuće operacije, a konačan rezultat dobija se tako što pored izračunavanja izraza zadajemo i kriterijum prihvatljivosti (ako je jabuka zrela najmanje 70% smatramo da je dobra za jelo). Fuzzy logika je jedan od osnova moderne veštačke inteligencije i stoji u osnovi prepoznavanja oblika, neuralnih mreža itd. Interesantna osobina je da rezultat ovakvih operacija u praksi nije jedinstveno određen (deterministički) već se ide kao tome da rezultat bude „dovoljno dobar“. Ovde uglavnom govorimo o sistemima gde je izračunavanje optimalnog rezultata jako procesno kompleksno pa se zadovoljavamo dovoljno dobrim suboptimalnim rešenjem koje se može izračunati dovoljno brzo.

Predikatska logika omogućava opisivanje individualnih elemenata, njihovih osobina, međusobnih odnosa, i bitno povećava izražajnost. Takođe se koristi u veštačkoj inteligenciji, posebno u sistemima automatskog zaključivanja, ekspertskim sistemima, i uopšte u sistemima gde radimo sa konkretnim vrednostima i jednoznačnim rezultatima. U unastavku ćemo se baviti predikatskom logikom, a zatim prelazimo na programski jezik kojim se to sve može izraziti.